C51单片机之数码管实现99秒倒计时(结合定时器)—STC89C52单片机

代码如下:
#include <reg52.h>
typedef unsigned char u8;
typedef unsigned int u16;sbit b1 = P2^2;
sbit b2 = P2^3;
sbit b3 = P2^4;
u8 duan[] = {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71};
u16 count = 99;
u16 digit = 0;//延时函数
void delay(u16 a){while(a--);
}//数码管实现函数
void timeSub(){u8 j;for( j=0; j<2; j++){    //只有两个数码管switch(j){case(0):b1 = 0, b2 = 0, b3 = 0 ,P0 = duan[count%10];break; //取得十位上的数字case(1):b1 = 1, b2 = 0, b3 = 0, P0 = duan[count/10];break; //取得个位上的数字
}
delay(100);                     //数码管显示相应的数字
}
}void  Tim0() interrupt 1    //定时器函数,选择方式一,实现定时器0中断
{TH0 = 0xfc;   TL0 = 0x18;    //再次赋初值digit++;        //全局变量,累加中断的次数if(digit >= 1000){     //精准的实现定时1sdigit = 0;         //置0,重新开始if(count>=0){           count--;                //定时器实现1s时,数码管显示的值实现递减}}
}
void main(){TMOD |= 0x01;  //门开了,定时器,方式一,16位计数TH0 = 0xfc;    TL0 = 0x18;        //通过计算得到定时器的初值2^16 - 1000ET0 = 1;          //定时器0开关打开TR0 = 1;         //定时器运行开关打开EA = 1;     //打开总开关while(1){            timeSub();      //数码管实现倒计时
}
}

【C51单片机】数码管实现99秒倒计时相关推荐

  1. 51单片机数码管显示60秒倒计时(C语言)

    51单片机数码管显示60秒倒计时(C语言) 基于普中51单片机开发板,运用定时器/计数器0和1,实现60秒的倒计时和LED灯0.5s间隔闪烁 文章目录 51单片机数码管显示60秒倒计时(C语言) 前言 ...

  2. 单片机c语言99秒的定时器,通过51单片机定时器1实现99秒倒计时

    今天刚刚完成了一个新的单片机实验,犯了一个小小的错误,导致不能够倒计时,弄了几个小时, 结果发现是变量的取值范围出错了 任何一个实验都应该自己动手去实践,没有实践是不知道自己少了什么的.只有实践才能够 ...

  3. 单片机c语言99秒倒计时,51单片机99秒倒计时C语言源程序

    51单片机99秒倒计时C语言源程序 51单片机实现数码管99秒倒计时,其实很简单,就是使用定时器中断来实现.目的就是学习怎样用单片机实现倒计时,从而实现一些延时控制类的东西,99秒只是一个例子,你完全 ...

  4. 数码管显示倒计时c语言程序,1~99秒倒计时数码管显示C程序+Proteus仿真

    1~99秒倒计时数码管显示C程序+Proteus仿真文件. 优化了程序,使用51单片机内部定时器,可以实现1-99秒内倒计时. 仿真效果为: 源程序为: /* 调试环境:Proteus 7.8AT89 ...

  5. python七段数码管10秒倒计时_用7段数码管显示9秒倒计时.doc

    用7段数码管显示9秒倒计时 1 设计内容及目标 1.1设计题目 用七段LED数码管显示倒计时 1.2设计要求 (1)用8255控制七段LED数码管. (2)可选:用8254定时器显示时间. (3)可选 ...

  6. 51单片机0-99秒表计数器+60秒倒计时(数码管两位数)

    51秒表计数器+倒计时(数码管两位数) 一:简介 我们实践的效果是用数码管显示0~99并在按下"转换键"后,实现60秒倒计时,并用蜂鸣器报警提示,兼并计数器和倒计时两种功能. 主要 ...

  7. C51单片机数码管动态显示

    数码管作为最廉价的输出设备,在各种自动化设备中有很大的应用,最简单普通的显示方式为动态刷新显示,称为假动态显示,即通过分时扫描每一位,利于人眼的视觉停留现象,造成一种静态显示的效果,如下图所示: C5 ...

  8. 单片机补充案例--LED数码管99秒倒计时

    说明:使用数码管实现倒计时显示 设备: 倒计时 可使用按钮作适当控制,暂停,开始,计时复位等. 程序: #include<8052.h> #define LSC P1_7 //特殊功能寄存 ...

  9. c51单片机数码管的控制

    电路图 注:实际中,我单片机的74HC573电路接法与P0端接反了 138译码器资料:https://pan.baidu.com/s/1COTcutsnMxMSc8tq0M2yVw 密码:1jww 1 ...

  10. 单片机课堂思考题-2000秒倒计时?

    99秒倒计时,改为2000(6666)秒倒计时. #include<8052.h> #define LSC P1_7 //特殊功能寄存器的位定义, #define LSB P1_6 //3 ...

最新文章

  1. numpy.squeeze() 去除维度为1的向量
  2. thinkphp 模型的创建
  3. Redis操作Set类型
  4. PAT (Advanced Level) Practise:1001. A+B Format
  5. openstack 开发_2016年OpenStack开发板工作清单
  6. python工资多少钱一个月-苏州工业园区学编程大概多少钱一个月
  7. SQL中CONVERT函数全部用法对日期操作
  8. linux巡检 python_LINUX服务器批量巡检的PYTHON脚本
  9. ktv服务器管理系统,小型KTV综合解决方案
  10. 基于ATmega128单片机的LCD12864显示密码锁
  11. css中设置背景颜色、背景图片
  12. C# winform 魔兽MH全图制作教程(3):魔兽1.20E.1.24B.1.24E全图内存地址 转自breeze...
  13. linux I2C 驱动
  14. 6、Lctech Pi(F1C200S)4.3寸(480*272)16位RGB565LCD屏驱动适配(CherryPi,Mangopi,F1C100S)
  15. [git]怎样git clone所有远程branch
  16. 2022广东省安全员A证第三批(主要负责人)培训试题模拟考试平台操作
  17. AOP技术学习之AspectJ
  18. 接地电阻的测量方法和规范要求
  19. 奇虎360发财报,搜索发展如何?
  20. Eclipse汉化教程(详细图解)

热门文章

  1. 图像频域处理之高斯滤波器
  2. Tab Layout教程
  3. 二阶微分方程解法总结 Summary of Second Order Equations
  4. oracle卸载重新安装失败,Oracle卸载重新安装——实战
  5. weka进行十折交叉验证
  6. 第七届“泰迪杯”——个人总结吧
  7. 不同版本CLODOP 预览关闭窗口时返回值不同
  8. 提示“8080端口号被占用
  9. 不参与,你怎么知道能有多刺激——一个币客与市场的深入对话
  10. 神经网络可以用来预测吗,神经网络预测的优点