历史上的今天
返回首页

历史上的今天

今天是:2025年08月10日(星期日)

正在发生

2021年08月10日 | 8051单片机(STC89C52)以定时器中断模式实现倒计时器

2021-08-10 来源:eefocus

之前用轮询方式实现了定时器精准定时, 这里用前后台系统架构实现倒计时器.  


每10ms都会触发一次中断处理程序T0_INT(), 根据tcount的值, 决定显示个位数字还是十位数字: 当tcount = 100时, 将tcount置回初始值0, 并将sec的值减1. 当sec的值减到-1时, 将sec重新置回15.


#include

 

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

 

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

 

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

 

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) -> 右数第一个数字点亮

P0 = DIG_CODE[sec % 10];

tcount ++;

}

else if(tcount % 2 == 1)

{

//显示十位数

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

P0 = DIG_CODE[sec / 10];

tcount ++;

}

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

{

tcount = 0;

sec --;

if(sec == -1)

{

sec = 15;

}

}

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;

}

推荐阅读

史海拾趣

Eclipse Magnetics公司的发展小趣事

由于篇幅限制,无法在此处直接提供5个完整的、每篇至少500字的Eclipse Magnetics公司电子行业发展的相关故事。不过,我可以概括地描述几个可能的故事线索,这些线索可以基于Eclipse Magnetics公司的历史、技术发展和市场应用来构建。

  1. 品牌初创与磁铁技术的突破

在1930年代,Eclipse Magnetics的名字首次出现,标志着这个品牌的诞生。随着技术的不断发展,公司在1940年代成为独立公司,并开始专注于磁铁技术的研发。到了1950年代,Eclipse Magnetics在技术上取得了重大突破,他们将磁铁涂上红色,并设计了与公司颜色相匹配的马蹄形标志,这一设计不仅提升了品牌形象,也成为了国际通用标记。这一时期的Eclipse Magnetics,以其独特的技术和产品,开始在电子行业中崭露头角。

  1. 航空航天领域的应用与拓展

随着航空航天技术的不断发展,Eclipse Magnetics看到了磁铁技术在该领域的巨大潜力。公司开始投入大量资源,研发适用于航空航天领域的磁性解决方案。通过不断的技术创新和产品优化,Eclipse Magnetics成功地为航空航天领域提供了高性能、高可靠性的磁铁产品,并在这一领域树立了良好的口碑。

  1. 与制药工业的深入合作

除了航空航天领域,Eclipse Magnetics还与制药工业建立了深入的合作关系。在制药过程中,磁铁技术可以用于磁选机,有效地去除原料中的杂质,提高药品的纯度。Eclipse Magnetics根据制药工业的特殊需求,定制了多款磁选机产品,并提供了全面的技术支持和售后服务。通过与制药工业的深入合作,Eclipse Magnetics不仅拓展了市场,也提升了自身的技术实力。

  1. 在汽车制造行业的应用

随着汽车制造业的快速发展,Eclipse Magnetics也看到了磁铁技术在该领域的广阔前景。公司针对汽车制造中的各个环节,研发了多款适用于不同场景的磁性解决方案。例如,在齿轮箱轴制造过程中,Eclipse Magnetics的磁性过滤器可以保持冷却液的清洁,提高生产效率和产品质量。这些解决方案不仅满足了汽车制造业的需求,也进一步巩固了Eclipse Magnetics在电子行业中的地位。

  1. 创新研发与可持续发展

作为一家专注于磁性技术的公司,Eclipse Magnetics始终将创新作为发展的核心动力。公司不断投入研发资源,推动磁铁技术的不断进步。同时,Eclipse Magnetics也关注可持续发展问题,致力于研发环保、高效的磁性产品。通过创新研发和可持续发展战略的实施,Eclipse Magnetics在电子行业中保持了领先地位,并为未来的发展奠定了坚实的基础。

请注意,以上内容仅为故事线索的概括描述,具体的故事细节和数据需要根据Eclipse Magnetics公司的实际情况进行补充和完善。

Brite-Led Optoelectronics Inc公司的发展小趣事

随着市场竞争的加剧,Brite-Led意识到单凭自身力量难以持续保持领先。于是,公司积极寻求与其他企业和研究机构的合作研发机会。通过与一家知名高校的合作,Brite-Led成功开发出一种新型的LED封装技术,大幅提高了产品的可靠性和耐用性。这一合作不仅加强了Brite-Led的技术实力,也为其带来了更多的商业机会和合作伙伴。

Chiefdom Electronic Co Ltd公司的发展小趣事

面对全球市场的日益开放和竞争,Chiefdom Electronic Co Ltd积极寻求与其他行业巨头的战略合作。通过与全球知名的电子产品制造商、芯片供应商等建立紧密的合作关系,公司不仅获得了更多的技术和市场资源,还进一步提升了自身的品牌影响力和市场份额。这些合作不仅帮助公司拓展了业务领域,还为其在全球电子行业中树立了良好的口碑。

DENWIRE公司的发展小趣事

在电子行业的激烈竞争中,Chiefdom Electronic Co Ltd凭借一项革命性的芯片技术,成功打破了市场的僵局。公司投入巨资研发,历经数年努力,终于推出了具有高效能、低功耗特点的芯片产品。这一技术的推出,不仅为公司在智能手机、平板电脑等市场赢得了大量客户,还使得公司在全球芯片市场占据了重要地位。随着技术的不断优化和升级,Chiefdom Electronic Co Ltd逐渐成为了行业内的技术领军者。

西安航天民芯公司的发展小趣事

随着新能源汽车市场的蓬勃发展,西安航天民芯敏锐地捕捉到了这一机遇。公司投入大量资源进行新能源汽车BMS管理芯片的研发,并成功推出了国内首款新能源汽车专用BMS管理芯片。这一创新产品填补了国内空白,为公司在新能源汽车领域赢得了先机。

Actel公司的发展小趣事

在宇航领域,动力电池管理芯片的性能要求极高。西安航天民芯凭借其在集成电路设计领域的深厚积累,成功研发出全国第一颗宇航级动力电池管理芯片。这一突破不仅打破了国外垄断的局面,也为中国宇航事业的发展做出了重要贡献。

问答坊 | AI 解惑

变压器的设计工具

哥们有个设计变压器的工具,谁要?拿去! 晚上会补充附件~~~ [ 本帖最后由 西门 于 2009-5-12 19:26 编辑 ]…

查看全部问答>

修改TE6410开机画面,遇到的问题

原板子没开机画面,修改TE6410开机画面,编译成功,烧写的时候出现 Download BIN file information: ----------------------------------------------------- [0]: Base Address=0x80030000 Length=0x0---------------------------------------- ...…

查看全部问答>

高分求解Filter Driver的"device string is NULL"问题,测试WHQL的问题。

整了个Filter Driver。是基于Mouse Class的。 WHQL验证时,遇到问题。不知道何解。 Context Index:   2344544492 Current:      Checking DeviceID String Parent:       WTTLOG          C ...…

查看全部问答>

关于wicne6.0下SDHC驱动的链接库问题

我在wince6.0下编译SDHC驱动,在source中,默认是如下lib文件: SOURCELIBS= \\      $(_COMMONOAKROOT)\\lib\\$(_CPUINDPATH)\\sdcardlib.lib \\      $(_COMMONOAKROOT)\\lib\\$(_CPUINDPATH)\\sdhcl ...…

查看全部问答>

手把手教你写专利申请书·如何申请专利

手把手教你写专利申请书·如何申请专利 摘要小前言(一)申请前的准备工作    1、申请前查询    2、其他方面的考虑    3、申请文件准备(二)填写专利申请系列文档    1、实际操 ...…

查看全部问答>

stm8之stvd7开发环境

                                 下载最新的STVD,STVD7是ST7用的 …

查看全部问答>

大家一起把这个做好吧?chenzhufly本身就很忙,一个人肯定应付不过来

这个板块现在好冷清,EE_WORLD 中断了,大家一起把这个做好吧?chenzhufly本身就很忙,一个人肯定应付不过来…

查看全部问答>

【Trf7960问题】MIFARE_ERROR_NO_CARD

我用TRF7960读写M1卡,电路部分参考Lm3s9b96的那个评估板,我的板子上天线部分已经输出13.56M正弦波,现在可以对TRF7960进行寄存器(0x00到0x0F)的读写,但是在用TI例程进行M1 读卡操作,当运行这个函数时:        ulUIDSiz ...…

查看全部问答>

AVR入门求助,望前辈们不吝赐教

如果说我用一块单片机Atmega32-16,插在基座上然后焊在万用板上,我每次想把程序烧进单片机里,是不是说在我焊好的万用板上引出单片机对应的MOSI,MISO,SCK,RESET,VCC,GND各个引脚插在我ISP下载器上相对应的引脚后,我就可以顺利烧录进程序了?另外 ...…

查看全部问答>