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

利用定时器 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. IFFT 的实现

    IFFT 的实现 前些天给出了FFT的实现,如今给出IFFT(inverse FFT)的实现 基于IFFT 算法.对FFT的核心程序稍作改动就可以 : ) %%******************** ...

  2. Getting console.log output with Selenium Python API bindings

    持久化存储 Getting console.log output from Chrome with Selenium Python API bindings - Stack Overflow http ...

  3. tflearn alexnet iter 10

    他会自己下载数据: # -*- coding: utf-8 -*- """ AlexNet. Applying 'Alexnet' to Oxford's 17 Cate ...

  4. bzoj3940

    AC自动机 复习一下... 可惜又写错了 我们发现就是把单词建成ac自动机,然后把串在ac自动机上跑一遍,每到一个单词结束点就删除,删除是利用栈,每次弹出单词长度个字符就可以了 发现两个小问题,str ...

  5. codeforces round #414 div1+div2

    A:判断一下就可以了 #include<bits/stdc++.h> using namespace std; typedef long long ll; int a, b, c, n; ...

  6. Spark 机器学习 ---TF-IDF

    package Spark_MLlib import org.apache.spark.ml.feature.{HashingTF, IDF, Tokenizer} import org.apache ...

  7. E20170620-hm

    dump  n. 垃圾场; 仓库; 无秩序地累积;  vt. 倾倒; 倾销; 丢下,卸下; 摆脱,扔弃; terminate   vt. 结束; 使终结; 解雇; 到达终点站; adj. 结束的; d ...

  8. PropertyInfo 类

    [AttributeUsage(AttributeTargets.Property)] //Models 特性        public class CanWriteAttribute : Attr ...

  9. 363 Max Sum of Rectangle No Larger Than K 最大矩阵和不超过K

    Given a non-empty 2D matrix matrix and an integer k, find the max sum of a rectangle in the matrix s ...

  10. shell script练习:利用日期进行文件的创建

    随日期变化:利用 date 进行文件的创建 想像一个状况,假设我的服务器内有数据库,数据库每天的数据都不太一样,因此当我备份时, 希望将每天的数据都备份成不同的档名,这样才能够让旧的数据也能够保存下来 ...