基于8051实现的倒计时器(最后3s闪烁)

发布者:古古斋最新更新时间:2021-08-04 来源: eefocus关键字:倒计时器  闪烁 手机看文章 扫描二维码
随时随地手机看文章

最后3s的闪烁是依靠变量t来实现的. 


t将倒计时的26s(0 ~ 25为26s)等分成2600个10ms区间, 当t的值小于300时, 1000ms的区间被分成 "500ms刷新数字 + 500ms不显示数字".


#include <STC89C5xRC.H>

 

unsigned char code DIG_CODE[10] = {0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f};//对应数码管显示0~9

 

int tcount = 0;//记录经过的10ms区间段个数

 

int sec = 25;//倒计时初始值

 

int t = 2600;//初始为2600个10ms区间段

 

void T0_INT() interrupt 1 //timer0中断, 每10ms触发一次

{

TR0 = 0;//关闭timer0

TH0 = 0xD8;

TL0 = 0xF0;//65536 - 10000 = 55536

if(tcount % 2 == 0)

{

//显示个位数

P2 = 0;// P2 = 0 -> (P24, P23, P22) = (0, 0, 0) -> 右数第一个数字点亮

if(t >= 300)//倒计时还剩3s及以上

{

P0 = DIG_CODE[sec % 10];

}

else//t < 300 -> 倒计时还剩3s以下

{

//500ms灭 500ms刷新

if((t / 50) % 2 == 1)// t: [250, 299] or [150, 199] or [50, 99]

{

P0 = 0;

}

else// t: [200, 249] or [100, 149] or [0, 49]

{

P0 = DIG_CODE[sec % 10]; 

}

}

t --;

tcount ++;

}

else if(tcount % 2 == 1)

{

//显示十位数

P2 = 1 << 2;//P2 = 0000 0100 -> (P24, P23, P22) = (0, 0, 1) -> 右数第二个数字点亮

if(t >= 300)//倒计时还剩3s及以上

{

P0 = DIG_CODE[sec / 10];

}

else

{

//500ms灭 500ms刷新

if((t / 50) % 2 == 1)// t: [250, 299] or [150, 199] or [50, 99]

{

P0 = 0;

}

else// t: [200, 249] or [100, 149] or [0, 49]

{

P0 = DIG_CODE[sec / 10];

}

}

t --;

tcount ++;

}

if(tcount == 100) //10ms * 100 = 1000ms = 1s -> 1s时间到

{

tcount = 0;

sec --;

if(sec == -1)

{

sec = 25;

t = sec * 100 + 100;

}

}

TR0 = 1;//重新开启timer0

}

 

int main()

{

TMOD = 0x01;

TH0 = 0xD8;

TL0 = 0xF0;//65536 - 10000 = 55536

IE = 0x82;//EA + ET0 -> 1000 0010

TR0 = 1;//开启timer0

while(1)

{

;

}

return 0;

}


关键字:倒计时器  闪烁 引用地址:基于8051实现的倒计时器(最后3s闪烁)

上一篇:对8051两个定时器(timer0和timer1)的使用解析
下一篇:8051单片机(STC89C52)之蜂鸣器发声

推荐阅读最新更新时间:2024-11-17 11:08

C8051F350单片机在全自动CCFL观片仪亮度
引 言 跨入21世纪以来,信息的世界变换迅速,说不定今天出了某高科技产品明天就会有更优秀的同类产品面世。其中电子计算机科学技术更新周期大概就是2到3年。随着电子计算机等科学技术的发展,医疗设备的现代化、智能化研究越来越受到人们的关注,大量的科学家及工程技术人员都积极地投入到这一场医疗设备的革命中,其中,对各种类型射线底片观片设备的研究也是医疗设备开发的重点。由于传统的观片设备亮度低、均匀性差、容易引起视疲劳等缺点,已经不能满足现代化医学诊断的要求。利用CCFL(Cold Cathode Fluorescent Lamp)开发的观片仪具有结构简单、灯管表面温升小、灯管表面亮度高、使用寿命长、显色性好、发光均匀等优点。医疗设备至关重
[单片机]
C8051F060单片机的数字传感器系统硬件如何设计
随着科学技术的发展,智能控制技术开始在电子测试领域广泛地应用。在现代工业测控系统中,人们往往将各种传感器挂接在现场总线上,组成传感器网络系统,各种传感器设备分别作为其中的一个网络节点,通过现场总线实现节点与控制中心之间以及节点与节点之间的信息传输。 通常,人们选用CAN总线将大部分传感器连接起来,因此,传感器也需相应地智能化并统一数据接口。本文基于C8051F060单片机设计一款带有CAN通信接口的温湿压数字传感器系统,该系统能对压力传感器输出的压力模拟信号进行信号调理和模数转换;能处理并传输温度、湿度和压力数据,搭建CAN总线传感器网络以实现数据的采集和通信。 数字传感器系统总体方案设计 根据数字传感器系统的任务和功能,
[单片机]
C<font color='red'>8051</font>F060单片机的数字传感器系统硬件如何设计
8051 的串口通讯及应用
在微型计算机数字系统里,数据传输可分为并行传输与串行传输两种,并行式传输一次传输多个位(通常是8位)。因此,连接两个系统之间的传输线必须有多条,当然一次传输多个位,传输的速度比较快,但是传输用到的线数也多,线路费用相对会高,线路噪声,阻抗匹配等问题也多,所以并行式传输不适合长距离通讯。 串行式传输每次传输一个位,数据传输的速度表面上不怎么快,但连接两个系统之间,只要两条传输线即可,适合长距离的通信。实际上,目前串行端口传输速率已比并行端口输出传输速率快。 实际中考虑使用并行式传输还是串行式传输要根据数据量与环境而定。若要将8051系统的数据传至另一8051系统,则可以使用串行式数据传输。 最典型的串行式数据传输接口是R
[单片机]
<font color='red'>8051</font> 的串口通讯及应用
从Cygnal C8051F看8位单片机发展之路
摘要 80C51是一个独特的8位单片机系列。80C51从早期Intel公司的MCS-51到PHILIPS、ATMEL等公司发展的80C51系列MCU,再到Cygnal公司最新推出的C8051F,表明了单片机的典型发展过程。Cygnal的C8051带SoC色彩,集成了嵌入式系统的许多先进技术。这些先进技术对8位MCU的发展会有推进作用。 关键词 C8051F CIP-51 交叉开关 JTAG接口 SoC   在嵌入式系统低端的单片机领域,从8位单片机诞生至今,已近30年,在百花齐放的单片机家族中,80C51系列一直扮演着一个独特的角色。Cygnal 推出C8051F更令业界人士刮目相看。回顾历史,在Intel公司推出了MCS-5
[嵌入式]
基于TOP234Y和8051的多路开关电源设计
摘要:分析一种采用TOP234Y型多功能单片机开关电源与8051型单片机结合设计多路开关电源的方案,同时介绍TOP34Y的内部结构及工作原理,给出该开关电源的主电路及外围电路的设计方法。 关键词:开关电源 TOP234Y 8051型单片机 引言 电源历来是各种电子设备中不可缺少的组成部分,其性能优劣直接关系到电子设备的技术指标及能否安全可靠地工作。单片开关电源自问世以来便显示出其强大地优越性,是设计开发各种高效率中、小功率开关电源的优势器件。随着生产、生活中自动化程度的不断提高,开关电源也朝着智能化方向发展,由微控制器控制的开关电源将单片开关电源与单片机控制相结合,更加体现了开关电源的可靠性和灵活性。本文介绍一种TOPSwitch-
[电源管理]
8051单片机(STC89C52)八段数码管静态点亮
在STC89C52的左上角, 有八个八段数码管. 在控制数码管点亮的过程中, 某一时刻只能根据P24 P23 P22三个引脚的高低电平情况(3-8译码器的三个输入)点亮一个数字. 这里(P24, P23, P22) = (0, 1, 1), 则从右数第四个数字亮. 再令P0 = 0x5b;//0101 1011, 则该位置显示数字 2 . 补充说明一下P0给定数值与数码管引脚的对应情况: (0, 1, 0, 1, 1, 0, 1, 1) - (h, g, f, e, d, c, b, a). P24 P23 P22 右数第几个数码管亮 0 0 0 1 0 0 1 2 0 1 0 3 0 1 1 4 1 0 0 5
[单片机]
<font color='red'>8051</font>单片机(STC89C52)八段数码管静态点亮
51单片机让发光二极管闪烁
简介:学过汇编的同学都清楚,单片机机在执行指令时,是一条一条指令顺序执行的,对于C语言也一样,也是一条一条语句执行,而每执行一条指令或一条语句,都要占用一定的时间,利用单片机执行程序的这个特点就可能用来实现发光二极管闪烁。 大家经常可以看到外面大街小巷各种各样漂亮的闪烁的流水或者说广告灯,如图1,这是怎么实现的呢,这节课我们就来讲下如让发光二极管闪烁和流水灯程序的设计。 图1漂亮的广告灯 1如何实现发光二极管闪烁和简单延时 学过汇编的同学都清楚,单片机机在执行指令时,是一条一条指令顺序执行的,对于C语言也一样,也是一条一条语句执行,而每执行一条指令或一条语句,都要占用一定的时间,利用单片机执行程序的这个特点就
[单片机]
51单片机让发光二极管<font color='red'>闪烁</font>
一种基于C8051F350的无线同步数据采集方法
歼击机的操纵性,如杆/舵的操纵力、位移等要符合技术要求,符合飞行员的使用习惯,才能使飞行员安全舒适地驾驶歼击机,在整个飞行中较好地完成飞行任务。歼击机操纵杆/舵操纵力一位移性能评估是歼击机产品质量检测的主要项目之一,它根据歼击机操纵杆/舵操纵力一位移性能指标的要求,检测出其力和位移是否在规定的标准范围内。本系统主要完成对歼击机操纵杆/舵操纵力和位移的同步数据采集,并通过无线的方法将采集到的力、位移数据传输给评估系统,为评估系统提供绘制力一位移曲线所需的准确测量数据。 1 系统整体设计 歼击机操纵杆/舵操纵力一位移性能检测评估系统由采集系统和评估系统两部分构成。采集系统主要包括传感器、信号调理电路、微控制器和无线模块。系统
[测试测量]
一种基于C<font color='red'>8051</font>F350的无线同步数据采集方法
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved