#基于单片机89c51的电子时钟设计

#基于单片机89c51的电子时钟设计
#基于单片机89c51的电子时钟设计

目录

摘要 ............................................................. 错误!未定义书签。

1 电子时钟 (2)

1.1电子时钟简介 (2)

1.2电子时钟的基本特点 (2)

1.3电子时钟的原理 (2)

2 单片机的相关知识 (3)

2.1单片机简介 (3)

2.2 PROTEUS软件简介 (3)

2.3单片机的特点 (3)

2.489C51单片机介绍 (3)

3 控制系统的硬件设计 (5)

3.1单片机型号的选择 (5)

3.2数码管显示工作原理 (5)

3.3键盘电路设计 (5)

3.4整个电路原理图 (5)

4 控制系统的软件设计 (6)

4.1程序设计 (6)

4.2程序流程图 (11)

4.3仿真图 (13)

4.4仿真结果分析.................................................... 错误!未定义书签。

5 结束语 (14)

6 附录 (15)

参考文献 ........................................................... 错误!未定义书签。

摘要:单片计算机即单片微型计算机。由RAM ,ROM,CPU构成,定时,计数和多种接口于一

体的微控制器。它体积小,成本低,功能强,广泛使用于智能产业和工业自动化上。而51系列

单片机是各单片机中最为典型和最有代表性的一种。这次课程设计通过对它的学习,使用,从而

达到学习、设计、开发软、硬件的能力。本设计主要设计了一个基于AT89C51单片机的电子时钟。

并在数码管上显示相应的时间。并通过一个控制键用来实现时间的调节和是否进入省电模式的转换。使用Proteus的ISIS软件实现了单片机电子时钟系统的设计和仿真。该方法仿真效果真实、

准确,节省了硬件资源。

关键字:单片机;子时钟;键盘控制

1.电子时钟

1.1 电子时钟简介

1957年,Ventura发明了世界上第一个电子表,从而奠定了电子时钟的基础,电子时钟开始迅速发展起来。现代的电子时钟是基于单片机的一种计时工具,采用延时程序产生一定的时间中断,用于一秒的定义,通过计数方式进行满六十秒分钟进一,满六十分小时进一,满二十四小时小时清零。从而达到计时的功能,是人民日常生活补课缺少的工具。

1.2 电子时钟的基本特点

现在高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟、石英钟、石英表都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调试,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时、分、秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。

1.3 电子时钟的原理

该电子时钟由89C51,BUTTON,六段数码管等构成,采用晶振电路作为驱动电路,由延时程序和循环程序产生的一秒定时,达到时分秒的计时,六十秒为一分钟,六十分钟为一小时,满二十四小时为一天。而电路中唯一的一个控制键却拥有多种不同的功能,按下又松开,可以实现屏蔽数码管显示的功能,达到省电的目的;直接按下不松开,则可以通过按键实现分钟的累加,每按一次分钟加一;而连续两次按下按键不放松,则可实现小时的调节,同样每按一次小时加一。

2 单片机识的相关知识

2.1 单片机简介

单片机全称为单片机微型计算机(Single Chip Microsoftcomputer)。从使用领域来看,单片机主要用来控制,所以又称为微控制器(Microcontroller Unit)或嵌入式控制器。单片机

是将计算机的基本部件微型化并集成在一块芯片上的微型计算机。

2.2 Proteus软件简介

PROTEUS软件由Labcenter公司开发,是目前世界上最先进、最完整的嵌入式系统设计和仿真平台,可以实现数字电路、模拟电路及微控制器系统和外设的混合电路系统的电路仿真、软件仿真、系统协同仿真和PCB设计等功能,是目前唯一能够对各种处理器进行实时仿真、调试和测试的EDA工具。微控制器系统相关的仿真需建立编译和调试环境,可选择Keil C51uVision2 软件。该软件支持众多不同公司的芯片,集编辑、编译和程序仿真等于一体,同时还支持PLM、汇编和C语言的程序设计。它的界面友好易学,在调试程序、软件仿真方面有很强大的功能。其革命性的功能是:将电路仿真和微处理器仿真进行协同,直接在基于原理图的虚拟原型上进行处理器编程调试,并进行功能验证,通过动态器件如电机、LED、LCD、开关等,实时看到运行后的

输入、输出的效果,配合系统配置的虚拟仪器如示波器、逻辑分析仪等, Proteus为我们建立了完备的电子设计开发环境。

2.3 单片机的特点

1 . 单片机的存储器ROM和RAM时严格区分的。ROM称为程序存储器,只存放程序,固定常数,及数据表格。RAM则为数据存储器,用作工作区及存放用户数据。

2 . 采用面向控制的指令系统。为满足控制需要,单片机有更强的逻辑控制能力,特别是单片机具有很强的位处理能力。

3 . 单片机的I/O口通常时多功能的。由于单片机芯片上引脚数目有限,为了解决实际引脚数和需要的信号线的矛盾,采用了引脚功能复用的方法,引脚处于何种功能,可由指令来设置或由机器状态来区分。

4 . 单片机的外部扩展能力很强。在内部的各种功能部件不能满足使用的需求时,均可在外部进行扩展,和许多通用的微机接口芯片兼容,给使用系统设计带来了很大的方便。

2.4 89C51单片机介绍

VCC:电源。

GND:接地。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL 门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL 门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

XTAL218XTAL119ALE 30EA 31PSEN 29RST 9P0.0/AD0

39P0.1/AD1

38P0.2/AD2

37P0.3/AD3

36P0.4/AD4

35P0.5/AD5

34P0.6/AD6

33P0.7/AD7

32P1.01P1.12P1.23P1.34P1.45P1.56P1.6

7P1.7

8P3.0/RXD

10P3.1/TXD

11P3.2/INT0

12P3.3/INT1

13P3.4/T0

14P3.7/RD 17P3.6/WR

16P3.5/T1

15P2.7/A15

28P2.0/A8

21P2.1/A9

22P2.2/A10

23P2.3/A11

24P2.4/A12

25P2.5/A13

26P2.6/A14

27U4

AT89C51

图2.1 89C51单片机

P3口:P3口管脚是8个带内部上拉电阻的双向I/O 口,可接收输出4个TTL 门电流。

当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电

平,P3口将输出电流(ILL )这是由于上拉的缘故。

P3口也可作为AT89C51的一些特殊功能口,如下表所示:

口管脚 备选功能

P3.0 RXD (串行输入口)

P3.1 TXD (串行输出口)

P3.2 /INT0(外部中断0)

P3.3 /INT1(外部中断1)

P3.4 T0(记时器0外部输入)

P3.5 T1(记时器1外部输入)

P3.6 /WR (外部数据存储器写选通)

P3.7 /RD (外部数据存储器读选通)

P3口同时为闪烁编程和编程校验接收一些控制信号。

RST :复位输入。当振荡器复位器件时,要保持RST 脚两个机器周期的高电平时间。

ALE/PROG :当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在

FLASH 编程期间,此引脚用于输入编程脉冲。在平时,ALE 端以不变的频率周期输出正脉冲信号,

此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:

每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。

PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN 有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

EA/VPP:当/EA保持低电平时,则在此期间外部程序存储(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时, /EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

3 控制系统的硬件设计

3.1 单片机型号的选择

通过对多种单片机性能的分析,最终认为89C51是最理想的电子时钟开发芯片。89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,器件采用ATMEL 高密度非易失存储器制造技术制造,和工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的89C51是一种高效微控制器,而且它和MCS-51兼容,且具有4K字节可编程闪烁存储器和1000写/擦循环,数据保留时间为10年等特点,是最好的选择。

3.2 数码管显示工作原理

数码管是一种把多个LED显示段集成在一起的显示设备。有两种类型,一种是共阳型,一种是共阴型。共阳型就是把多个LED显示段的阳极接在一起,又称为公共端。共阴型就是把多个LED 显示段的阴极接在一起,即为公共商。阳极即为二极管的正极,又称为正极,阴极即为二极管的负极,又称为负极。通常的数码管又分为8段,即8个LED显示段,这是为工程使用方便如设计的,分别为A、B、C、D、E、F、G、DP,其中DP 是小数点位段。而多位数码管,除某一位的公共端会连接在一起,不同位的数码管的相同端也会连接在一起。即,所有的A段都会连在一起,其它的段也是如此,这是实际最常用的用法。数码管显示方法可分为静态显示和动态显示两种。静态显示就是数码管的8段输入及其公共端电平一直有效。动态显示的原理是,各个数码管的相同段连接在一起,共同占用8 位段引管线;每位数码管的阳极连在一起组成公共端。利用人眼的视觉暂留性,依次给出各个数码管公共端加有效信号,在此同时给出该数码管加有效的数据信号,当全段扫描速度大于视觉暂留速度时,显示就会清晰显示出来。

图3.1 共阴数码管

3.3 键盘电路设计

该设计只用了一个键盘,但实现的功能却是比较完善,减少了硬件资源的损耗,该键盘可以实现小时和分钟的调节以及控制是否进入省电模式。当按键按下又松开,可以实现屏蔽数码管显示的功能,达到省电的目的;直接按下不松开,则可以通过按键实现分钟的累加,每按一次分钟加一;而连续两次按下按键不放松,则可实现小时的调节,同样每按一次小时加一。达到时间调节的目的。

图3.2 多功能控制键

3.4 整个电路原理图

Proteus 电路图设计

运行Proteus的ISIS 后出现程序主窗口界面,鼠标左键单击窗口左侧的元器件工具栏的component.按钮, 接着再点击窗口左侧的元器件选择区的Pick Divices.按钮,弹出Pick Devices 窗口,再在Categ栏里点击MicroprocessorICs项后,在Results栏里会出现各种类型的CPU器件,找到 AT89C51后双击,AT89C51就被添加到当前窗口左侧的元器件列表区了。

用同样的方法依次把数码管、晶振以及多个电阻、电容也添加到器件列表区里。

然后再依次点击列表区里的器件,单击左键把他们放到绘图区,右键选中元件,并编辑其属性,合理布局后,进行连线。连线时当鼠标的指针靠近一个对象的引脚时,跟着鼠标的指针r ICs 就会出现一个“×”提示符号,点击鼠标左键即可画线了,需要拐弯时点击一下即可,在终点再点击确认一下就画出了一段导线,所有导线画完后,点击工具栏的 Inter-sheeTerminal.按钮,添加上电源和接地符号,原理图的绘制就完成了。

图3.3 系统电路原理图

4 控制系统的软件设计

4.1 程序设计

本系统的软件系统主要可分为主程序、定时计数中断程序、时间调整程序、延时程序四大模块。在程序设计过程中,加强了部分软件抗干扰措施,下面对部分模块作介绍。

定时计数中断程序:

MOV TMOD,#00H ;写控制字

MOV TH0,#0F0H ;写定时常数

MOV TLO,#0CH

SETB TR0 ;启动T0

SETB ETO ;允许T0中断

SETB EA ;开放CPU中断

AJMP $

时间调整程序:

SETMM: cLR ET0 ;关定时器T0中断

CLR TR0 ;关闭定时器T0

LCALL DL1S ;调用1秒延时程序

JB P3.7,CLOSEDIS ;键按下时间小于1秒,关闭显示(省电)MOV R2,#06H ;进入调时状态,赋闪烁定时初值

SETB ET1 ;允许T1中断

SETB TR1 ;开启定时器T1

SET2: JNB P3.7,SET1 ;P3.7口为0(键未释放),等待

SETB 00H ;键释放,分调整闪烁标志置1

SET4: JB P3.7,SET3 ;等待键按下

LCALL DL05S ;有键按下,延时0.5秒

JNB P3.7,SETHH ;按下时间大于0.5秒转调小时状态

MOV R0,#77H ;按下时间小于0.5秒加1分钟操作

LCALL ADD1 ;调用加1子程序

MOV A,R3 ;取调整单元数据

CLR C ;清进位标志

CJNE A,#60H,HHH ;调整单元数据和60比较

HHH: JC SET4 ;调整单元数据小于60转SET4循环

LCALL CLR0 ;调整单元数据大于或等于60时清0

CLR C ;清进位标志

AJMP SET4 ;跳转到SET4循环

CLOSEDIS:SETB ET0 ;省电(LED不显示)状态。开T0中断

SETB TR0 ;开启T0定时器(开时钟)

CLOSE: JB P3.7,CLOSE ;无按键按下,等待。

LCALL DISPLAY ;有键按下,调显示子程序延时削抖

JB P3.7,CLOSE ;是干扰返回CLOSE等待

WAITH: JNB P3.7,WAITH ;等待键释放

LJMP START1 ;返回主程序(LED数据显示亮)

SETHH: CLR 00H ;分闪烁标志清除(进入调小时状态)SETHH1: JNB P3.7,SET5 ;等待键释放

SETB 01H ;小时调整标志置1

SET6: JB P3.7,SET7 ;等待按键按下

LCALL DL05S ;有键按下延时0.5秒

JNB P3.7,SETOUT ;按下时间大于0.5秒退出时间调整MOV R0,#79H ;按下时间小于0.5秒加1小时操作LCALL ADD1 ;调加1子程序

MOV A,R3 ;

CLR C ;

CJNE A,#24H,HOUU ;计时单元数据和24比较

HOUU: JC SET6 小于24转SET6循环

LCALL CLR0 ;大于或等于24时清0操作

AJMP SET6 ; 跳转到SET6循环

SETOUT: JNB P3.7,SETOUT1 ;调时退出程序。等待键释放LCALL DISPLAY ;延时削抖

JNB P3.7,SETOUT ;是抖动,返回SETOUT再等待

CLR 01H ;清调小时标志

CLR 00H ;清调分标志

CLR 02H ;清闪烁标志

CLR TR1 ;关闭定时器T1

CLR ET1 ;关定时器T1中断

SETB TR0 ;开启定时器T0

SETB ET0 ;开定时器T0中断(计时开始)LJMP START1 ;跳回主程序

SET1: LCALL DISPLAY ;键释放等待时调用显示程序(调分)AJMP SET2 ;防止键按下时无时钟显示

SET3: LCALL DISPLAY ;等待调分按键时时钟显示用

AJMP SET4

SET5: LCALL DISPLAY ;键释放等待时调用显示程序(调小时)AJMP SETHH1 ;防止键按下时无时钟显示

SET7: LCALL DISPLAY ;等待调小时按键时时钟显示用AJMP SET6

SETOUT1: LCALL DISPLAY ;退出时钟调整时键释放等待

AJMP SETOUT ;防止键按下时无时钟显示

延时程序:

1MS延时程序,LED显示程序用

DL1MS: MOV R6,#14H

DL1: MOV R7,#19H

DL2: DJNZ R7,DL2

DJNZ R6,DL1

RET

20MS延时程序,采用调用显示子程序以改善LED的显示闪烁现象DS20MS: ACALL DISPLAY

ACALL DISPLAY

ACALL DISPLAY

RET

4.2程序流程图

系统的流程图如图4.1和图4.2所示:

图4.1 主程序流程图

图 4.2 中断处理流程图4.3 仿真结果

图4.3 开始运行程序仿真图

图4.4 运行一段时间后仿真图

实现的功能:按键调时、按键调分、按键调秒、,按设置键切换工作模式。

元件清单:

单片机:AT80C51

按键:BUTTON

电阻:RES

电容:CAP

晶振:CRYSTAL

LED数码管:7SEG-MPX8-CA-BLUE(CA:共阳)

地:GROUND

电源:POWER

4.4 仿真结果分析

功能太过单调,只能实现时分秒的显示,设计比较简单。电路图的设计过于单调,用的器件

太少,实现调节时间的按钮太少,不能很好的实现时间的调节。在测试过程中,六位数码显示管

只显示五位数字,有一位数字不亮,通过多次的修改程序并在PROTEUS软件环境中进行仿真,最

终解决了这个问题,同时也透露出本人在单片机电路设计和程序设计方面的不足。不过最后的仿

真效果非常好,实现了预期的效果,能过通过多功能控制键调节时间和是否进入省电模式,是一

个比较令人满意的设计。

5、心得体会

通过这次的设计使我认识到我对单片机方面的知识知道的太少了,对于书本上的很多知识还不能灵活运用,有很多我们需要掌握的知识在等着我去学习,我会在以后的学习生活中弥补我所缺少的知识。本次的设计使我从中学到了一些很重要的东西,那就是如何从理论到实践的转化,怎样将我所学到的知识运用到我以后的工作中去。另外还了解了基于单片机的电子时钟的设计方法,但由于时间的原因,其中还有不明白的地方。

本次的设计使我从中学到了一些很重要的东西,那就是如何从理论到实践的转化,怎样将我

所学到的知识运用到我以后的工作中去。在大学的课堂的学习只是在给我们灌输专业知识,而我

们应把所学的用到我们现实的生活中去,此次的电子时钟设计给我奠定了一个实践基础,我会在

以后的学习、生活中磨练自己,使自己适应于以后的竞争,同时在查找资料的过程中我也学到了

许多新的知识,在和同学协作过程中增进同学间的友谊,使我对团队精神的积极性和重要性有了

更加充分的理解。

6 附录

ORG 0000H ;程序执行开始地址

LJMP START ;跳到标号START执行

ORG 0003H ;外中断0中断程序入口

RETI ;外中断0中断返回

ORG 000BH ;定时器T0中断程序入口

LJMP INTT0 ;跳至INTTO执行

ORG 0013H ;外中断1中断程序入口

RETI ;外中断1中断返回

ORG 001BH ;定时器T1中断程序入口

LJMP INTT1 ;跳至INTT1执行

ORG 0023H ;串行中断程序入口地址

RETI ;串行中断程序返回

主程序开始;

START: MOV R0,#70H ;清70H-7AH共11个内存单元MOV R7,#0BH ;

CLEARDISP: MOV @R0,#00H ;

INC R0 ;

DJNZ R7,CLEARDISP ;

MOV 20H,#00H ;清20H(标志用)

MOV 7AH,#0AH ;放入"熄灭符"数据

MOV TMOD,#11H ;设T0、T1为16位定时器

MOV TL0,#0B0H ;50MS定时初值(T0计时用)MOV TH0,#3CH ;50MS定时初值

MOV TL1,#0B0H ;50MS定时初值(T1闪烁定时用)MOV TH1,#3CH ;50MS定时初值

SETB EA ;总中断开放

SETB ET0 ;允许T0中断

SETB TR0 ;开启T0定时器

MOV R4,#14H ;1秒定时用初值(50MS×20)START1: LCALL DISPLAY ;调用显示子程序

JNB P3.7,SETMM1 ;P3.7口为0时转时间调整程序SJMP START1 ;P3.7口为1时跳回START1 SETMM1: LJMP SETMM ;转到时间调整程序SETMM

;; 1秒计时程序 ;;

INTT0: PUSH ACC ;累加器入栈保护

PUSH PSW ;状态字入栈保护

CLR ET0 ;关T0中断允许

CLR TR0 ;关闭定时器T0

MOV A,#0B7H ;中断响应时间同步修正

ADD A,TL0 ;低8位初值修正

MOV TL0,A ;重装初值(低8位修正值)

MOV A,#3CH ;高8位初值修正

ADDC A,TH0 ;

MOV TH0,A ;重装初值(高8位修正值)

SETB TR0 ;开启定时器T0

DJNZ R4, OUTT0 ;20次中断未到中断退出

ADDSS: MOV R4,#14H ;20次中断到(1秒)重赋初值

MOV R0,#71H ;指向秒计时单元(71H-72H)

ACALL ADD1 ;调用加1程序(加1秒操作)

MOV A,R3 ;秒数据放入A(R3为2位十进制数组合)

CLR C ;清进位标志

CJNE A,#60H,ADDMM ;

ADDMM: JC OUTT0 ;小于60秒时中断退出

ACALL CLR0 ;大于或等于60秒时对秒计时单元清0 MOV R0,#77H ;指向分计时单元(76H-77H)

ACALL ADD1 ;分计时单元加1分钟

MOV A,R3 ;分数据放入A

CLR C ;清进位标志

CJNE A,#60H,ADDHH ;

ADDHH: JC OUTT0 ;小于60分时中断退出

ACALL CLR0 ;大于或等于60分时分计时单元清0 MOV R0,#79H ;指向小时计时单元(78H-79H)

ACALL ADD1 ;小时计时单元加1小时

MOV A,R3 ;时数据放入A

CLR C ;清进位标志

HOUR: JC OUTT0 ;小于24小时中断退出

ACALL CLR0 ;大于或等于24小时小时计时单元清0

OUTT0: MOV 72H,76H ;中断退出时将分、时计时单元数据移

MOV 73H,77H ;入对应显示单元

MOV 74H,78H ;

MOV 75H,79H ;

POP PSW ;恢复状态字(出栈)

POP ACC ;恢复累加器

SETB ET0 ;开放T0中断

RETI ;中断返回

;; 闪动调时程序 ;;

;T1中断服务程序,用作时间调整时调整单元闪烁指示

INTT1: PUSH ACC ;中断现场保护

PUSH PSW ;

MOV TL1, #0B0H ;装定时器T1定时初值

MOV TH1, #3CH ;

DJNZ R2,INTT1OUT ;0.3秒未到退出中断(50MS中断6次)

MOV R2,#06H ;重装0.3秒定时用初值

CPL 02H ;0.3秒定时到对闪烁标志取反

JB 02H,FLASH1 ;02H位为1时显示单元"熄灭" MOV 72H,76H ;02H位为0时正常显示

MOV 73H,77H ;

MOV 74H,78H ;

MOV 75H,79H ;

INTT1OUT: POP PSW ;恢复现场

POP ACC ;

RETI ;中断退出

FLASH1: JB 01H,FLASH2 ;01H位为1时,转小时熄灭控制

MOV 72H,7AH ;01H位为0时,"熄灭符"数据放入分

MOV 73H,7AH ;显示单元(72H-73H),将不显示分数据

MOV 75H,79H ;

AJMP INTT1OUT ;转中断退出

FLASH2: MOV 72H,76H ;01H位为1时,"熄灭符"数据放入小时MOV 73H,77H ;显示单元(74H-75H),小时数据将不显示MOV 74H,7AH ;

MOV 75H,7AH ;

AJMP INTT1OUT ;转中断退出

;; 加1子程序 ;;

ADD1: MOV A,@R0 ;取当前计时单元数据到A

DEC R0 ;指向前一地址

SWAP A ;A中数据高四位和低四位交换

ORL A,@R0 ;前一地址中数据放入A中低四位

ADD A,#01H ;A加1操作

DA A ;十进制调整

MOV R3,A ;移入R3寄存器

ANL A,#0FH ;高四位变0

MOV @R0,A ;放回前一地址单元

MOV A,R3 ;取回R3中暂存数据

INC R0 ;指向当前地址单元

SWAP A ;A中数据高四位和低四位交换

ANL A,#0FH ;高四位变0

MOV @R0,A ;数据放入当削地址单元中

RET ;子程序返回

;; 清零程序 ;;

;对计时单元复零用

CLR0: CLR A ;清累加器

MOV @R0,A ;清当前地址单元

DEC R0 ;指向前一地址

MOV @R0,A ;前一地址单元清0

RET ;子程序返回

;; 时钟调整程序 ;;

;当调时按键按下时进入此程序

SETMM: CLR ET0 ;关定时器T0中断

CLR TR0 ;关闭定时器T0

LCALL DL1S ;调用1秒延时程序

JB P3.7,CLOSEDIS ;键按下时间小于1秒,关闭显示(省电)MOV R2,#06H ;进入调时状态,赋闪烁定时初值

SETB ET1 ;允许T1中断

SETB TR1 ;开启定时器T1

SET2: JNB P3.7,SET1 ;P3.7口为0(键未释放),等待

SETB 00H ;键释放,分调整闪烁标志置1

SET4: JB P3.7,SET3 ;等待键按下

LCALL DL05S ;有键按下,延时0.5秒

JNB P3.7,SETHH ;按下时间大于0.5秒转调小时状态

MOV R0,#77H ;按下时间小于0.5秒加1分钟操作

LCALL ADD1 ;调用加1子程序

MOV A,R3 ;取调整单元数据

CLR C ;清进位标志

CJNE A,#60H,HHH ;调整单元数据和60比较

HHH: JC SET4 ;调整单元数据小于60转SET4循环LCALL CLR0 ;调整单元数据大于或等于60时清0

CLR C ;清进位标志

AJMP SET4 ;跳转到SET4循环

CLOSEDIS:SETB ET0 ;省电(LED不显示)状态。开T0中断

SETB TR0 ;开启T0定时器(开时钟)

CLOSE: JB P3.7,CLOSE ;无按键按下,等待。

LCALL DISPLAY ;有键按下,调显示子程序延时削抖

JB P3.7,CLOSE ;是干扰返回CLOSE等待

WAITH: JNB P3.7,WAITH ;等待键释放

LJMP START1 ;返回主程序(LED数据显示亮)

SETHH: CLR 00H ;分闪烁标志清除(进入调小时状态)

SETHH1: JNB P3.7,SET5 ;等待键释放

SETB 01H ;小时调整标志置1

SET6: JB P3.7,SET7 ;等待按键按下

LCALL DL05S ;有键按下延时0.5秒

JNB P3.7,SETOUT ;按下时间大于0.5秒退出时间调整MOV R0,#79H ;按下时间小于0.5秒加1小时操作LCALL ADD1 ;调加1子程序

MOV A,R3 ;

CLR C ;

CJNE A,#24H,HOUU ;计时单元数据和24比较

HOUU: JC SET6 ;小于24转SET6循环

LCALL CLR0 ;大于或等于24时清0操作

AJMP SET6 ;跳转到SET6循环

SETOUT: JNB P3.7,SETOUT1 ;调时退出程序。等待键释放LCALL DISPLAY ;延时削抖

JNB P3.7,SETOUT ;是抖动,返回SETOUT再等待

CLR 01H ;清调小时标志

CLR 00H ;清调分标志

CLR 02H ;清闪烁标志

CLR TR1 ;关闭定时器T1

CLR ET1 ;关定时器T1中断

SETB TR0 ;开启定时器T0

SETB ET0 ;开定时器T0中断(计时开始)

LJMP START1 ;跳回主程序

SET1: LCALL DISPLAY ;键释放等待时调用显示程序(调分)AJMP SET2 ;防止键按下时无时钟显示

SET3: LCALL DISPLAY ;等待调分按键时时钟显示用

AJMP SET4

SET5: LCALL DISPLAY ;键释放等待时调用显示程序(调小时)AJMP SETHH1 ;防止键按下时无时钟显示

SET7: LCALL DISPLAY ;等待调小时按键时时钟显示用

基于单片机电子时钟的设计说明

单片机课程设计 姓名:韶辉 学号: 1402250232 班级:自动化11402 成绩: 指导老师:吴玉蓉 设计时间:2016年12月26日~2017年1月5日

目录 1.设计要求 (1) 2.系统总体方案 (2) 3.硬件电路设计 (3) 4.系统软件设计. (4) 5.课程设计体会 (15) 6.参考文献 (15) 7.系统实物图 (16) 附录1 电路原理图 (17) 附录2 原件清单 (18)

一、设计要求 利用51单片机开发电子时钟,实现时间显示、调整功能。具体要求如下:(1)按以上要求制定设计方案,并绘制出系统工作框图; (2)按要求设计部分外围电路,并与单片机仿真器、单片机实验箱、电源等正确可靠的连接,给出电路原理图; (3)用仿真器及单片机实验箱进行程序设计与调试; (4)利用键盘输入调整秒、分和小时时刻,数码管显示时间; 二、系统总体方案 1.时钟计数:形成秒、分、小时,系统时间采用24小时制。利用单片机部的定时器/计数器来实现,它的处理过程如下:首先设定单片机部的一个定时器/计数器工作于定时方式,对机器周期计数形成基准时间(如10ms),然后用另一个定时器/计数器或软件计数的方法对基准时间计数形成秒(对10ms计数100次),秒计60次形成分,分计60次形成小时,小时计24次则计满一天。 (如12-25-09)。 2.显示:采用8个LED显示系统当前时间,显示格式为“时-分-秒” 3.设置功能:用户可以对系统的时间进行设置。没有按键时,则时钟正常走时。当按下K0键,进入调分状态,时钟停止走动,此时,按K1或K2键可进行加1或减1操作;继续按K0键可分别进行分和时的调整,此时,按K1或K2键可进行加1或减1操作;最后按K0键将退出调整状态,时钟开始计时运行。 4.系统框图

(完整版)单片机的电子时钟设计毕业设计

以下文档格式全部为word格式,下载后您可以任意修改编 辑。 济源职业技术学院 毕业设计 题目单片机的电子钟设计 系别电气工程系 专业应用电子技术 班级电技0801 姓名肖见 学号 指导教师苗绍强 日期 2010年12月

设计任务书 设计题目: 单片机的电子钟设计 设计要求: 1.设计一个具有特定功能的电子钟。该电子钟上电或按键复位后能自动显示系统提示符“P.”,进入时钟准备状态;第一次按电子钟启动调整键,电子钟从0时0分0秒开始运行,进入时钟运行状态;再次按电子钟启动调整键,则电子钟进入时钟调整状态,此时可利用各调整键调整时间,调整结束后可按启动调整键再次进入时钟运行状态。 2.设计完成上述功能的相应的硬件调试和软件调试。 3.完成焊接和实物电路的调试。 设计进度要求: 第一周:选定设计题目,查找、搜集相关资料。 第二周:了解各元器件、模块的功能及使用方法。 第三周:硬件电路的设计。 第四周:相应软件设计(程序设计)。 第五周:利用相关的仿真软件测试并记录相关的数据和错误。 第六周:焊接实物电路,并且在实物电路上调试并且记录相关的数据和问题。 第七周:写毕业论文。 第八周:毕业答辩。指导教师(签名):

摘要 时钟,自从它发明的那天起,就成为人类的朋友,但随着时间的推移,科学技术的不断发展,人们对时间计量的精度要求越来越高,应用越来越广。怎样让时钟更好的为人民服务,怎样让我们的老朋友焕发青春呢?这就要求人们不断设计出新型时钟。 数字电子钟的设计方法有多种,其中,利用单片机实现的电子钟具有编程灵活,便于电子钟功能的扩充,即可用该电子钟发出各种控制信号,精确度高等特点,同时可以用该电子钟发出各种控制信号。 本设计主要介绍用单片机内部的定时计数器来实现电子时钟的方法,本设计由单片机AT89C52芯片和LED数码管为核心,辅以必要的电路,构成了一个单片机电子时钟。与传统机械表相比,它具有走时精确,显示直观等特点。它的计时周期为24小时,显满刻度为“23时59分59秒”,另外具有校时功能等特点。 关键词:电子钟,单片机,汇编

基于单片机的电子时钟课程设计报告

目录 一、引言········ 二、设计课题········· 三、系统总体方案········· 四、系统硬件设计······ 1.硬件电路原理图 2.元件清单 五、系统软件设计········· 1.软件流程图 2.程序清单 六、系统实物图········ 七、课程设计体会········ 八、参考文献及网站········· 九、附录·········

一.引言 单片机因将其主要组成部分集成在一个芯片上而得名,就是把中央处理器、随机存储器、只读存储器、中断系统、定时器/计数器以及I/O接口电路等部件集成在一个芯片上。 基于单片机设计的数字钟精确度较高,因为在程序的执行过程中,任何指令都不影响定时器的正常计数,即便程序很长也不会影响中断的时间。 数字钟是采用数字电路实现对日期、时、分、秒,数字显示的计时装置,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表的报时功能。数字钟已成为人们日常生活中的必需品,广泛应用于家庭、车站、码头、剧院、办公室等场所,给人们的生活、学习、工作带来极大的方便。不仅如此,在现代化的进程中,也离不开电子钟的相关功能和原理,比如机械手的控制、家务的自动化、定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。而且是控制的核心部分。因此,研究数字钟及扩大其应用,有着非常现实的意义。 本设计使用12MHZ晶振与单片机AT89C51相连接,以AT89C51芯片为核心,采用动态扫描方式显示,通过使用该单片机,加之在显示电路部分使用HD74LS373驱动电路,实现在8个LED数码管上显示时间,通过4个按键进行调时、复位等功能,在实现各功能时数码管进行相应显示。软件部分用C语言实现,分为显示、延迟、调时、复位等部分。通过软硬件结合达到最终目的。

基于单片机电子时钟的设计

单片机课程设计 姓名:刘韶辉 学号:32 班级:自动化11402 成绩: 指导老师:吴玉蓉 设计时间:2016年12月26日~2017年1月5日目录

STC89C51是公司生产的一种低功耗、高性能CMOS8位微控制器,具有 4K 在系统可编程Flash存储器。STC89C51使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统不具备的功能。在单芯片上,拥有灵巧的8 位和在系统可编程Flash,使得STC89C51为众多嵌入式控制应用系统提供高灵活、超有效的。支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被 (5) 图5 单片机系统冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选。 (5) 将所有数码管的8个显示段码"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的COM端,就使各个数码管轮流受控显示,电路如下图: (5) 图6 数码管显示电路 (6) 一、设计要求 利用51单片机开发电子时钟,实现时间显示、调整功能。具体要求如下:(1)按以上要求制定设计方案,并绘制出系统工作框图; (2)按要求设计部分外围电路,并与单片机仿真器、单片机实验箱、电源等正确可靠的连接,给出电路原理图; (3)用仿真器及单片机实验箱进行程序设计与调试; (4)利用键盘输入调整秒、分和小时时刻,数码管显示时间; 二、系统总体方案

基于单片机的电子日历时钟设计

#include #define uchar unsigned char #define uint unsigned int //----端口定义--- sbit ACC_7=ACC^7; sbit RST1=P2^5; sbit IO=P2^6; sbit SCLK=P2^7; sbit k1=P3^2; sbit k2=P3^3; sbit k3=P2^2; sbit k4=P2^3; //uchar wei[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; // 数码的位选,左到右 uchar tab_1302[7]={45,50,11,19,1,1,15}; uchar tab_time[8]={0,0,10,0,0,10,0,0}; //时间 uchar tab_day[8]={0,0,10,0,0,10,0,0,}; //年月日 uchar tab_num[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf}; //0 1 2 3 4 5 6 7 8 9 - {"0123456789-"} ////////////=============函数声明============//////////////// void display_time(); void delayms(uint); void display_day(); void ds1302(); //获取DS1302的时间 void ds1302_init(); //DS1302的初始化 void write1302(uchar,uchar); //指定地址向DS1302写数据 uchar read1302(uchar); //指定地址向DS1302读数据 void ds1302(); void int0_init(); /////////=======中断初始化=======/////////// void int0_init() { EX0=1;

(完整word版)基于单片机电子时钟的制作

毕业综合实训概述 实训目的: 对单片机电子时钟的制作及设计原理的掌握,利用本次实训对所学的理论课程进行实际论证,更好的掌握理论知识。能够更好的运用在实践当中。 实训时间: 2015年9月21日-2015年11月8日 实训要求: 1.独立完成实物的制作及理解设计原理; 2.分析及制作程序流程图; 3. 绘制电路图; 4.了解个元器件在电路中的作用。

目录 1 引言 (1) 1.1选题背景 (1) 1.2设计原理 (1) 1.3单片机简介 (2) 1.4单片机的发展历史 (2) 1.5单片机的应用领域及发展趋势 (2) 2 方案议论 (5) 2.1 设计要求 (5) 2.2 系统描述 (5) 2.3 设计方案 (5) 2.3.1 集成电路 (5) 2.3.2 单片机的最小系统 (6) 2.3.3结论 (7) 3 硬件设计 (8) 3.1硬件结构 (8) 3.2中心控制模块 (8) 3.3电源模块 (11) 3.4控制电路 (12) 3.5复位电路 (12) 4软件设计 (15) 4.1电子时钟的设计原理 (15) 4.2 软件设计流程 (15) 5 总结 (17) 致谢 (18) 参考文献 (18) 附录电子时钟程序 (19)

1 引言 1.1选题背景 单片微型计算机简称单片机,是典型的嵌入式微控制器(Microcontroller Unit),常用英文字母的缩写MCU表示单片机,它最早是被用在工业控制领域。单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。单片机由运算器,控制器,存储器,输入输出设备构成,相当于一个微型的计算机(最小系统),和计算机相比,单片机缺少了外围设备等。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。 INTEL的8080是最早按照这种思想设计出的处理器,当时的单片机都是8位或4位的。其中最成功的是INTEL的8051,此后在8051上发展出了MCS51系列单片机系统。因为简单可靠而性能不错获得了很大的好评。尽管2000年以后ARM 已经发展出了32位的主频超过300M的高端单片机,直到现在基于8051的单片机还在广泛的使用。现代人类生活中所用的几乎每件有电子器件的产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电子产品中都含有单片机。汽车上一般配备40多片单片机,复杂的工业控制系统上甚至可能有数百片单片机在同时工作! 利用单片机实现电子时钟有很多优点,例如外部电路简单,控制方便等,因而备受广大单片机爱好者的喜爱。通过电子时钟的制作方案,掌握C语言的编程方法。并熟练的运用89S52单片机定时器准确的实现时间的递进,按下按键可以设置时间,最重要的是自己还可以通过程序设计输入自己需要的定点时间。 1.2设计原理 通过单片机对时间准确的控制,实现时间的递进。 定时器:时钟周期T是时序中最小的时间单位,具体计算的方法是1/时钟源频率,我们KST-52单片机开发板上用的晶振是11.0592M,那么我们对于这个单

单片机课程设计--简易电子钟.doc

单片机课程设计报告设计课题:简易电子时钟的设计 专业班级:07通信1班 学生姓名:黎捐 学号:0710618134 指导教师:曾繁政 设计时间:2010.11.5—2010.12.20

一、设计任务与要求 (1)设计任务: 利用单片机设计并制作简易的电子时钟,电路组成框图如图所示。 (2)(2) 设计要求:1)制作完成简易的电子时钟,时间可调整。 2)有闹钟功能。 二、方案设计与论证 简易电子时钟电路系统由主体电路和扩展功能电路两主题组成,总体功能原理是以STC89C52单片机为主要的控制核心,通过外接4个独立式键盘作为控制信号源,八个七段数码管作为显示器件,蜂鸣器作为定时器件,单片机实时的去执行相应的功能。在数码管上显示出来,此时通过不同的按键来观看和调节各种数据。CPU 控制原理图如图1所示。 图1. CPU 控制原理图 三、硬件系统的设计 3.1 STC89C52控制模块 STC89C52是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出(I/O )端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,STC89C51可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash 存储器结合在一起,特别是可反复擦写的Flash 存储器可有效地降低开发成本。 MCS-52单片机内部结构 8052单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明: 中央处理器: 中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU 负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。 数据存储器(RAM): 8052内部有128个8位用户数据存储单元和128 个专用寄存器单元,它们是统一编 时间显示显示 主控器(51单片机) 时间 调整 声音报 时 (选做)

基于单片机的电子闹钟设计

基于单片机的电子闹钟设计 摘要 本设计以AT89C51芯片为核心,辅以必要的外围电路,设计了一个结构简单,功能齐全的电子时钟,它由5V直流电源供电。 关键词:单片机;led;闹钟;定时器 Abstract This design, adopting AT89C51 chip as the core part with some necessary peripheral circuits, is a simple electronic clock which uses 5V DC as the power supply. Keywords:single chip machine ,in fixed time machine, alarm clock,LED 1 引言 1.1设计目的 此次课程设计是在学习先修课程《单片机原理与系统设计》之后,为加强对学生系统设计和应用能力的培养而开设的综合设计训练环节。本课程设计应结合《单片机原理与系统设计》课程的基础理论,重点强调实际应用技能训练,包括单片机系统设计的软件和硬件两部分。其课程设计任务是使学生通过应用单片机系统设计的基本理论,基本知识与基本技能,掌握单片机应用系统各主要环节的设计、调试方法,初步掌握并具备应用单片机进行设备技术改造和产品开发的能力,培养学生的创新意识,提高学生的动手能力和分析问题、解决问题的能力。 1.2设计要求 结合单片机知识,以AT89C51单片机为核心,利用七段LED数码管实现计时、校时及闹钟功能。 1.3设计方法 以AT89C51单片机为核心,外加晶振电路,使用8个七段数码管显示,LED 采用动态扫描,用74ls245芯片作为驱动电路。通过四个独立按键对时间进行定时、校时,从而实现闹钟提醒功能。 2 设计方案及原理 2.1设计方案 选AT89C51单片机作为系统核心,辅助外部产生时钟信号的晶振电路,再加上四个独立按键作为输入信号,使用8个七段数码管显示时间,芯片74ls245为数码管段选线的驱动,最后用蜂鸣器实现闹铃功能。使用单片机的定时器T0计时时间为50ms,计时20次作为1s的时间基准。第一部分,12MHz的晶振连接至单片机的时钟信号输入端;第二部分,四个独立按键加上四个上拉电阻连接至单片机

基于单片机的电子时钟系统设计

题目:电子时钟系统设计 班级: 姓名: 专业: 指导教师: 答辩日期:

毕业设计任务书 一、设计题目: 电子时钟系统设计 二、设计要求: 利用8031单片机作为主控器组成一个电子时钟系统。利用4个LED显示管分时显示当前时间和日历;上电或RESET后能自动显示当前时间(时:分),首次上电复位显示为0时0分;以后各次均显示正确的当前时间;利用尽可能少的小键盘(开关)实现;显示选择:时分显示/日历显示/报警显示,利用发光二极管作为报警指示,当报警时间到,二极管发光。 三、设计任务: 1.设计硬件电路,画出电路原理图; 2. 设计软件,编制程序,画出程序流程图; 3.调试程序,写出源程序代码; 4.写出详细毕业设计说明书(10000字以上),要求字迹工整,原理叙述正确,会计算主要元器件的一些参数,并选择元器件。 5.个人总结。 四、参考资料: 1. 教材; 2.《单片机实验指导书》,河南工业职业技术学院内部; 3.《51系列单片机设计实例》,楼然苗、李光飞编著,北京航空航天出版社; 4.《微机控制技术及应用》,韩全立主编,机械工业出版社; 5.《单片机应用技术与实训》,王治刚主编,清华大学出版社; 6.《常用电子电器手册》; 7.《单片机应用技术与实例》,睢丙东主编,电子工业出版社;

8.《单片微型计算机应用技术》,徐仁贵,机械工业出版社。

目录 第一章绪论 (6) 1.1 单片机的概述 (6) 1.2 数字电子钟的简介 (7) 第二章电子时钟硬件电路设计 (9) 2.1 硬件电路设计摘要 (9) 2.2 硬件电路设计来源 (9) 2.3 硬件电路设计原理图 (11) 第三章软件设计及程序编制 (13) 3.1 系统程序设计 (13) 3.2 电子钟的说明 (16) 3.3 中断服务程序 (18) 3.4 设计参数 (21) 3.5 控制源程序代码 (21) 第四章功能调试及分析 (31) 4.1 调试功能的方法 (31) 4.2 电子钟计时说明 (31) 4.3 调试及性能分析 (32)

51单片机电子时钟课程设计实验报告

《单片机原理与应用》课程设计 总结报告 题目:单片机电子时钟(带秒表)的设计 设计人员:张保江江润洲 学号:2012197213 2012118029 班级:自动化1211 指导老师:阮海容

目录 1.题目与主要功能要求 (2) 2.整体设计框图及整机概述 (3) 3.各硬件单元电路的设计、参数分析及原理说明 (3) 4.软件流程图和流程说明 (4) 5.总结设计及调试的体会 (10) 附录 1.图一:系统电路原理图 (11) 2.图二:系统电路PCB (12) 3.表一:元器件清单 (13) 4.时钟程序源码 (14)

题目:单片机电子时钟的设计与实现 课程设计的目的和意义 课程设计的目的与意义在于让我们将理论与实践相结合。培养我们综合运用电子课程中的理论知识解决实际性问题的能力。让我们对电子电路、电子元器件、印制电路板等方面的知识进一步加深认识,同时在软件编程、排错调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高,为今后能够独立完成某些单片机应用系统的开发和设计打下一个坚实的基础。 课程设计的基本任务 利用89C51单片机最小系统,综合应用单片机定时器、中断、数码显示、键盘输入等知识,设计一款单片机和简单外设控制的电子时钟。 主要功能要求 最基本要求 1)使用MCS-51单片机设计一个时钟。要求具有6位LED显示、3个按键输入。 2)完成硬件实物制作或使用Pruteus仿真(注意位驱动应能提供足够的电流)。3)6位LED数码管从左到右分别显示时、分、秒(各占用2位),采用24小时标准计时制。开始计时时为000000,到235959后又变成000000。 4)使用3个键分别作为小时、分、秒的调校键。每按一次键,对应的显示值便加1。分、秒加到59后再按键即变为00;小时加到23后再按键即变为00。在调校时均不向上一单位进位(例如分加到59后变为00,但小时不发生改变)。 5) 软件设计必须使用MCS-51片内定时器,采用定时中断结构,不得使用软件延时法,也不得使用其他时钟芯片。 6)设计八段数码管显示电路并编写驱动程序,输入并调试拆字程序和数码显示程序。 7)掌握硬件和软件联合调试的方法。 8)完成系统硬件电路的设计和制作。 9)完成系统程序的设计。 10)完成整个系统的设计、调试和制作。 11)完成课程设计报告。 基本要求 1)实现最基本要求的1~10部分。 2)键盘输入可以控制电子时钟的走时/调试。 3)设计键盘输入电路和程序并调试。 4)掌握键盘和显示配合使用的方法和技巧。 提高发挥部分

基于51单片机的电子时钟的设计

目录 0 前言 (1) 1 总体方案设计 (2) 2 硬件电路设计 (2) 3 软件设计 (5) 4 调试分析及说明 (7) 5 结论 (9) 参考文献 (9) 课设体会 (10) 附录1 电路原理 (12) 附录2 程序清单 (13)

电子时钟的设计 许山沈阳航空航天大学自动化学院 摘要:传统的数字电子时钟采用了较多的分立元器件,不仅占用了很大的空间而且利用率也比很低,随着系统设计复杂度的不断提高,用传统时钟系统设计方法很难满足设计需求。 单片机是集CPU、RAM、ROM、定时器/计数器和多种接口于一体的微控制器。它体积小、成本低、功能强,广泛应用于智能产品和工业自动化上。而51系列的单片机是各单片机中最为典型和最有代表性的一种。,本次设计提出了系统总体设计方案,并设计了各部分硬件模块和软件流程,在用C语言设计了具体软件程序后,将各个模块完全编译通过过后,结果证明了该设计系统的可行性。该设计给出了以AT89C2051为核心,利用单片机的运算和控制功能,并采用系统化LED显示模块实时显示数字的设计方案,适当地解决了实际生产和日常生活中对计时高精确度的要求,因此该设计在现代社会中具有广泛的应用性。 关键字:AT89C2051,C语言程序,电子钟。 0前言 利用51单片机开发电子时钟,实现时间显示、调整和闹铃功能。具体要求如下: (1)按以上要求制定设计方案,并绘制出系统工作框图; (2)按要求设计部分外围电路,并与单片机仿真器、单片机实验箱、电源等正确可靠的连接,给出电路原理图; (3)用仿真器及单片机实验箱进行程序设计与调试;

(4)利用键盘输入调整秒、分和小时时刻,数码管显示时间; (5)实现闹钟功能,在设定的时间给出声音提示。 1总体方案设计 该电子时钟由89C51,BUTTON,1602 LCD液晶屏等构成,采用晶振电路作为驱动电路,利用单片机内部定时计数器0通过软件扩展产生的一秒定时,达到时分秒的计时,六十秒为一分钟,六十分钟为一小时,满二十四小时为一天。闹钟和时钟的时分秒的调节是由一个按键控制,而另外一个按键控制时钟和闹钟的时间的调节。 图1 系统结构框图 该电子时钟由STC89C51,BUTTON,1602 LCD液晶屏等构成,采用晶振电路作为驱动电路,晶振电路的晶振频率为12MHZ,使用的定时器/计数器工作方式0,通过软件扩展产生的一秒定时,达到时分秒的计时,60秒为一分钟,60分钟为一小时,24小时为一天,又重00:00:00开始计时。没有按键按键按下时,时钟正常运行,当按下调节时钟按键K1,就会关闭时钟,当按下闹钟按键K3时时钟就会进入设置时间界面,但是时钟不会停止工作,按K2键,,就可以对时钟和闹钟要设置的时间进行调整。 2硬件电路设计

基于单片机的电子时钟设计报告(LCD显示)

单片机原理及应用课程设计任务书 题目:电子时钟(LCD显示) 1、设计要求以AT89C51单片机为核心的时钟,在LCD显示器上显示当前的时间: 使用字符型LCD显示器显示当前时间。显示格式为“时时:分分:秒秒”。用3个功能键操作来设置当前时间。功能键K1~K4功能下。 K1—设置小时。 K2—设置分钟。 K3—设置秒。 程序执行后工作指示灯LED发光,表示程序开始执行,LCD显示“23:59:00”,然后开始计时。 2、工作原理 本课题难点在于键盘的指令输入,由于每个按键都具有相应的一种功能,程序中有较多的循环结构用以判断按键是否按下,以及判断按键是否抬起,以及LCD显示器的初始化。 3、参考电路 硬件设计电路图如下图所示: 硬件电路原理图 单片机原理及应用课程设计任务书

题目:电子时钟(LCD显示) 1、设计要求以AT89C51单片机为核心的时钟,在LCD显示器上显示当前的时间: 使用字符型LCD显示器显示当前时间。显示格式为“时时:分分:秒秒”。用3个功能键操作来设置当前时间。功能键K1~K4功能下。 K1—设置小时。 K2—设置分钟。 K3—设置秒。 程序执行后工作指示灯LED发光,表示程序开始执行,LCD显示“23:59:00”,然后开始计时。 2、工作原理 本课题难点在于键盘的指令输入,由于每个按键都具有相应的一种功能,程序中有较多的循环结构用以判断按键是否按下,以及判断按键是否抬起,以及LCD显示器的初始化。 3、参考电路 硬件设计电路图如下图所示: 硬件电路原理图 基于AT89C51单片机的电子时钟设计报告

一、设计要求与目的 1)设计要求以AT89C51单片机为核心的时钟,在LCD显示器上显示当前的时间。 2)、使用字符型LCD显示器显示当前时间。显示格式为“时时:分分:秒秒”。3)、用3个功能键操作来设置当前时间。 4)、熟悉掌握proteus编成软件以及keil软件的使用 二、本设计原理 本设计以AT89C51单片机为核心,通过时钟程序的编写,并在LCD显示器上显示出来。该编程的核心在于定时器中断及循环往复判断是否有按键操作,并对每个按键的操作在LCD显示器上作出相应的反应。由于LCD显示器每八位对应一个字符,故把秒、分、时的个位和十位分开表示。 该课题中有三个控制开关KM1、KM2、KM3分别控制时、分、秒的调整,时间按递增的方式调整,每点一次按钮则相应的时间个位加以,且时间调整不干扰其他为调整时间的显示。 三、硬件设计原理(电路) 硬件电路原理图

单片机电子时钟的设计报告

目录 1 引言 (1) 2 设计任务与要求 (2) 2.1. 设计题目 (2) 2.2. 设计要求 (2) 3 系统的功能分析与设计方案 (3) 3.1. 系统的主要功能 (3) 3.2. 系统的设计方案 (3) 3.3. 数码管显示工作原理 (4) 3.4. 电路硬件设计 (5) 3.4.1. 设计原理框图 (5) 3.4.2. 电源部分 (5) 3.4.3. 复位电路 (6) 3.4.4. 指示灯电路 (6) 3.4.5. 按键电路 (7) 3.4.6. 时钟电路 (7) 3.4.7. 驱动电路 (8) 3.4.8. 数码管连接电路 (8) 3.4.9. 主控模块AT89S52 (9) 3.4.10. 材料清单 (10) 3.4.11. 电路原理图、PCB图及实物图 (11) 3.5. 软件设计 (13) 3.5.1. 软件设计流程 (13) 3.5.2. 完整源程序 (15) 4 系统安装与调试 (21) 4.1. 硬件电路的安装 (21) 4.2. 软件调试 (21) 5 课程设计总结 (22) 参考文献 (23) 致谢 (24)

摘要 单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。单片机体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易。由于具有上述优点,在我国,单片机已广泛地应用在工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化设备等各个方面。这次课程设计通过对它的学习、应用,以AT89S52芯片为核心,辅以必要的电路,设计了一个简易的单片机电子时钟,包括硬件电路原理的实现方案设计、软件程序编辑的实现、电子时钟正常工作的流程、硬件的制作与软件的调试过程。电子时钟由5.0V直流电源供电,数码管能够比较准确显示时间,通过按键能够调整时间,从而到达学习、设计、开发软、硬件的能力。 关键词:单片机;AT89S52;电子时钟;数码管;按键

单片机电子时钟的设计设计word版

基于单片机的电子时钟设计 摘要 现今,高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟,石英表,石英钟都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调校。数字式电子时钟用集成电路计时,译码代替机械式传动,用LED显示器代替显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时,分,秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。近年来随着科技的飞速发展。单片机、PLC的应用不断地走向深入。同时带动传统的控制检测技术的不断更新。可以采用早期的模拟电路、数字电路或模数混合电路。 本设计利用单片机实现数字时钟计时功能的主要内容,其中AT89C51是核心元件同时采用数码管动态显示“时”,“分”,“秒”的现代计时装置。与传统机械表相比,它具有走时精确,显示直观等特点。它的计时周期为24小时,显满刻度为“23时59分59秒”,另外具有校时功能,断电后有记忆功能,恢复供电时可实现计时同步等特点。 关键词:单片机,AT89C51,LED,显示器,电子时钟 BASED ON SCM ELECTRONIC CLOCK DISIGN

ABSTRACT Now, most of the high precision tools have used quartz crystals oscillator. As the electron clock, quartz watches and quartz have adopted quartz technique,which is empty and high precision,good stability,andconvenience, there is no need to constantly adjust the use of electronic clock. Digital watches, which have reduced the timing errors and hve the houre、minite and second and can also underway and proofreading and slice of flexibility, have used integrated circuit to count time, in which decoding have replaced michical driven, and led display monitors replaced the pointer to display time. In recent years as technology evolved, microcontroller and PLC applications have go fother. promoting traditional control testing technical updating earlier. You can use the earlier digital circuit or circuit and hybrid circuit . In this complment, we have used the microcontroller to make true the timing of the digital clocks, in which has a core element of AT89c2051, with the morden counting michine digital to display at the "time", "points" and "seconds". Compared to the conventional mechanical watch, it is empty and intuitive . Its characteristics of the time period is 24 hours, and full scale as a "23’59’ 59, and other functions of the school after the electricity supply, to have time to achieve credible a synchronous. KEY WORDS: MICROCONTROLLER,AT89C51,LED,DISPLAY,CLOCK

单片机课程设计 电子日历时钟显示器设计

目录 1.题目设计要求 (1) 2.开发平台简介 (1) 3.系统硬件设计 (2) 3.1设计原理 (2) 3.2器件的功能与作用 (2) 3.2.1 MCS51单片机AT89C51 (2) 3.2.2复位电路 (3) 3.2.3晶振电路 (4) 3.2.4 DS1302时钟模块 (4) 3.2.5 引脚功能及结构 (4) 3.2.6 DS1302的控制字节 (5) 3.2.7 数据输入输出(I/O) (5) 3.2.8 DS1302的寄存器 (6) 3.2.9 液晶显示LCD1602 (6) 3.2.10 串行时钟日历片DS1302 (8) 4.系统软件设计 (10) 4.1程序流程 (10) 4.2程序代码 (10) 5.系统仿真调试 (20) 5.1仿真原理图设计 (20) 5.2仿真运行过程 (21) 5.3仿真运行结果 (21) 6.总结 (21) 7.参考文献 (22)

1.题目设计要求 通过串行日历时钟芯片DS1302生成当前日期和是时间,通过IO口传输到AT89c52芯片中,然后再将AT89c52接收到的数据输出到LCD上。要求LCD上显示的日期和时间与当前系统时间保持一致。 2.开发平台简介 2.1系统仿真平台Proteus Proteus软件是由英国Labcenter Electronics公司开发的EDA工具软件,已有近20年的历史,在全球得到了广泛应用。Proteus软件的功能强大,它集电路设计、制版及仿真等多种功能于一身,不仅能够对电工、电子技术学科涉及的电路进行设计,还能够对微处理器进行设计和仿真,并且功能齐全,界面多彩。和我们手头其他的电路设计仿真软件,他最大的不同即它的功能不是单一的。另外,它独特的单片机仿真功能是任何其他仿真软件都不具备的。 2.2软件开发平台Keil C Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。Keil C51生成的目标代码效率之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。

单片机电子时钟设计报告

单片机电子时钟设计报告 随着我国科学技术的飞速发展,单片机的应用越来越广泛。单片机是由随机存储器、只读存储器和中央处理器组成的单片机。它是一个集成定时计数和各种接口的微控制器。它体积小、成本低、功能强,广泛应用于智能工业和工业自动化。为了进一步了解51单片机的定时器,设计一个电子时钟,本文对AT89C51单片机的时钟计数进行了研究。数字时钟是一种使用数字电路技术来计时小时、分钟和秒钟的时钟。与机械钟相比,它具有更高的精度和直观性,更长的使用寿命,并得到了广泛的应用。设计数字时钟有很多方法。例如,中小规模的集成电路可以用来形成电子钟。特殊的电子钟芯片也可以用来形成需要显示电路和外围电路的电子钟。单片机也可以用来实现电子钟等。3,实际任务和内容 设计内容: 1,利用其定时器/计数器计时和计数原理,结合显示电路、发光二极管数码管和外部中断电路来设计定时器 2,系统可实现六位发光二极管显示,显示时间以小时:分:秒为单位3.当系统时间正好是1: 00时,指示灯闪烁(2hz)5秒钟设计目标: 1。掌握单片机定时器和中断的应用方法2.掌握按键和数码管的扩展方法 4、团队合作 项目组组长:张成 项目组成员:余江东、张翔

项目组,共三人,以张成为组长,分工合作,各负其责。具体分工如下:(1)负责数字钟硬件设计和调试;主要由张翔完成(2)基于proteus 的电路仿真;主要在江东完成(3)负责数字钟程序编写;主要由张成完成(4)报告编写;主要由张成、余江东、张翔完成。在我们小组拿到作业后,我们首先讨论了实习的内容和任务。一起讨论用什么方法来实现任务手册的要求和细节。为了不浪费时间,每个人都开始分工合作,专注于自己的任务,同时互相帮助。在这个过程中,我们互相合作,默契配合。我们一起讨论并解决了遇到的问题。两个有着不同想法和观点的人一起分享了讨论,最终采用了获得的最理想和最完美的方案。最后的调试是和我们一起进行的。我们在调试过程中遇到了许多问题。我们一起分析和搜索数据。百度试图解决这些问题。在这个过程中,我们训练了自己的团队合作和沟通技巧。这次供应链管理实习在我们三人的完美合作下圆满完成。每个人都很好地完成了自己的任务,充分证明了团结就是力量。同时,它也使我们认识到团队合作的重要性质。我们是一个完美的团队。 5、总体设计方案概述 系统总体结构图A T89C51单片机显示电路时钟电路机复位电路系统分为单片机控制模块、时钟电路模块、复位电路模块和发光二极管显示模块(1)时钟电路设计 单片机采用外部12MHZ晶振形成振荡电路作为时钟源,时钟电路原理如下当系统通电并启动时,

基于单片机电子闹钟的设计

西南石油大学 单片机课程设计 学院: 电气信息学院 专业年级: 通信工程2013级 姓名: 王昕铃 学号: 课题:基于单片机的定时闹钟设计 指导老师: 邓魁 日期: 2016 年 6月 30日 前言 20世纪末,电子技术获得了飞速的发展。在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高。同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。例如,许多火灾都是由于人们一时忘记了关闭煤气或是忘记充电时间。所以有必要制作一个定时系统。随时提醒这些容易忘记时间的人。而钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、定时启闭电路、定时开关烘箱、通断动力设备,甚至各种定时电气的自动启用等等。所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。 随着生活水平的提高,人们越来越追求人性化的事物。传统的时钟已不能满足人们的需求。而现代的时钟不仅需要模拟电路技术和数字电路技术而且更需要单片机技术,增加数字钟的功能。利用软件编程尽量做到硬件电路简单稳定,减小电磁干扰和其他环境干扰,减小因元器件精度不够引起的误差,但是数字钟还是可以改进和提高如选用更精密的元器件。但与机械式时钟相比已经具有

更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用。 数字钟通过数字电路实现时、分、秒。数字显示的计时装置,广泛用于个人家庭、车站、码头办公室等公共场所成为人们日常生活中不可少的必需品。由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度远远超过老式钟表。 多功能数字钟的应用非常普遍。由单片机作为数字钟的核心控制器,通过它的时钟信号进行实现计时功能,将其时间数据经单片机输出,利用显示器显示出来。通过键盘可以进行校时、定时等功能。输出设备显示器可以用液晶显示技术和数码管来显示技术。 本系统利用单片机实现具有计时、校时等功能的数字时钟,是以单片机AT89C51为核心元件同时采用LED数码管显示器动态显示“时”、“分”、“秒”的现代计时装置。另外具有校时功能,秒表功能,和定时器功能,利用单片机实现的数字时钟具有编程灵活,便于功能的扩充等优点。 摘要 单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。而51单片机是各单片机中最为典型和最有代表性的一种。 本设计以AT89C51芯片为核心,辅以必要的外围电路,设计了一个结构简单,功能齐全的电子时钟,它由5V直流电源供电。在硬件方面,除了CPU外,使用八个七段LED数码管来进行显示,LED采用的是动态扫描显示,使用74LS245芯片进行驱动。通过LED能够较为准确地显示时、分、秒。四个简单的按键实现对时间的调整。软件方面采用C语言编程。整个电子钟系统能完成时间的显示、调时、校时和三组定时闹钟的功能。 选用单片机最小系统应用程序,添加比较程序、时间调整程序及蜂鸣程序,通过时间比较程序触发蜂鸣,实现闹钟功能,完成设计所需求的软件环境。介绍并使用Keil单片机模拟调试软件,测试程序的可行性并用Proteus进行仿真。 关键词:单片机,定时器,中断,闹钟,LED

最全最好的课程设计-51单片机电子日历时钟( 含源程序)

LED日历时钟课程设计 院系: 班级: 姓名: 学号: 指导教师: 2012 年06 月16 日

目录

摘要 单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。单片机体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易。由于具有上述优点,在我国,单片机已广泛地应用在工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化设备等各个方面,而51单片机是各单片机中最为典型和最有代表性的一种。这次毕业设计通过对它的学习、应用,以AT89S51芯片为核心,辅以必要的电路,设计了一个简易的电子时钟,它由4.5V直流电源供电,通过数码管能够准确显示时间,调整时间,从而到达学习、设计、开发软、硬件的能力。 第一章前言 数字电子钟具有走时准确,一钟多用等特点,在生活中已经得到广泛的应用。虽然现在市场上已有现成的电子钟集成电路芯片,价格便宜、使用也方便,但是人们对电子产品的应用要求越来越高,数字钟不但可以显示当前的时间,而且可以显示期、农历、以及星期等,给人们的生活带来了方便。另外数字钟还具备秒表和闹钟的功能,且闹钟铃声可自选,使一款电子钟具备了多媒体的色彩。单片机具有体积小、功能强可靠性高、价格低廉等一系列优点,不仅已成为工业测控领域普遍采用的智能化控制工具,而且已渗入到人们工作和和生活的各个角落,有力地推动了各行业的技术改造和产品的更新换代,应用前景广阔。 时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础。在一个单片机应用系统中,时钟有两方面的含义:一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间,它通常有两种实现方法:一是用软件实现,即用单片机内部的可编程定时/计数器来实现,但误差很大,主要用在对时间精度要求不高的场合;二是用专门的时钟芯片实现,在对时间精度要求很高的情况下,通常采用这种方法,典型的时钟芯片有:DS1302,DS12887,X1203等都可以满足高精度的要求。 AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k B ytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。 AT89S51具有如下特点:40个引脚,4k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。

相关文档
最新文档