当前位置: 主页 > 单片机开发 > 51 单片机 > 51单片机入门实验2-定时0
51单片机入门实验2-定时0
摘要
E:\guangpan\完成-51单片机开发板资料\源程序\2_定时器0\timer0.c.html 1 /* 2 艾米电子工作室 3 4 实验二 单片机内部定时器0中断应用 5 db :zliang 6 2008-9-18 18:43:56 7 网站: http://www.amy-studio.com/ 8
  

 1 /*
 2     艾米电子工作室
 3 
 4 实验二 单片机内部定时器0中断应用
 5 db :zliang 
 6 2008-9-18 18:43:56
 7 网站:http://www.amy-studio.com/
 8
 9 
10 */
11 #include <reg51.h>
12 
13 /***************/
14 sbit led = P3^0;    //管脚定义 
15 unsigned char count = 0;    //定义变量 
16 
17 /**********************************/
18 void time0(void)  interrupt 1   //产生50MS定时
19 {
20     TH0 = (65536-50000) / 256; //重新设置定时器 初值
21     TL0 = (65536-50000) % 256;
22     count ++;               //50ms太短,闪烁频率太快
23     if(count == 10)        //用变量 count 延长到500ms
24     {
25         count = 0;        //计数器清零
26         led = !led;     //取反 
27     }
28 }
29 
30 /***************/
31 void main(void)
32 {
33 
34      TMOD = 0x01;           //T0 工作在方式1 16位计数器
35      TH0 = (65536-50000) / 256;  // 预先 设定定时器 初值
36      TL0 = (65536-50000) % 256;
37      EA = 1;                //开启 总中断
38      ET0 = 1;               //开启定时器 0 
39      TR0 = 1;               //定时器 0 的运行标志位   
40 
41      while(1)           //死循环
42      {                  //程序是在 定时器中断中完成的
43 
44      }
45 }
46 
47