15.2 直流电机调速

张开发
2026/4/18 12:37:44 15 分钟阅读

分享文章

15.2 直流电机调速
#include REGX52.H#include Delay.h#include Key.h#include Nixie.h#include Timer0.hsbit MotorP1^0;unsigned char Counter,Compare; //计数值和比较值用于输出PWMunsigned char KeyNum,Speed;void main(){Timer0_Init();while(1){KeyNumKey();if(KeyNum1){Speed;Speed%4;if(Speed0){Compare0;} //设置比较值改变PWM占空比if(Speed1){Compare50;}if(Speed2){Compare75;}if(Speed3){Compare100;}}Nixie(1,Speed);}}void Timer0_Routine() interrupt 1{TL0 0x9C; //设置定时初值TH0 0xFF; //设置定时初值Counter;Counter%100; //计数值变化范围限制在0~99if(CounterCompare) //计数值小于比较值{Motor1; //输出1}else //计数值大于比较值{Motor0; //输出0}}

更多文章