利用AT89C52定时器输出可调PWM
知识储备:
PWM即是脉宽冲宽度调制,也称脉宽调制,其意义就是通过微处理器的数字输出来对模拟电路进行调制的一种有效技术。
由于单片机只能输出高电平(1),或者低电平(0),因此对于类似正弦曲波等无法直接输出。因此需要通过控制高低电平的有效时间,用等效面积的方式输出曲波。
PWM:
- 通过改变脉冲列的周期可以调频;
- 改变脉冲的宽度或占空比可以调压
1.定时器:
51单片机中内置定时器有定时器0和定时器1,通过采用定时器中断的方式输出PWM波形,可不必占用CPU的内存。
定时器配置:
- 初始化函数:
//若使用函数方式初始化,记得在主函数中调用一遍
void Time0_Init(void) { TMOD=0x01; //采用方式1进行定时 TH0=(65536-1000)/256; //定时器计数值高位写入 TL0=(65536-1000)%256; //低位写入 ET0=1; //使能定时器0中断