利用定时器 1和定时器0控制led1和led2分别 2hz和0.5hz闪烁
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^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 //定时器1 58 { 59 TH1=0x4b; 60 TL1=0xfd; 61 count1++; 62 if(count1==40)//如果是2000ms 63 { 64 count1=0; 65 led2=0; 66 delay(3); 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^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 //定时器1 58 { 59 TH1=0x4b; 60 TL1=0xfd; 61 count1++; 62 if(count1==40)//如果是2000ms 63 { 64 count1=0; 65 led2=0; 66 delay(3); 67 } 68 69 }
转载于:https://www.cnblogs.com/Justice-V/p/8640634.html
利用定时器 1和定时器0控制led1和led2分别 2hz和0.5hz闪烁相关推荐
- CC2530————通过定时器T1查询方式控制LED1周期性闪烁(模模式)
CC2530----通过定时器T1查询方式控制LED1周期性闪烁(模模式) 宏定义与函数声明 初始化 主函数 宏定义与函数声明 /*********************************** ...
- STM32F4 定时器TIM(1)定时器控制输出【使用库函数】
高级时钟控制定时器TIM1&TIM8简介: STM32F4的高级控制定时器包含一个自动重装载计数器,计数器的输入是一个被预分频的系统时钟. 这个定时器有多种用途,包括车辆输入信号长度(输入捕获 ...
- 中断系统应用实例(1)用定时器T1工作方式1控制两个LED以不同周期闪烁
1.控制目标 利用定时器T1工作方式1控制两个LED以不同周期闪烁,使得LED1每秒闪烁4次(即周期为250ms),LED2每秒闪烁1次(即周期为1s). 2.控制分析 2.1 LED侧分析 若要使L ...
- C51单片机定时器2实现SG90舵机控制
谈起舵机最初的了解应用于航模,偶然的机会在网上看到有牛人使用多个舵机做人形机器人的关节,感觉这小东西很有趣,蒙发了买来学习学习的想法,这已经是多年前的事了,后来由于某些原因,这个想法直到今年才落地.小 ...
- STM32超声波模块测距串口输出/通用定时器中断并输出PWM控制舵机/系统定时器延时
参考:stm32 超声波模块 原理 实现测距 +舵机使用 作者:点灯小哥 发布时间: 2021-03-10 19:37:16 网址:https://blog.csdn.net/weixin_46016 ...
- java定时任务中使用多线程_java项目中如何利用多线程实现一个定时器任务
java项目中如何利用多线程实现一个定时器任务 发布时间:2020-11-10 16:04:03 来源:亿速云 阅读:86 作者:Leah 今天就跟大家聊聊有关java项目中如何利用多线程实现一个定时 ...
- 定时器Timer实现时间精准控制
Timer方式实现时间的精准控制,当定时时间到了以后,处理定时相关的任务 一.配置环境 1.步骤如下 (1)新建工程,进行基本配置 (2)配置IO (3)配置定时器 (4)配置中断 (5)时钟配置 ( ...
- STM32入门笔记04_TIM定时器+案例:TIM定时器定时中断、定时器外部时钟
TIM定时器 TIM简介 TIM(Timer) 定时器 定时器可以对输入的时钟进行计数,并在计数值达到设定值时触发中断 16位计数器.预分频器.自动重装寄存器的时基单元,在72MHz(系统主频)计数时 ...
- DSP:C54x定时器及使用定时器产生led的1s周期闪烁
一.C54x的片内定时器是一个可编程的定时器,同时可以用于周期性地产生中断,为16位计数器.定时器主要由定时器寄存器TIM.定时周期寄存器PRD.定时控制寄存器TCR(包括分频系数TDDR.预标定计数 ...
最新文章
- 职业规划纵向横向_金融行业之职业规划
- python restful django_如何使用Django / Python从RESTful Web服务中使用XML?
- kettle分批处理大表数据_采用Kettle分页处理大数据量抽取任务
- 高级排序求逆序数之分治法
- 《验收测试驱动开发:ATDD实例详解》—第2章2.2节结对完成第一个测试
- LINUX 下安装git
- HEVC—SAO技术
- 谷歌邮箱登录服务器设置
- 销售管理软件系统的两大优势是什么?
- 大数据的三大理念解析
- 小学计算机教室培训心得,小学教师培训心得体会【通用版】
- 新加坡国立大学计算机系访学,【访学归来】白卫岗:在新加坡国立大学探讨线性水声网络容量...
- 苹果开发---window配置苹果虚拟机 和安装xcode
- Python画中国地图-数据导入
- opengles之展翅飞翔的雄鹰
- linux乌班图做服务器,使用 Ubuntu 16.04 搭建全能服务器
- 统计学习三要素个人理解
- 惠普电脑如何重装Linux系统,如何把惠普下的Linux操作系统换为windows 7
- 记 计算机 科学学院 教师,永做学生的操作系统——记计算机科学技术学院、软件学院教师金虎...
- css 签名字体,SVG 花样字体文本的自动签名动画