用89C51和8254-2实际步进式PWM输出
来的这次所需的计数值给8254-2,将107送入32H、33H、34H中作为除法运算中的被除数,而30H、31H中的内容作为除法运算中的除数,调用除法运算子程序,将所得的商送入32H、33H中,余数放在35H、36H.比较余数是否大于除数的一半,若大于除数的一半则所得的商加1,否则商不变入在32H、33H中。假设程序指令令所占用的时间为X*5,将32H、33H中的内容减去5X,即为下次所要送入8254-2的计数值,放在35H、36H中,返回中断。
(2)设置软件陷阱
当程序进入到非程序区,只要在非程序区设置拦截措施,使程序进入陷阱,然后强迫程序回到初始状态。如对CPU的RST指令对应的字节码为0FFH,如果不用的程序存储区预先写入0FFH,则当程序因干扰而“飞”到该区域执行代码时,就相当于执行1条RST指令,从而达到系统复位的目的。
结束语
采用89C51控制PWM分段,8254-2步进式输出1Hz~3kHz的PWM,可以通过软件编程的方法提高分辨率。在有些特殊场合只靠单片机内部的定时器或模拟电路无法精确输出1Hz~3kHz,单步为1Hz的PWM波形时,此设计就显出其明显的优越性,而且它占用的CPU时间短。此设计的结构简单、成本低、可靠性好、抗干扰能力强,可在控制和测量中得到应用。
《用89C51和8254-2实际步进式PWM输出(第3页)》
本文链接地址:http://www.oyaya.net/fanwen/view/176497.html
(2)设置软件陷阱
当程序进入到非程序区,只要在非程序区设置拦截措施,使程序进入陷阱,然后强迫程序回到初始状态。如对CPU的RST指令对应的字节码为0FFH,如果不用的程序存储区预先写入0FFH,则当程序因干扰而“飞”到该区域执行代码时,就相当于执行1条RST指令,从而达到系统复位的目的。
结束语
采用89C51控制PWM分段,8254-2步进式输出1Hz~3kHz的PWM,可以通过软件编程的方法提高分辨率。在有些特殊场合只靠单片机内部的定时器或模拟电路无法精确输出1Hz~3kHz,单步为1Hz的PWM波形时,此设计就显出其明显的优越性,而且它占用的CPU时间短。此设计的结构简单、成本低、可靠性好、抗干扰能力强,可在控制和测量中得到应用。
《用89C51和8254-2实际步进式PWM输出(第3页)》