第1个回答 2011-06-16
基于AT89c51的简易时钟设计
摘要:本电子钟是采用电子电路实现对时、分进行数字显示的计时装置,广泛的应用于生活中。电子时钟主要是利用电子技术奖时钟电子化、数字化,拥有时间精确、体积小、界面友好、课扩展性能强等特点,被广泛应用于生活和工作当中。当今市场上的电子时钟品类繁多,外形小巧别致。电子时钟数字化了时间显示。在此基础上,人们可以根据不同场合的要求,在时钟上加置其他功能,
本设计由以下几个部件组成:单片机AT89C51、四个八段码共阴极数码管显示、四个微动按钮等其它组件。在启动后开始从00时00分显示。可以手动校准时间,秒使用两个发光二极管的闪烁来提现,本设计设计简单易于实现。
关键词:AT89C51、倒计时。LED
Simple clock design based on AT89c51
Abstract: This clock is the use of electronic circuits to achieve the hours, minutes, digital display of timing devices, widely used in life. Electronic clock main prize is the use of electronic technology electronic clock, digital, with a time accurate, small, friendly interface, expanded its performance and other characteristics, are widely used in life and on the job. The market today, many kinds of electronic clock, compact and chic. Digital electronic time clock display. On this basis, one can according to the requirements of different occasions, plus set the clock on the other features
This design consists of the following components: microcontroller AT89C51, four eight out code common cathode LED display, four buttons, and other micro-components. After starting 00 points from 00 shows. You can manually calibrate the time, in seconds using two LEDs blink to mention is, the design is simple design easy to implement.
Keywords: AT89C51, countdown. LED
目 录
摘要 1
关键词 1
Simple clock design based on AT89c51 2
目录 3
第一章引言 4
1.1 时钟的概述 5
第二章电路工作原理分析 5
2.1 系统的硬件构成及功能 5
2.2硬件连接方式 6
第三章: 芯片介绍 6
3.1 MCS- 51介绍 6
3.4 LED数码管显示 10
3.4.1 LED数码管介绍 10
3.4.2 LED数码管编码方式 11
3.4.3 LED数码管显示方式和典型应用电路 12
第四章 部分电路介绍 13
4.1单片机的最小应用系统 13
4.1.1 单片机的时钟电路 13
4.1.2 复位电路和复位状态 14
4.1.3总线结构 17
4.2此设计显示电路 18
4.4看门狗电路 19
4.5 按键模块 19
第五章程序设计 19
第六章 原理图和印制板图的设计 20
( 一 ) 原 理 图 的 设 计 和 网 络 表 的 生 成 20
(二)PCB的制作和设计 21
第七章 原理图的protues仿真 23
7.1PROTUES介绍 23
7.2原理图仿真步骤 26
总 结 27
谢 辞 28
参考资料及文献 29
附录一:原理图 30
附录二:PCB 31
附录三 仿真 32
附录四:程序清单 33
第一章引言
数字钟已成为人们日常生活中必不可少的必需品,广泛用于个人家庭以及办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。由于数字集成电路技术的发展和采用了先进的石英技术,使数字钟具有走时准确、性能稳定、携带方便等优点,它还用于计时、自动报时及自动控制等各个领域。尽管目前市场上已有现成的数字钟集成电路芯片出售,价格便宜、使用也方便,但鉴于单片机的定时器功能也可以完成数字钟电路的设计,因此进行数字钟的设计是必要的。在这里我们将已学过的比较零散的数字电路的知识有机的、系统的联系起来用于实际,来培养我们的综合分析和设计电路,写程序、调试电路的能力。
单片机具有体积小、功能强可靠性高、价格低廉等一系列优点,不仅已成为工业测控领域普遍采用的智能化控制工具,而且已渗入到人们工作和和生活的各个角落,有力地推动了各行业的技术改造和产品的更新换代,应用前景广阔。
1.1 时钟的概述
20世纪末,电子技术获得了飞速的发展。在其推动下,电子产品几乎渗透到了社会的各个领域,有力的推动和提高了社会生产力的发展和信息化程度,同时也使现代电子产品性能进一步提升,产品更新换代的节奏也越来越快。
电子钟是采用电子电路实现对时、分、秒进行数字显示的计时装置,广泛的应用于生活中。电子时钟主要是利用电子技术奖时钟电子化、数字化,拥有时间精确、体积小、界面友好、课扩展性能强等特点,被广泛应用于生活和工作当中。当今市场上的电子时钟品类繁多,外形小巧别致。电子时钟数字化了时间显示。在此基础上,人们可以根据不同场合的要求,在时钟上加置其他功能,比如定时闹钟,万年历,环境温度,温度检测,环境空气质量检测,USB扩展功能等。
本设计电子时钟主要功能为:具有时间显示和手动校对功能,24小时制。
本设计任务“
1:用4位LED数码管实时显示时钟计时功能;最小显示时间为00时00分,最大显示时间为23时59分;
2:能方便的校准小时和分钟。
3:了解单片机的基础知识;
4;掌握proteus的基本原理和使用方法;
5:掌握数码管和LED的显示的方法;
6:掌握单片机定时器的基本原理;
7:掌握单片机定时器的基本原理;
8:掌握绘图软件Proell99se的使用方法;
9:绘制程序流程图和编写出程序;
10:画出电路原理图并仿真运行
。
第二章电路工作原理分析
2.1 系统的硬件构成及功能
本设计由以下几个部件组成:单片机AT89C51、四个八段码共阴极数码管显示、四个微动按钮等其它组件。在启动后开始从00时00分显示。可以手动校准时间,秒使用两个发光二极管的闪烁来提现,本设计设计简单易于实现。
图1 99秒计时器系统原理框图
2.2硬件连接方式
数码管使用动态显示,P0口作为四个八位共阴数码管的段选输出端,为提高单片机输出能力 P0口作为输出口接了8个4.7K的电阻作为上拉电阻;P2.口是四个八位共阴数码管和两个发光二极管的位选端,显示是事位和分位,四个微动开关做的按键分别连P1.0,P1.1,P1.2,P1.3完成时和分的加减调整。硬件连接如下:
4.1单片机的最小应用系统
单片计算机是一个最小的应用系统,但由于应用系统中有一些功能器件无法集成到芯片内部,如晶振、复位电路等,需要在片外加接相应的电路。对于片内无程序存储器的单片机,还应该配置片外程序存储器。
4.1.1 单片机的时钟电路
MCS-51单片机内部的振荡电路是一个高增益反相放大器,引线XTAL1和XTAL2分别是放大器的输入端和输出端。单片机内部虽然有振荡电路,但要形成时钟,外部还需附加电路。MCS-51单片机的时钟产生方式有两种。
(1) 内部时钟方式
利用其内部的振荡电路在XTAL1和XTAL2引线上外接定时元件,内部振荡电路便产生自激振荡,用示波器可以观察到XTAL2输出的时钟信号。最常用的是在XTAL1和XTAL2之间连接晶体振荡器与电容构成稳定的自激震荡器,如图3-1所示。
晶体可在1.2~12MHz之间选择。MCS-51单片机在通常应用情况下,使用振荡频率为6MHz的石英晶体,而12Hz频率的晶体主要是在高速串行通信情况下才使用。C1和C2可在20~100pF之间取值,一般取30pF左右。
(2) 外部时钟方式
在由单片机组成的系统中,为了各单片机之间时钟信号的同步,应当引入惟一的合用外部振荡脉冲作为各单自片机的时钟。外部时钟方式中是把外部振荡信号源直接接入XTAL1或XTAL2。由于HMOS和CHMOS单片机外部时钟进入的引线不同,其外部振荡信号源接入的方式也不同。HMOS型单片机由XTAL2进入,外部振荡信号接至XTAL2,而内部反相放大器的输入端XTAL1应接地,如图3-2所示。由于XTAL2端的逻辑电平不是TTL的,故还要接一上接电阻。CHMOS型单片机由XTAL1进入,外部振荡信号接至XTAL1,而XTAL2可不接地,如图3-3所示。
图3-1内部时钟电路 图3-2HMOS型外部时钟电路 图3-3外部时钟电路
4.1.2 复位电路和复位状态
MCS-51单片机的复位是靠外部电路实现的。MCS-51单片机工作后,只要在它的RST引线上加载10ms以上的高电平,单片机就能够有效地复位。
(1) 复位电路
MCS-51单片机通常采用上电自动复位和按键复位两种方式。最简单的复位电路如图3-4所示。上电瞬间,RC电路充电,RST引线端出现正脉冲,只要RST端保持10ms以上的高电平,就能使单片机有效地复位。
图 3-4 简单的复位电路
在实际的应用系统中,为了保证单片机可靠地工作,常采用“看门狗”监视单片机的运行。采用MAX690的复位电路如图3-5所示,该电路具有上电复位和监视MCS-51单片机的P3.3的输出功能。一旦P3.3不输出高低电平交替变化的脉冲,MAX690就会自动产生一复位信号使单片机复位。
图3-5 MAX690组成的复位电路
(2) 复位状态
复位电路的作用是使单片机执行复位操作。复位操作主要是把PC初始化为0000H,使单片机从程序存储器的0000H单元开始执行程序。程序存储器的0003H单元即MCS-51单片机的外部中断0的中断处理程序的入口地址。留出的0000H~0002H 3个单元地址,仅能够放置一条转移指令,因此,MCS-51单片机的主程序的第一条指令通常情况下是一条转移指令。
除PC之外,复位还对其他一些特殊功能的寄存器有影响,它们的复位状态如表3-6所示。
由表3-6可知,除SP=07H,P0~P3 4个锁存器均为FFH外,其他所有的寄存器均为0。此外,单片机的复位不影响片内RAM的状态(包括通用寄存器Rn)。
表3-6 寄存器的复位状态
寄存器 复位状态 寄存器 复位状态
PC 0000H TMOD 00H
ACC 00H TCON OOH
PSW 00H TL0 00H
SP 07H TH0 00H
DPTR 0000H TL1 00H
P0~P3 FFH TH1 00H
IP Xxx00000B SCON 00H
IE 0xx00000B PCON 0xx00000B
P0、P1、P2、P3共有4个8位并行I/O口,它们引线为:P0.0~P0.7、P1.0~P1.7、
P2.0~P2.7、P3.0~P3.7,共32条引线。这32条引线可以全部用做I/O线,也可将其中部分用做单片机的片外总线。
① 控制线
A、ALE地址锁存允许
当单片机访问外部存储器时,输出信号ALE用于锁存P0口输出的低8位地址A7~A0。ALE的输出频率为时钟振荡频率的1/6。
B、 程序存储器选择
=0,单片机只访问外部程序存储器。对内部无程序存储器的单片机8031, 必须接地。 =1,单片机访问内部程序存储器,若地址超过内部程序存储器的范围,单片机将自动访问外部程序存储器。对内部有程序存储器的单片机, 应接高电平。
C、 片外程序存储器的选通信号。此信号为读外部程序存储器的选通信号。
D、RST复位信号输入
② 电源及时钟
VSS地端接地线,VCC电源端接+5V,XTAL1和XTAL2接晶振或外部振荡信号源。
图3-7 片外3总线结构
4.1.3总线结构
单片机的引线除了电源、复位、时钟输入、用户I/O口外,其余引线都是为实现系统扩展则设置的,这些引线构成了单片机外部的3总线形式,如图3-7所示。
① 地址总线
地址总线宽度为16位,由P0口经地址锁存器提供低8位地址(A7~A0),P2口直接提供高8位地址(A15~A8)。
由口的位结构可知,MCS-51单片机在进行外部寻址时,P0口的8根引绠低8位地址和8位数据的复用线。P0口首先将低8位的地址发送出去,然后再传送数据,因此要用锁存器将先送出的低8位地址锁存。MCS-51常用74LS373或8282做地址锁存器。
② 数据总线
数据总线宽度为8位,由P0口提供。
③ 控制总线
MCS-51用于外部扩展的控制总线除了它自身引出的控制线RES、 、ALE、 外,还有由P3口的第二功能引线:外部中断0和外部中断1输入线 和 ,以及外部RAM或I/O端口的读选通和写选通信号 和 。
3.4 MCS—51单片机的最小应用系统
构成最小应 MCS—51单片机的最小应用系统
用系统时只要将单片机接上外部的晶体或时钟电路和复位电路即可,如图3-8所示,这样构成的最小系统简单可靠,其特点是没有外部扩展,有可供用户选用的大量I/O线。
4.2此设计显示电路
数码管使用动态显示,P0口作为四个八位共阴数码管的段选输出端,因为P0口作为输出口接了8个4.7K的电阻作为上拉电阻;P2口四个八位共阴数码管的位选端,显示是两位时间的事时位和两位的分位。
4.3电源电路
由于该系统需要稳定的5 V电源,因此设计时必须采用能满足电压、电流和稳定性要求的电源。该电源采用三端集成稳压器LM7805。它仅有输人端、输出端及公共端3个引脚,其内部设有过流保护、过热保护及调整管安全保护电路,由于所需外接元件少,使用方便、可靠,因此可作为稳压电源。图4为电源电路连接图。
4.4看门狗电路
系统中把P1.6作为看门狗的“喂狗”信号;将MAX813的 RESET与单片机的复位信号RST连接。由于单片机每执行一次程序,就会给看门狗器件一个复位信号,这样也可以用手工方式实现复位。当按键按下时,SW-SPST就会在MAX813 引脚产生一个超过200ms的低电平,其实看门狗器件在1.6s 时间内没有复位,使7引脚输出一个复位信号的作用是相同的,其连接图如图6所示。
4.5 按键模块
下图为按键模块电路原理图,S1为时加,s2为时减,S3为分钟加调控键,S4是分钟减调控键。
LED_BIT_1 EQU 30H ; 存放8位数码管的段码
LED_BIT_2 EQU 31H
LED_BIT_3 EQU 32H
LED_BIT_4 EQU 33H
LED_BIT_5 EQU 34H
LED_BIT_6 EQU 35H
LED_BIT_7 EQU 36H
LED_BIT_8 EQU 37H ; 存放初始密码
SECOND EQU 60H
MINUTE EQU 61H
HOUR EQU 62H
TCNT EQU 63H
ORG 00H ;初始化程序 ,设置初始密码
SJMP START
ORG 0BH
LJMP INT_T0
START:
MOV DPTR,#TABLE
MOV HOUR,#0
MOV MINUTE,#0
MOV TCNT,#0
MOV TMOD,#01H
MOV TH0,#03ch ;定时50毫秒
MOV TL0,#03ch
MOV IE,#082H
SETB TR0
MOV LED_BIT_1,#00H ;段码存储区清0
MOV LED_BIT_2,#00H
MOV LED_BIT_3,#00H
MOV LED_BIT_4,#00H
MOV LED_BIT_5,#00H
MOV LED_BIT_6,#00H
MOV LED_BIT_7,#79H
MOV LED_BIT_8,#73H
MOV TMOD,#01H
MOV TH0,#0fdh
MOV TL0,#0fdh
MOV IE,#82H
A1:
LCALL DISPLAY ;调用时间显示
JNB P1.0,S1
JNB P1.1,S2
JNB P1.2,S3
JNB P1.3,S4
LJMP A1
S1: LCALL DLY_S ;去抖动
JB P1.0,A1
INC HOUR ;秒值加1
MOV A, HOUR
CJNE A,#24,J00 ;判断是否加到60秒
MOV HOUR,#0
LJMP A1
S2: LCALL DLY_S
JB P1.1,A1
K01: DEC HOUR ;SHI-
MOV A,HOUR
CJNE A,#0,J01 ;判断是否-0分
MOV HOUR,#24
LJMP A1
S3: LCALL DLY_S
JB P1.2,A1
K02: INC MINUTE ;小时值加1
MOV A,MINUTE
CJNE A,#60,J02 ;判断是否加到24小时
MOV MINUTE,#0
LJMP A1
S4: LCALL DLY_S
JB P1.3,A1
K03: DEC MINUTE ;小时值加1
MOV A,MINUTE
CJNE A,#0,J03 ;判断是否加到24小时
MOV MINUTE,#59
LJMP A1
J00: JB P1.0,A1 ;等待按键抬起
LCALL DISPLAY
SJMP J00
J01: JB P1.1,A1
LCALL DISPLAY
SJMP J01
J02: JB P1.2,A1
LCALL DISPLAY
SJMP J02
J03: JB P1.3,A1
LCALL DISPLAY
SJMP J03
INT_T0: MOV TH0,#3ch ;定时器中断服务程序
MOV TL0,#3ch ;对秒,分钟和小时的计数
INC TCNT
MOV A,TCNT
CJNE A,#20,RETUNE ;计时1秒
INC SECOND
MOV TCNT,#0
MOV A,SECOND
CJNE A,#60,RETUNE
INC MINUTE
MOV SECOND,#0
MOV A,MINUTE
CJNE A,#60,RETUNE
INC HOUR
MOV MINUTE,#0
MOV A,HOUR
CJNE A,#24,RETUNE
MOV HOUR,#0
MOV MINUTE,#0
MOV SECOND,#0
MOV TCNT,#0
RETUNE: RETI
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;DIS3闹铃设置子程序
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;DIS3
DISPLAY: ;显示时间控制子程序
MOV A,SECOND ;显示秒
MOV B,#10
DIV AB
CLR P2.6
MOVC A,@A+DPTR
MOV P0,A
LCALL DLY_S
SETB P2.6
MOV A,B
CLR P2.7
MOVC A,@A+DPTR
MOV P0,A
LCALL DLY_S
SETB P2.7
CLR P2.5
MOV P0,#40H ;显示分隔符
LCALL DLY_S
SETB P2.5
MOV A,MINUTE ;显示分钟
MOV B,#10
DIV AB
CLR P2.3
MOVC A,@A+DPTR
MOV P0,A
LCALL DLY_S
SETB P2.3
MOV A,B
CLR P2.4
MOVC A,@A+DPTR
MOV P0,A
LCALL DLY_S
SETB P2.4
CLR P2.2
MOV P0,#40H ;显示分隔符
LCALL DLY_S
SETB P2.2
MOV A,HOUR ;显示小时
MOV B,#10
DIV AB
CLR P2.0
MOVC A,@A+DPTR
MOV P0,A
LCALL DLY_S
SETB P2.0
MOV A,B
CLR P2.1
MOVC A,@A+DPTR
MOV P0,A
LCALL DLY_S
SETB P2.1
RET
TABLE: DB 3FH,06H,5BH,4FH,66H
DB 6DH,7DH,07H,7FH,6FH
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;延时
DLY_S: MOV R6,#5 ;延时程序
D1: MOV R7,#100
DJNZ R7,$
DJNZ R6,D1
RET
DLY_L: MOV R5,#50
D2: MOV R6,#100
D3: MOV R7,#100
DJNZ R7,$
DJNZ R6,D3
DJNZ R5,D2
RET
END
第五章程序设计
程序只要完成了初始化,计时,在计时过程中判断按键情况,做相应处理。流程如下。本回答被网友采纳