51单片机:定时器实现1秒时数码管数字自动加一并循环
51单片机:定时器实现1秒时数码管数字自动加一并循环
题目要求:
定时器中断实现每来1s,P1口接的一位共阳极数码管显示数+1,
加到9之后再来1s清零并重复上述过程
代码如下:
(仅供参考)
/*
*定时器中断实现每来1s,P1口接的一位共阳极数码管显示数+1,
*加到9之后再来1s清零并重复上述过程
*/
#include<reg52.h>
sbit SEG = P1^0;
unsigned char code DSY_CODE[] = {0xC0,0xF9,0xA4,0xB0,0x99,
0x92,0x82,0xF8,0x80,0x90}; //共阳极数码管void main()
{TMOD &=0X0F;TMOD |=0x01;TH0 = (65536 - 50000)/256;//高四位初值TL0 = (65536 - 50000)%256;//低四位初值,每隔50ms溢出EA = 1; //开总中断ET0 = 1; //T1开时定时器溢出TR0 = 1; //开启定时器while(1);
}void ET0_ISR(void) interrupt 1 //定时中断
{ static unsigned int cnt = 0; static unsigned int i = 0;TH0 = (65536-50000)/256;TL0 = (65536-50000)%256;cnt++;if(cnt >= 20) //当为1秒时数码管自动+1{cnt = 0;P1 = DSY_CODE[i++];while(i>9) //加到9数码管清零{i = 0;}}
}
仿真结果
51单片机:定时器实现1秒时数码管数字自动加一并循环相关推荐
- 51单片机实验 LED半秒闪烁 定时器0方式2 中断实现
51单片机实验 LED半秒闪烁 定时器0方式2 中断实现 实验目的: P1.0接一个发光管,实现亮半秒灭半秒, 要求使用定时器0工作方式2,中断实现. C语言代码: #include "at ...
- 基于51单片机定时器计数+2片74HC595联级+8位数码管时钟+按键修改时间
基于51单片机定时器计数+2片74HC595联级+8位数码管时钟+按键修改时间 Proteus仿真 实例代码 #include "at89x52.h" /**74hc595引脚定义 ...
- 51单片机定时器秒计数时钟+Proteus仿真
51单片机定时器秒计数时钟+Proteus仿真 Proteus仿真 实例代码 本实例采用的是普中开发板Proteus模板 功能:电子钟,从左到右,1.2位为秒,3.4位为分,5.6位为时,7.8位为天 ...
- 51单片机定时器累加计数(000-999)+4位数码管(循环显示)+Proteus仿真
51单片机定时器累加计数(000-999)+4位数码管(循环显示)+Proteus仿真 说明:为什么采用4位的数码管,因为Proteus里面没有3位的数码管器件可选,也可以采用2+1,或者1+1+1, ...
- 51单片机 定时器及其应用
89c51单片机内部有两个16位的定时/计数器,即定时器T0和定时器T1,单片机的定时功能其实就是通过计数来实现的,当单片机每一个机器周期产生一个脉冲时,计数器就加一.定时器的应用涉及到中断方面的知识 ...
- 51单片机定时器/计数器(定时器中断)
51单片机定时器/计数器(中断系统:定时器中断) 实现功能 通过定时器终端控制LED灯 D1 间隔一秒闪烁 单片机型号:STC89C52 定时器介绍 1.51单片机定时器原理 定时器实质上就是一个加1 ...
- 51单片机定时器及其应用(2)(测量脉冲宽度)
51单片机定时器及其应用(2)(测量脉冲宽度) 上一篇文章讲了如何使用51单片机的定时器功能制作一个简易的数字钟,上次有一个GATE位没有涉及到,因此这次来介绍一下定时器的这个GATE位的应用,也就是 ...
- 51单片机定时器及其应用(3)(测量脉冲频率)
51单片机定时器及其应用(3)(测量脉冲频率) 前面介绍了定时器的一般应用以及定时器GATE位的应用,还有一个位没有介绍,那就是定时器C/TˉC/\bar{T}C/Tˉ位.前面讲解定时器时总是写作定时 ...
- C语言课设项目-51单片机-定时器和计数器
(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹) 目录 一.定时器的原理 1.CPU时序的有关知识 2.在学习定时器之前需要明白的 3.定时/计数器的工作原理 ...
最新文章
- 2022-2028年中国电动牙刷行业深度调研及投资前景预测报告(全卷)
- MVC模式与三层架构的区别
- Linux上的gitlab日常操作
- 9适应之力加多少攻击_剑盾铠之孤岛DLC新增内容大全! 宝可梦史上第一款DLC到底香不香(含试玩视频)...
- 选择排序和冒泡排序以及折半查找
- 过滤器 和 拦截器 6个区别,别再傻傻分不清了
- JAVA对象内存分配过程
- 118 Python程序中的线程操作-守护线程
- 结构体C语言王者归来
- 红宝书第四版的一个错误?
- unity导出fbx模型_美术资源标准(模型篇)
- Unity网格编程篇(三) 温度图、热力图
- java 测试网络_java Ping操作(测试网络)
- 关于DOM的知识点总结
- 经典网络营销软文成功例子
- python协程池_python3下multiprocessing、threading和gevent性能对比—-暨进程池、线程池和协程池性能对比 | 学步园...
- 与、或、非、与非、或非、异或、同或的区别
- K2 BPM_北汽新能源业务流程管理信息系统建设思考_全球领先的工作流引擎
- Prometheus 监控基础
- 第一次面试,收到offer后被拒绝
热门文章
- 代码随想录算法训练营Day02 | LeetCode977.有序数组的平方、209.长度最小的子数组、59.螺旋矩阵II
- win10 复制F12后的http请求入参的json
- [Ting's笔记Day3]解决Git常见错误non-fast-forward问题
- 如何将COMSOL与MATLAB联合【超详细,一网打尽】
- OSM逆地理服务器搭建(三)之国外地址解析
- 基于Stm32的MP3播放器设计与实现
- 基于自动机器学习工具hyperGBM的异常值识别中缺失值填补问题(含2022年全国服务外包大赛实例)
- 5e怎么绑定一键跳投_企业邮箱如何绑定微信?微信怎么添加邮箱?
- 分布式技术原理(九):分布式体系结构之集中式结构
- 【Drone】航模遥控系统各协议简介