利用定时器 1和定时器0控制led1和led2分别 2hz和0.5hz闪烁
//利用定时器 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闪烁的更多相关文章
- [ZigBee] 13、ZigBee基础阶段性回顾与加深理解——用定时器1产生PWM来控制LED亮度(七色灯)
引言:PWM对于很多软件工程师可能又熟悉又陌生,以PWM调节LED亮度为例,其本质是在每个周期都偷工减料一些,整体表现出LED欠压亮度不同的效果.像大家看到的七色彩灯其原理也类似,只是用3路PWM分别 ...
- [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 ...
- tcp 保活定时器分析 & Fin_WAIT_2 定时器
tcp keepalive定时器 http server 和client端需要防止"僵死"链接过多!也就是建立了tcp链接,但是没有报文交互, 或者client 由于主机突然掉电! ...
- 关于普通定时器与高级定时器的 PWM输出的初始化的区别
不管是普通定时器还是高级定时器,你用哪个通道,就在程序里用OC多少.比如CH3对应OC3 TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1; TIM_ ...
- java定时器,Spring定时器和Quartz定时器
一.java定时器的应用 其实java很早就有解决定时器任务的方法了,java提供了了类java.util.TimerTask类基于线程的方式来实现定时任务的操作,然后再提供java.util.Tim ...
- 14.TCP的坚持定时器和保活定时器
一.坚持定时器 1.坚持定时器的由来 TCP通过让接收方指明希望从发送方接受的窗口大小来进行流量控制.设置窗口大小为0可以组织发送方传送数据,直至窗口变为非0为止. ...
- Object-C定时器,封装GCD定时器的必要性!!! (二)
上一篇:Object-C定时器,封装GCD定时器的必要性!!! (一) 上一篇认识了Object-C中的几种定时器,这一篇将Dispatch定时器(GCD定时器)封装起来. p.p1 { margin ...
- Object-C定时器,封装GCD定时器的必要性!!! (一)
实际项目开发中经常会遇到延迟某件任务的执行,或者让某件任务周期性的执行.然后也会在某些时候需要取消掉之前延迟执行的任务. iOS中延迟操作有三种解决方案: 1.NSObject的方法:(对象方法) p ...
- TCP的定时器系列 — 保活定时器
主要内容:保活定时器的实现,TCP_USER_TIMEOUT选项的实现. 内核版本:3.15.2 我的博客:http://blog.csdn.net/zhangskd 原理 HTTP有Keepaliv ...
随机推荐
- UITextView获取光标位置
UITextRange *range = textView.selectedTextRange; //光标位置 CGRect rect = [textView caretRectForPositio ...
- ios11--播放音效
// // ViewController.m // 10-iOS中播放音效 // // Created by xiaomage on 15/12/26. // Copyright © 2015年 小码 ...
- 机器视觉: LBP-TOP
之前介绍过机器视觉中常用到的一种特征:LBP http://blog.csdn.net/matrix_space/article/details/50481641 LBP可以有效地处理光照变化,在纹理 ...
- Django基于JWT实现微信小程序的登录和鉴权
什么是JWT? JWT,全称Json Web Token,用于作为JSON对象在各方之间安全地传输信息.该信息可以被验证和信任,因为它是数字签名的. 与Session的区别 一.Session是在服务 ...
- 实战篇之实现 OutLook 中以 EDM 形式发送通知邮件
1.写 Html5 的 EDM 模板 EDM 源代码示例: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" ...
- [转]linux之pr命令
转自:http://www.bitscn.com/plus/view.php?aid=6638 本文介绍如何使用Linux的pr命令将大文件分割成多个页面进行打印,并在每个页面上加上标题. Linux ...
- [转]Linux下paste命令详解
转自:http://blog.csdn.net/andy572633/article/details/7214126 paste单词意思是粘贴.该命令主要用来将多个文件的内容合并,与cut命令完成的功 ...
- Lua相关回调总结【转】
原文 http://www.zaojiahua.com/lua-callback-functions.html 最近做一个小项目,是用Lua写的,中间用到了很多的回调,基本Cocos中的那几种常用回调 ...
- R 连接数据库长数字被科学计数法解决方法
数据库中的订单编号
- Less——less基本安装
1.下载node.js 我们需要NodeJ运行LESS示例. 要下载NodeJ,请打开链接https://nodejs.org/en/ 2.node.js安装是否正确 在cmd中输入lessc -v, ...