历史上的今天
返回首页

历史上的今天

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

正在发生

2021年08月05日 | 基于8051实现的电子时钟(Version1.1)

2021-08-05 来源:eefocus

程序实现的功能:


1. 实验箱上电后, 不显示当前时间.


2. 向8051发送"Start.E"后, 电子时钟开始工作, 并显示当前时间(时 分 秒).


3. 向8051发送"Stop.E"后, 电子时钟暂停工作, 并隐藏当前时间.


#include

 

#include

 

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

 

char buf[30];//存放收到的数据

 

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

 

int hour = 23, minute = 59, second = 55;

 

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

{

TR0 = 0;//关闭timer0

TH0 = 0xF8;

TL0 = 0x30;//65536 - 2000 = 63536 = F830H

if(tcount % 6 == 0)

{

//秒数个位

P2 = 0;//右数第一个数字亮

P0 = DIG_CODE[second % 10];

tcount ++;

}

else if(tcount % 6 == 1)

{

//秒数十位

P2 = 1 << 2;//右数第二个数字亮

P0 = DIG_CODE[second / 10];

tcount ++;

}

else if(tcount % 6 == 2)

{

//分钟个位

P2 = 2 << 2;

P0 = DIG_CODE[minute % 10];

tcount ++;

}

else if(tcount % 6 == 3)

{

//分钟十位

P2 = 3 << 2;

P0 = DIG_CODE[minute / 10];

tcount ++;

}

else if(tcount % 6 == 4)

{

//小时个位

P2 = 4 << 2;

P0 = DIG_CODE[hour % 10];

tcount ++;

}

else if(tcount % 6 == 5)

{

//小时十位

P2 = 5 << 2;

P0 = DIG_CODE[hour / 10];

tcount ++;

}

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

{

tcount = 0;

second ++;

if(second == 60)

{

second = 0;

minute ++;

if(minute == 60)

{

minute = 0;

hour ++;

if(hour == 24)

{

hour = 0;

}

}

}

}

TR0 = 1;//重新开启timer0

}

 

int main()

{

int i;

P2 = 111 << 2;

P0 = 0;//数码管全灭

TMOD = 0x21;

SCON = 0x50;//设置串行通信格式

TH0 = 0xF8;

TL0 = 0x30;

TH1 = 0xE6;

TL1 = 0xE6;

IE = 0x82;

TR0 = 0;//暂不开启timer0

TR1 = 1;//开启timer1以产生波特率

while(1)

{

if(RI == 1)//收到数据

{

RI = 0;

buf[i ++] = SBUF;//接收串口发来的数据

buf[i] = '';//手动添加字符串结束标志

if(i == 29)//防止数组访问越界

{

i = 0;

}

if(buf[i - 1] == 'E')//到达结尾

{

i = 0;

if(strcmp(buf, "Start.E") == 0)//Start.E命令 -> 开启时钟

{

TR0 = 1;//开启定时器0

}

else if(strcmp(buf, "Stop.E") == 0)//Stop.E命令 -> 关闭时钟

{

TR0 = 0;//关闭定时器0

P2 = 111 << 2;

P0 = 0;//清屏

}

}

}

}

return 0;

}

推荐阅读

史海拾趣

DEVCON公司的发展小趣事

随着电子行业的快速发展,对材料性能的要求也越来越高。DEVCON公司不断投入研发力量,通过技术创新,成功开发出了一系列具有高性能、高可靠性的新材料。其中,甲基丙烯甲酸甲酯、环氧类、改性硅烷密封胶等产品,因其优异的性能和广泛的应用前景,成为了电子行业的明星产品。这些技术突破不仅提升了DEVCON公司的竞争力,也为整个电子行业的发展做出了重要贡献。

洲光源(Chau Light)公司的发展小趣事

随着技术的不断发展和市场的不断变化,洲光源公司意识到单一的产品线已经无法满足市场的多样化需求。因此,公司开始实施多元化战略,积极拓展新的应用领域和市场。通过与国内外知名企业和研究机构的合作,洲光源成功将红外LED技术应用于汽车电子、医疗电子、生物识别等领域,并取得了显著的成果。这些新的应用领域不仅为洲光源公司带来了更多的商机,也进一步提升了公司的技术实力和品牌影响力。

Bel Fuse公司的发展小趣事

在发展过程中,Bel Fuse注重与合作伙伴建立长期稳定的合作关系。公司积极寻求与全球知名企业的合作机会,通过技术合作、资源共享等方式,共同推动电子行业的发展。这些合作伙伴关系的建立不仅为公司带来了更多的业务机会,还提升了公司的技术水平和市场竞争力。

台湾富晶(FORTUNE)公司的发展小趣事
根据机床的实际工作情况调整触发器的相关参数,如工作频率、触发方式等。
蜂鸟无线公司的发展小趣事
PWM调速可以实现电动机转速的精确控制,满足多种应用场景的需求。
FTCAP Fischer & Tausche Capacitor Group公司的发展小趣事
PWM调速可以实现电动机转速的精确控制,满足多种应用场景的需求。

问答坊 | AI 解惑

电子基础知识

第一节 常用元器件的识别一、电阻电阻在电路中用“R”加数字表示,如:R15表示编号为15的电阻。电阻在电路中的主要作用为分流、限流、分压、偏置、滤波(与电容器组合使用)和阻抗匹配等。 1、参数识别:电阻的单位为欧姆(Ω),倍率单位有:千欧 ...…

查看全部问答>

天线强人

天线强人用厨具制作最强增益天线 ■国外强人用厨具打造最强增益天线     最近在国外网站上看到了一些很强的diy配件展示,其中最nb的就是用面勺做成一个增益天线帮助无线设备手机信号的玩意,下面就是一张示意图。 无线设备 ...…

查看全部问答>

CD4046输入阻抗约为100M欧是指从哪个管脚的输入阻抗呢?

我自己觉得应该是14号信号输入管脚。但也没有依据。所有资料都是说输入阻抗100M欧,请问,但从这句话就可以判断是从哪个管脚的输入阻抗吗?如果是14号,是否要接上VDD以后它的输入阻抗才是100M欧? …

查看全部问答>

调S3C6410下的CAMERA驱动,ITU656格式数据触发不了中断

视频信号通过TVP5158解码输出到S3C6410的CAMERA接口。采用的是ITU656接入格式没用到行场同步信号。 TVP5158输出为720*576格式的标准ITU656格式的数据,用其他方式测试输出正常。现在接到S3C6410的CAMERA接口,发现触发不了S3C6410的Preview中断, ...…

查看全部问答>

请教KEIL编译中的错误

unprintable character 0xA1 skipped 这是什么意思啊?可能是什么原因导致的错误啊?请高手指教啊!先谢谢了!…

查看全部问答>

跨平台移动设备应用程序开发库

还在为开发不同平台的移动设备应用程序程序烦恼吗,用MUI吧!!! MUI是一个跨平台的移动设备应用程序开发库,可以用MUI提供的丰富的库函数来编写跨平台的应用程序,它,可以让您可以把开发时间全部投入到你要开发的软件的核心功能上,而不需要关 ...…

查看全部问答>

第一次向TI申请芯片,好高兴

没想到TI如此豪爽,第一天申请,第二天就答应了,不愧是国际一线半导体厂商啊。顶一个…

查看全部问答>

手机支付,开始?不开始?还是只是个开始?

本帖最后由 jameswangsynnex 于 2015-3-3 20:01 编辑     “咦?这名片怎么感觉有些奇怪呢?”EEWORLD记者在与恩智浦的owen先生交换名片时,觉得其不管是分量还是厚度,都和正常的名片有点不同。    Owen先生狡猾地 ...…

查看全部问答>

搭建Windows下Android应用开发环境——Eclipse/Android/ADT

搭建Windows下Android应用开发环境——Eclipse/Android/ADT田海立@CSDN2011/07/18Window下Android的应用开发环境,很早以前就在我的机器上搭建好过。不过时间久远了,都不知道放在哪里了,而且工具也基本都已经升级过了,今天又重新安装了一遍,发 ...…

查看全部问答>

学习心得+双关电磁炉解决方案

学习心得+双头电磁炉解决方案这门课程介绍了一下目前市场上的电磁炉电路结构:单管结构、半桥结构,也介绍了各种结构的优缺点。然后通过介绍TI的电路结构,双半桥结构的特点,分析控制的特点。使用C2000MCU作为主控芯片。C2000系列MCU在控制领域占 ...…

查看全部问答>