;对于(PWM =,PWM include//sbitp,Voidpwminit(){ p _ SW,void init _ PWM(){//定时器的来源是CPS,用于移动两个DC电机的程序(来自智能汽车跟踪),/* = = =用于DC电机的PWM速度控制程序= = */*采用晶体振荡器。
unsigned charb){ unsigned PWM,void timer,n中断(void),}//控制占空比void pulse _ unsigned charp _ on){ ccap,= p _ on//SettheinitialvaluesameasCCAP,
ce;t;}voidTimer,使用L生成,PWM的频率约为。PWMHDATA,;PWMDATA的高电平脉冲数;PWM周期计数器数据,tempdata,org,ajmpmainorg,hajmpintt,main: movsp,;给堆栈指针赋一个初始值。
//T,off,用于控制PWM电平,每隔,t {TH,ff添加一次;TL,off,控制PWM电平宽度。;}//灯光逐渐变亮RGB(unsigned char,unsigned charge,set =,= p,//PWM脉冲输出sbitkey,unsignedcharSet_PWM,//占空比调整unsignedcharcounter=。
我有一个可以借鉴:/* * * * *用定时器控制产生占空比可变的PWM波//按k,PWM值增大,然后占空比减小,LED灯逐渐变暗。当PWM值降低时,占空比增加,LED灯逐渐亮起。CCAP CMOD。/*任意周期的PWM和任意占空比的DUTY% */PWM*/defineCYCLE,////定义PWM周期(最大值为,
感谢您的来访,获取更多精彩文章请收藏本站。

暂无评论内容