基于51单片机的LED时钟设计.docx

上传人:b****4 文档编号:6560535 上传时间:2023-05-10 格式:DOCX 页数:16 大小:128.09KB
下载 相关 举报
基于51单片机的LED时钟设计.docx_第1页
第1页 / 共16页
基于51单片机的LED时钟设计.docx_第2页
第2页 / 共16页
基于51单片机的LED时钟设计.docx_第3页
第3页 / 共16页
基于51单片机的LED时钟设计.docx_第4页
第4页 / 共16页
基于51单片机的LED时钟设计.docx_第5页
第5页 / 共16页
基于51单片机的LED时钟设计.docx_第6页
第6页 / 共16页
基于51单片机的LED时钟设计.docx_第7页
第7页 / 共16页
基于51单片机的LED时钟设计.docx_第8页
第8页 / 共16页
基于51单片机的LED时钟设计.docx_第9页
第9页 / 共16页
基于51单片机的LED时钟设计.docx_第10页
第10页 / 共16页
基于51单片机的LED时钟设计.docx_第11页
第11页 / 共16页
基于51单片机的LED时钟设计.docx_第12页
第12页 / 共16页
基于51单片机的LED时钟设计.docx_第13页
第13页 / 共16页
基于51单片机的LED时钟设计.docx_第14页
第14页 / 共16页
基于51单片机的LED时钟设计.docx_第15页
第15页 / 共16页
基于51单片机的LED时钟设计.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

基于51单片机的LED时钟设计.docx

《基于51单片机的LED时钟设计.docx》由会员分享,可在线阅读,更多相关《基于51单片机的LED时钟设计.docx(16页珍藏版)》请在冰点文库上搜索。

基于51单片机的LED时钟设计.docx

基于51单片机的LED时钟设计

《微机原理与接口技术》

MicrocontrollerandInterfaceTechnique

研究性教学训练载体—学生作品

所属学院:

机械与电子控制工程学院

专题名称:

基于51单片机的LED时钟设计

授课时间:

2016-2017学年第二学期

项目组长:

彭润锋

项目组员:

杨万琪、李学、三奇尔

指导教师:

万里冰

提交日期:

2017年6月9日

 

 

 

摘要:

自诞生以来,单片机的应用日趋广泛,应用领域日趋扩展,而MCS-51系列单片机是各单片机中最为典型的一种。

这次课题设计,以AT89C51芯片为核心,通过必要的电路,构成简单的电子时钟。

数字时钟系统的主要任务是:

采用单片机为核心器件产生24h(24小时)时间,并用LED显示器将他显示出来。

这样简单的设计,直观反映单片机的应用。

软件和硬件的开发是这次设计必不可少的。

 

关键词:

AT89C51;数字时钟;LED数码显示管

 

1.研究背景与意义

随着电子技术的飞速发展,以单片机为核心设计的数字钟越来越受到人们喜爱。

因其具有功能强、体积小、功耗低、价格便宜、工作可靠等特点,广泛应用于自动控制、智能化仪器仪表等各个领域。

一个完整的数字钟电路就是一个单片机的最小系统,该系统由键盘输入电路、单片机、复位电路和LED显示电路几个方面构成。

数字钟采用数字电路实现时、分、秒计时,应用非常广泛。

由于集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能,诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动启闭路灯、定时通断动力设备,甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。

因此,研究数字钟设计及其应用,有着非常现实的意义。

 

通过本论文课题的研究,预计达到:

本设计由单片机AT89C51芯片和LED数码管为核心,辅以必要的电路,构成了一个单片机电子时钟。

与传统机械表相比,它具有走时精确,显示直观等特点。

它的计时周期为24小时,显满刻度为“23时59分59秒”,另外可通过三个按键实现清零、调小时、分钟的功能。

该电子钟可以做到的功能:

上电或按键复位后能自动显示系统默认时间“12-00-00”进入时钟运行状态。

2.系统总体设计流程

基于51单片机的LED时钟设计内容,包括有时钟运行程序的设计、Proteus的时钟模拟、实物时钟的电路连接三个主要部分。

由中断产生的秒、分、小时数据,经转换子程序转换成适应LED显示屏显示的数据,并通过单片机的输出功能输入到LED显示屏,再通过显示扫描程序,显示出时钟的走时时间。

用计时程序来完成计时,数时功能,再通过单片机综合控制将数字显示出来。

同时

,我们可以通过添加按键来进行时间的调节。

图2-1设计思路流程图

 

 

图2-2简易结构图

3.时钟程序解析

3.1时、分、秒程序

设定初始时间12点00分00秒:

MOV30H,#01H

MOV31H,#02H

MOV32H,#00H

MOV33H,#00H

MOV34H,#00H

MOV35H,#00H

小时程序:

XS:

MOV40H,#0FEH;设定初值

MOVDPTR,#TAB;译码表地址

MOVP2,40H;片选信号

MOVA,30H;装入偏移量

MOVCA,@A+DPTR;查表程序

MOVP0,A;显示小时的十位

LCALLYS1MS;延时

MOVP0,#0FFH;断开显示

MOVA,40H;

RLA;片选小时的个位

MOV40H,A

MOVP2,40H

MOVA,31H

ADDA,#0AH;偏移

MOVCA,@A+DPTR

MOVP0,A

LCALLYS1MS

分、秒与小时类似。

3.2按键程序

按键查询:

JNBP1.0,P100;查询P100键是否按下,P100为清零键

JNBP1.1,P1000;查询P1000键是否按下,P1000为小时加1键

JNBP1.2,P10000;查询P10000键是否按下,P10000为分加1键

全部清零:

P100:

MOV30H,#00H

MOV31H,#00H

MOV32H,#00H

MOV33H,#00H

MOV34H,#00H

MOV35H,#00H;30H-35H全部置0

小时加1、分钟加1:

JIA:

CLRTF0;清除中断标志

MOVA,35H

CJNEA,#09H,JIA1;查询是否进位

MOV35H,00H;进位恢复

MOVA,34H;

CJNEA,#05H,JIA10;查询进位

MOV34H,#00H;进位恢复

P10000:

JNBP1.2,P10000;查询按键是否按下

MOVA,33H

CJNEA,#09H,JIA100;调用子程序,调节分钟的个位

MOV33H,#00H

MOVA,32H

CJNEA,#05H,JIA1000;调用子程序,调节分钟的十位

MOV32H,#00H

P1000:

JNBP1.1,P1000;查询按键是否按下

MOVA,31H

CJNEA,#09H,JIA10000;调用子程序,调节小时的个位

MOV31H,#00H

MOVA,30H

CJNEA,#02H,JIA100000;调用子程序,调节小时的十位

MOV30H,#00H

AJMPXS0

4.Proteus仿真电路

各个控制键的功能:

可对时间进行校准调节(只能加1);时加1、分加1键是在校准时间时或设置闹钟时间对小时数或分钟数调节而设置的;清零键可以对闹钟清零。

Proteus模拟运行结果演示

5.实物电路及结果

6.研究总结

我们通过《微机原理与接口技术》课上讲的知识,在基于51单片机学习的基础上,通过汇编语言编写了实现目标功能的程序,并通过仿真,最终连接出实物。

小组的各位成员都获得了丰富了理论知识和实践经验,真正让我们学会了利用单片机知识来解决现实生活中实际问题的思维、能力和方法。

相信在我们的不断努力下,今后一定能做出更优秀的作品。

参考文献

[1]叶晓斌.LCD显示器件驱动电路中的电压调整和电压控制器件设计[D].北京:

清华大学,2000.

[2]王志慧,李树华.单片机控制实时时钟的设计与实现[J].内蒙古大学学报(自然科[3]求是科技.单片机典型模块设计实例导航[M].北京:

人民邮电出版社,2005.学版),1999,30(6):

766~768

 

附件1程序

(1)主程序:

(2)

/*初始化时钟为12:

00:

00*/

ORG0000H

MOV30H,#01H

MOV31H,#02H

MOV32H,#00H

MOV33H,#00H

MOV34H,#00H

MOV35H,#00H

MOVTMOD,#01H;设置定时器工作方式为方式1

XS0:

SETBTR0;启动定时器

MOVTH0,#00H;设置初值

MOVTL0,#00H;设置初值

XS:

MOV40H,#0FEH;设置初值

MOVDPTR,#TAB;将指令表起始地址送入DPTR

MOVP2,40H;送入片选信号

MOVA,30H;装入偏移量

MOVCA,@A+DPTR;查表

MOVP0,A;显示小时的十位

LCALLYS1MS;延时

MOVP0,#0FFH;断开显示

MOVA,40H

RLA

 

MOV40H,A;片选小时的个位

MOVP2,40H;送入片选信号

MOVA,31H;装入偏移量

ADDA,#0AH;偏移

MOVCA,@A+DPTR;偏移后地址所在寄存器内容存放进累加器中

MOVP0,A;显示小时的个位

LCALLYS1MS;延时

/*以下分别为分钟与秒钟的运行程序,基本与小时的程序相同,故不再全部注释*/

MOVP0,#0FFH

MOVA,40H

RLA

MOV40H,A

MOVP2,40H

MOVA,32H

MOVCA,@A+DPTR

MOVP0,A

LCALLYS1MS

MOVP0,#0FFH

MOVA,40H

RLA

MOV40H,A

MOVP2,40H

MOVA,33H

ADDA,#0AH

MOVCA,@A+DPTR

MOVP0,A

LCALLYS1MS

MOVP0,#0FFH

MOVA,40H

RLA

MOV40H,A

MOVP2,40H

MOVA,34H

MOVCA,@A+DPTR

MOVP0,A

LCALLYS1MS

MOVP0,#0FFH

MOVA,40H

RLA

MOV40H,A

MOVP2,40H

MOVA,35H

MOVCA,@A+DPTR

MOVP0,A

LCALLYS1MS

MOVP0,#0FFH

MOVA,40H

RLA

MOV40H,A

JBTF0,JIA;中断跳转,可得到1s

/*判定按键是否按下*/

JNBP1.0,P100;查询P100键是否按下,P100为清零键

JNBP1.1,P1000;查询P1000键是否按下,P1000为小时加1键

JNBP1.2,P10000;查询P10000键是否按下,P10000为分加1键

AJMPXS

/*P100为全部清零键*/

按键查询:

JNBP1.0,P100;查询P100键是否按下,P100为清零键

JNBP1.1,P1000;查询P1000键是否按下,P1000为小时加1键

JNBP1.2,P10000;查询P10000键是否按下,P10000为分加1键

全部清零:

P100:

MOV30H,#00H

MOV31H,#00H

MOV32H,#00H

MOV33H,#00H

MOV34H,#00H

MOV35H,#00H;30H-35H全部置0

小时加1、分钟加1:

JIA:

CLRTF0;清除中断标志

MOVA,35H

CJNEA,#09H,JIA1;查询是否进位

MOV35H,00H;进位恢复

MOVA,34H;

CJNEA,#05H,JIA10;查询进位

MOV34H,#00H;进位恢复

P10000:

JNBP1.2,P10000;查询按键是否按下

MOVA,33H

CJNEA,#09H,JIA100;调用子程序,调节分钟的个位

MOV33H,#00H

MOVA,32H

CJNEA,#05H,JIA1000;调用子程序,调节分钟的十位

MOV32H,#00H

P1000:

JNBP1.1,P1000;查询按键是否按下

MOVA,31H

CJNEA,#09H,JIA10000;调用子程序,调节小时的个位

MOV31H,#00H

MOVA,30H

CJNEA,#02H,JIA100000;调用子程序,调节小时的十位

MOV30H,#00H

AJMPXS0

 

 

(3)子程序:

(4)

JIA100000:

INC30H;调整第一个数字

AJMPXS0

/*限制时钟显示为0点到23点*/

JIA10000:

CJNEA,#03H,JIAJIA

MOVA,30H

CJNEA,#02H,JIAJIA

MOV30H,#00H;超过23点置0

MOV31H,#00H

AJMPXS0

JIAJIA:

INC31H;调整第二个数字

AJMPXS0

JIA1000:

INC32H

AJMPXS0

JIA100:

INC33H

AJMPXS0

JIA10:

INC34H

AJMPXS0

JIA1:

INC35H

AJMPXS0

RET

YS1MS:

MOVR6,#09H;延时1s

YL1:

MOVR7,#19H

DJNZR7,$

DJNZR6,YL1

RET

TAB:

DB0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H

DB040H,079H,024H,030H,019H,012H,002H,078H,000H,010H

END

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 建筑土木

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2