单片机 简易电子时钟设计.docx

上传人:b****5 文档编号:12278929 上传时间:2023-04-17 格式:DOCX 页数:10 大小:42.61KB
下载 相关 举报
单片机 简易电子时钟设计.docx_第1页
第1页 / 共10页
单片机 简易电子时钟设计.docx_第2页
第2页 / 共10页
单片机 简易电子时钟设计.docx_第3页
第3页 / 共10页
单片机 简易电子时钟设计.docx_第4页
第4页 / 共10页
单片机 简易电子时钟设计.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

单片机 简易电子时钟设计.docx

《单片机 简易电子时钟设计.docx》由会员分享,可在线阅读,更多相关《单片机 简易电子时钟设计.docx(10页珍藏版)》请在冰豆网上搜索。

单片机 简易电子时钟设计.docx

单片机简易电子时钟设计

单片机简易电子时钟设计

1设计任务与要求

1.1设计背景

数字钟已成为人们日常生活中必不可少的必需品,广泛用于个人家庭以及办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。

由于数字集成电路技术的发展和采用了先进的石英技术,使数字钟具有走时准确、性能稳定、携带方便等优点,它还用于计时、自动报时及自动控制等各个领域。

尽管目前市场上已有现成的数字钟集成电路芯片出售,价格便宜、使用也方便,但鉴于单片机的定时器功能也可以完成数字钟电路的设计,因此进行数字钟的设计是必要的。

在这里我们将已学过的比较零散的数字电路的知识有机的、系统的联系起来用于实际,来培养我们的综合分析和设计电路,写程序、调试电路的能力。

单片机具有体积小、功能强可靠性高、价格低廉等一系列优点,不仅已成为工业测控领域普遍采用的智能化控制工具,而且已渗入到人们工作和和生活的各个角落,有力地推动了各行业的技术改造和产品的更新换代,应用前景广阔。

1.2 课程设计目的

(1)巩固、加深和扩大单片机应用的知识面,提高综合及灵活运用所学知识解决工业控制的能力;

(2)培养针对课题需要,选择和查阅有关手册、图表及文献资料的自学能力,提高组成系统、编程、调试的动手能力;

(3)过对课题设计方案的分析、选择、比较、熟悉单片机用系统开发、研制的过程,软硬件设计的方法、内容及步骤。

1.3设计要求

1).时制式为24小时制。

2).采用LED数码管显示时、分,秒采用数字显示。

3).具有方便的时间调校功能。

4).计时稳定度高,可精确校正计时精度。

2总体方案设计

2.1实现时钟计时的基本方法

利用MCS-51系列单片机的可编程定时/计数器、中断系统来实现时钟计数。

(1)计数初值计算:

把定时器设为工作方式1,定时时间为50ms,则计数溢出20次即得时钟计时最小单位秒,而100次计数可用软件方法实现。

假设使用T/C0,方式1,50ms定时,fosc=12MHz。

则初值X满足(216-X)×1/12MHz×12μs=50000μs

X=15536→0011110010110000→3CB0H

(2)采用中断方式进行溢出次数累计,计满20次为秒计时(1秒);

(3)从秒到分和从分到时的计时是通过累加和数值比较实现。

2.2电子钟的时间显示

电子钟的时钟时间在六位数码管上进行显示,因此,在内部RAM中设置显示缓冲区共8个单元。

LED8    LED7    LED6   LED5    LED4    LED3  LED2    LED1

37H     36H     35H    34H     33H     32H   31H     30H

时十位  时个位  分隔   分十位  分个位  分隔  秒十位  秒个位

2.3电子钟的时间调整

电子钟设置3个按键通过程序控制来完成电子钟的时间调整。

A键调整时;

B键调整分;

C键复位

2.4总体方案介绍

2.4.1计时方案

利用AT89S51单片机内部的定时/计数器进行中断时,配合软件延时实现时、分、秒的计时。

该方案节省硬件成本,且能使读者在定时/计数器的使用、中断及程序设计方面得到锻炼与提高,对单片机的指令系统能有更深入的了解,从而对学好单片机技术这门课程起到一定的作用。

2.4.2控制方案

AT89S51的P0口和P2口外接由八个LED数码管(LED8~LED1)构成的显示器,用P0口作LED的段码输出口,P2口作八个LED数码管的位控输出线,P1口外接四个按键A、B、C构成键盘电路。

AT89S51是一种低功耗,高性能的CMOS8位微型计算机。

它带有8KFlash可编程和擦除的只读存储器(EPROM),该器件采用ATMEL的高密度非易失性存储器技术制造,与工业上标准的80C51和80C52的指令系统及引脚兼容,片内Flash集成在一个芯片上,可用与解决复杂的问题,且成本较低。

简易电子钟的功能不复杂,采用其现有的I/O便可完成,所以本设计中采用此的设计方案。

3系统硬件电路设计

根据以上的电子时钟的设计要求可以分为以下的几个硬件电路模块:

单片机模块、数码显示模块与按键模块,模块之间的关系图如下面得方框电路图1所示。

图1硬件电路方框图

图2硬件电路图

4、系统软件设计

4.1软件设计分析

在编程上,首先进行了初始化,定义程序的的入口地址以及中断的入口地址,在主程序开始定义了一组固定单元用来储存计数的时.分.秒,在显示初值之后,进入主循环。

在主程序中,对不同的按键进行扫描,实现秒表,时间调整,复位清零等功能,系统总流程图如下图7:

图7系统总体流程图

4.2源程序清单

ORG0000H

MOV30H,#1设置时钟的起始时间12.00.00,分配显示数据内存

MOV31H,#2

MOV32H,#0

MOV33H,#0

MOV34H,#0

MOV35H,#0

MOVTMOD,#01启动计数器

XS0:

SETBTR0使TRO位置1

MOVTH0,#00H计数器置零

MOVTL0,#00H

XS:

MOV40H,#0FEH扫描控制字初值

MOVDPTR,#TAB取段码表地址

MOVP2,40H从P2口输出

MOVA,30H取显示数据到A

MOVCA,@A+DPTR查显示数据对应段码

MOVP0,A段码放入P0中

LCALLYS1MS显示1MS

MOVP0,#0FFHPO端口清零

MOVA,40H取扫描控制字放入A中

RLAA中数据循环左移

MOV40H,A放回40H地址段内

MOVP2,40H

MOVA,31H

ADDA,#10进位显示

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,#10

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如果TF0为1时,则执行JIA,否则顺序执行

JNBP1.0,P100为0则转移到P100

JNBP1.1,P1000为0则转移到P1000

JNBP1.2,P10000为0则转移到P10000

AJMPXS跳转到XS

P100:

MOV30H,#0清零程序

MOV31H,#0

MOV32H,#0

MOV33H,#0

MOV34H,#0

MOV35H,#0

JIA:

CLRTF0TF0清零

MOVA,35H秒单位数据到A

CJNEA,#9,JIA1与9进行比较,大于9就转移到JIA1

MOV35H,0秒个位清零

MOVA,34H秒十位数据到A

CJNEA,#5,JIA10与5进行比较,大于5就转移到JIA10

MOV34H,#0秒十位清零

P10000:

JNBP1.2,P10000为0则转移到P10000

MOVA,33H取分的个位到A

CJNEA,#9,JIA100与9进行比较,大于9就转移到JIA100

MOV33H,#0分的个位清零

MOVA,32H分十位数据到A

CJNEA,#5,JIA1000与5进行比较,大于5就转移到JIA1000

MOV32H,#0分的十位清零

P1000:

JNBP1.1,P1000为0则转移到P1000

MOVA,31H时个位数据到A

CJNEA,#9,JIA10000与9进行比较,大于9就转移到JIA10000

MOV31H,#0时的个位清零

MOVA,30H时十位数据到A

CJNEA,#2,JIA100000与2进行比较,大于5就转移到JIA100000

MOV30H,#0时的十位清零

AJMPXS0转移到XSO

JIA100000:

INC30H加1

AJMPXS0跳转到XS0

JIA10000:

CJNEA,#3,JIAJIA与3进行比较,大于则转移到JIAJIA

MOVA,30H将时的十位放到A

CJNEA,#02,JIAJIA与2进行比较,大于则转移到JIAJIA

MOV30H,#0时段清零

MOV31H,#0

AJMPXS0跳转到XSO

JIAJIA:

INC31H加一

AJMPXS0

JIA1000:

INC32H

AJMPXS0

JIA100:

INC33H

AJMPXS0

JIA10:

INC34H

AJMPXS0

JIA1:

INC35H

AJMPXS0

RET返回

YS1MS:

MOVR6,#9H延时程序

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

6心得体会

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

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1