基于AT89C2051单片机的超声波理疗仪设计
6 单片机控制
本设计采用ATMEL公司的AT89C2051单片机来组成控制系统。由于系统的要求不很严格,即不要求高运算速度,也不要求大内存,而只要求有一定的抗震性,且价格便宜,以达到经济实惠的目的即可。因此,笔者选用AT89C2051型CPU。这种CPU的使用温度范围为-40℃~125℃,有20个管脚,是8051型CPU的简易版,完全能满足本系统的使用要求。由于主程序主要完成模块初始化以及自身程序的调用,因而其结构清晰简单,图8所示是它的控制软件流程图。
其次就是初始化模块,其作用是让定时器、中断等回复到最原始的状态。比如使定时器工作在工作方式1,定时器1的中断优先级最高等等。它的初始化流程图如图9所示。
第三就是功率输出调节,本理疗仪输出功率共分三档(低、中、高),设计时采用单片机输出控制后续BJT电路的静态偏置电压,从而改变BJT静态工作点,使压电晶体两端的输出电压幅度发生变化,以调节输出功率。设计时可通过外部按键中断来调用中断服务程序,从而实现这一功能。其原理是通过按键的次数来判断进入哪一个中断,并且调用相应的子程序。由于这里的功率分为三档,因此,可用按键次数除以4所得的余数来判断,即:
如果按键次数为4N(N=0,1,2,3………),那么不输出功率;
如果按键次数为4N+1(N=0,1,2,3………),则调用低功率输出子程序;
以此类推,便可以实现三种不同功率的输出。
以下是其部分代码:
INTOSER: ACALL DELAY :延时程序去处按键抖动
………
MOV B,#04H ;设置除数为4
MOV A,R3 ;设置被除数
div AB
MOV A,B ;取得余数
MOV R3,B
RL A
ADD A,R3
MOV R5,A;设置偏移量为3个字节
MOV DPTR,#PMTB ;取表首地址
JMP @A+DPTR ;判断按键次数跳转到相应的输出程序
7 结束语
本设计主要给出了超声波从产生到控制的一个较详细的实现方案。相对于其他方法,此方案较为简单,并且成本较低,用的器件都是比较常见的。高频和低频信号独立产生,便于对两种信号进行调整,而且用单片机作为控制芯片,其灵活性较高,同时还可以根据不同的要求进行修改,从而满足各种实际需求。
- 自动判别三极管管脚电路设计(05-02)
- 基于AT89C2051单片机的晶闸管触发电路的设计与实现 (06-15)
- AT89C2051单片机引脚图,引脚说明(04-18)
- [图文]AT89C2051在多功能窗中的应用(10-16)