码迷,mamicode.com
首页 > 其他好文 > 详细

利用定时器 1和定时器0控制led1和led2分别 2hz和0.5hz闪烁

时间:2018-03-24 18:36:38      阅读:243      评论:0      收藏:0      [点我收藏+]

标签:body   UI   pos   sign   define   定时   bsp   post   void   

 1 //利用定时器 1和定时器0控制led1和led2分别 2hz和0.5hz闪烁
 2 //利用定时器0 1s,led1取反,利用计数器1,(65535-10)%256,取反
 3 #include<reg52.h>
 4 #define uchar unsigned char
 5 #define uint unsigned int
 6 sbit led1=P1^3;
 7 sbit led2=P1^7;
 8 uchar count0,count1;
 9 
10 void delay(uint x)
11 {
12   uchar i;
13   while(x--)
14   {
15     for(i=0;i<120;i++);
16   }
17 }
18 
19 void init()
20 {
21  TMOD = 0x10; //定时器1 0
22  EA=1;
23  ET0=1;
24  TR0=1;
25  TH0=0x4b;
26  TL0=0xfd;     //50ms
27  ET1=1;
28  TR1=1;
29  TH1=0x4b;
30  TL1=0xfd;
31 }
32 
33 void main()
34 {
35   init();
36   while(1)
37   {
38     led1=led2=1;
39   
40  }
41 
42 }
43 void Timer0() interrupt 1 //定时器0
44 {
45   TH0=0x4b;
46   TL0=0xfd;
47   count0++;
48   if(count0==10)//如果是500ms(2hz)
49   {
50     count0=0;
51      led1=0;
52        delay(3);
53   }
54 
55 }
56 
57 void Timer1() interrupt 3 //定时器0
58 {
59   TH0=0x4b;
60   TL0=0xfd;
61   count1++;
62   if(count1==40)//如果是2000ms(2hz)
63   {
64     count1=0;
65      led2=0;
66        delay(3);
67   }
68 
69 }

 

利用定时器 1和定时器0控制led1和led2分别 2hz和0.5hz闪烁

标签:body   UI   pos   sign   define   定时   bsp   post   void   

原文地址:https://www.cnblogs.com/Justice-V/p/8640634.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!