51单片机万年历
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
第1章总体方案论证及工作原理 (5)
第2章硬件系统的设计 (6)
第3章软件系统的设计 (12)
第4章系统测试与仿真 (23)
第5章设计总结 (24)
参考文献 (24)
1总体方案论证及工作原理
1.1总体方案选择
1.1.1 单片机芯片选择方案和论证
采用AT89S52作为硬件核心。片内ROM全部采用Flash ROM;以3V的超低压工作,与MCS-51系列单片机完全该芯片内部存储器为8KB ROM 存储空间,同样具有AT89C51的功能。
1.1.2 显示模块的选择和论证
传统的LED数码管具有:低能耗、低损耗、低压、寿命长、耐老化、防晒、防潮、防火、防高(低)温,对外界环境要求低,易于维护,同时其精度比较高,称重轻,精度可靠,操作简单。数码管采用BCD编码显示数字,程序编译容易,资源占用较少。
1.1.3 键盘模块的选择和论证
独立式键盘是指直接用I/O口线构成的单个按键电路。独立式按键电路配置灵活,软件结构简单。
1.1.4 总体方案论证
该万年历电路由单片机AT98S52、键盘接口电路、显示接口电路及时钟电路和复位电路构成,总原理框图如图1.1所示。
图1.1 总原理图
1.2功能要求说明及工作原理
1.2.1 功能要求说明
本次设计所设计的万年历在功能上具有一般万年历的固有功能,即能比较准确显示时间外,还具有温度计的功能。
1.2.2 工作原理
万年历的运行主要是利用单片机定时/计数器的工作和中断服务的作用完成计时功能的。首先时钟电路产生单片机工作时所需要的时钟信号,这是单片机能够正常工作的前提,而单片机有无定时以及定多长的时间,这些还需要我们人为的确定。先要有“秒”的计时,而单片机内部定时器是达不到“秒”数量级的定时的,所以我要多次定时,我们人为在确定工作方式的之后,再计算出定时的初值,这就可以实现所谓的定时了。如果定时时间到了的话,那么单片机会自动地产生中断使程序转向中断服务程序执行,中断服务程序执行完了就会返回原程序,等待下一次定时时间的到来再产生中断。在此基础上,单片机就会按照人为设定的程序执行下去。只完成对秒的计数,才能能完成其他时间量的计数。
当然,单片机如果要执行多种不同的计时功能的话,还需要选择多种不同的工作方式,这样才不会使单片机产生混乱。万年历的基本计时单位是秒,而秒表的基本计时单位却是毫秒了,因而我们把定时器的初始时间设计为50ms,将其乘以20便可得到我们的时间秒单位。本设计是采用复合定时方式,一个定时间一个就去计数,合作完成一秒的定时。
2 硬件系统的设计
2.1硬件系统各模块功能介绍
2.1.1 AT89S52芯片介绍
AT89S52是一种低功耗高性能CHMOS 8位单片机,管脚如图所示。
片内含4Kbytes ISP的可反复擦写1000次Flash只读程序存储器,128bytes的随机存取数据存储器(RAM)。
AT89S52提供了8K字节Flash ,256字节RAM,32线I/O口,3个16位定时器/计数器,6向量两极中断,一个双工串行口,片内根据振荡器和始终电路等标准功能。此外,AT89S52设有静态逻辑,并支持软件选择的两种节电运行方式、空闲方式使CPU停止工作,而允许RAM、定时器/计数器、串行口和中断系统继续工作。掉电方式下,片内振荡器停止工作,由于之中被冻结,一切能都停止,只有片内RAM的内容被保存,直到硬件复位才恢复正常工作。
(1)AT89S52的结构框图
AT89S52结构框图如图2.2所示:
(2)引脚介绍:
/输入/输出口线:
P 0.0~P 0.7 :P0口8位双向口线;P 1.0~P 1.7 :P1口8位双向口线;P 2.0~P 2.7 :P2口8位双向口线;P 3.0~P 3.7 :P3口8位双向口线。
/ALE 地址锁存控制信号:
在系统扩展时,ALE 用于控制把P 0口输出低8位地址送锁存器锁存起
来,以实现低位地址和数据的隔离。此外由于ALE 是以晶振六分之一的固定频率输出的正脉冲,因此可作为外部时钟或外部定时脉冲使用。
/PSEN 外部程序储器读选取通信号:
在读外部ROM 时/PSEN 有效(低电平),以实现外部ROM 单元的读操作。 /EA 访问程序存储器控制信号:
当/EA 信号为低电平时,对ROM 的读操作限定在外部程序存储器;而当/EA 信号为高电平时,则对ROM 的读操作是从内部程序存储器开始,并可延至外部程序存储器。
-RST 复位信号:
当输入的复位信号延续2个机器周期以上高电平时即为有效,用以完成单片机的复位初始化操作。
-XTAL 1和XTAL 2 外接晶体引线端:
当使用芯片内部时钟时,此二引线端用于外接石英晶体和微调电容;当使用外部时钟时,用于拉外部的时钟脉冲信号。
-GND 地线
-VCC +5V 电源
(3)信号引脚的第二功能:
由于工艺及标准化等原因,芯片的引脚数目是有限制的,例如MCS —51系列把芯片引脚数目限定为40条,但单片机为实现其功能所需要的信号数目却远远超过此数,因此就出现了需要与可能的矛盾。因此,给一些信号引脚赋以双重功能。P 3的8条口线都定义有第二功能,如表2.1所示:
表2.1 P3口第二功能图
(4)总线结构
AT89S52的管脚除了电源、复位、时钟接入、用户I/O口部分P
3
外,其余管脚都是为实现系统扩展而设置的。这些管脚构成了三总线形式,即:
1) 地址总线(AB):地址总线宽度为16位,因此,其外部存储器直接
地址外围为64K字节。16位地址总线由P
经地址锁存器提供低8位地址
(A
0~A
7
);P
2
口直接提供高8位地址(A
8
~A
15
)。
2) 数据总线(DB):数据总线宽度为8位,由P
口提供。
3) 控制总线(CB):由部分P
3
口的第二功能状态和4根独立控制线
RESET、EA、ALE、PSEN组成。
2.1.2 时钟电路
时钟电路用来产生单片机工作所需要的时钟信号,单片机本身就是一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地按时序进行工作。通过在芯片的外部XTAL1和XTAL2两个引脚跨接晶体振荡器和两个微调电容,形成反馈电路,就构成了一个稳定的自激振荡电路。时钟电路为单片机产生时钟脉冲序列,本设计中采用的晶振频率为12MHz。如图2.3所示。