設計思路:設置定時計數器工作在定時工作方式,在中斷服務子程序中將需要輸出方波信號的I/O引腳上的電平翻轉即可。 代碼: #include<reg52.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int sbit pluse=P2^0;//將p2.0給pluse
void T0Init() {
TMOD=0x11; //設置定時器 ,工作方式1,16位 TH0=(65536-1000)/256; TL0=(65536-1000)%256; EA=1;//開總中斷 ET0=1;//允許定時器 0中斷 TR0=1;//啟動0定時器T0 } void main() { T0Init(); while(1); } void T0_time() interrupt 1 { pluse=!pluse; TH0=(65536-1000)/256; TL0=(65536-1000)%256; }
|