1、10.5.5 PWM编程C语言例实例编号:C05_3 路径:CC05_3PWM脉冲信号输出(PWM.prj) /*-*工 程 名:PWM.prj *硬件接线:PTD.4,即定时器1通道0(21脚)接指示灯或蜂鸣器 *程序描述:通过对PWM占空比的调节实现现指示灯的渐亮的功能* 当占空比为100时再从0逐渐增加 *目 的:学习HC08系列定时器脉宽调制功能 *-嵌入式应用技术基础教程教学实例-*/*头文件*/#include GP32C.H /包含头文件/*函数声明*/void PWMInit(unsigned int ); /PWM初始化void PWMconf(unsigned int);
2、/PWM设置extern void Delay_ms(unsigned char ); /延时/*主程序*/void main() unsigned int Period; /PWM周期 unsigned int Duty; /PWM占空比 /变量初始化 Period =0x0180; /PWM周期默认为10ms /PWM初始化 PWMInit(Period); Duty = 0; /PWM占空比为0 /主循环 while(1) /判断脉宽是否达到周期的长度(占空比为100) if(DutyPeriod) Duty=Duty+1; /PWM占空比加1 else /占空比达到100,设置占空比为0 Duty=0; T1SC|=(18); /设置高字节 T1CH0L = Duty; /设置低字节 T1SC&=(18); T1MODL = Period; /初始化设置PWM脉宽为0 T1CH0H = 0x00; T1CH0L = 0x00; /设为PWM模式,不允许输出比较中断,输出低电平,不带缓冲 T1SC0 = 0x1E; /允许定时器1计数寄存器计数 T1SC &= 0xDF;