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

 #include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit led1=P1^;
sbit led2=P1^;
uchar count0,count1; void delay(uint x)
{
uchar i;
while(x--)
{
for(i=;i<;i++);
}
} void init()
{
TMOD = 0x10; //定时器1 0
EA=;
ET0=;
TR0=;
TH0=0x4b;
TL0=0xfd; //50ms
ET1=;
TR1=;
TH1=0x4b;
TL1=0xfd;
} void main()
{
init();
while()
{
led1=led2=; } }
void Timer0() interrupt //定时器0
{
TH0=0x4b;
TL0=0xfd;
count0++;
if(count0==)//如果是500ms(2hz)
{
count0=;
led1=;
delay();
} } void Timer1() interrupt //定时器1
{
TH1=0x4b;
TL1=0xfd;
count1++;
if(count1==)//如果是2000ms
{
count1=;
led2=;
delay();
} }
 //利用定时器 1和定时器0控制led1和led2分别 2hz和0.5hz闪烁
//利用定时器0 1s,led1取反,利用计数器1,(65535-10)%256,取反
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit led1=P1^;
sbit led2=P1^;
uchar count0,count1; void delay(uint x)
{
uchar i;
while(x--)
{
for(i=;i<;i++);
}
} void init()
{
TMOD = 0x10; //定时器1 0
EA=;
ET0=;
TR0=;
TH0=0x4b;
TL0=0xfd; //50ms
ET1=;
TR1=;
TH1=0x4b;
TL1=0xfd;
} void main()
{
init();
while()
{
led1=led2=; } }
void Timer0() interrupt //定时器0
{
TH0=0x4b;
TL0=0xfd;
count0++;
if(count0==)//如果是500ms(2hz)
{
count0=;
led1=;
delay();
} } void Timer1() interrupt //定时器1
{
TH1=0x4b;
TL1=0xfd;
count1++;
if(count1==)//如果是2000ms
{
count1=;
led2=;
delay();
} }

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

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

    引言:PWM对于很多软件工程师可能又熟悉又陌生,以PWM调节LED亮度为例,其本质是在每个周期都偷工减料一些,整体表现出LED欠压亮度不同的效果.像大家看到的七色彩灯其原理也类似,只是用3路PWM分别 ...

  2. [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 tw ...

  3. tcp 保活定时器分析 & Fin_WAIT_2 定时器

    tcp keepalive定时器 http server 和client端需要防止"僵死"链接过多!也就是建立了tcp链接,但是没有报文交互, 或者client 由于主机突然掉电! ...

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

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

  5. java定时器,Spring定时器和Quartz定时器

    一.java定时器的应用 其实java很早就有解决定时器任务的方法了,java提供了了类java.util.TimerTask类基于线程的方式来实现定时任务的操作,然后再提供java.util.Tim ...

  6. 14.TCP的坚持定时器和保活定时器

    一.坚持定时器   1.坚持定时器的由来         TCP通过让接收方指明希望从发送方接受的窗口大小来进行流量控制.设置窗口大小为0可以组织发送方传送数据,直至窗口变为非0为止.         ...

  7. Object-C定时器,封装GCD定时器的必要性!!! (二)

    上一篇:Object-C定时器,封装GCD定时器的必要性!!! (一) 上一篇认识了Object-C中的几种定时器,这一篇将Dispatch定时器(GCD定时器)封装起来. p.p1 { margin ...

  8. Object-C定时器,封装GCD定时器的必要性!!! (一)

    实际项目开发中经常会遇到延迟某件任务的执行,或者让某件任务周期性的执行.然后也会在某些时候需要取消掉之前延迟执行的任务. iOS中延迟操作有三种解决方案: 1.NSObject的方法:(对象方法) p ...

  9. TCP的定时器系列 — 保活定时器

    主要内容:保活定时器的实现,TCP_USER_TIMEOUT选项的实现. 内核版本:3.15.2 我的博客:http://blog.csdn.net/zhangskd 原理 HTTP有Keepaliv ...

随机推荐

  1. jquery操作删除元素

    通过 jQuery,可以很容易地删除已有的 HTML 元素. 删除元素/内容 如需删除元素和内容,一般可使用以下两个 jQuery 方法: remove() - 删除被选元素(及其子元素) empty ...

  2. (C语言版)链表(三)——实现双向链表创建、删除、插入、释放内存等简单操作

    上午写了下单向循环链表的程序,今天下午我把双向链表的程序写完了.其实双向链表和单向链表也是有很多相似的地方的,听名字可以猜到,每个节点都包含两个指针,一个指针指向上一个节点,一个指针指向下一个节点.这 ...

  3. YTU 2715: 函数---判断某年某月某日是这一年中的第几天

    2715: 函数---判断某年某月某日是这一年中的第几天 时间限制: 1 Sec  内存限制: 128 MB 提交: 380  解决: 155 题目描述 在主程序(main)中输入某年某月某日,例如2 ...

  4. POJ3090 Visible Lattice Points 欧拉函数

    欧拉函数裸题,直接欧拉函数值乘二加一就行了.具体证明略,反正很简单. 题干: Description A lattice point (x, y) in the first quadrant (x a ...

  5. form表单点击后验证

    function check(){ var customertype = document.getElementById("customertype"); //alert(cust ...

  6. [Swift通天遁地]五、高级扩展-(1)快速检测设备属性:版本、类型、屏幕尺寸

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  7. Sqoop 是什么?(二)

    Sqoop 是传统数据库与 Hadoop 之间数据同步的工具,它是 Hadoop 发展到一定程度的必然产物,它主要解决的是传统数据库和Hadoop之间数据的迁移问题.Sqoop 是连接传统关系型数据库 ...

  8. struts2.1.6存在中文乱码的bug

    如题,后续版本中已解决:可以通过添加filter的方式解决.

  9. [Android]异常2-Unexpected error while executing

    异常原因: 可能一>Android Studio的自动编译没有成功 解决方法有: 解决一>菜单栏里的“Build”,“Clean Project” 注:

  10. 2016.01.08 Javascript视频

    完成JavaScript开发视频课程的Ajax部分内容.