要求:采用占空比自动增加模式,控制1个LED灯光的强度由弱变强,再循环。 我为什么无法在仿真上实现这个效果?
#include <reg52.h> //包含52头文件 #define uint unsigned int //宏定义uint代替unsigned int #define uchar unsigned char //宏定义uchar代替unsigned char sbit PWM=P1; void T1_init(); uint count=0,High_num=200; void main() //主函数 { T1_init(); while(1) { } } void T1_init() { TMOD=0x20; //设置T1为方式2 TH1=256-100; //置T1高8位,备用初值 TL1=256-100; //置T1低8位,初值 TR1=1; //启动T1 ET1=1; //开T1中断 EA=1; //开总中断 } /**********T1中断服务程序*********/ void T1_int() interrupt 3 //00us进入中断 { count++;High_num--; if(High_num==0) High_num=200; if(count>=200) count=0; if(count<High_num) PWM=1; else PWM=0; }
|