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

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

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

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

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

简易电子时钟设计单片机样本

基于单片机简易电子时钟设计

一功能分析

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

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

3).具备以便时间调校功能。

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

二总体方案设计论证比较

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→0000→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控制方案

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

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

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

简易电子钟功能不复杂,采用其既有I/O便可完毕,因此本设计中采用此设计方案。

三硬件电路设计

依照以上电子时钟设计规定可以分为如下几种硬件电路模块:

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

图1硬件电路方框图

四各模块电路设计

4.1.1芯片分析

AT89C51单片机引脚图如下:

图2AT89C51引脚图

MCS-51单片机是原则40引脚双列直插式集成电路芯片,其各引脚功能如下:

VCC:

+5V电源。

VSS:

接地。

RST:

复位信号。

当输入复位信号延续两个机器周期以上高电平时即为有效,用完毕单片机复位初始化操作。

XTAL1和XTAL2:

外接晶体引线端。

当使用芯片内部时钟时,此二引线端用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。

P0口:

P0口为一种8位漏极开路双向I/O口,当作输出口使用时,必要接上拉电阻才干有高电平输出;当作输入口使用时,必要先向电路中锁存器写入“1”,使FET截止,以避免锁存器为“0”状态时对引脚读入干扰。

P1口:

P1口是一种内部提供上拉电阻8位双向I/O口,它不再需要多路转接电路MUX;因而它作为输出口使用时,无需再外接上拉电阻,当作为输入口使用时,同样也需先向其锁存器写“1”,使输出驱动电路FET截止。

P2口:

P2口电路比P1口电路多了一种多路转接电路MUX,这又正好与P0口同样。

P2口可以作为通用I/O口使用,这时多路转接电路开关倒向锁丰存器Q端。

P3口:

P3口特点在于,为适应引脚信号第二功能需要,增长了第二功能控制逻辑。

当作为I/O口使用时,第二功能信号引线应保持高电平,与非门开通,以维持从锁存器到输出端数据输出通路畅通。

当输出第二功能信号时,该位应应置“1”,使与非门对第二功能信号输出是畅通,从而实现第二功能信号输出,详细第二功能如表1所示。

4.1.2晶振电路

右图所示为时钟电路原理图,在AT89S51芯片内部有一种高增益反相放大器,其输入端为芯片引脚XTAL1,输出端为引脚XTAL2。

而在芯片内部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容,从而构成一种稳定自激振荡器。

时钟电路产生振荡脉冲通过触发器进行二分频之后,才成为单片机时钟脉冲信号。

图3晶振电路

4.1.3复位电路

单片机复位条件是:

必要使RST/VPD或RST引(9)加上持续两个机器周期(即24个振荡周期)高电平。

例如,若时钟频率为12MHz,每机器周期为1μs,则只需2μs以上时间高电平,在RST引脚浮现高电平后第二个机器周期执行复位。

单片机常用复位如图所示。

电路为上电复位电路,它是运用电容充电来实现。

在接电瞬间,RESET端电位与VCC相似,随着充电电流减少,RESET电位逐渐下降。

只要保证RESET为高电平时间不不大于两个机器周期,便能正常复位。

该电路除具备上电复位功能外,若要复位,只需按图中RESET键,此时电源VCC经电阻R1、R2分压,在RESET端产生一种复位高电平。

图4 单片机复位电路

4.2数码显示模块设计

系统采用动态显示方式,用P0口来控制LED数码管段控线,而用P2口来控制其位控线。

动态显示普通都是采用动态扫描办法进行显示,即循环点亮每一种数码管,这样虽然在任何时刻都只有一位数码管被点亮,但由于人眼存在视觉残留效应,只要每位数码管间隔时间足够短,就可以给人以同步显示感觉。

图5数码显示电路

4.3按键模块

下图为按键模块电路原理图,A为复位键,B为时钟调控键,C为分钟调控键。

图6按键模块电路原理图

五软件设计流程图

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

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

图7软件设计流程图

六程序清单

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

七运营成果阐明

电子时钟重要设计规定是可以实现时钟普通功能,以及涉及时间调节功能,这个基于单片机电子时钟基本上实现了上述功能,可以通过时间调节电路对时间进行调节以及复位。

下述为18:

30:

30仿真图:

图818:

30:

30时刻仿真效果图

附录

附录1硬件电路总图

 

附录2元器件清单

表2 电子钟元器件清单

序号

元件名称

规格型号/参数

数量(个)

备注

1

单片机

AT89S52

1

2

显示驱动三极管

A1013

8

3

晶振

11.0592MHz

1

4

电容

30pF

2

5

电容

22μF

1

6

按键

BUTTON

3

7

排阻

RESPACK-8/10K

1

 

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

当前位置:首页 > 党团工作 > 党团建设

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

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