第一章 设计要求与方案论证
1.1 设计要求:
(1)基本要求
① 显示准确的北京时间(时、分、秒),可用24小时制式; ② 随时可以调校时间。 ( 2 ) 创新要求
① 增加公历日期显示功能(年、月、日),年号只显示最后两位; ② 随时可以调校年、月、日;
③ 允许通过转换功能键转换显示时间和日期;
1.2方案论证与设计
1.2.1单片机芯片的选择方案和论证: 方案一:
采用AT89S52,片内ROM全都采用Flash ROM;能以3V的超底压工作;同时也与MCS-51系列单片机完全兼容,芯片内部存储器为8KB ROM 存储空间,但该设计程序简单,内部存储器资源浪费。所以在此设计中不采用AT89S52作为主控系统. 方案二:
采用89C51芯片作为硬件核心,采用Flash ROM,内部具有4KB ROM 存储空间,能于3V的超低压工作,而且与MCS-51系列单片机完全兼容,内部ROM足够满足要求,且价格比89S52便宜。
所以选择采用AT89C52作为主控制系统. 1.2.2 显示模块选择方案和论证:
方案一: 采用LED液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字,图形,显示多样,清晰可见,但是价格昂贵,需要的接口线多,所以在此设计中不采用LED液晶显示屏.
方案二:采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合,如采用在显示数字显得太浪费,且价格也相对较高,所以也不用此种作为显示.
方案三:采用LED数码管动态扫描,LED数码管价格适中,对于显示数字最合
1
适,而且采用动态扫描法与单片机连接时,占用的单片机口线少。
所以采用了LED数码管作为显示。 1.2.3时钟芯片的选择方案和论证:
方案一:直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数。采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大。所以不采用此方案。
方案二:采用DS1302时钟芯片实现时钟,DS1302芯片是一种高性能的时钟芯片,可自动对秒、分、时、日、周、月、年以及闰年补偿的年进行计数,而且
1 精度高,位的RAM做为数据暂存区,工作电压2.5V~5.5V范围内,2.5V时耗电
小于300nA.
1.2.4 电路设计最终方案决定:
综上各方案所述,对此次作品的方案选定: 采用AT89C51作为主控制系统; DS1302提供时钟; LED数码管动态扫描作为显示。
第二章 基于单片机的万年历硬件设计
2.1 主要IC芯片选择
2.1.1单片机
AT89C51单片机为40引脚双列直插芯片,有四个I/O口P0,P1,P2,P3, MCS-51单片机共有4个8位的I/O口(P0、P1、P2、P3),每一条I/O线都能独立地作输出或输入。如图2.1所示。 1.内部结构
按功能分为8部分:CUP,程序存储器,数据存储器,时钟电路,串行口,并行I/O口,中断系统,定时/计数器。 2.引脚定义及功能 1).电源及时钟引脚
Vcc:接+5V 电源 Vss:接地
XTAL1和XTAL2:时钟引脚,外接晶体引线端。当使用芯片内部时钟时,此两引脚端用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉
2
冲信号。 2).控制引脚
RST/Vpq:RST是复位信号输入端,Vpd是备用电源输入端。当RST输入端保持2个机器周期以上高电平时,单片机完成复位初始化操作。
当主电源Vcc发生故障而突然下降到一定低电压或断电时,第2功能Vpd将为片内RAM提供电源以保护片内RAM中的信息不丢失。
ALE/PROG:地址锁存允许信号输入端。在存取外存储器时,用于锁存低8位地址信号。当单片机正常工作后,ALE端就周期性地以时钟振荡频率的1/6固定频率向外输出正脉冲信号。此引脚的第2功能PROG是对片内带有4K字节EPROM的8751固外程序时,作为编程脉冲输入端。
PSEN:程序存储器允许输出端。当片外程序存储器的读选通信号,低电平有效。CPU从外部程序存储器取指令时,PSEN信号会自动产生负脉冲,作为外部程序存储器的选通信号。
EA/Vpp:程序存储器地址允许输入端。当EA为高电平时,CPU执行片内程序存储器指令,但当PC中的值超过0FFFH时,将自动转向执行片外程序存储器指令;当EA为低电平时,CPU只执行片外程序存储器指令。 3).I/O口引脚
P0.0~P0.7:P0口8位双向I/O口; P1.0~P1.7:P1口8位准双向I/O口; P2.0~P2.7:P2口8位准双向I/O口; P3.0~P3.7:P3口8位准双向I/O口。
图2.1
3
2.1.2 DS1302 1. DS1302简介 DS1302是美国DALLAS公司推出的一种高性能、低功耗的实时时钟日历芯片,附加31字节静态RAM,采用SPI三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号和RAM数据。实时时钟可提供秒、分、时、日、星期、月和年,一个月小于31天时可以自动调整,且具有闰年补偿功能。工作电压宽达2.5~5.5V。采用双电源供电(主电源和备用电源),可设置备用电源充电方式,提供了对后备电源进行涓细电流充电的能力。有主电源和备份电源双引脚,而且备份电源可由大容量电容(>1F)来替代。需要强调的是,DS1302需要使用32.768KHz的晶振。 2. DS1302引脚说明 DS1302引脚图参照图2.2。 DS13021234VCC1X1X2GNDVCC2SCLKI/ORST8765 图2.2 DS1302芯片引脚图 其引脚功能参照表2.3。 表2.3 DS1302引脚功能说明 引脚号 1 2 3 4 5 6 7 8 名称 VCC1 X1 X2 GND RST I/O SCLK VCC2 2功能 备份电源输入 132.768KHz晶振输入 32.768KHz晶振输出 地 控制移位寄存器/复位 数据输入/输出 串行时钟 主电源输入 3. DS1302的控制字和读写时序说明
4