基于单片机的万年历的设计(毕业论文) 联系客服

发布时间 : 星期五 文章基于单片机的万年历的设计(毕业论文)更新完毕开始阅读aa8f3c4c876fb84ae45c3b3567ec102de3bddf07

万年历设计

1.方案设计

1.1 系统基本方案选择和论证

1.1.1单片机芯片的选择

本设计采用AT89C52芯片作为硬件核心,该芯片内有4K字节的在线编程Flash存储器,可以擦写1000次,具有掉电模式,而且具有掉电状态下的中断恢复功能,对设计开发非常实用。

1.1.2显示模块选择方案和论证

方案一:采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合,如采用在显示数字显得太浪费,且价格也相对较高,所以不用此种作为显示。 方案二:LED数码管显示

数码管具有低能耗、低损耗、低压、寿命长、耐老化、防晒、防潮、防火、防高(低)温,操作简单方案等优点。但由于数码管动态扫描需要借助74LS164移位寄存器进行移位,该芯片在电路调试时往往会有很多障碍,所以不采用LED数码管作为显示。

方案三:LCD12864液晶显示

此液晶具有轻薄短小、低耗电量、无辐射危险,平面直角显示以及影象稳定不闪烁等优势和可视面积大,画面效果好,分辨率高,抗干扰能力强等特点,并且能够方便的显示文字和数字。

所以最终选择LCD12864。 1.1.3时钟芯片选择方案与论证

方案一:不使用芯片,采用单片机的定时计数器

这种方法直接采用单片机定时计数器提供信号,模拟时钟的时, 分,秒。如:利

2

青海民族大学毕业论文

用AT80C52芯片,定时器用工作方式1,每50ms产生一个中断,循环20次,即1s周期。每一个周期加1,那么1min为60个周期,1h就是60*60=3600个周期。采用此种方案

虽然可以减少时钟芯片的使用,节约成本,但实现的时间误差较大,所以不采用此方案。

方案二:并行接口时钟芯片 DS12887

采用单片机应用系统并行总线(三总线)扩展的接口电路,采用这种接口电路具有操作速度快,编程方便的优点。但是对于80C52单片机来说,低位地址线要通过锁存器输出,还要地址译码器,而且并行口芯片的体积相对较大。

方案三:串行接口时钟芯片DS1302

采用DS1302时钟芯片实现时钟,DS1302是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V~5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。主要特点是采用串行数据传输,可为掉电保护电源提供可编程的充电功能,并且可以关闭充电功能。采用普通32.768kHz晶振。

所以,最终选择串行时钟芯片DS1302。

1.2 电路设计最终方案决定

综上各模块的选择方案与论证,确定最后的主要硬件资源如下:采用AT89C52作为主控制系统;DS1302提供时钟;12864液晶屏作为显示。

3

万年历设计

2.系统的硬件设计与实现

2.1 电路设计框图

单片机主控模块从DS1302时钟模块读取时间,通过片内芯片处理,将显示结果通过PO口床送至12684液晶显示模块显示出最终的界面;同时,单片机主控模块对键盘进行扫描,有按键按下时进入调整状态,并在12684液晶上显示状态。

2.2 系统硬件概述

2.2.1 AT89C52概述

AT89C52功能特性概述:8K字节Flash闪速存储器,256字节内部RAM,32个I/O口线,3个16位定时器/计数器,一个6向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路;可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式;空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作;掉电方式保存RAM中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。

AT89C52的引脚定义及功能: Vcc :接+5V 电源 Vss :接地

4

青海民族大学毕业论文

XTAL1和XTAL2:时钟引脚,外接晶体引线端。当使用芯片内部时钟时,此两引脚端用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。

RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。WDT溢出将使引脚输出高电平,设置SFR AUXR的DISRT0(地址8EH)可打开或关闭该功能。DISRT0位缺省为RESET输出高电平打开状态。

ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存器允许)输出脉冲用于锁存地址的低8位字节。即使不访问外部存储器,ALE仍以时钟振荡频率的1/6输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。 PSEN:程序存储允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C51由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。当访问外部数据存储器,没有两次有效的PSEN信号。

EA/VPP:外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000H—FFFFH),EA端必须保持低电平(接地)。需要注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器中的指令。Flash存储器编程时,该引脚加上+12V的变成电压Vpp.

PO P1 P2 P3口:四个I/O口,其中P3口还具有第二功能: 端口引脚 P3.0 P3.1 P3.2 P3.3

5

第二功能 RXD(串行输入口) TXD(串行输出口) INT0(外中断0) 端口引脚 P3.4 P3.5 P3.6 P3.7 第二功能 T0(定时/计数器0) T1(定时/计数器1) WR(外部数据存储器写通道) INT1 (外中断1) RD(外部数据存储器读通道)