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

 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 }

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

时间: 2024-08-04 12:36:52

利用定时器 1和定时器0控制led1和led2分别 2hz和0.5hz闪烁的相关文章

4、定时器T1通过查询方式控制LED1周期性闪烁(轮训方式)

定时器T1通过查询方式控制LED1周期性闪烁 1 /**************************************************************************** 2 * 文 件 名: main.c 3 * 作 者: Amo [ www.amoMcu.com 阿莫单片机] 4 * 修 订: 2014-04-08 5 * 版 本: 1.0 6 * 描 述: 定时器T1通过查询方式控制LED1周期性闪烁 7 *************************

[ZigBee] 6、ZigBee基础实验——定时器3和定时器4(8 位定时器)

上一节讲了16位定时器1,本节讲8位定时器3和定时器4! 1.综述 Timer 3 and Timer 4 are two 8-bit timers(8位定时器). Each timer has two independent capture/compare channels(独立的捕获/比较通道),each using one I/O pin per channel. Features: · Two capture/compare channels· Set, clear or toggle

利用定时器0模式1中断消除4位数码管动态显示闪烁问题的项目工程

1 /******************************************************************************** 2 定时器定时1ms,数码管以秒钟计时,加上定时器0中断可消除数码管刷新时的闪烁问题, 3 闪烁问题是由while语句中分离数字时计算造成的,因为每次1s时间到,在数码管刷新前 4 都要进行计算,耽误了时间,导致闪烁,加了中断以后则是先刷新数码管再分离数字. 5 **********************************

[ZigBee] 13、ZigBee基础阶段性回顾与加深理解——用定时器1产生PWM来控制LED亮度(七色灯)

引言:PWM对于很多软件工程师可能又熟悉又陌生,以PWM调节LED亮度为例,其本质是在每个周期都偷工减料一些,整体表现出LED欠压亮度不同的效果.像大家看到的七色彩灯其原理也类似,只是用3路PWM分别控制红.绿.蓝三种颜色的灯输出亮度,再结合混色原理表现出丰富多彩的炫光效果~ 写在前面:前十几篇介绍了CC2530的一些外设的基本用法,接下来几篇拿几个例子回顾并加深一下之前的知识点,上面引言是普及.下面高能预警! 第一个例子:用定时器1产生PWM来控制LED亮度 我们在<[ZigBee] 5.Zi

CC2541蓝牙学习——定时器3和定时器4

定时器3和定时器4与定时器1功能类似,都有三种模式:自由运行模式.模模式.正计数/倒计数模式,都有输入捕获和输出比较功能,不同的是定时器3和定时器4是8位计数器,而定时器1是16位的,另外定时器3和定时器4只有2个通道,定时器多了一个模式:倒计数模式.由于定时器3和定时器4相似,下面以定时器3为例说明. 定时器3和定时器4是两个8位定时器,每个定时器有两个独立的捕获/比较通道,每一通道使用一个I/O引脚. 定时器3/4有以下特点: 两个捕获/比较通道: 设置,清除或切换输出比较: 每时钟可以被以

2、按下按键S1控制LED1.LED2.LED3实现跑马灯效果(CC2540开发寄存器设置)

按下按键S1控制LED1.LED2.LED3实现跑马灯效果 1 /**************************************************************************** 2 * 文 件 名: main.c 3 * 作 者: Amo [ www.amoMcu.com 阿莫单片机] 4 * 修 订: 2014-04-08 5 * 版 本: 1.0 6 * 描 述: 按下按键S1控制LED1.LED2.LED3实现跑马灯效果 7 ***********

js设置定时器和清除定时器

一.前言 在前端,我们有很多功能需要用到定时器.譬如轮询,譬如定时关闭弹框,譬如实现秒表,譬如一段时间后跳转页面等等.因此,我们需要掌握定时器的用法.二.设置定时器 目前window对象提供有两个方法来实现定时器的效果,分别是window.setTimeout()和window.setInterval(). 其中setInterval()的作用是:使一段代码每过指定时间就运行一次:常用于轮询. setInterval(function(){ console.log("这是一个setInterva

关于普通定时器与高级定时器的 PWM输出的初始化的区别

不管是普通定时器还是高级定时器,你用哪个通道,就在程序里用OC多少.比如CH3对应OC3 TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;  TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;  TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low;  TIM_OCInitStructure.TIM_Pulse=42;

利用JavaScript通过单选框radio控制div的显示和隐藏

通过鼠标单击单选框的动作,实现某个div或多个div的显示和隐藏.实例如下: JavaScript代码如下: 1 function divClick(){ 2 3 var show = ""; 4 show = $("input[name='AdPrintMode']:checked").val(); 5 switch (show){ 6 case '1': 7 document.getElementById("img1").style.disp