基于单片机的多功能数字钟60秒LED旋转电子钟

基于单片机的多功能数字钟60秒LED旋转电子钟
基于单片机的多功能数字钟60秒LED旋转电子钟

第1节引言

1.1 电子钟概述

目前市场上提供的无论是机械钟还是石英钟在晚上无照明的情况下都是不可见的。要知道当前的时间,必须先开灯,故较为不便。现在市场上也出现了一些电子钟,它以六只LED数码管来显示时分秒,违背了人们指针式的传统习惯与理念,而且这类电子钟一般是采用大型显示器件,适用于银行、车站等公共场所,且外观设计欠美观,很少进入百姓家庭。此外,无论是机械钟、石英钟还是电子钟,都存在着共同的问题:时间误差。针对以上存在的问题,我们设计了一款采用LED显示器件显示的电子时钟,解决了时钟存在的误差问题,并能在夜间不必其它照明就能看到时间,且以60只发光管实现秒显示,接近于传统的秒针来显示秒的形式,用户容易接受,而且美观大方。另加七只装饰用的LED灯,使整个时钟显的相当美观新颖,故还可作为室内装饰用。

1.2 设计任务

本次设计通过对一个实现定时、双时钟显示、闹钟、温度等功能的时间系统的设计,其中结合了数据转换显示、数码管显示、动态扫描、单片机定时中断等技术。系统由AT89C2051、LED数码管、按键、三极管、两片CD4017BE、CD4069BE、DS18B20、电阻等组成。能实现时钟时、分、秒的显示。也具有温度显示、时间设置、闹铃开和关设置、制式切换。文章后附有电路图、程序清单。

1.3 系统主要功能

电子钟的外观如图1所示。周边60只发光管顺时旋转来显示秒,中间四只LED 数码管用于显示时间,中下方的七只LED灯顺时旋转,供装饰用。其主要功能有:

①整点报时;

②四只LED数码管显示当前时分;

③每隔一秒钟周边的60只LED发光管旋转一格;

④当发生停电事件时,由后备电池供电,系统进入低功耗状态,所

有显示部件停止显示,这样即延长了电池的寿命,同时又保证CPU继续计数,不至于因停电而时钟停止运行。

⑤当恢复供电后,系统自动恢复工作状态,不影响计时。

图一

第2节电子钟硬件设计

2.1系统的硬件构成及功能

电子钟的原理框图如图2所示。它由以下几个部件组成:单片机89C2051、电源、时分显示部件、60秒旋转译码驱动电路。

时分显示采用动态扫描,以降低对单片机端口数的要求,同时也降低系统的功耗。时分显示模块、60秒旋转译码驱动电路以及显示驱动都通过89C2051的I/O口控制。

电源:电源部分有二部分组成。一部分是由220V的市电通过变压、整流稳压来得到+5V电压,维持系统的正常工作;另一部分是由3V的电池供电,以保证停电时正常计时。正常情况下电池是不提供电能的,以保证电池的寿命。具体电路参见“新颖的60秒旋转电子钟参考电路原理图”。

2.2AT89C2051单片机及其引脚说明

AT89C2051单片机是51系列单片机的一个成员,是8051单片机的简化版。内部自带2K字节可编程FLASH存储器的低电压、高性能COMS八位微处理器,与Intel MCS-51系列单片机的指令和输出管脚相兼容。由于将多功能八位CPU和闪速存储器

结合在单个芯片中,因此,AT89C2051构成的单片机系统是具有结构最简单、造价最低廉、效率最高的微控制系统,省去了外部的RAM、ROM和接口器件,减少了硬件开销,节省了成本,提高了系统的性价比。

AT89C2051是一个有20个引脚的芯片,引脚配置如图3所示。与8051相比,AT89C2051减少了两个对外端口(即P0、P2口),使它最大可能地减少了对外引脚下,因而芯片尺寸有所减小。AT89C2051芯片的20个引脚功能为:

VCC 电源电压;

GND 接地;

RST 复位输入。当RST变为高电平并保持2个机器周期时,所有I/O引脚复位至“1”;XTAL1 反向振荡放大器的输入及内部时钟工作电路的输入;

XTAL2 来自反向振荡放大器的输出。

P1口 8位双向I/O口。引脚P1.2~P1.7提供内部上拉,当作为输入并被外部下拉为低电平时,它们将输出电流,这是因内部上拉的缘故。

P1.0和P1.1需要外部上拉,可用作片内精确模拟比较器的正向输入(AIN0)和反向输入(AIN1),P1口输出缓冲器能接收20mA的灌电流,并能直接驱动LED显示器;P1口引脚写入“1”后,可用作输入。在闪速编程与编程校验期间,P1口也可接收编码数据。

P3口引脚P3.0~P3.5与P3.7为7个带内部上拉的双向I/0引脚。P3.6在内部已与片内比较器输出相连,不能作为通用I/O引脚访问。P3口的输出缓冲器能接收20mA 的灌电流;P3口写入“1”后,内部上拉,可用作输入。P3口也可用作特殊功能口,其功能见表1。P3口同时也可为闪速存储器编程和编程校验接收控制信号。

2.360秒旋转译码驱动原理

按常规传统设计,需60进制译码驱动电路才能实现60秒旋转译码驱动,若用六片十进制计数译码器构成六十进制计数译码电路,则电路连线多(需要120根连

线),硬件电路庞大,开销大。为此,我们巧妙地采用了两片CD4017进行六十进制计数译码,实现60秒旋转译码驱动。既减少了电路的复杂程度又可降低了成本。图4

图3.4 AT89C2051引脚配

图4 CD4017引脚图

图5 CD4017时序图

为CD4017功能引脚图,图5为其时序图。CD4017集成电路是十进制计数/时序译码器,共有10个译码输出Q0~Q9;每个译码输出通常处于低电平,且在时钟脉冲由低到高的上升沿输出高电平;每个高电平输出维持1个时钟周期;每输入10个时钟脉冲,输出一个进位脉冲,因此进位输出信号可作为下一级计数器的时钟信号。在清零输入端(R )加高电平或正脉冲时,只有输出端Q0为高电平,其余各输出端均为低电平“0”。

为实现对发光二极管的驱动,将每一个译码输出端口接一只发光二极管,并将二

极管串联限流电阻后接地。当译码端口Q0~Q9中任一端口为高电平,则对应的发光二极管点亮,如图6所示。

仔细考查CD4017的功能,可发现其10个输出的高电平是相互排斥的,即任一时刻只有一只发光二极管点亮,因此可将图6电路进一步简化为如图7所示,从而简化电路设计。

在本电子钟设计中,每秒点亮一个发光二极管,循环点亮一周共需60个发光二极管,若用上述的6片CD4017实现驱动,显然电路复杂。为此我们选用两片CD4017和一片6反相器,采用“纵横双译码”技术,巧妙地实现60秒旋转译码驱动,其中一片接成10进制,一片接成6进制,实现6×10=60的功能,具体连接方法如图8图6 CD4017控制LED 原理图 图7 优化后控制LED 原理图

所示。

将周期为1秒的输入脉冲作为其中一片CD4017的时钟脉冲,而此片的级联进位输出端(QC )作为另一片的时钟输入,并将Q6与复位端相连。在两片译码输出端交叉点上接入发光二极管,构成6×10矩阵。根据CD4017时序特点,在初始状态,作为高位(纵)的CD4017译码器输出端口Q0处于高平,经反相器反相后为低电平。当作为低位(横)的CD4017译码器输出端口Q0~Q9依次输出高电平后,则对应的二极管LD1~LD10依次点亮;此后由于QC 端的进位,高位CD4017译码输出端口Q1输出高电平,反相后输出低电平,当低位的CD4017译码输出端口Q0~Q9依次输出高电平后,二极管LD11~LD20依次点亮。如此往复,直至高位Q6向复位端输入高电平,CD4017复位,60秒循环点亮重新开始。

2.4 时分显示部件

由于系统要显示的内容较简单,显示量不多,所以选用数码管既方便又经济。LED 有共阴极和共阳极两种。如图8所示。

二极管的阴极连接在一起,通常此公共阴极接地,

而共阳极则将发光二极管的阳极连接在一起,接入+5V 的电压。一位显示器由8个发光二极管组成,其中7个发光二极管构成字型“8”的各个笔划(段)a ~g ,另一个小数点为dp 发光二极管。当在某段发光二极管施加一定的正向电压时,该段笔划即亮;不加电压则暗。为了保护各段LED 不被损坏,需外加限流电阻

LED 显示数码管通常由硬件7段译码集成电路,完成从数字到显示码的译码驱动。本系统采用软件译码,以减小体积,降低成本和功耗,软件译码的另一优势还在于比硬件译码有更大的灵活性。所谓软件译码,即由单片机软件完成从数字到显示码的转换。从LED 数码管结构原理可知,为了显示字符,要为LED 显示数码管提供显示段码,组成一个“8”字形字符的7段,再加上1个小数点位,共计8段,因此提供给LED 数码管的显示段码为1个字节。这种连接方式由于多位字段线连在一起,因此,要想图8 发光二极管“纵横双译码”循环点亮LED 原理图

显示不同的内容,必然要采取轮流显示的方式,即在某一瞬间,只让其中的某一位的字位线处于选通状态,其它各位的字位线处于断开状态,同时字段线上输出这一位相应要显示字符的字段码。在这一瞬时,只有这一位在显示,其他几位则暗。在本系统中,字位线的选通与否是通过PNP三极管的导通与截止来控制,即三极管处于“开关”状态。

系统的时分显示部件由4只7段共阳LED数码管构成,前两只用于时的显示,后两只用于分的显示。值得一提的是,在设计中需要实现时与分之间的两个闪烁点,为此,将第三只LED数码管倒置摆放,这样就很巧妙地形成了两个很自然的闪烁点。与此同时,为了能使两点显示能够形象的表示时钟“秒”的变化,设计时,将两个点由P1.7单独控制,每隔一秒使P1.7发送一个正脉冲,从而实现了两个点的闪烁显示,闪烁周期为一秒

第三节实验核心代码

DP BIT 24H.3 ;定义半秒闪烁位单元

SECOND EQU 31H ; 定义计数单元

MBUF EQU 32H ; 定义分计数单元

HBUF EQU 33H ; 定义时计数单元

MBUF0 EQU 34H ; 定义分个位计数存储单元

MBUF1 EQU 35H ; 定义分十位计数存储单元

HBUF0 EQU 36H ; 定义时个位计数存储单元

HBUF1 EQU 37H ; 定义时十位计数存储单元

DMBF0 EQU 40H ; 定义分个位显示缓冲单元

DMBF1 EQU 41H ; 定义分十位显示缓冲单元

DHBF0 EQU 42H ; 定义时个位显示缓冲单元

DHBF1 EQU 43H ; 定义时十位显示缓冲单元

AMBF10 EQU 44H ; 定义定闹1分个位缓冲单元

AMBF11 EQU 45H ; 定义定闹1分十位缓冲单元

AHBF10 EQU 46H ; 定义定闹1时个位缓冲单元

AHBF11 EQU 47H ; 定义定闹1时十位缓冲单元

AMBF1 EQU 48H ; 定义定闹1分计数单元

AHBF1 EQU 49H ; 定义定闹1时计数单元

AMBF20 EQU 4AH ; 定义定闹2分个位缓冲单元AMBF21 EQU 4BH ; 定义定闹2分十位缓冲单元

AHBF20 EQU 4CH ; 定义定闹2时个位缓冲单元

AHBF21 EQU 4DH ; 定义定闹2时十位缓冲单元

AMBF2 EQU 4EH ; 定义定闹2分计数单元

AHBF2 EQU 4FH ; 定义定闹2时计数单元

AA EQU 50H

LED BIT P1.7 ; LED脉冲

ORG 0000H

LJMP MAIN

ORG 000BH

MOV TL0, #0DCH ; 125毫秒定时器初值低8位

MOV TH0, #0BH ; 125毫秒定时器初值高8位

PUSH ACC ; 系统主定时,每125毫秒中断1次PUSH PSW

DEC R4 ; 软件计数器减1

INT01: DJNZ R2, INT02 ; 1秒计数

MOV R2, #08H

CPL DP ; 小数点半秒闪烁

ACALL BEEP ; 1秒到, 发“笛嗒”声和LED旋转脉冲DJNZ SECOND, OUTT0

MOV SECOND, #10H ; 1分到

ACALL ADD1 ; 分十进制加1子程序

INT02: MOV A, R2

CJNE A, #08H, OUTT0 ; 判断是否半秒

CPL DP ; 是半秒,秒闪动一次

OUTT0: POP PSW

POP ACC

RETI

MAIN: MOV SP, #6FH

MOV R2, #08H ; 定时器1秒中断次数

MOV R4, #08H ; 快校时定时计数,8X125ms后快校时MOV SECOND, #3CH ; 秒计数单元

MOV MBUF0, #0 ; 分个位计数存储单元0 初值

MOV MBUF1, #0 ; 分十位计数存储单元1 初值

MOV HBUF0, #4 ; 时个位计数存储单元0 初值

MOV HBUF1, #1 ; 时十位计数存储单元1 初值

MOV MBUF, #00H ; 分计数存储单元初值

MOV HBUF, #14H ; 时计数存储单元初值

MOV AMBF10, #1 ; 定闹1分个位计数存储单元0 初值MOV AMBF11, #0 ; 定闹1分十位计数存储单元1 初值MOV AHBF10, #4 ; 定闹1时个位计数存储单元0 初值MOV AHBF11, #1 ; 定闹1时十位计数存储单元1 初值MOV AMBF1, #01H ; 定闹1分计数存储单元初值

MOV AHBF1, #14H ; 定闹1时计数存储单元初值

MOV AMBF20, #3 ; 定闹2分个位计数存储单元0 初值MOV AMBF21, #5 ; 定闹2分十位计数存储单元1 初值MOV AHBF20, #0 ; 定闹2时个位计数存储单元0 初值MOV AHBF21, #2 ; 定闹2时十位计数存储单元1 初值MOV AMBF2, #53H ; 定闹2分计数存储单元初值

MOV AHBF2, #20H ; 定闹2时计数存储单元初值

MOV IE, #10000010B ; 允许定时器0中断

MOV TMOD, #00100001B ; T0方式1

MOV TL0, #0DCH ; 125毫秒定时器初值低8位

MOV TH0, #0BH ; 125毫秒定时器初值高8位

MOV IP, #00000010B ; 定时器0高优先级

SETB TR0 ; 启动T0计时

LOOP: MOV R4, #08 ; 喂狗

MOV A, HBUF ; 取时整点

SUBB A, #7

JC LOOP1 ; 判断是否早7时前

MOV A, HBUF ; 早7时前----晚22时后为夜间

SUBB A, #22H

JNC LOOP1 ; 判断是否晚22时后

ACALL DISP

AJMP ALARM1

LOOP1: ACALL NDISP ; 是夜间,调用夜间显示子程序ALARM1: MOV A, AHBF1 ; 判定闹1

CJNE A, HBUF, ALARM2 ; 判定闹1的小时是否与系统时间相等?MOV A, AMBF1

CJNE A, MBUF, ALARM2 ; 判定闹1的分是否与系统时间相等?MOV C, DP

MOV P3.3, C ; 蜂鸣器响半秒,停半秒

MOV A, SECOND ; 定闹1分钟

JNZ LOOP

ALARM2: MOV A, AHBF2

CJNE A, HBUF, LOOP2 ; 判定闹2的时是否与系统时间相等?MOV A, AMBF2

CJNE A, MBUF, LOOP2 ; 判定闹2的分是否与系统时间相等?MOV C, DP

MOV C, DP

MOV P3.3, C ; 蜂鸣器响半秒,停半秒

MOV A, SECOND ; 定闹1分钟

JNZ LOOP

LOOP2: JB P3.2, LOOP7 ; 判断校时键是否按下? LOOP3: ACALL DISP ; 用于长时间按键时的显示MOV A, R4 ; 有校时键按下

CJNE A, #00H, LOOP6 ; 校时键按下有1秒吗?

LOOP4: ACALL ADD1 ; 校时键按下有1秒,则快调

MOV R1, #40

LOOP5: ACALL DISP

DJNZ R1, LOOP5

JNB P3.2, LOOP4 ; 校时键未放开,继续快调

AJMP LOOP7 ;

LOOP6: JNB P3.2, LOOP3 ; 校时键按下不到1秒,返回再判ACALL ADD1 ; 单次慢调

MOV TL0, #0DCH ; 校时结束,秒初值置0

MOV TH0, #0BH

MOV SECOND, #00

LOOP7: JB P3.3, LOOP

ALAM11: ACALL ADSP1 ; 用于设置定闹1时,长时间按键的显示MOV A, R4 ; 有定闹1键按下

CJNE A, #00H, ALAM16 ; 定闹1键按下有1秒吗?

ALAM12: ACALL AAD1 ; 定闹1键按下有1秒,则快调

MOV R1, #50

ALAM13: ACALL ADSP1

DJNZ R1, ALAM13

JNB P3.3, ALAM12

MOV R1, #10 ; 定闹1快调结束,闪烁显示定闹时间8秒ALAM14: MOV R3, #40

ALAM15: ACALL ADSP1

DJNZ R3, ALAM15

ACALL D400MS

DJNZ R1, ALAM14

AJMP AGAIN

ALAM16: NOP

JNB P3.3, ALAM11 ; 定闹1键按下不到1秒,返回再判

ALAM17: ACALL AAD1 ; 定闹1单次慢调

MOV R1, #10 ; 定闹1慢调结束,闪烁显示定闹时间12秒ALAM18: MOV R3, #40

ALAM19: ACALL ADSP1

DJNZ R3, ALAM19

ACALL D400MS

DJNZ R1, ALAM18

AGAIN: JB P3.3, RETUN ; 返回主程序

MOV R4, #08

ALAM21: ACALL ADSP2 ; 用于设置定闹2时,长时间按键的显示MOV A, R4 ; 有定闹2键按下

CJNE A, #00H, ALAM26 ; 定闹2键按下有1秒吗?

ALAM22: ACALL AAD2 ; 定闹2键按下有1秒,则快调

MOV R1, #50

ALAM23: ACALL ADSP2

DJNZ R1, ALAM23

JNB P3.3, ALAM22

MOV R1, #10 ; 定闹2快调结束,闪烁显示定闹时间9秒ALAM24: MOV R3, #40

ALAM25: DJNZ R3, ALAM25

ACALL D400MS

DJNZ R1, ALAM24

AJMP LOOP

ALAM26: JNB P3.3, ALAM21 ; 定闹2键按下不到1秒,返回再判

ALAM27: ACALL AAD2 ; 定闹2单次慢调

MOV R1, #10 ; 定闹2慢调结束,显示定闹时间9秒ALAM28: MOV R3, #40

ALAM29: ACALL ADSP2

DJNZ R3, ALAM29

ACALL D400MS

DJNZ R1, ALAM28

RETUN: AJMP LOOP ; 返回主程序

ADD1: MOV A, MBUF ; 分加1子程序,

ADD A, #01 ; 分十进制加1

DA A

MOV MBUF, A

ANL A, #0FH

MOV MBUF0, A

MOV A, MBUF

SWAP A

ANL A, #0FH

MOV MBUF1, A

MOV A, MBUF

CJNE A, #60H, ADDOUT

MOV MBUF0, #0

MOV MBUF1, #0

MOV MBUF, #0

MOV A, HBUF

ADD A, #01 ; 时十进制加1

DA A

MOV HBUF, A

ANL A, #0FH

MOV HBUF0, A

MOV A, HBUF

SWAP A

ANL A, #0FH

MOV HBUF1, A

MOV A, HBUF

CJNE A, #24H, ADDOUT

MOV HBUF0, #0

MOV HBUF1, #0

MOV HBUF, #0

ADDOUT:MOV A,MBUF0

CJNE A,#01H,T1

MOV AA,MBUF1

MOV MBUF1,#11

T1: CJNE A,#02H,T2

MOV MBUF1,AA

MOV MBUF0,#11

T2: RET

AAD1: MOV A, AMBF1 ; 定闹1,分加1子程序,

ADD A, #01

DA A

MOV AMBF1, A

ANL A, #0FH

MOV A, AMBF1

SWAP A

ANL A, #0FH

MOV AMBF11, A

MOV A, AMBF1

CJNE A, #60H, AAD1OT

MOV AMBF10, #0

MOV AMBF11, #0

MOV AMBF1, #0

MOV A, AHBF1

ADD A, #01

DA A

MOV AHBF1, A

ANL A, #0FH

MOV AHBF10, A

MOV A, AHBF1

SWAP A

ANL A, #0FH

MOV AHBF11, A

MOV A , AHBF1

CJNE A, #24H, AAD1OT

MOV AHBF10, #0

MOV AHBF11, #0

MOV AHBF1, #0

AAD1OT: RET

AAD2: MOV A, AMBF2 ; 定闹2分加1子程序,ADD A, #01

DA A

MOV AMBF2, A

ANL A, #0FH

MOV AMBF20, A

MOV A, AMBF2

SWAP A

ANL A, #0FH

MOV AMBF21, A

MOV A, AMBF2

CJNE A, 60H, AAD2OT

MOV AMBF20, #0

MOV AMBF21, #0

MOV AMBF2, #0

MOV A, AHBF2

ADD A, #01

DA A

MOV AHBF2, A

ANL A, #0FH

MOV AHBF20, A

MOV A, AHBF2

SWAP A

ANL A, #0FH

MOV AHBF21, A

MOV A, AHBF2

CJNE A, #24H, AAD2OT

MOV AHBF20, #0

MOV AHBF2, #0

AAD2OT: RET

DSPM0: MOVC A, @A+DPTR ; 白天分个位显示子程序

SETB ACC.7

MOV P1, A

CLR P3.5

ACALL DY1MS

SETB P3.5

ACALL DY1MS

RET

DSPM1: MOVC A, @A+DPTR ; 白天分十位显示子程序

MOV C, DP

MOV ACC.7, C

MOV P1, A

CLR P3.4

ACALL DY1MS

SETB P3.4

ACALL DY1MS

RET

DSPH0: MOVC A, @A+DPTR ; 白天时个位显示子程序

MOV C, DP

MOV ACC.7, C

MOV P1, A

CLR P3.1

ACALL DY1MS

SETB P3.1

ACALL DY1MS

RET

DSPH1: MOVC A, @A+DPTR ; 白天时十位显示子程序

SETB ACC.7

MOV P1, A

CLR P3.0

ACALL DY1MS

SETB P3.0

ACALL DY1MS

RET

DISP: MOV DPTR , #TAB1 ; 显示子程序,指向个位顺置管段码表首地址MOV A, MBUF0 ; 取分个位

ACALL DSPM0 ; 调用分个位显示子程序

MOV DPTR, #TAB2

MOV A, MBUF1 ; 取分十位

ACALL DSPM1 ; 调用分十位显示子程序

MOV DPTR, #TAB1

MOV A, HBUF0 ; 取时个位

ACALL DSPH0 ; 调用时个位显示子程序

MOV DPTR, #TAB1

MOV A, HBUF1 ; 取时十位

ANL A, #0FFH

JNZ DISP1

MOV A, #0AH

DISP1: ACALL DSPH1 ; 调用时十位显示子程序

RET

NDPM0: MOVC A, @A+DPTR ; 夜间分个位显示子程序

SETB ACC.7

MOV P1, A

CLR P3.5

ACALL DY1MS

SETB P3.5

ACALL DY2MS

RET

NDPM1: MOVC A, @A+DPTR ; 夜间分十位显示子程序

MOV C, DP

MOV ACC.7,C

MOV P1, A

CLR P3.4

ACALL DY1MS

SETB P3.4

ACALL DY2MS

RET

NDPH0: MOVC A, @A+DPTR ; 夜间时个位显示子程序

MOV C, DP

MOV ACC.7,C

MOV P1, A

CLR P3.1

ACALL DY1MS

SETB P3.1

ACALL DY2MS

RET

NDPH1: MOVC A, @A+DPTR ; 夜间时十位显示子程序

SETB ACC.7

MOV P1, A

CLR P3.0

ACALL DY1MS

SETB P3.0

ACALL DY2MS

RET

NDISP: NOP

MOV DPTR, # TAB1 ; 显示子程序,指向个位顺置管段码表首地址

MOV A, MBUF0 ; 取分个位

ACALL NDPM0 ; 调用分个位显示子程序

MOV DPTR, #TAB2

MOV A, MBUF1 ; 取分十位

ACALL NDPM1 ; 调用分十位显示子程序

MOV DPTR, #TAB1

MOV A, HBUF0 ; 取时个位

ACALL NDPH0 ; 调用时个位显示子程序

MOV DPTR , # TAB1

MOV A, HBUF1 ; 取时十位

ANL A, #0FFH

JNZ NDISP1

MOV A, #0AH

NDISP1: ACALL NDPH1 ; 调用时十位显示子程序

RET

ADSP1: NOP

MOV DPTR, #TAB1 ; 定闹1显示子程序,指向个位顺置管段码表首地址

MOV A, AMBF10 ; 取定闹1分个位

ACALL DSPM0 ; 调用分个位显示子程序

MOV DPTR, #TAB2

MOV A, AMBF11 ; 取定闹1分十位

ACALL DSPM1 ; 调用分十位显示子程序

MOV DPTR, #TAB1

MOV A, AHBF10 ; 取定闹1时个位

ACALL DSPH0 ; 调用时个位显示子程序

MOV DPTR, #TAB1

MOV A, AHBF11 ; 取定闹1时十位

ANL A, #0FFH

JNZ ADSP11

MOV A, #0AH

ADSP11: ACALL DSPH1 ; 调用时十位显示子程序

RET

ADSP2: MOV DPTR, #TAB1 ; 定闹2显示子程序,指向个位顺置管段码表首地址MOV A, AMBF20 ; 取定闹2分个位

ACALL DSPM0 ; 调用分个位显示子程序

MOV DPTR, #TAB2

MOV A, AMBF21 ; 取定闹2分十位

ACALL DSPM1 ; 调用分十位显示子程序

MOV DPTR, #TAB1

MOV A, AHBF20 ; 取定闹2时个位

ACALL DSPH0 ; 调用时个位显示子程序

MOV DPTR, #TAB1

MOV A, AHBF21 ; 取定闹2时十位

ANL A, #0FFH

JNZ ADSP21

MOV A, #0AH

ADSP21: CLR ACC.7

ACALL DSPH1 ; 调用时十位显示子程序

RET

DY1MS: MOV R6, #250 ; 延时1ms子程序

DY1M1: DJNZ R6, DY1M1

RET

DY2MS: MOV R6, #250 ; 延时2ms子程序

DY2M1: NOP

NOP

DJNZ R6, DY2M1

RET

D100MS: MOV R7, #100 ; 延时100ms子程序

D100M1: MOV R6, #250

D100M2: DJNZ R6, D100M2

DJNZ R7, D100M1

RET

D400MS: MOV R7, #200 ; 延时400ms子程序

D400M1: MOV R6, #250

D400M2: NOP

NOP

DJNZ R6, D400M2

DJNZ R7, D400M1

RET

BEEP: CLR P3.3

CPL LED ; LED旋转脉冲

CPL LED

MOV R6, #10

BEEP1: DJNZ R6, BEEP1

SETB P3.3

RET

INTT1: NOP

RETI

TAB1: DB 0C0H, 0F9H, 0A4H, 0B0H, 99H ; 段码

DB 92H, 82H, 0F8H, 80H, 90H, 0FFH,08H

TAB2: DB 0C0H, 0F9H, 0A4H, 86H, 8BH ; 倒置段码

DB 92H, 42H, 0F8H, 40H, 50H, 0FFH,01H

END

第四节实验总结体会

来到师大的第一次短学期,忙忙碌碌的三天,总的来说在余老师的指导下基本完成了实验的基本要求,但是离精通还差得很远,在以后的学习中还要继续努力。第一天是硬件的完成,第一次拿到电路板,还有很多小零件,但是最大的问题是要把这些零件组装起来,组装成一个成品的数字钟,其中要经过的工序很多,也是一个比较考验耐心和细心的过程,这其中最关键的一道工序就是焊接,虽然大专的时候也接触过焊接,但是大专时候的焊接工作量很小,只是象征性地焊一两个零件,可是这次要重复焊接这种动作N次,这其中还涉及到LED灯的正负极,LED灯焊接的顺序,蜂鸣器的正负极,电阻的种类,特别是CD4017和CD4069,一个是八个引脚,一个是七个引脚,这其中最难的我感觉是USB座的焊接,注意力必须高度集中,稍微一马虎就会弄坏USB座,成品做好后,可以运行,但没有声音,仔细检查原来是蜂鸣器正负极焊反了,又重新拆下来焊了一次,第二次焊难度加大。硬件制作过程中我总结出:尽量一次做好,哪怕慢一些,返工的话很容易弄坏电路板。

最好实验还是回到了编程,编程时单片机的灵魂,单片机是一个软硬结合的科目,反映到实验上也是这样,要想很好地完成实验的要求,编出适合的程序就必须对实验已经给出的编程基本框架理解,吃透。只有在这个基础上才可以编出满足你要求的程序,刚开始看程序比较头大,程序有五页,后来才慢慢发现结合电路图看程序比较容易一点,下午老师验收出的题目是14点01的时候小时的各位遍C,14点02的时候分钟的十位变C这个问题确实是个挑战对我,第一次我用SET把LED灯的b,g,c关掉成功的变出了C,可是怎么让下一分钟跳到分钟的十位,冥思苦想,最后还是推倒重来,在ADD1后面重新加了一个程序片段ADDOUT,最后修改TAB,加入C倒置和正置的代码,,用闹钟的方法完成了老师的要求,这些要得益于自己对以往知识的温故,和老师的交流取经,和同学的讨论。

实验成功之余,感谢余老师对我的栽培。

单片机电子时钟的设计

单片机电子时钟的设计 ----------- 基于单片机的电子时钟 专业:运算机科学与技术 班级:专升本1班 小组成员:张琴张娜赵慧佩 学号:23 24 25

基于单片机的电子时钟设计 摘要 20世纪末,电子技术获得了飞速的进展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的进展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。 现代生活的人们越来越重视起了时刻观念,能够说是时刻和金钱划上了等号。关于那些对时刻把握专门严格和准确的人或事来说,时刻的不准确会带来专门大的苦恼,因此以数码管为显示器的时钟比指针式的时钟表现出了专门大的优势。数码管显示的时刻简单明了而且读 数快、时刻准确显示到秒。而机械式的依靠于晶体震荡器,可能会导致误差。 数字钟是采纳数字电路实现对“时”、“分”、“秒”数字显示的计时装置。数字钟的精度、稳固度远远超过老式机械钟。在这次设计中,我们采纳LED数码管显示时、分、秒,以24 小时计时方式,依照数码管动态显示原理来进行显示,用12MHz的晶振产生振荡脉冲,定时器计数。在此次设计中,电路具有显示时刻的其本功能,还能够实现对时刻的调整。数字钟是其小巧,价格低廉,走时精度高,使用方便,功能多,便于集成化而受宽敞消费的喜爱,因此得到了广泛的使用。 .

目录 第一章绪论 1.1 数字电子钟的背景 (4) 1.2 数字电子钟的意义 (4) 1.3 数字电子钟的应用 (4) 第二章整体设计方案 2.1 单片机的选择 (5) 2.2 单片机的差不多结构 (7) 第三章数字钟的硬件设计 3.1 最小系统设计 (11) 3.2 LED显示电路 (14) 第四章数字钟的软件设计 4.1 系统软件设计流程图 (16) 4.2 数字电子钟的原理图 (19) 第五章系统仿真 5.1 PROTUES软件介绍 (20) 5.2 电子钟系统PROTUES仿真 (21) 第六章调试与功能说明 6.1 硬盘调试 (22) 6.2 系统性能测试与功能说明 (22) 6.3 系统时钟误差分析 (22) 6.4 软件调试问题及解决 (22) 附件:主程序 (23)

AT89C51单片机电子时钟设计资料

AT89C51单片机电子时钟设计 学院: 专业: 学号: 学生:

目录 1 电子时钟 (4) 1.1 电子时钟简介 (4) 1.2 电子时钟的基本特点 (4) 1.3 电子时钟的原理 (4) 2 单片机识的相关知识 (4) 2.1单片机简介 (4) 2.2 单片机的特点 (5) 2.3 AT89C51单片机介绍 (5) 3 设计方案的选择 (7) 3.1计时方案 (7) 3.2 显示方案 (7) 3.3 数码管显示工作原理 (8) 3.4 键盘电路设计 (9) 3.5 主控模块AT89C51 (9) 4 系统软件设计 (9) 附录 (12)

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

1 电子时钟 1.1 电子时钟简介 本设计采用AT89C51单片机,以汇编语言为程序设计的基础,设计一个用六位数码管显示时、分、秒的时钟。现代的电子时钟是基于单片机的一种计时工具,采用延时程序产生一定的时间中断,用于一秒的定义,通过计数方式进行满六十秒分钟进一,满六十分小时进一,满二十四小时小时清零,从而达到计时的功能,是人民日常生活不可缺少的工具。 1.2 电子时钟的基本特点 现在高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟、石英钟、石英表都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调试,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时、分、秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。 1.3 电子时钟的原理 该电子时钟由AT89C51,键盘,八段数码管等构成,采用晶振电路作为驱动电路,由延时程序和循环程序产生的一秒定时,达到时分秒的计时,六十秒为一分钟,六十分钟为一小时,满二十四小时为一天。而电路中唯一的一个控制键却拥有多种不同的功能,按下又松开,可以实现屏蔽数码管显示的功能,达到省电的目的;直接按下不松开,则可以通过按键实现分钟的累加,每按一次分钟加一;而连续两次按下按键不放松,则可实现小时的调节,同样每按一次小时加一。 2 单片机识的相关知识 2.1单片机简介 单片机是指一个集成在一块芯片上的完整计算机系统。尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。

基于单片机的多功能数字钟60秒LED旋转电子钟

第1节引言 1.1 电子钟概述 目前市场上提供的无论是机械钟还是石英钟在晚上无照明的情况下都是不可见的。要知道当前的时间,必须先开灯,故较为不便。现在市场上也出现了一些电子钟,它以六只LED数码管来显示时分秒,违背了人们指针式的传统习惯与理念,而且这类电子钟一般是采用大型显示器件,适用于银行、车站等公共场所,且外观设计欠美观,很少进入百姓家庭。此外,无论是机械钟、石英钟还是电子钟,都存在着共同的问题:时间误差。针对以上存在的问题,我们设计了一款采用LED显示器件显示的电子时钟,解决了时钟存在的误差问题,并能在夜间不必其它照明就能看到时间,且以60只发光管实现秒显示,接近于传统的秒针来显示秒的形式,用户容易接受,而且美观大方。另加七只装饰用的LED灯,使整个时钟显的相当美观新颖,故还可作为室内装饰用。 1.2 设计任务 本次设计通过对一个实现定时、双时钟显示、闹钟、温度等功能的时间系统的设计,其中结合了数据转换显示、数码管显示、动态扫描、单片机定时中断等技术。系统由AT89C2051、LED数码管、按键、三极管、两片CD4017BE、CD4069BE、DS18B20、电阻等组成。能实现时钟时、分、秒的显示。也具有温度显示、时间设置、闹铃开和关设置、制式切换。文章后附有电路图、程序清单。 1.3 系统主要功能 电子钟的外观如图1所示。周边60只发光管顺时旋转来显示秒,中间四只LED 数码管用于显示时间,中下方的七只LED灯顺时旋转,供装饰用。其主要功能有: ①整点报时; ②四只LED数码管显示当前时分; ③每隔一秒钟周边的60只LED发光管旋转一格; ④当发生停电事件时,由后备电池供电,系统进入低功耗状态,所 有显示部件停止显示,这样即延长了电池的寿命,同时又保证CPU继续计数,不至于因停电而时钟停止运行。 ⑤当恢复供电后,系统自动恢复工作状态,不影响计时。

基于51单片机的实时时钟设计报告

课程设计(论文)任务书 信息工程学院信息工程专业(2)班 一、课程设计(论文)题目嵌入式课程设计 二、课程设计(论文)工作自 2014 年 6 月 9 日起至2014年 6月15日止。 三、课程设计(论文) 地点: 5-402 单片机实验室 四、课程设计(论文)内容要求: 1.本课程设计的目的 (1)使学生掌握单片机各功能模块的基本工作原理; (2)培养学生单片机应用系统的设计能力; (3)使学生能够较熟练地使用proteus工具完成单片机系统仿真。 (4)培养学生分析、解决问题的能力; (5)提高学生的科技论文写作能力。 2.课程设计的任务及要求 1)基本要求: (1)分析所设计系统中各功能模块的工作原理; (2)选用合适的器件(芯片); (3)提出系统的设计方案(要有系统电路原理图); (4)对所设计系统进行调试。 2)创新要求: 在基本要求达到后,可进行创新设计,如改善单片机应用系统的性能。 3)课程设计论文编写要求 (1)要按照书稿的规格打印撰写论文。 (2)论文包括目录(自动生成)、摘要、正文、小结、参考文献、附录等。 (3)论文装订按学校的统一要求完成。 4)答辩与评分标准: (1)完成原理分析:20分; (2)完成设计过程:30分; (3)完成调试:20分; (4)回答问题:20分; (5)格式规范性(10分)。

5)参考文献: (1)张齐.《单片机原理与嵌入式系统设计》电子工业出版社 (2)周润景.《PROTUES入门实用教程》机械工业出版社 (3)任向民.《微机接口技术实用教程》清华大学出版社 (4)https://www.360docs.net/doc/103771868.html,/view/a5a9ceebf8c75fbfc77db2be.html 6)课程设计进度安排 内容天数地点 构思及收集资料1图书馆 系统设计与调试 4 实验室 撰写论文2图书馆、实验室 学生签名: 2014 年6 月9日 课程设计(论文)评审意见 (1)完成原理分析(20分):优()、良()、中()、一般()、差(); (2)设计分析(30分):优()、良()、中()、一般()、差(); (3)完成调试(20分):优()、良()、中()、一般()、差(); (4)回答问题(20分):优()、良()、中()、一般()、差(); (5)格式规范性(10分):优()、良()、中()、一般()、差(); 评阅人:职称: 2014 年6 月15 日

单片机课程设计-电子钟

中北大学 单片机课程设计说明书 数字钟设计 1 设计任务与要求 (1)

1.1设计任务 (1) 1.2设计要求 (1) 2单片机简介 (2) 2.1单片机的发展历程 (2) 3系统设计思路和方案 (3) 3.1系统总体方案 (3) 3.2硬件简介 (3) 3.2.1硬件选择 (3) 3.2.2 51单片机的构成 (4) 3.2.3 STC89C52RC引脚功能说明 (5) 3.2.4 LED简介 (6) 3.3 Keil调试 (7) 4、系统实物图 (9) 5、课程设计体会 (9) 参考文献 (10) 附录A (11) 附录B (13) 附录C (14)

1 设计任务与要求 1.1设计任务 本课题应完成以下设计内容: 1)硬件设计 设计数字钟的电路原理图,用PROTEL绘制硬件电路。制作实物。 2)软件设计 (1)时、分、秒的设置及显示; (2)画出程序框图; (3)调试与分析。用PROTEUS仿真。 3)课程设计说明书 1.2设计要求 本课程设计的基本要求是使学生全面掌握单片机控制系统设计的基本理论,熟悉掌握MCS-51 系列单片机的编程方法,具体要求:本例利用AT89C51的定时器和6位7段数码管,设计一个电子时钟。显示格式为“XX XX XX”,由左向右分别是:时、分、秒。

2单片机简介 2.1单片机的发展历程 单片机是微型计算机的一个重要分支,也是一种非常活跃和颇具生命力的机种,特别适用于工业控制领域。1971年微处理器研制成功不久,就出现了单片机,但最早的单片机是1位的,处理能力有限。单片机的发展共分四个阶段:第一阶段是初级阶段,功能非常简单;第二阶段是低性能阶段, 16位定时器/计数器,片内ROM、RAM容量加大,直到现在仍被广泛应用,是目前应用数量较多的单片机。、32位单片机推出阶段,以满足不同的用户需要。纵观单片机几十年的发展历程,单片机的今后发展方向将向多功能、高性能、高速度、低功耗、低价格、外围电路内装化以及内存储器容量增加和FLASH存储器化方向发展。 2.2实用价值与理论意义 在单片机模块里比较常见,数字时钟是一种用0数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更高的使用寿命,新词得到了广泛的应用。 数字时钟是采用数字电路实现对时、分、秒数字显示的计时装置,广泛用于个人家庭、车站、码头、办公室等公用场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字时钟的精度远远超过老式钟表,钟表的数字化给人们的生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。因此研究数字时钟及扩大其应用有着非常现实的意义。

电子综合设计-基于单片机多功能数字时钟的设计(附完整程序)

课题:基于51单片机的多功能数字时钟系统设计 一、概述、设计思路 该设计方案是以MC51单片机为核心,采用LCD液晶屏幕显示系统,辅以闹钟模块,温度采集模块、日期提醒、键盘时间调整预设置等模块,所构建的数字时钟系统,能动态显示实时时钟的时、分、秒,数据显示(误差限制在30每天),对闹铃方式与温度调节模块进行了重点设计实现SB0、SB1、SB2、SB3四个键实现时钟正常显示,调时,及闹钟时间设置。本系统设计大部分功能有软件来实现,使电路简单明了,系统稳定性也得大大提高。 二、系统组成与工作原理 1、工作原理: 本设计采用STC89C51单片机作为本次课程设计的控制模块。单片机可把由DS18B20、DS1302、AT24C02中的数据利用软件来进行处理,从而把数据传输到显示模块,实现温度、日历和闹铃的显示。以LCD液晶显示器为显示模块,把单片机传来的的数据显示出来,并且显示多样化,在显示电路中,主要靠按键来实现各种显示要求的选择与切换。 2、总是设计框架图:

图二:系统总体电路图 三、单元电路的设计与分析 整个电子时钟系统电路可分为六大部分:中央处理单元(CPU)、复位电路部分、显示部分、键盘输入部分、温度采集部分。 1、MCS-51单片机 VCC: 89S51 电源正端输入,接+5V。 VSS: 电源地端。

XTAL1: 单芯片系统时钟的反相放大器输入端。 XTAL2: 系统时钟的反相放大器输出端,一般在设计上只要在XTAL1 和XTAL2 上接上一只石英振荡晶体系统就可以动作了,此外可以在两引脚与地之间加入一20PF 的小电容,可以使系统更稳定,避免噪声干扰而死机。 RESET: 89S51的重置引脚,高电平动作,当要对晶片重置时,只要对此引脚电平提升至高电平并保持两个机器周期以上的时间,AT89S51便能完成系统重置的各项动作,使得内部特殊功能寄存器之内容均被设成已知状态,并且至地址0000H处开始读入程序代码而执行程序。 EA/Vpp: "EA"为英文"External Access"的缩写,表示存取外部程序代码之意,低电平动作,也就是说当此引脚接低电平后,系统会取用外部的程序代码(存于外部EPROM中)来执行程序。因此在8031及8032中,EA引脚必须接低电平,因为其内部无程序存储器空间。如果是使用8751 内部程序空间时,此引脚要接成高电平。此外,在将程序代码烧录至8751内部EPROM时,可以利用此引脚来输入21V的烧录高压(Vpp)。 ALE/PROG: 端口3的管脚设置: P3.0:RXD,串行通信输入。 P3.1:TXD,串行通信输出。 P3.2:INT0,外部中断0输入。

基于51单片机的多功能电子钟设计

基于51单片机的多功能电子钟设计 【摘要】数字电子时钟是人们日常生活中不可或缺的必需品。本文以STC89C52为核心控制芯片,DS12887为时钟芯片,DS18B20为温度传感器,通过液晶显示器LCD1602实时显示时间及温度,通过按键设置年月日和星期以及定时闹钟,定时闹钟时间到自动发出警报。本设计的+5V电源采用LM1117电压转换元件,将电源适配器转换得到的12V电压直接变成5V电压供系统使用。程序的下载则是通过普中科技公司自制的PZ-ISP软件完成。经过测试,系统可以正常完成预定的功能。 【关键词】电子时钟;单片机;DS12887;DS18B20;

Design of Multi-function Clock Based on 51 MCU 【Abstract】Digital electronic clock is an integral, necessary part of daily life.In this paper, STC89C52 chip is used as the core control chip, DS12887chip is used as the clock chip, DS18B20 chip is used as the temperature sensor and LCD1602 was used to diaplay time and temperature。You can set year, month and time alarm clock through the four buttons.When the real time reach to the time clock,the system will warn automatically. The +5V power of the system is supplied by LM1117 voltage conversion device. The 12V voltage get from power adapter was transformed directly into 5V voltage for the system. The download of the process is accomplished through the PZ-ISP software made by Puzhong technology company. After testing, the system can complete the scheduled function normally. 【key words】electronic clock;MCU;DS12887;DS18B20

基于51系列单片机及DS1302时钟芯片的电子时钟Proteus仿真_报告

目录 摘要 一、引言 (1) 二、基于单片机的电子时钟硬件选择分析 (2) 2.1主要IC芯片选择 (2) 2.1.1微处理器选择 (2) 2.1.2 DS1302简介 (4) 2.1.3 DS1302引脚说明 (4) 2.2电子时钟硬件电路设计 (5) 2.2.1时钟电路设计 (6) 2.2.2整点报时功能 (7) 三、Protel软件画原理图 (8) 3.1系统工作流程图 (8) 3.2原理图 (9) 四、proteus软件仿真及调试 (9) 4.1电路板的仿真 (9) 4.2软件调试 (9) 五、源程序 (10) 六、课设心得 (13) 七、参考文献 (13)

基于单片机电子时钟设计 摘要 电子时钟主要是利用电子技术将时钟电子化、数字化,拥有时钟精确、体积小、界面友好、可扩展性能强等特点,被广泛应用于生活和工作当中。另外,在生活和工农业生产中,也常常需要温度,这就需要电子时钟具有多功能性。 本设计主要为实现一款可正常显示时钟/日历、带有定时闹铃的多功能电子时钟。 本文对当前电子钟开发手段进行了比较和分析,最终确定了采用单片机技术实现多功能电子时钟。本设计应用AT89C52芯片作为核心,6位LED数码管显示,使用DS1302实时时钟日历芯片完成时钟/日历的基本功能。这种实现方法的优点是电路简单,性能可靠,实时性好,时间精确,操作简单,编程容易。 该电子时钟可以应用于一般的生活和工作中,也可通过改装,提高性能,增加新功能,从而给人们的生活和工作带来更多的方便。 关键词:电子时钟;多功能;AT89C52;时钟日历芯片

一、引言 时间是人类生活必不可少的重要元素,如果没有时间的概念,社会将不会有所发展和进步。从古代的水漏、十二天干地支,到后来的机械钟表以及当今的石英钟,都充分显现出了时间的重要,同时也代表着科技的进步。致力于计时器的研究和充分发挥时钟的作用,将有着重要的意义。 1.1 多功能电子时钟研究的背景和意义 20世纪末,电子技术获得了飞速的发展。在其推动下,现代电子产品几乎渗透到了社会的各个领域,有力的推动和提高了社会生产力的发展与信息化程度,同时也使现代电子产品性能进一步提升,产品更新换代的节奏也越来越快。 时间对人们来说总是那么宝贵,工作的忙碌性和繁杂容易使人忘记当前的时间。然而遇到重大事情的时候,一旦忘记时间,就会给自己或他人造成很大麻烦。平时我们要求上班准时,约会或召开会议必然要提及时间;火车要准点到达,航班要准点起飞;工业生产中,很多环节都需要用时间来确定工序替换时刻。所以说能随时准确的知道时间并利用时间,是我们生活和工作中必不可少的[1]。 电子钟是采用电子电路实现对时、分、秒进行数字显示的计时装臵,广泛应用于个人家庭,车站,码头办公室等公共场所,成为人们日常生活中不可少的必需品。由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、0按时自动打铃、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。

单片机课程设计多功能数字电子时钟

目录 第1章系统总体方案与说明................... 错误!未定义书签。 1.1系统总体方案...................................................... 错误!未定义书签。 1.2 系统设计说明..................................................... 错误!未定义书签。 1.3系统设计目的...................................................... 错误!未定义书签。 1.4系统设计要求...................................................... 错误!未定义书签。第2章硬件电路设计........................... 错误!未定义书签。 2.1总原理图.............................................................. 错误!未定义书签。 2.2各个模块设计...................................................... 错误!未定义书签。 2.3 器件清单............................................................. 错误!未定义书签。第3章软件设计............................... 错误!未定义书签。 3.1 硬件框图............................................................. 错误!未定义书签。 3.2 程序流程图......................................................... 错误!未定义书签。第4章心得体会............................... 错误!未定义书签。第5章附件................................... 错误!未定义书签。 附录A. 源程序清单.................................................. 错误!未定义书签。 附录B.硬件原理图.................................................... 错误!未定义书签。 附件C 参考文献........................................................ 错误!未定义书签。电气信息学院课程设计评分表.................... 错误!未定义书签。

简单51单片机数字时钟设计

题目:简单51单片机数字时钟设计 院系: 物理与电气工程学院 专业:自动化专业 班级:10级自动化 姓名:苏吉振 学号:101103022 老师:李艾华

引言 20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。 时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。 目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS 化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。下面是单片机的主要发展趋势。 单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。 单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。 数字钟是采用数字电路实现对时,分,秒数字显示的计时装置,广泛用于个 人家庭,车站, 码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。

基于51单片机多功能电子时钟设计论文报告-毕设论文

单片机课程设计报告 多功能电子数字钟 姓名: 学号: 班级: 指导教师:

目录 一课程设计题目-------------------------------- 3 二电路设计--------------------------------------- 4 三程序总体设计思路概述------------------- 5 四各模块程序设计及流程图---------------- 6 五程序及程序说明见附录------------------- ** 六课程设计心得及体会---------------------- 11 七参考资料--------------------------------------- 12

一题目及要求 本次单片机课程设计在Proteus软件仿真平台下实现,完成电路设计连接,编程、调试,仿真出实验结果。具体要如下:用8051单片机设计扩展6位数码管的静态或动态显示电路,再连接几个按键和一个蜂鸣器报警电路,设计出一个多功能电子钟,实现以下功能: (1)走时(能实现时分秒,年月日的计时) (2)显示(分屏切换显示时分秒和年月日,修改时能定位闪 烁显示) (3)校时(能用按键修改和校准时钟) (4)定时报警(能定点报时) 本次课程设计要求每个学生使用Proteus仿真软件独立设计制作出电路图、完成程序设计和系统仿真调试,验收时能操作演示。最后验收检查 结果,评定成绩分为: (1)完成“走时+显示+秒闪”功能----及格 (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硬件电路设计

基于C51单片机的多功能电子时钟设计完美实现版

单片机课程设计报告——电子时钟作业名: 指导老师: 戴胜华 学生姓名: lycaner 班级: 北京交通大学电子信息工程学院自动化 学号: XXXXXXXX 电子时钟实验报告

一,实验目的 1. 学习8051定时器时间计时处理、按键扫描及LED数码管显示的设计方法。 2. 设计任务及要求利用实验平台上4个LED数码管,设计带有闹铃功能的数字时钟 二,实验要求 A.基本要求: 1. 在4位数码管上显示当前时间。显示格式“时时分分” 2. 由LED闪动做秒显示。 3. 利用按键可对时间及闹玲进行设置,并可显示闹玲时间。当闹玲时间到蜂鸣器发出声响,按停止键使可使闹玲声停止。 4.实现秒表功能(百分之一秒显示) B.扩展部分: 1.日历功能(能对年,月,日,星期进行显示,分辨平年,闰年以及各月天数,并调整) 2.音乐闹铃(铃音可选择,闹铃被停止后,闪烁显示当前时刻8秒后,或按键跳入正常时间显示状态) 3.定时功能(设定一段时间长度,定时到后,闪烁提示) 4.倒计时功能(设定一段时间长度,能实现倒计时显示,时间长减到0时,闪烁提示) 5.闹铃重响功能(闹铃被停止后,以停止时刻开始,一段时间后闹铃重响,且重响时间的间隔可调) 三,实验基本原理 利用单片机定时器完成计时功能,定时器0计时中断程序每隔0.01s中断一次并当作一个计数,设定定时1秒的中断计数初值为100,每中断一次中断计数初值减1,当减到0时,则表示1s 到了,秒变量加1,同理再判断是否1min钟到了,再判断是否1h到了。 为了将时间在LED数码管上显示,可采用静态显示法和动态显示法,由于静态显示法需要译码器,数据锁存器等较多硬件,可采用动态显示法实现LED显示,通过对每位数码管的依次扫描,使对应数码管亮,同时向该数码管送对应的字码,使其显示数字。由于数码管扫描周期很短,由于人眼的视觉暂留效应,使数码管看起来总是亮的,从而实现了各种显示。 四,实验设计分析 针对要实现的功能,采用AT89S51单片机进行设计,AT89S51 单片机是一款低功耗,高性能CMOS8位单片机,片内含4KB在线可编程(ISP)的可反复擦写1000次的Flash只读程序存储器,器件采用高密度、非易失性存储技术制造,兼容标准MCS- 51指令系统及80C51引脚结构。这样,既能做到经济合理又能实现预期的功能。. 在程序方面,采用分块设计的方法,这样既减小了编程难度、使程序易于理解,又能便于添加各

C51单片机多功能数字钟C源程序

/*led.h 负责声明全局变量 */ #include #define uchar unsigned char #define uint unsigned int /*各数据在LCD中显示的地址*/ #define Year 0x80+0x00 #define Month 0x80+0x05 #define Day 0x80+0x08 #define Hour 0x80+0x40 #define Munite 0x80+0x43 #define Second 0x80+0x46 #define Weidu 0x80+0x49 /*各数据在LCD中显示的地址*/ /*******各端口定义********/ sbit lcden=P2^6; sbit lcdrs=P2^7; sbit beep=P2^5; sbit key1=P2^0; sbit key2=P2^1; sbit key3=P2^2; sbit key4=P2^3; sbit key5=P2^4; sbit dq=P3^7; /*******各端口定义********/ /*******全局变量声明******/ extern int key_function; extern int key_alarm; extern int h_alarm,m_alarm; extern int idata s,m,h,y,mo,d; extern int idata sc,mc,hc,yc,moc,dc; extern int wei; extern int music; extern int idata date[2][13]; extern uchar timeh,timel; /*******全局变量声明******/ /*******public方法声明****/ void time_cal(); void write_data(uchar date);

51单片机数字钟

目录 1 设计任务与要求................................................... I 2 设计方案 (1) 3 硬件设计 (2) 3.1 AT89C51单片机简介 2 3.2单片机型号的选择 (6) 3.3数码管显示工作原理 (6) 4 软件设计 (7) 4.1主程序模块介绍 (7) 4.2主程序 (7) 5 仿真调试 ........................................ 错误!未定义书签。 5.1K EIL仿真结果................................. 错误!未定义书签。 5.2仿真结果分析 (13) 6 小结 ............................................ 错误!未定义书签。

1 设计任务与要求 1. 设计一个基于单片机的电子时钟,并且能够实现时分秒的现实和调节。 2. 设计出硬件电路。 3. 设计出软件编程方法,并写出源代码。 4. 用PROTEUS进行仿真。 5.用汇方式实现目的。 7.系统的各各功能模块要编语言编实现程序设计。 6.利用查表,中断等清楚,有序。 8.程序运行时有友好的用户界面。 2 设计方案 本设计主要设计了一个基于AT89C51单片机的电子时钟。并在数码管上显示相应的时间。并通过一个控制键用来实现时间的调节和是否进入省电模式的转换。应用Proteus的ISIS软件实现了单片机电子时钟系统的设计与仿真。该方法仿真效果真实、准确,节省了硬件资源。 该设计的硬件部分主要包括89C51多功能接口芯片用于开发电子时钟芯片、LED七段数码显示器用于显示时间、8031集成定时器用于定时、0.125W、8欧姆的扬声器用于定时发声。软件部分包括主程序、定时计数中断程序、时间调整程序、延时程序四大模块。通过中断程序进行定时器计数,时间调整程序是当键按下时间小于1秒,关闭显示(省电)进入调节时间状态,延时程序用于时间的延迟。先设计个秒钟程序,在秒钟程序中先不设计按钮,直接通电运行,使用40H 存放计数值,从00—59,一直循环,把40H中的数值拆分成个位和十位,分别存在30H与31H中,要求动态扫描时,使用21H当标志位,用指令JB控制显示个位与十位,程序中使用中间寄存器R0与R1用于存放拆分后的字型,再传到30H与31H中去,再设计时钟程序。

基于单片机的多功能电子钟

山东建筑大学 课程设计说明书 题目: 基于单片机的多功能电子钟 课程: 单片机原理及应用B课程设计院(部): 信息与电气工程学院 专业: 电子信息工程 班级: 电信111 学生姓名: 姜庆飞 学号: 2011081197 指导教师: 高焕兵 完成日期: 2015年1月

目录 摘要 ....................................................... II 1 设计目的 (1) 2 设计要求 (2) 3 设计内容 (3) 3、1电子时钟的工作原理 (3) 3、2 系统硬件电路设计及元件 (4) 3、2、1 AT89C51芯片 (4) 3、2、2 DS1302芯片 (8) 3、2、3 LCD1602液晶显示 (12) 3、3系统软件电路设计 (15) 3、3、1 系统流程图及源代码设计 (15) 总结与致谢 (18) 参考文献 (19) 附录一 (20)

摘要 单片机, 就是集 CPU ,RAM ,ROM , 定时器,计数器与多种接口于一体的微控制器。自20 世纪 70 年代问世以来,以其极高的性能价格比,受到人们的重视与关注。它体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易,广泛应用于智能生产与工业自动化上。 本系统为基于DS1302的多功能电子钟 ,以AT89C51单片机作为主控芯, 采用实时时钟芯片DS1302,使用1602液晶作为显示输出。该系统走时精确,具有闹钟设置,时间模式切换,秒表以及可同时显示时间、日期等多种功能。本文将详细介绍AT89C51单片机与DS1302 时钟芯片的基本原理,从软件与硬件电路的实现两大方面进行分析。 关键词:AT89C51;单片机;液晶屏;时钟芯片;蜂鸣器

基于51单片机的数字时钟设计的毕业设计概要

摘要 (2) Abstract .......................................................................................................................... 错误!未定义书签。第一章绪论 .. (2) 1.1多功能数字钟设计的背景 (2) 第二章AT89C51单片机简介 (2) 2.1 单片机介绍 (2) 2.2 单片机的应用特点 (3) 2.3 单片机的应用领域 (3) 2.4 单片机的中断与定时系统.............................................................................. 错误!未定义书签。 2.4.1 MCS-51单片机中断系统................................................................... 错误!未定义书签。 2.4.2 MCS-51 单片机的定时器/计数器.................................................... 错误!未定义书签。 2.4.3 MCS-51定时器/计数器的四种工作方式........................................... 错误!未定义书签。 2.5 AT89C51引脚功能介绍 (3) 第三章设计方案 (4) 3.1 主程序 (4) 3.2 数码管显示模块 (5) 3.3 定时器计数器T0中断服务程序.................................................................... 错误!未定义书签。 3.4按键处理模块 (5) 第四章硬件电路设计 (5) 4.1 复位电路 (5) 4.2 时钟电路 (6) 4.3 按键电路 (6) 4.4 数码管显示电路 (7) 4.5 电源电路设计.................................................................................................. 错误!未定义书签。第五章软件设计与程序代码 . (8) 5.1 软件选择与介绍 (8) 5.1.1 软件介绍.............................................................................................. 错误!未定义书签。 5.1.2 Proteus7.8的特点............................................................................. 错误!未定义书签。 5.2 软件仿真电路全图 (9) 5.3 源程序代码 (9) 第六章结论 (16) 参考文献 (17) 致谢 (18)

基于单片机的多功能数字时钟设计.doc

《测控系统原理与设计》课程设计报告 班级测控1082班学号 1081203204 指导教师庄立运鲁庆 淮阴工学院 电子与电气工程学院 2011年12月

一显示模块选择方案 方案一: 采用LED数码管动态扫描,LED数码管价格适中,对于显示数字合适,与液晶相比,耗电及体积大与液晶相比,耗电及体积大,所以也不用此种作为显示。方案二: 采用LCD液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字,图形,显示多样,清晰可见,省了很多麻烦,所以在此设计中采用LCD液晶显示屏。 1电路设计最终方案决定 综上各方案所述,对本次设计方案选定:采用AT89S52作为主控制系统;DS1302提供时钟;LCD液晶显示屏作为显示。电路设计框图如下所示 图1 系统原理图

2、 AT89S52单片机介绍 AT89S52 具有以下标准功能:8k 字节 Flash,256 字节 RAM,32 位 I/O 口线,看门狗定时器,2 个数据指针,三个 16 位定时器/计数器,一个 6 向量 2 级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至 0Hz 静态逻辑操作,支持 2 种软件可选择节电模式。空闲模式下,CPU停止工作,允许 RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。 图 2 单片机引脚图 VCC : 电源 GND: 地 P0 口:P0 口是一个 8 位漏极开路的双向 I/O 口。作为输出口,每位能驱动 8 个 TTL 逻辑电平。对 P0 端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0 口也被作为低 8 位地址/数据复用。在这种模式下,P0 具有内部上拉电阻。在 flash 编程时,P0 口也用来接收指令字节;在程序校验时,输出指令字节。程序校时,需要外部上拉电阻。 P1 口:P1 口是一个具有内部上拉电阻的 8 位双向 I/O 口,p1 输出缓冲器能驱动 4 个TTL 逻辑电平。对 P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0 和 P1.2 分别作定时器/计数器 2 的外部计数输入(P1.0/T2)和时器/计数器 2的触发输入(P1.1/T2EX),具体如

相关文档
最新文档