首页 > 代码库 > 定时器与TATE应用

定时器与TATE应用

 

 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应用