/* 此处利用定时/计数器 T0 从 P1.0 输出 PWM 为 1hz 的方波为例,让发光二极管以 1HZ 闪烁,要输出其他频率的 PWM 改中断变程序中 aa 的值即可,设晶振频率为 12MHz。?*/*/#include /52 单片机头文件#include /包含有左右循环移位子函数的库#define uint unsigned int /宏定义#define uchar unsigned char /宏定义sbit P1_0=P10;uchar tt;void main() /主函数TMOD=0x01;/设置定时器 0 为工作方式 1TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;/开总中断ET0=1;/开定时器 0 中断TR0=1;/启动定时器 0while(1);/等待中断产生void timer0() interrupt 1TH0=(65536-50000)/256;TL0=(65536-50000)%256;tt+;if(tt=20) /*说明 1s 时间到 输出 1s 一次(1HZ )的方波 如果要输出其他频率的波形 改变此处的值即可 */tt=0;P1_0=P1_0;