#include<reg52.h> //頭文件 sbit output=P1^0; //輸出端 unsigned int num=1; //輔助計時 void Init(void) //初始化函數(shù) { //對于定時器一般初始化需要六步 TMOD=0x01; TL0 = 0x33; //設(shè)置定時初值 //50ms TH0 = 0xFE; //設(shè)置定時初值 EA=1; ET0=1; TR0=1; } main() { Init(); while(1) { if(num<=4)output=1; //使占空比為a else output=0; } } void Timer_0(void) interrupt 1 //中斷函數(shù) { TL0 = 0x33; //設(shè)置定時初值 TH0 = 0xFE; //設(shè)置定時初值 num++; if(num>=40)num=1; }
|