【设计】单片机数据采集、处理及显示程序设计.docx

【设计】单片机数据采集、处理及显示程序设计.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 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

文档评论(0)

资料杂货铺 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档