单片机液晶显示万年历单片机课程设计报告.docx

上传人:b****6 文档编号:3731826 上传时间:2022-11-25 格式:DOCX 页数:11 大小:671.69KB
下载 相关 举报
单片机液晶显示万年历单片机课程设计报告.docx_第1页
第1页 / 共11页
单片机液晶显示万年历单片机课程设计报告.docx_第2页
第2页 / 共11页
单片机液晶显示万年历单片机课程设计报告.docx_第3页
第3页 / 共11页
单片机液晶显示万年历单片机课程设计报告.docx_第4页
第4页 / 共11页
单片机液晶显示万年历单片机课程设计报告.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

单片机液晶显示万年历单片机课程设计报告.docx

《单片机液晶显示万年历单片机课程设计报告.docx》由会员分享,可在线阅读,更多相关《单片机液晶显示万年历单片机课程设计报告.docx(11页珍藏版)》请在冰豆网上搜索。

单片机液晶显示万年历单片机课程设计报告.docx

单片机液晶显示万年历单片机课程设计报告

 

《单片机原理及应用》

课程设计报告

 

课题名称:

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

分院:

机械与电气工程学院

教研室:

电气工程及其自动化

班级:

姓名:

学号:

指导教师:

 

二○一三年五月

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

一、设计任务

1、用字符型液晶显示模块LCD1602显示万年历的日期/时间等,如下图所示(仅供参考,可个性化差异设计,如显示学号等):

2、单片机与实时时钟芯片DS1302之间通过SPI接口实现“日期/时间”数据的采集。

3、用3×4行列式键盘进行校时,共有“1、2、3、4、5、6、7、8、9、0”、“校时(闪烁)”和“(年/月/日/时/分/秒)切换”等十二个按键。

二、硬件设计

1.系统框图

按照系统设计功能的要求,初步确定系统由主控模块、时控模块、显示驱动及显示模块和键盘接口模块共4个模块组成,电路系统构成框图如图1-1所示。

图1-1电子万年历电路系统构成框图

主控芯片使用51系列AT89C51单片机,时钟芯片使用美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟DS1302。

采用DS1302作为计时芯片,可以做到计时准确。

更重要的是,DS1302可以在很小电流的后备电源(2.5~5.5V电源,在2.5V时耗电小于300nA),而且DS1302可以编程选择多种充电电流来对后备电源进行慢速充电,可以保证后备电源基本不耗电。

显示驱动采用排阻RESPACK-8驱动和LM016L液晶显示、图条/柱图显示或64点阵显示接口的小型串行输入/输出芯片。

片内包括BCD译码器、多路扫描控制器、字和位驱动器和8*8静态RAM。

RESPACK-8需九导线连接,每位显示数字有一个地址由微处理器写入。

允许使用者选择每位是BCD译码或不译码。

使用者还可选择停机模式、数字亮度控制、从1~8选择扫描位数和对所有LCD显示器的测试模式。

显示模块采用普通的LCD显示屏。

2.各部分介绍(包括电路和主要器件介绍)

如图2-1示为电子万年历电路设计原理图,系统由主控制器AT89C51、时钟电路DS1302、显示驱动RESPACK-8电路,LM016L液晶显示电路及键扫描电路组成。

图2-1电子万年历电路原理图

主控制器AT89C51

ATMEL公司生产的AT89C51单片机采用高性能的静态80C51设计,并采用先进工艺制造,还带有非易失性Flash程序存储器。

它是一种高性能、低功耗的8位CMOS微处理芯片,市场应用最多。

其主要特点如下:

8KBFlashROM,可以擦除1000次以上,数据保存10年。

●256字节内部RAM;

●电源控制模式;

●时钟可停止和恢复;

●空闲模式;

●掉电模式;

●6个中断源;

●4个中断优先级;

●4个8位I/O口;

●全双工增强型TUAR;

●3个16位定时/计数器:

T0、T1(标准80C51)和增加的T2(捕获和比较)

●全静态工作方式:

0~24MHZ

2.2.2时钟电路DS1302

DS1302的性能特性:

●实时时钟,可对秒、分、时、日、周、月以及带闰年补偿的年进行比较;

●用于高速数据暂存的31*8位RAM;

●最少引脚的串行I/O;

●2.5~5.5V电压工作范围;

●2.5V时电流小于300nA;

●用于时钟或RAM数据读/写的单字节或多字节(脉冲方式)数据传送方式;

●简单的三线接口;

●可选的慢速充电(至VCC1)的能力。

DS1302在任何数据传送时必须先初始化,把RST脚置为高电平,然后把8位地址和命令字装入移位寄存器,数据在SCLK的上升沿被访问到。

在开始8个时钟周期,把命令字节装入移位寄存器后,另外的时钟周期在读操作时输出数据,在写操作时写入数据。

时钟脉冲的个数在单字节方式下为8+8,在多字节方式下为8+字节数,最大可达248字节数。

如果在传送过程中置RST脚为低电平,则会终止本次数据传送,并且I/O引脚变为高阻态。

上电运行时,在VCC≥2.5V之前,RST脚必须保持低电平。

只有在SCLK为低电平时,才能将RST置为高电平。

显示电路

显示部分采用普通的LM016L液晶显示,如图2-2,以减少硬件电路。

LM016L液晶模块采用hd44780控制器,hd44780具有简单而功能较强的指令集,可以实现字符移动,闪烁等功能,LM016L与单片机MCU通讯可采用8位或4位并行传输两种方式,hd44780控制器由两个8位寄存器,指令寄存器(IR)和数据寄存器(DR)忙标志(BF),显示数RAM(DDRAM),字符发生器ROM(CGOROM)字符发生器RAM(CGRAM),地址计数器RAM(AC)。

IR用于寄存指令码,只能写入不能读出,DR用于寄存数据,数据由内部操作自动写入DDRAM和CGRAM,或者暂存从DDRAM和CGRAM读出的数据,BF为1时,液晶模块处于内部模式,不响应外部操作指令和接受数据,DDRAM用来存储显示的字符,能存储80个字符码,CGROM由8位字符码生成5*7点阵字符160中和5*10点阵字符32种8位字符编码和字符的对应关系。

图2-2LCD液晶显示屏显示模块

键盘接口

键盘在单片机系统中是一个很重要的部件。

为了输入数据、查询和控制系统的工作状态,都要用到键盘,键盘是人工干预计算机的主要手段。

键盘可分为编码和非编码键盘两种。

编码键盘采用硬件线线路来实现键盘编码,每按下一个键,键盘能自动生成按键代码,键数较多,而且还具有去抖动功能。

这种键盘使用方便,但硬件较复杂,PC机所用的键盘就属于这种。

非编码键盘仅提供按键开关工作状态,其他工作由软件完成,这种键盘键数较少,硬件简单,一般在单片机应用系统中广泛使用。

此处主要介绍该类非编码键盘及其与MCS—51型单片机的接口。

按键开关在电路中的连接如图2-3a)所示。

按键未按下时,A点电位为高电平5V;按键按下时,A点电位为低电平。

A点电位就用于向CPU传递按键的开关状态。

但是由于按键的结构为机械弹性开关,在按键按下和断开时,触点在闭合和断开瞬间还会接触不稳定,引起A点电平不稳定,如图2-3b)所示,键盘的抖动时间一般为5~10ms,抖动现象会引起CPU对一次键操作进行多次处理,从而可能产生错误。

因此必须设法消除抖动的不良后果。

 

图2-3键操作和键抖动

消除抖动的不良后果的方法有硬件、软件两种。

为了节省硬件,通常在单片机系统中,一般不采用硬件方法消除键的抖动,而是用软件消除抖动的方法。

根据抖动特性,在第一次检测到按键按下后,执行一段延时5~10ms让前延抖动消失后再一次检测键的状态,如果仍保持闭合状态电平,则确认真正有键按下。

当检测到按键释放后,也要给5~10ms的延时,待后延抖动消失后才转入该键处理程序。

时钟电路

DS1302可以对年、月、日、星期、时、分、秒进行计时,且具有闰年补偿功能,工作电压宽达2.5~5.5V。

采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。

DS1302内部有一个33*8的用于临时性存放数据的RAM寄存器。

DS1302是的DS1202升级产品,与DS1202兼容,但增加了主电源/后备电源双电源引脚,同时提供了对后备电源进行涓细电流充电的能力。

DS1302时钟芯片包括实时时钟/日历和31字节的静态RAM。

它经过一个简单的串行接口与微处理器通信。

实时时钟/日历提供秒、分、时、日、周、月和年等信息。

对于小于31天的月和月末的日期自动进行调整,还包括闰年校正的功能。

时钟的运行可以采用24小时或带AM/PM的12小时格式。

采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多字节的时钟信号或RAM数据。

DS1302有主电源/后备电源双电源引脚:

VCC1在单电源与电池供电的系统中提供低电源,并提供低功率的电磁备份;VCC1在双电池系统中提供主电源。

在这种运行方式中,VCC1里连接到后备电源,以便在没有主电源的情况下能保存时间信息以及数据。

DS1302由VCC1或VCC2中较大者供电。

当VCC2>(VCC1+0.2V)时,VCC2给DS1302供电;当VCC2<VCC1时,DS1302由VCC1供电。

如图2-4为DS1302的引脚图。

图2-4DS1302的引脚图

DS1302在任何数据传送时必须先初始化,把RST脚置为高电平,然后把8位地址和命令字装入移位寄存器,数据在SCLK的上升沿被访问到。

在开始8个时钟周期,把命令字节装入移位寄存器后,另外的时钟周期在读操作时输出数据,在写操作时写入数据。

时钟脉冲的个数在单字节方式下为8+8,在多字节方式下为8+字节数,最大可达248字节数。

如果在传送过程中置RST脚为低电平,则会终止本次数据传送,并且I/O引脚变为高阻态。

上电运行时,在VCC≥2.5V之前,RST脚必须保持低电平。

只有在SCLK为低电平时,才能将RST置为高电平。

DS1302的控制字如表所示。

控制字节的最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入到DS1302中。

位6如果为0,则表示存取日历时钟数据;为1则表示存取RAM数据。

位5~1(A4~A0)指示操作单元的地址。

最低有效位(位0)如果为0,则表示要进行写操作;位1表示进行读操作。

控制字节总是从最低位开始输入/输出。

表2-1DS1302控制字

寄存器名

命令字

取值范围

各位内容

写操作

读操作

7

6

5

4

3

2

1

0

秒寄存器

80H

81H

00~59

CH

10SEC

SEC

分寄存器

82H

83H

00~59

0

10MIN

MIN

时寄存器

84H

85H

01~12或00~23

12/24

0

10

HR

HR

日寄存器

86H

87H

01~28,29,30,31

0

0

10DATE

DATE

月寄存器

88H

89H

01~12

0

0

0

10M

MONTH

周寄存器

8AH

8BH

01~07

0

0

0

0

0

DAY

年寄存器

8CH

8DH

00~99

10YEAR

YEAR

为了提高对32个地址寻址能力(地址/命令位1~5=逻辑1),可以把时钟/日历或RAM寄存器规定为多字节(burst)方式。

位6规定时钟或RAM,而位0规定读或写。

在时钟/日历寄存器中的地址9~31或RAM寄存器中的地址31不能存储数据。

在多字节方式下,读或写从地址0的位0开始。

必须按数据传送的次序写最先的8个寄存器。

但是,当以多字节方式写RAM时,为了传送数据不必写所有的31字节,不管是否写了全部31字节,所写的每一字节都将传送至RAM。

DS1302共有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式。

其日历、时间寄存器及其控制字如表所示,其中奇数为读操作,偶数为写操作。

时钟暂停:

秒寄存器的位7定义位时钟暂停位。

当它为1时,DS1302停止振荡,进入低功耗的备份方式,通常在对DS1302进行写操作时(如进入时钟调整程序),停止振荡。

当它为0时,时钟将开始启动。

AM-PM/12-24小时方式:

小时寄存器的位7定义为12或24小时方式选择位。

它为高电平时,选择12小时方式。

DS1302的晶振选用32768Hz,电容推荐值为6pF。

因为振荡频率较低,也可以不接电容,对计时精度影响不大。

3.原理图

图2—5电子万年历电路原理图

 

三、软件设计

1、主程序流程图

图3-1程序流程图

 

2、时间控制流程图

图3-2DS1302时控流程图

四、测试

图4—1初始状态图

图4—2调节状态图

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1