」、设计要求1准确计时,以数字形式显示时、分、秒的时间。
2、 小时以24小时计时形式,分秒计时为 60进位。
3、 校正时间功能,即能随意设定走时时间。
4、 闹钟功能,一旦走时到该时间,能以声或光的形式告警提示。
5、 设计5V 直流电源,系统时钟电路、复位电路。
6、 能指示秒节奏,即秒提示。
7、 可采用交直流供电电源,且能自动切换。
二、设计方案和论证本次设计时钟电路,使用了 ATC89C5单片机芯片控制电路,单片机控制电 路简单且省去了很多复杂的线路,使得电路简明易懂,使用键盘键上的按键来 调整时钟的时、分、秒,用一扬声器来进行定时提醒,同时使用汇编语言程序 来控制整个时钟显示,使得编程变得更容易,这样通过四个模块:键盘、芯片、 扬声器、LED 显示即可满足设计要求。
2.1总设计原理框图如下图所示:2.2、设计方案的选择1. 计时方案方案1:采用实时时钟芯片现在市场上有很多实时时钟集成电路,女口 DS1287 DS12887 DS1302等。
这些实时时钟芯片具备年、月、日、时、分、秒计时功能和多点定时功能, 计时数据的更新每秒自动进行一次,不需要程序干预。
因此,在工业实时测 控系统中多采用这一类专用芯片来实现实时时钟功能。
方案2:使用单片机内部的可编程定时器。
校时输入时钟电路 数据显示声光报时利用单片机内部的定时计数器进行中端定时,配合软件延时实现时、分、秒的计时。
该方案节省硬件成本,但程序设计较为复杂。
2. 显示方案对于实时时钟而言,显示显然是另一个重要的环节。
通常LED显示有两种方式:动态显示和静态显示。
静态显示的优点是程序简单、显示亮度有保证、单片机CPU勺开销小,节约CPU勺工作时间。
但占有I/O 口线多,每一个LED都要占有一个I/O 口, 硬件开销大,电路复杂。
需要几个 LED就必须占有几个并行口,比较适用于 LED数量较少的场合。
当然当LED数量较多的时候,可以使用单片机的串行口通过移位寄存器的方式加以解决,但程序编写比较麻烦。
LED动态显示硬件连接简单,但动态扫描的显示方式需要占有CPU较多的时间,在单片机没有太多实时测控任务的情况下可以采用。
本系统需要采用6位LED数码管来分别显示时、分、秒,因数码管个数较多,故本系统选择动态显示方式。
2.3硬件部分1、STC89C5惮片机介绍STC89C5惮片机是由深圳宏晶公司代理销售的一款 MCU是由美国设计生产的一种低电压、高性能 CMOS 8位单片机,片内含8kbytes的可反复写的FlashROM 和128bytes的RAM 2个16位定时计数器呵。
STC89C5惮片机内部主要包括累加器ACC有时也简称为A)、程序状态字PSW 地址指示器DPTR只读存储器ROM随机存取存储器RAM寄存器、并行I/O接口P0~P3定时器/计数器、串行I/O接口以及定时控制逻辑电路等。
这些部件通过内部总线联接起来,构成一个完整的微型计算机。
其管脚图如图所示。
STC89C51单片机管脚结构图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位地址外部数据存 储器P10.T POOPUT P01 P12 PC2 P13 ?03 P14 PD4 P15 POSPie PQ6P17 P07 INTI P20 INTOP21P22T1 P23 TOP24P25EAATP26P27XI X2RESETRXDTXD 而 ALE F WR PSEN27巧143113 219 1S儿 J jrr进行存取时,P2 口输出地址的高八位。
在给出地址“ 1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2 口输出其特殊功能寄存器的内容。
P2 口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3 口: P3 口管脚是8个带内部上拉电阻的双向I/O 口,可接收输出4个 TTL门电流。
当P3 口写入“ 1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3 口将输出电流(ILL)这是由于上拉的缘故。
P3 口也可作为AT89C5啲一些特殊功能口,如下表所示:口管脚备选功能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 只有在执行MOV,MOV指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
PSEN:外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
EA/VPP 当/EA 保持低电平时,则在此期间外部程序存储(OOOOH-FFFFH, 不管是否有内部程序存储器。
注意加密方式1时,/EA 将内部锁定为RESET 当 /EA 端保持高电平时,此间内部程序存储器。
在 FLASH 编程期间,此引脚也用于 施加12V 编程电源(VPP 。
2、上电按钮复位电路本设计采用上电按钮复位电路:首先经过上电复位,当按下按键时,接与VCC 相连,为高电平形成复位,同时电解电容被电路放电;按键松开时,VCC 对电容充电,充电电流在电阻上,RST 依然为高电平,仍然是复位,充电完成后, 电容相当于开路,RST 为低电平,单片机芯片正常工作。
其中电阻R2决定了电容充电的时间,R2越大则充电时间长,复位信号从 VCC 回落到0V 的时间也长。
3、晶振电路O1I■hX 丄r I11:3OP―・—Y112M芒2|一」1I5OP本设计晶振电路采用12M 的晶振。
晶振的作用是给单片机正常工作提供稳定 的时钟信号。
单片机的晶振并不是只能用 12M 只要不超过20M 就行,在准许的 范围内,晶振越大,单片机运行越快,还有用12M 的就是好算时间,因为一个机 器周期为1/12时钟周期,所以这样用12M 的话,一个时钟周期为12us,那么定 此文档仅供学习和交流P12P13 P14 P15 P16 P17 RESET RXD TXD INTOTTLFTi 唱RST 直时器计一次数就是1us 了,电容范围在20-40pF 之间,这里连接的是30pF 的电 容。
机器周期=10*晶振周期=12*系统时钟周期 4.下载端口设计用到的STC89C52单片机芯片的ISP 下载线是通过单片机的TXD RXD 引脚把程序烧进去的。
管脚TXD 和 RXD 用于异步串行通信。
其实STC89C5洋片 机的ISP 下载线就是一个max232芯片连接STC 和计算机的串行通信口。
计算机 把程序从九针串口送到 max232芯片,电平转换后送进单片机的串行口,也就是 TXD 和 RXD 然后单片机的串行模块把数据送到程序区。
5、显示电路就时钟而言,通常可采用液晶显示或数码管显示。
由于一般的段式液晶 屏,需要专门的驱动电路,而且液晶显示作为一种被动显示,可视性相对较 差;对于具有驱动电路和微处理器接口的液晶显示模块(字符或点阵),一般多采用并行接口,对微处理器的接口要求较高,占用资源多。
另外,89C2051 本身无专门的液晶驱动接口,因此,本时钟采用数码管显示方式。
数码管作 为一种主动显示器件,具有亮度高、价格便宜等优点,而且市场上也有专门 的时钟显示组合数码管。
对于实时时钟而言,显示显然是另一个重要的环节。
通常 LED 显示有两种方式:动态显示和静态显示。
静态显示的优点是程序简单、显示亮度有保证、单片机CPU 勺开销小, 节约CPU 勺工作时间。
但占有I/O 口线多,每一个LED 都要占有一个I/O 口, 硬件开销大,电路复杂。
需要几个 LED 就必须占有几个并行口,比较适用于 LED 数量较少的场合。
当然当LED 数量较多的时候,可以使用单片机的串行 口通过移位寄存器的方式加以解决,但程序编写比较麻烦。
LED 动态显示硬件连接简单,但动态扫描的显示方式需要占有CPU 较多的时间,在单片机没有太多实时测控任务的情况下可以采用。
INTO HSTT1TO本系统需要采用6位LED数码管来分别显示时、分、秒,因数码管个数较多,故本系统选择动态显示方式。
&时钟显示校正电路本设计利用按键开关来校正时钟显示的数字。
当按钮按下时,将在相应的端口输入一个低电平,通过相应的程序来改变时钟显示。
其中S1按键开关用来选择要修改的数字;S2按键用来增加所选数字的数值;S3按键用来减少所选数字的数值。
个1K左右的电阻后接I/O 口,集电极C连接蜂鸣器后接地。
单片机在复位后的个I/O 口是咼电平,此时二极管是截止的,编写程序使选定的I/O为低电平,此时三极管导通,导通后蜂鸣器与电源正极连通,构成一个工作回路,从而发出滴滴的响声。
其中电阻R1在电路里起分压限流的作用,PNP三极管起到模拟开关的作用。
8、外接电源电路制电路的导通与断开,当开关闭合时,电路导通,夕卜部电源给电路正常供电, 电子时钟正常工作。