#include<reg52.h> #define uchar unsigned char #define uint unsigned int uint i; void main() { i=0; EA=1; //打開總中斷 TMOD=0x01; //使用定時器T0的工作方式1 ET0=1; //定時器T0中斷允許 TH0=(65536-50000)/256; //給定時器T0的高8位賦值 TL0=(65536-50000)%256; //給定時器T0的低8位賦值 TR0=1; //啟動定時器T0 P0=0xff; while(1); //無限循環等待中斷 } void Time0(void) interrupt 1 //"interrupt"聲明函數為中斷服務函數,1表示定時器T0的中斷編號 { i++; if(i==40) { P0=~P0; i=0; } TH0=(65536-50000)/256; TL0=(65536-50000)%256; } #include<reg52.h> #define uchar unsigned char #define uint unsigned int uint i; void main() { i=0; EA=1; //打開總中斷 TMOD=0x01; //使用定時器T0的工作方式1 ET0=1; //定時器T0中斷允許 TH0=(65536-50000)/256; //給定時器T0的高8位賦值 TL0=(65536-50000)%256; //給定時器T0的低8位賦值 TR0=1; //啟動定時器T0 P0=0xff; while(1); //無限循環等待中斷 } void Time0(void) interrupt 1 //"interrupt"聲明函數為中斷服務函數,1表示定時器T0的中斷編號 { i++; if(i==40) { P0=~P0; i=0; } TH0=(65536-50000)/256; TL0=(65536-50000)%256; }