桂林电子科技大学课程设计(论文)报告用纸 第 2 页 共 15 页
1 电子钟功能及总体方案介绍
1.1 电子钟功能介绍 1.1.1 基本功能要求
(1)设计的电子时钟用8位数码管显示。
(2)时间格式位为XX-XX-XX,分别为时、分、秒。 1.1.2扩展功能要求
(1)设计的电子时钟可以通过按键切换显示日历,其格式为XX-XX X,分别为月份、日期、星期。
(2)设计的电子时钟可以进行时间的校准功能。 1.2 总体方案介绍 1.2.1计时方案
利用AT89S52单片机内部的定时/计数器和时钟芯片DS1302进行终端定时,配合软件延时实现时、分、秒的计时。该方案节省硬件成本,并且能使读者在定时/计数器的使用、中断及程序设计方面得到锻炼和提高,对单片机的指令系统能有更深入的了解。 1.2.2按键/显示方案
AT89S52外接8个LED数码管构成显示器,外接5个按键(K1、K2、K3、K4、K5)构成按键控制部分。设计框图如图1-1所示:
图1-1 电子时钟设计框图
2 时钟系统的硬件设计
2.1 控制芯片的选择
2.1.1 AT89S52单片机性能与特点
(1)AT89S52为 ATMEL 所生产的一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flsah存储器。
桂林电子科技大学课程设计(论文)报告用纸 第 3 页 共 15 页
(2)在单片机的应用系统中,单片机作为一种较为简单的计算机是嵌入到系统内部,作为系统电路的一部分,作为系统实现数字化和智能化的关键部件。AT89S52主要功能列举如下:
①拥有灵巧的8位CPU和在系统可编程Flash
②晶片内部具时钟振荡器(传统最高工作频率可至 12MHz) ③内部程序存储器(ROM)为 8KB ④内部数据存储器(RAM)为 256字节 ⑤32 个可编程I/O 口线 ⑥8 个中断向量源
⑦三个 16 位定时器/计数器 ⑧三级加密程序存储器 ⑨全双工UART串行通道 2.1.2单片机的内部结构
单片机为实现其基本功能,内部必需要有配置输入输出(I/O口)、储存器(RAM或ROM)、运算和控制单元(CPU)等相应的功能电路,电路内部结构如图1-2所示:
图1-2 AT89S52内
部结构
2.1.3 AT89S52引脚的功能说明
桂林电子科技大学课程设计(论文)报告用纸 第 4 页 共 15 页
P89C5X系列单片机有40个引脚。其引脚图如图2-1所示:
(1)VCC:AT89S52电源正端输入,接+5V。 (2)VSS:电源地端。
(3)XTAL1:单芯片系统时钟的反相放大器输入端。
(4)XTAL2:系统时钟的反相放大器输出端,一般在设计上只要在 XTAL1 和 XTAL2 上接上一只石英振荡晶体系统就可以动作了,此外可以在两引脚与地之间加入一 20PF 的小电容,可以使系统更稳定,避免噪声干扰而死机。
(5)RESET:AT89S52的重置引脚,高电平动作,当要对晶片重置时,只要对此引脚电平提升至高电平并保持两个机器周期以上的时间,AT89S51便能完成系统重置的各项动作,使得内部特殊功能寄存器之内容均被设成已知 图2-1 AT89S52引脚图 状态,并且至地址0000H处开始读入程序代码
而执行程序。
(6)EA/Vpp:\为英文\的缩写,表示存取外部程序代码之意,低电平动作,也就是说当此引脚接低电平后,系统会取用外部的程序代码(存于外部EPROM中)来执行程序。因此在8031及8032中,EA引脚必须接低电平,因为其内部无程序存储器空间。如果是使用 8751 内部程序空间时,此引脚要接成高电平。此外,在将程序代码烧录至8751内部EPROM时,可以利用此引脚来输入21V的烧录高压(Vpp)。
(7)ALE/PROG:ALE是英文\Enable\的缩写,表示地址锁存器启用信号。AT89S52可以利用这支引脚来触发外部的8位锁存器(如74LS373),将端口0的地址总线(A0~A7)锁进锁存器中,因为AT89S52是以多工的方式送出地址及数据。平时在程序执行时ALE引脚的输出频率约是系统工作频率的1/6,因此可以用来驱动其他周边晶片的时基输入。此外在烧录8751程序代码时,此引脚会被当成程序规划的特殊功能来使用。
(8)PSEN:此为\的缩写,其意为程序储存启用,当8051被设成为读取外部程序代码工作模式时(EA=0),会送出此信号以便取得程序代码,通常这支脚是接到EPROM的OE脚。AT89S52可以利用PSEN及RD引脚分别启用存在外部的RAM与EPROM,使得数据存储器与程序存储器可以合并在一起而共用64K的定址范围。
(9)PORT0(P0.0~P0.7):端口0是一个8位宽的开路汲极(Open Drain)双向输出入端口,共有8个位,P0.0表示位0,P0.1表示位1,依此类推。其他三个I/O端口(P1、P2、P3)则不具有此电路组态,而是内部有一提升电路,P0在当做I/O用时可以推动8个LS的TTL负载。如果当EA引脚为低电平时(即取用外部程序代码或数据存储器),P0就以多工方式提供地址总线(A0~A7)及数据总线(D0~D7)。设计者必须外加一锁存器将端口0送出的地址栓锁住成为A0~A7,再配合端口2所送出的A8~A15合成一完整的16位地址总线,而定址到64K的外部存储器空间。
(10)PORT2(P2.0~P2.7):端口2是具有内部提升电路的双向I/O端口,每一个引脚可以推动4个LS的TTL负载,若将端口2的输出设为高电平时,此端口便能当成输入
桂林电子科技大学课程设计(论文)报告用纸 第 5 页 共 15 页
端口来使用。P2除了当做一般I/O端口使用外,若是在AT89S52扩充外接程序存储器或数据存储器时,也提供地址总线的高字节A8~A15,这个时候P2便不能当做I/O来使用了。
(11)PORT1(P1.0~P1.7):端口1也是具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个LS TTL负载,同样地若将端口1的输出设为高电平,便是由此端口来输入数据。如果是使用8052或是8032的话,P1.0又当做定时器2的外部脉冲输入脚,而P1.1可以有T2EX功能,可以做外部中断输入的触发脚位。
(12)PORT3(P3.0~P3.7):端口3也具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个TTL负载,同时还多工具有其他的额外特殊功能,包括串行通信、外部中断控制、计时计数控制及外部数据存储器内容的读取或写入控制等功能。其引脚分配如下:
①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,外部数据存储器的读取信号。 2.1.4 存储器的配置
存储器是单片机里面的重要功能部件,分为程序存储器(ROM)和数据存储器(RAM)。51系列单片机将程序存储器和数据存储器分开寻址,这样就有4个在物理上相互独立的存储器空间:片内、外的ROM和片内、外的RAM。在逻辑上只设有3个存储器寻址空间。
程序存储器的某些单元被保留用于特定程序入口地址:(1)复位(0000H),(2)外部中断0(0003H),(3)定时器T0溢出中断(000BH),(4)外部中断1(0013H),(5)定时器T1溢出中断(001BH),(6)串行口中断(0023H),(7)定时器T2中断(002BH)。
2.2 DS1302的结构及工作原理 2.2.1 引脚功能及内部结构
(1)DS1302 与单片机之间能简单地采用同步串行的方式进行通信,仅需用到三个口线:RES 复位,I/O 数据线,SCLK串行时钟。时钟/RAM的读/写数据以一个字节或多达31 个字节的字符组方式通信。DS1302工作时功耗很低,保持数据和时钟信息时功率小于1mW。DS1302是由DS1202改进而来,增加了以下的性。双电源管脚用于主电源和备份电源供应Vcc1,
特为
桂林电子科技大学课程设计(论文)报告用纸 第 6 页 共 15 页
可编程涓流充电电源附加七个字节存储器。它广泛应用于电话传真便携式仪器以及电池供电的仪器仪表等产品领域。DS1302的引脚功能排列如图2-2所示:
①X1、X2:32.768KHz 晶振管脚。 ②GND:地。
③Vcc1,Vcc2:电源供电管脚。 ④I/O:三线接口时的双向数据线。
⑤SCLK:串行时钟,控制数据的输入与输出。 ⑥CE:输入信号,在读、写数据期间,必须
为高,该引脚又两个功能:第一,CE开始 图2-2 DS1302的引脚图 控制字访问移位寄存器的控制逻辑;其次, CE提供借书单字节或多字节数据传输的方法。 (2)DS1302的内部结构如图2-3所示:
图2-3 DS1302的内部结构
2.2.2 DS1302的控制字节
DS1302是SPI总线驱动方式。它不仅要向寄存器写入控制字,还需要读取相应寄存器的数据。要想与DS1302通信,就要了解DS1302的控制字。DS1302的控制字如图2-4所示: