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

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