示波器监控程序设计方案

时间:2012-10-17来源:网络

系统硬件电路

硬件电路

6系统软件设计

6.1一键多义键盘程序设计

在键盘分析中,运用一个工作状态寄存器保存键盘的现状态,当键盘扫描到一个按键时,根据现状态的值从分析程序入口表中找到分析程序状态表地址,从该地址处进入分析程序状态表,找到相匹配的值,把下一状态送到现状态单元里,取出动作号,根据动作号计算出动作子程序入口地址,再执行相应子程序。图4为键码匹配子程序的流程图。

6.2编码开关程序设计

由图1可以看出,引脚1和引脚2有同时为高电平的情况,之后如果引脚2比引脚1先到达高电平则表示左旋,如果引脚1比引脚2先到达高电平则表示右旋。编程的时候依据这个特点来判断引脚1、引脚2的状态即可。以1引脚接P4.0,2引脚接P4.1为例:

键码匹配子程序的流程图

6.3模数转换软件设计

通过设置ADCO控制寄存器ADCOCN位3~2(ADOCM1~O)A/D转换启动方式选择位,来启动A/D转换:位3~2为00时,向ADOBUSY(ADCOCN位4)写1启动A/D转换;位3~2为01时,定时器3溢出启动A/D转换;位3~2为10时,CNVSTR上升沿启动A/D转换;位3~2为11时,定时器2溢出启动A/D转换。本设计采用第一种启动方式。

由于单片机的工作量并不大,所以软件设计时采用查询的方式。单片机不断地查询键盘、编码开关以及电位器的状态,如果有变化时,单片机将动作信息传递给ARM主MCU,等待主MCU的处理。由于单片机模数转换的速度非常快,因此在程序中加延时,以便观察到模数转换的变化量。另外,硬件设计时没有考虑滤波,故用软件实现滤波。一般的滤波的方法有限幅滤波法、中位置滤波法、算术平均滤波法等,现在提出一种新的滤波方法。由于使用12位A/D,但只要8位就可以达到所要的精度,所以可以采用去掉低4位的方法来实现滤波的目的。由于篇幅有限,下面只给出程序的一部分,以AIN0为例:

22.jpg

结语

本文介绍的一键多义的按键管理程序,对多按键的智能仪表可以通用。编码开关的编程方法简单易懂。在A/D转换部分,提出的去掉低4位的软件滤波方法可靠可行,对精度要求不高的场合非常适用。这3部分构成了一个完整的监控程序,当单片机监控到某一部分有变化时,就将其动作信息传递给ARM主CPU,主CPU进行相应的处理。

1 2

关键词: 示波器 监控程序 C8051F020

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版