基于单片机的液晶显示“万年历”

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

宁波大红鹰学院

《单片机原理及应用》课程设计报告

课题名称:单片机液晶显示“万年历”

分院:机械与电气工程学院

教研室:电气工程及其自动化

班级: 09电自3

姓名:徐卡达

学号:0

指导教师:杨会保

二○一二年五月

单片机液晶显示“万年历”

一、设计任务

利用STC89C52RC单片机设计一个具有如下功能的电子万年历:

(一)、能够显示年、月、日、时、分、秒、星期

(二)、能正确显示闰年日期

(三)、用独立键盘进行校时

二、硬件设计

1、系统框图

按照系统设计的要求和功能,将系统分为主控模块、时钟电路模块、按键扫描模块、LCD显示模块、蜂鸣器电路、电源电路、复位电路、晶振电路几个模块,系统框图如图1所示。主控模块采用STC89C52RC单片机,按键模块用5个按键,用于调整时间和设定闹钟,显示模块采用LCD1602,时钟电路模块采用DS1302实时时钟实现对时间,日期的操作。

图1 基于AT89C52RC单片机的电子万年历系统框图

2、原理图

基于STC89C52RC单片机的电子万年历硬件仿真电路图如图10所示,系统由STC89C52RC单片机、按键扫描电路、显示电路、时钟电路、晶振电路、复位电路、蜂鸣器电路组成。

图2 电子万年历仿真图

3、各部分介绍

(1)、主控模块

控制芯片使用STC89C52,控制系统如下图:

图3 STC89C52RC主控模块

主控制芯片采用STC89C52,系统包括晶振电路、复位电路、下载接口。

(2)、时钟芯片

时钟芯片使用DS1302,该模块电路原理图如下图:

图4 DS1302时钟电路

时钟电路采用的是ds1302芯片,DS1302 是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有闰年补偿功能,工作电压为~。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。工作电压与单片机的输入电压比较适合。上面是它的一些基本的应用介绍。下面是它的引脚的描述:

图5 DS1302引脚

下面是DS1302的时钟寄存器。我们要读取的时间数据就是从下面这些数据寄存器中读取出来的。当我们要想调整时间时,可以把时间数据写入到相应的寄存器中就可以了。

图6 DS1302的时钟寄存器

DS1302和单片机的连接很简单。只需一根复位线,一根时钟线,一根数据

线即可。同时它本身还需要接一个的晶振来提供时钟源。对于晶振的两端可以分别接一个6PF左右的电容以提高晶振的精确度。同时可以在第8脚接上一个的可充电的电池。当系统正常工作时可以对电池进行涓流充电。当系统掉电时,DS1302由这个电池提供的能量继续工作。

(3)、时钟振荡电路

时钟振荡电路图7所示:

图7 STC89C52RC时钟振荡电路

时钟振荡电路用于产生单片机正常工作时所需要的时钟信号,电路由两个

30pF的瓷片电容和一个12MHz的晶振组成,并接入到单片机的XTAL1和XTAL2

引脚处,使单片机工作于内部振荡模式。此电路在加电后延迟大约10ms振荡器

图7 STC89C52RC时钟振荡电路起振,在XTAL2引脚产生幅度为3V左右的正弦

波时钟信号,其振荡频率主要由石英晶振的频率决定。

(4)、复位电路

复位电路由电阻和极性电容组成,如图8所示,通过高电平使单片机复位,

在时钟电路开始工作后,当高电平的时间超过大约2us时,即可实现复位。此

复位电路同时具备了上电复位和手动复位的功能,上电复位发生在开机加电时,

由系统自动完成,手动复位通过一个按键来实现,在程序运行时,若遇到死机,

死循环或程序“跑飞”等情况,通过手动复位就可以实现重新启动的操作。手

动按钮复位需要人为在复位输入端RST上加入高电平。一般采用的办法是在RST

端和正电源Vcc之间接一个按钮和一个电阻,如图所示,当人为按下按钮时,

则Vcc 的+5V电平就会直接加到RST端,由于人的动作再快也会使按钮保持接

通达数十毫秒,所以,完全能够满足复位的时间要求。

图8 STC89C52RC复位电路

(5)、按键电路

按键电路由5个轻触开关组成,如图9所示。按键用来调整时间和设定闹钟,其一端直接接到单片机的端口,另一端接地,当按下按键时,相应的端口变为低电平,通过检测这一低电平就可以判断是哪个键按下,从而作相应的操作。

图9 按键电路

(6)、显示电路

显示电路采用LCD1602液晶显示,图中只画出了其相应的接口,如图10所示。3脚用于调节LCD1602的背光,4、5、6为LCD1602的控制口,用于控制其写入或是读出指令,7至14脚为LCD1602的数据口,将数传送到LCD1602中。

图10 LCD1602接口电路

三、软件设计

1、主程序流程图

主程序首先初始化定时器、LCD1602及DS1302,然后就开始查询按键,有键按下则开始调整时间和设置闹钟,若没有按下,则执行下面的时间、日期及闹钟时间的显示,最后依次循环这些相同的操作,相应流程图如图11所示:

图11 程序主流程图

按键的检测主要是通过查询的办法来实现,利用按键进行间调整及闹钟设置,闹钟开关键是开启和关闭闹钟功能;设置1键按下则开始设置时间及日期,同时被选择的时间和日期开始闪烁,第一次按下设置1键时,设置年,第二次按下设置月,后面依次设置日、星期、时、分、秒;闹钟设置键按下则开始设置闹钟时间及日期,同时被选择的时间和日期开始闪烁,第一次按下闹钟设置键时,设置年,第二次按下设置月,后面依次设置日、星期、时、分、秒;若按下下调键是减1操作,按下上调键是加1操作,无论是对时钟和闹钟的年份或月份进行加减,都会使日期归1。

2、子程序流程图

相关文档
最新文档