武汉绘芯科技有限公司欢迎您!
10余年经验沉淀展览展示运动控制的专家
全国咨询热线:027-87052087
联系我们
武汉绘芯科技有限公司
电话:027-87052087
手机:13329706647
邮箱:956693667@qq.com
地址:武汉市江夏区藏龙岛谭湖一路8号
联系人:黄先生
您的位置: 滑轨屏|绘芯科技 > 知识库 >
知识库

基于LCD1602液晶显示屏的电子万年历设计

日期:2016-07-30 11:49:33 来源:未知 点击

 

基于LCD1602液晶显示屏的电子万年历设计

引言  

    万年历是采用数字电路实现对.,,.数字显示的计时装置,广泛用于个人家庭,车站, 码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,但是所有这些,都是以钟表数字化为基础的。因此,研究万年历及扩大其应用,有着非常现实的意义。
市场上有许多电子钟的专用芯片如:LM8363LM8365等,但它们功能单一,电路连接复杂,不便于调试制作!但是考虑到用单片机配合时钟芯片,可制成功能任意的电子钟,而且可以做到硬件简单、成本低廉。所以本系统采用了以广泛使用的单片机AT89C51技术为核心,配合时钟芯片DS1302。软硬件结合,使硬件部分大为简化,提高了系统稳定性,并采用LED显示电路、键盘电路,使人机交互简便易行,此外结合音乐闹铃电路、看门狗和供电电路。本方案设计出的数字钟可以显示时间、设置闹铃功能之外。
本设计中我重点研究实现了单片机+时钟芯片这种模式的万年历,从原理上对单片机和时钟芯片有了深一步的认识,这些基本功能完成后,在软件基础上实现世界时,农历功能。
本设计在很多场合都能用到,可以把此万年历装在镜框中或其它工艺品中,以便更加实用。

第一章     概论 

1.1系统总体框图

本设计的核心部分为单片机控制器,系统的各项功能由其它各部分单元电路来完成,单元电路主要包括:时钟电路部分、显示部分、语音部分、人机交互控制接口部分等,单片机通过程序来控制其它各部分统一协调地来完成系统的各项功能,本设计硬件电路较简单,但软件部分较复杂,所有功能都要通过软件来实现,系统总体设计如图1-1所示

1.2 主控制器单片机的选择

采用比较流行的AT89S52作为电路的控制核心,AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程(具有ISP功能),亦适于常规编程器。在单芯上,拥有灵巧的8 CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

采用AT89C55,它是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含20kbytes 的可反复擦写的Flash只读程序存储器(ROM)和256*8bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,与标准MCS-51指令系统及8052产品引脚兼容,片内置通用8 位中央处理器(CPU)和Flash存储单元,功能强大AT89C55单片机适合于许多较为复杂控制应用场合。

虽然AT89S52ISP下载功能非常优秀,但它只有8KROM,由于本设计的程序代码比较多,所以选用AT89C55(具有20KROM)。

1.3 时钟电路的选择

采用时钟芯片DS1302DS1302DALLAS公司推出的涓流充电时钟芯片,内含有一个实时时钟/日历和31字节静态RAM,通过简单的串行接口与单片机进行通信。实时时钟/日历电路提供秒、分、时、日、日期、月、年的信息,每月的天数和闰年的天数可自动调整,时钟操作可通过AM/PM指示决定采用2412小时格式。DS1302与单片机之间能简单地采用同步串行的方式进行通信,仅需用到三根口线:⑴RES(复位),⑵I/O(数据线),⑶SCLK(串行时钟)。时钟/RAM的读/写数据以一个字节或多达31个字节的字符组方式通信。DS1302工作时功耗很低,保持数据和时钟信息时功率小于1mW[1]

DS1302是由DS1202改进而来的,增加了以下的特性:双电源管脚用于主电源和备份电源供应,Vcc1为可编程涓流充电电源,附加七个字节存储器。它广泛应用于电话、传真、便携式仪器以及电池供电的仪器仪表等产品领域。

●实时时钟具有能计算2100年之前的秒、分、时、日、日期、星期、月、年的能力,还有闰年自动调整和补偿的能力;

31×8RAM

●串行I/O口方式使得管脚数量最少;

●宽范围工作电压:2.05.5V

●工作电流:2.0V 时,小于300nA

●读/写时钟或RAM数据时,有两种传送方式:单字节传送和多字节传送(字符组方式);

8DIP 封装或可选8SOIC

●简单3 线接口;

●与TTL 兼容(Vcc=5V);

●可选工业级温度范围:-40℃-+85

●与DS1202 兼容。

1.4 语音报音电路的选择

直接使用语音芯片,语音芯片具有使用方便,外围元件少,只需少量元件就可以组成一个功能齐全的固体录放机,重放时音质好,没有常见的背景噪音,提供零功率信息存储,无需备用电源,掉电后录音内容可永久保留等优点。

ISD1420P语音芯片采用 CMOS 技术,单片录放时间20秒,音质好,内含震荡器、话筒前置放大、自动增益控制、防混淆滤波器、平滑滤波器、扬声器驱动及 EEPROM 阵列。最小的录放系统仅需麦克风、喇叭、两个按钮、电源及少数电阻电容。在录放操作结束后,芯片自动进入低功耗节电模式、功耗仅 0.5uA,芯片采用多电平直接模拟量存储专利技术,每个采样直接存储在片内单个 EEPROM 单元中,因此能够非常真实、自然地再现语音、音乐、音调等各种效果,避免了一般固体录音因电路量化和压缩造成的量化噪声和“金属声”。采样频率从 5.36.4 8.0KHz,对音质仅有轻微影响。 片内信息可保存 100 年(无需电源),EEPROM 单片可反复录音十万次,能直接驱动16Ω以上的喇叭[2]

1.5 显示电路和键盘的选择

显示采用1602液晶屏,它能显示2行,每行显示16个数字或字母(5*7字型),也可显示一行,每行16个字(5*10字型),可显示的内容比较多(包括数字,字母和很多符号),采用并行数据传送,这样1602LCD共占用单片机11个口线,相对于数码管,占用口线少,电路简单,无需外围驱动电路,占用PCB面积也较少;但对于编程来说,液晶显示的编程比较复杂,而且亮度也比较差,只能在近距离看到时间和日期,能见度不如数码管好。

键盘部分比较简单,只用到4个按键,采用独立式非编码键盘。

第二章  系统硬件电路设计

2.1 系统整体硬件电路设计

本设计采用时钟芯片作为时钟的基准,并且该芯片具有断电保护时间功能(断电后采用3.5v电子供电),显示部分采用LCD显示,可以显示年月日时分秒星期等等,该万年历具有随时可调整时分秒年月日的功能,最明显的功能是具有语音报时的功能,比已有的单调的闹钟声音更具有亲和力,具体的调整,录音和功能设置采用4个按键和LCD显示屏共同来实现。总体硬件设计框图如图2-1所示:

2.2 硬件单元电路设计

单元电路主要由单片机最小系统、时钟芯片电路、LCD显示电路、功能键电路、语音电路等组成。

2.2.1 单片机最小系统设计

AT89C55单片机有40PDIP42PDIP等,本系统采用40PDIP的封装,其引脚如图22所示,AT89C55AT89C5×系列单片机中性能居中、很有代表性的产品,其主要特性如下:(1)兼容MCS51产品;(220K字节可擦写1000次以上Flash ROM;(3)工作电压为+4V+5.5V;(4)有256*8字节RAM;(532个可编程IO口;(6316位定时/计数器;(78个中断源;(8)一个全双工UART串行通信口;(9)静态工作频率在033Mhz;(10)休眠和节电保持两种省电模式;(11)中断唤醒省电模式功能;(12)看门狗定时器;(13)双数据指针(DPTR);(14)电源关闭标志。它相对AT89C5189C52增加了ROM空间,内部看门狗定时器、双数据指针,全新的加密算法等功能,但价格基本不变,甚至更低。

51系列单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路。电路如图2-3所示。

2-2   AT89C55单片机引脚图                   2-3   AT89C55单片机最小系统图

2.2.2 时钟电路设计

一、 DS1302 的管脚排列及描述

管脚描述:(管脚排列如图2-4所示)

2-4  DS1302管脚配置图

Vcc1:主电源;

Vcc2:备份电源。当Vcc2>Vcc1+0.2V时,由Vcc2DS1302供电,当Vcc2< Vcc1时,由Vcc1DS1302供电;

SCLK:串行时钟输入;

I/O:双向数据线;     

RST:复位信号,在读、写数据期间,必须为高;   

X1,X2:晶振输入端

二、DS1302 的内部原理图

DS1302 的内部原理图如图2-5所示,主要由电源控制、晶体振荡、输入移位寄存器、通讯与控制逻辑和RAM组成,晶体振荡负责产生最小时钟单位,输入移位寄存器负责数据的输入与输出,RAM用来存储数据。

2.2.3 语音电路设计

一、ISD1420P 的内部结构及管脚排

ISD1420P内部结构图如图2-7所示,主要由时钟发生器(Internal Clock)、定时器(Timing)、 取样信号发生器(Sarnpling Clock)、话筒前置放大、自动增益控制(AGC)、防混淆滤波器、平滑滤波器、电源调节器(Power Conbltlonlng)、地址缓冲器(Address Buffers)、扬声器驱动(Amp)及EEPROM 阵列几部分组成.

2-7  ISD1420P 内部结框图

管脚排列如图2-8所示;

A0A7:地址输入端; 

VCCAVSSA:分别为模拟电路正,负电源端;

VCCDVSSD:分别为数字电路正,负电源端;

SP+SP-:分别为喇叭正,负端,能驱动 16Ω以上的喇叭;

XCLK:外部时钟;

ANA INANA OUT:分别为模拟输入,模拟输出;

MIC:驻极体话筒输入;

MIC REF:驻极体话筒参考输入;

AGC:自动增益控制;

/REC:录音触发(低电平有效);

/PLAYE:边沿触发放音,此端出现下降沿时,芯片开始放音;                                            2-8  ISD1420P 引脚图[11]

/PLAYL:电平触发放音,此端出现下降沿时,芯片开始放音;     

/RECLED:录音指示,处于录音状态时,此端为低,可驱动 LED [4]

2-8  ISD1420P 引脚图

二,ISD1420P与单片机的连接

ISD1420P的电路图如图 2-9所示,图中LED用做录音和放音的指示灯;R8R10C6起到上拉的作用;通过R14C11的时间常数来决定自动增益控制的释放时间,470KΩ和4.7uF 的标称值在绝对大多数场合下可获得满意的效果;C7为电源和地之间的去耦电容;C9C10为话筒的耦合电容.

2-9  ISD1420P电路图

2.2.4显示电路设计

一、LCD1602 内部结构及管脚排列

LCD1602 内部结构如图2-10所示

2-10  LCD1602 内部结构

     忙碌标志:本标志(BF)用以表示当时LCD的状态,若BF=1,则表示处于忙碌状态,无法接受外部指令或数据;若BF=0,则可接受外部指令或数据。

     显示数据存储器:本存储器(DDRAM)存储所要显示的数据。实际上本存储器里存放的是要显示数据的ASCII码,再以ASCII码为地址,到CGRAM里找到该字型的显示编码。

此外还包括字型产生器,光标闪烁控制电路,偏压电路,时序电路等等[6]LCD1602管脚排列及功能说明如表 2-1所示。

2-1  LCD1602管脚排列及功能说明

二、LCD1602电路图

LCD1602电路图如图2-11所示,其中J28*10k欧姆的排阻作为P0口的上拉电阻,J141602液晶显示器件,左边的SIP16封装接口与液晶对应,电位器R7是用来调节液晶背光的对比度的,液晶的456脚与单片机相连作为控制信号,714脚与单片机P0口相连作为数据信号传送。

2-11  LCD1602电路图

第三章 系统软件设计

3.1软件整体设计

系统软件主要包括以下几个模块:LCD显示模块,DS1302时钟芯片模块,ISD1420P语音芯片模块,按键处理模块等,通过这几个模块的有机结合和互相调用来完系统任务,软件总体框架结构如图 3-1所示,主程序流程图如图 3-2所示。

3-2 主程序流程图及中断服务程序流程

 

3.2 软件子模块设计

3.2.1时钟芯片DS1302软件设计

一、DS1302编程原理

1DS1302内部寄存器组织

DS1302有关日历、时间的寄存器共有12个,其中有7个寄存器(读时81h8Dh,写时80h8Ch),存放的数据格式为BCD码形式,如表3-1所示。表 3-1  DS1302有关日历、时间的寄存器 。            

小时寄存器(85h84h)的位7用于定义DS1302是运行于12小时模式还是24小时模式。当为高时,选择12小时模式。在12小时模式时,位5是 ,当为1时,表示PM。在24小时模式时,位5是第二个10小时位。

秒寄存器(81h80h)的位7定义为时钟暂停标志(CH)。当该位置为1时,时钟振荡器停止,DS1302处于低功耗状态;当该位置为0时,时钟开始运行。

控制寄存器(8Fh8Eh)的位7是写保护位(WP),其它7位均置为0。在任何的对时钟和RAM的写操作之前,WP位必须为0。当WP位为1时,写保护位防止对任一寄存器的写操作。

  DS1302中附加31字节静态RAM的地址如表4-2所示。

3-2 DS1302数据RAM地址

DS1302的工作模式寄存器

所谓突发模式是指一次传送多个字节的时钟信号和RAM数据。突发模式寄存器如表3-3所示。

3-3 突发模式寄存器

此外,DS1302还有充电寄存器等。

2.读写时序说明

DS1302SPI总线驱动方式。它不仅要向寄存器写入控制字,还需要读取相应寄存器的数据。

要想与DS1302通信,首先要了解DS1302的控制字。DS1302的控制字如图 3-3所示。

3-3   控制字(即地址及命令字节)

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

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

5至位1A4A0):指示操作单元的地址;

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

控制字总是从最低位开始输出。在控制字指令输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从最低位(0位)开始。同样,在紧跟8位的控制字指令后的下一个SCLK脉冲的下降沿,读出DS1302的数据,读出的数据也是从最低位到最高位。数据读写时序如图 3-4所示,数据可分为单字节传送和多字节传送。

3-4   数据读写时序

二、DS1302软件设计模块图

DS1302软件设计模块图如图3-5所示,具体可以包括三个模块:写入数据模块、读出数据模块、初始化时间模块,每个模块又可以包含几个子函数.

3.2.2 LCD1602显示软件设计及显示说明

LCD1602液晶显示屏是以若干个5* 85* 11点阵块组成的显示字符群。每个点阵块为一个字符位,字符间距和行距都为一个点的宽度,主控制驱动电路为HD44780 (HITACHI ),具有字符发生器ROM可显示192种字符1605 *7点阵字符和325* 10点阵字符,具有64个字节的自定义字符RAM,可自定义85* 8点阵字符或45* 11点阵字符,具有80个字节的RAM,标准的接口特性适配M6800系列MPU的操作时序,低功耗长寿命高可靠性。

一、LCD1602编程原理

1.控制器接口信号说明

控制器接口信号说明如表3-4所示

2LCD指令说明

LCD指令说明如表3-5所示。

3-5  LCD指令表

指令

指令 码

功能

RS

R/W

D7

D6

D5

D4

D3

D2

D1

D0

清除

显示

0

0

0

0

0

0

0

0

0

1

DDRAM填满"20H",并且设定DDRAM的地址计数器(AC)"00H"

地址

归位

0

0

0

0

0

0

0

0

1

X

设定DDRAM的地址计数器(AC)"00H",并且将游标移到开头原点位置;这个指令不改变DDRAM 的内容

显示状态开/

0

0

0

0

0

0

1

D

C

B

D=1: 整体显示 ON,C=1: 游标ON ,   B=1:游标位置反白允许

进入点设定

0

0

0

0

0

0

0

1

I/D

S

指定在数据的读取与写入时,设定游标的移动方向及指定显示的移位

游标或显示移位控制

0

0

0

0

0

1

S/C

R/L

X

X

设定游标的移动与显示的移位控制位;这个指令不改变DDRAM 的内容

 功能

,  设定

0

0

0

0

1

DL

X

RE

X

X

,

DL=0/14/8位数据

RE=1: 扩充指令操作,

RE=0: 基本指令操作

 , ;设定CGRAM

 地址

0

0

0

1

AC5

AC4

AC3

AC2

AC1

AC0

设定CGRAM 地址

 设定DDRAM

 地址

0

0

1

0

AC5

AC4

AC3

AC2

AC1

AC0

设定DDRAM 地址(显示位址)

第一行:80H87H第二行:90H97H

读取忙标志和地址

0

1

BF

AC6

AC5

AC4

AC3

AC2

AC1

AC0

读取忙标志(BF)可以确认内部动作是否完成,同时可以读出地址计数器(AC)的值

写数据到RAM

1

0

数据

将数据D7—D0写入到内部的RAM(DDRAM/CGRAM/IRAM/GRAM)

读出RAM的值

1

1

数据

从内部RAM读取数据D7—D0

(DDRAM/CGRAM/IRAM/GRAM)

3LCD字型编码表

LCD字型编码表如图 3-8所示。

3-8 LCD字型编码表

二、LCD1602显示软件设计流程图

LCD1602显示程序流程图如图 3-9所示,除了该流程图还有显示一个字符到指定位置函数,显示字符串到指定位置函数,写指令函数,写数据函数,判忙函数(内部等待函数),初试化函数等等。

3-9  LCD1602显示程序流

LCD1602显示说明

根据功能的不同,显示界面也不同,主要有以下几种显示界面:开机欢迎界面,正常显示和调整设置界面,闹钟设置界面,分段录音界面。

1.开机欢迎界面

开机欢迎界面如 3-10所示。

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

A

 

 

 

 

 

W

E

L

C

O

M

E

 

 

 

 

B

 

 

 

 

 

W

E

L

C

O

M

E

 

 

 

 

3-10 开机欢迎界面

  该界面是起了美化效果,使显示更具有亲和力,更具有人性化的设计。

2.正常显示和调整设置界面

正常显示和调整设置界面如 3-11所示。

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

A

T

i

m

e

:

0

0

:

0

0

:

0

0

 

w

?

B

D

a

t

e

:

0

0

-

0

0

-

0

0

 

T

T

3-11 正常显示和调整设置

界面显示说明:

A6,A7显示小时,A9,A10显示分钟,A12,A13显示秒;

A15Wweek的首字母表示星期的意思,A16的?是显示当天的星期,如该天为星期一则显示为1,以此类推;

B6,B7显示小时,B9,B10显示分钟,B12,B13显示秒;

B15TTRUE)则代表闹钟报音开,为F(false)则为关,

B16TTRUE)则代表整点报音开,为F(false)则为关;

⑸在该界面中以上提到的几位都可以通过按键来调整和设置。

3.闹钟设置界面

闹钟设置界面如 3-12所示。

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

A

 

 

 

 

S

E

T

C

L

O

C

K

 

 

 

 

B

T

i

m

e

:

0

0

:

0

0

:

0

0

 

O

 

3-12 闹钟设置界面

界面显示说明:

B6,B7为闹钟小时设置位,B9,B10为闹钟分钟设置位,B12,B13为闹钟秒设置位;

B15为周期性闹钟设置位,为Oonce)则为临时性闹种,为Rrepeat)则为周期性闹钟;

⑶在该界面中以上提到的几位都可以通过按键来调整和设置。

4.分段录音界面

分段录音界面如 3-13 3-14 3-15所示。 3-13为进入录音功能界面, 3-14为录音开始界面, 3-15为录音结束界面。

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

A

 

 

 

 

 

W

E

L

C

O

M

E

 

 

 

 

B

 

 

 

 

R

E

C

O

R

D

E

R

 

 

 

 

3-13 进入录音功能界面

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

A

R

e

c

o

r

d

i

n

g

:

1

 

 

 

1

S

B

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3-14 录音开始界面

 

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

A

R

e

c

o

r

d

i

n

g

:

1

 

 

 

1

S

B

 

 

 

 

 

 

O

V

E

R

 

 

 

 

 

 

3-15 录音结束界面

录音界面显示说明:

⑴正在录音时显示A行,其中A11显示为录音的字段序号,A15为该段的录音时间长度,录音时不能超过该时间长度,超过部分录音无效;

⑵一个字段录音完成时显示 3-15界面。

 

 

 

 

 

 

 

 


 

参考文献

 [1] 沈德金、陈粤初等编著,MCS51系列单片机接口电路与应用程序实例, 北京:北京航空航天大学出版社,19914
[2]
王永军、从玉珍 主编,数字逻辑与数字系统, 北京:电子工业出版社,19998月。
 [3] Howard M.Berlin Guide to CMOS Basics, Circuits, &Experiments  Howard M.Berlin,Ltd
[4]
童本敏等编,标准集成电路数据手册, 北京:电子工业出版社 
[5] www.21IC.com
  中国电子网
[6]
马忠梅,籍顺心,张凯,等.单片机的C语言应用程序设计[M].北京:北京航空航天大学出版社,2001143164.
[7]
胡伟,季晓衡.单片机C程序设计及应用实例[M].北京:人民邮电出版社,2003470478.

 


在线客服
联系方式

热线电话

13329706647

上班时间

周一到周五

公司电话

027-87052087

二维码
线