用89C51和8254-2实现步进式PWM输出
本设计提出了一种新型的PWM输出方式,使用89C51作为主控部分,用8254-2可编程定时器/计数器来实现1Hz~3kHz步进式PWM的输出。该设计具有分辨率高、反应速度快及占用CPU时间少的优点。
脉宽调制(PWM)技术
脉宽调制(PWM)技术最初是在无线电技术中用于信号的调制,后来在电机调速中得到了很好的应用。PWM技术的工作原理是通过对输出信号的脉宽进行调整,从而实现对电机的速度控制。
8254-2可编程定时器/计数器
8254-2是Intel公司的8253的改进型,操作方式及引脚与8253完全相同。它的改进主要反映在2方面:①8254的计数频率更高, 可由直流至6MHz;8254-2可高达10MHz。②8254多个1个读回命令(写至控制器的寄存器),其格式如图1所示。
PWM输出的硬件设计
本设计选用可编程定时器/计数器8254-2,其最高计数频率可达10MHz;充分利用8254-2的3个定时器/计数器,采取频率的分频输出,并且不需要外部的信号源输入,硬件电路简化;通过软件的处理可以实现连续(1Hz~3kHz)PWM波的输出。
软件设计
软件主要由3部分组成:主程序、键盘扫描程序、中断处理程序。主程序主要负责初始化8254-2和89C51的设置,键盘扫描程序负责扫描键盘输入,中断处理程序负责处理8254-2的中断请求。
分辨率的考虑
为了使分辨率达到要求,还需要考虑程序指令所占用的时间,尤其是在输出高频时,分辨率尤为重要。
外部硬件看门狗定时器
为了防止程序进入死循环,增加了外部的硬件看门狗定时器IMP813L,其内部的看门狗定时器监控UP/UC的工作。如果在1.6s内未检测到其工作,内部的定时器将使看门狗输出WDO处于低电平状态,WDO将保持低电平直到在WDI检测到UP/UC的工作。
总结
本设计提出了一种新型的PWM输出方式,使用89C51和8254-2实现步进式PWM输出,具有分辨率高、反应速度快及占用CPU时间少的优点。该设计可以应用于电机调速、PWM控制等领域。