- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机数据采集、处理及显示程序设计
一. 总体设计方案:
LED初始显示为 0,采纳查询的方式进行键盘扫描,以确定是否有输入,不停地扫描
直到有输入为止:输入为 1 时,按键无效,连续扫描直到再次有输入,输入为 0 时,就开头进行数据的采集; 采集一个周期, 将采集后的数据进行滤波, 再求出 0、1/2Vmax、Vmax, 送到 LED显示,终止后进行键盘扫描, 确定是否有按键 1 输入,有就停止, 无就连续进行数据采集,如此循环;
二. 硬件规律图:
下图为硬件规律图:
|精.
|品.
|可.
|编.
|辑.
|学.
|习.
|资.
|料.
*
|
*
|
*
|
*
|
|欢.
|迎.
|下.
|载.
单片机及各外设参数挑选:
A. 单片机为 8031/8051;
采纳外部时钟,振荡频率为 12MHz ,就机器周期为 1us;
由于本试验只需 0、1 两个按键就能实现掌握( 0 实现启动, 1 实现关闭),所以采纳简洁的 1× 2 非编码键盘;
由于已知输入信号为幅值 5V 的正弦信号, 并要求 A/D 转换的误差小于 0.02V,因此, 选用 ADC0809,其能处理的信号为 0— 5V,不需要进行信号放大; 其辨论率为 8 位, 转换的误差为 0.0196V,能满意要求;其转换时间大约为 100us;
为了保证转换精度,在信号源与 ADC 之间仍需加一 S/H,采纳 LF398,保持电容挑选为 1000PF;
由于要显示 3 个数据,且小数点后保留两位有效数据,所以需要 3×4=12 个 LED, 本试验选用 7 段 LED;且从左到右,依次显示 0、1/2Vmax、Vmax;
由于要求利用串行口扩展接口来显示数据,所以需连接一寄存器,本试验采纳串行输入、并行输出的移位寄存器: 74LS164;
三. 软件编写:
流程图如下:
本试验采纳查询的方式来实现键盘的掌握;在采集的过程中由于可能会有随机干扰,
信号本身会在某一数值范畴邻近上下波动, 所以采纳算术平均滤波的方式进行滤波; 由于输入信号最大频率为 0.2Hz,挑选采样周期为 2Hz,即采样周期为 500ms;
LED初始显示为
LED初始显示为 0
是否有按键?
N
Y
延时 10ms 去抖
N
仍有按键?
Y
键 1
键 0?键 1?
键 0
启动 ADC 数据采集一个周期
算术平均值滤波
运算采集到的数值的最小值、
中间值及最大值
显示在 LED上
N
是否有按键?
Y
延时 10ms 去抖
是否仍有按键?
N
键 0
Y
键 0?键 1?
键 1
|品.
|可.
|编.
|辑.
|学.
|习.
|资.
|料.
*
|
*
|
*
|
*
|
|欢.
|迎.
|下.
|载.
采纳汇编进行编程,详细的代码及其说明如下:
ORG 0000H LJMP START ORG 0300H
START:
ACALL DSP1 ;初始化显示 0.00、0.00、0.00 SCAN:
|精.
|品.
|可.
|编.
|辑.
|学.
|习.
|资.
|料.
*
|
*
|
*
|
*
|
|欢.
|迎.
|下.
|载.
ACALL KEXAM ;判定是否有按键
JNZ SCAN ;没按键就连续 SCAN ACALL D10ms ;去抖
ACALL KEXAM JNZ SCAN
KEY:
SETB P1.1 ;检查键值SETB P1.3
CLR P1.2 MOV A,P1 ANL A,#02H
CJNE A,#02H,SCAN ;按键为 1 就返回连续查询是否有按键
; 按键为 0,进入到数据采集、转换及显示ADC:
MOV R1,#40H
MOV DPTR,#07FF8H
MOV R2,#10 ;一个周期采集 10 个点
L9:
MOV R0,#30H MOV R3,#4
L10:
MOV A,#0
SETB P1.4 ;S/H 保持
MOVX @DPTR,A ;启动 ADC
JNB P3.3 $ ; 转换终止
CLR P1.4 ;S/H 采样
MOVX A,@DPTR MOV @R0,A
INC R0
ACALL D5ms DJNZ R3,L10
ACALL Filter ;滤波
INC R1
ACALL D500ms DJNZ R2,L9
ACALL ORDER ; 运算要显示的值 :最小值、最大值及中间值
ACALL DSP2 ;显示值
;查询按键ACALL KEXAM
JNZ ADC ACALL D10ms ACALL KEXAM JNZ ADC SETB P1.1
|精.
|品.
|可.
|编.
|辑.
|学.
|习.
|资.
|料.
*
|
*
|
*
|
*
|
|欢.
|迎.
|下.
|载.
SETB P1.3 CLR P1.2 MOV A,P
您可能关注的文档
最近下载
- 《白鹿原》中的女性形象分析.docx VIP
- 基于Java的汽车租赁系统的设计与实现 .docx VIP
- 中医养生,养生膏方功效.pptx VIP
- B16G101-2:中英文双语版16G101-2.pdf VIP
- 2025年四川省康定市辅警招聘考试题题库(含参考答案).docx VIP
- 呼吸器用复合气瓶定期检验与评定.pptx VIP
- 2025年四川省康定市辅警招聘考试题库及答案.docx VIP
- 什么是定向运动.pptx VIP
- 《食品企业管理(第2版》高职全套教学课件.pptx
- “马-萨模式”视域下“双减”政策执行制约因素及纾解路径——基于东中西部6省30个县(市、区)的调查.pdf VIP
文档评论(0)