1. 程式人生 > >定時器與TATE應用

定時器與TATE應用

pre reg .cn err 開始 main 定時 .com spa

 1 #include <reg51.h>
 2 #include <stdio.h>
 3 #define uchar unsigned char 
 4 sbit led=P2^6;
 5 //GATE就是門 GATE=0一關掉就會不執行 GATE=1打開門執行 定時器T1的門在P3.3(INT1) 定時器T0的門在P3.2(INT0)
 6 void init ()
 7 { 
 8    ET1=1;//允許打開定時器1分開關
 9    EA=1;//打開總開關
10    TMOD=0xd0;//1101 0000 //在TMOD選擇定時器1 工作方式1 TATE 計數器  即1101 0000
11    TH1=255
; // TH0 TL0 是16位定時器或是計數器裝載初值 即從什麽數開始定時或計數 12 TL1=255; // TH0 TL0 賦值255 意思是65535 從65535開始計數或定時 超過65536 就會觸發中斷服務程序 13 TR1=1; //代碼執行到TR1就會跳到中斷服務程序 所以要TR1之前準備好初始化代碼 14 } 15 void main(void) 16 { 17 init();//執行初始化 18 while(1); //在這裏死循環 讓程序不執行下去 響應初始化代碼 19 } 20 void cgh() interrupt 3 21
{ 22 led=~led; 23 TH1=255;//在工作方式1下 不能自動裝載 需要手動裝載 24 TL1=255; //定時器是獨立的 不依賴CPU 一當觸發就會一直工作定時 25 }

技術分享

定時器與TATE應用