PCB 下载站 http://www.wendangku.net/doc/01ae1867caaedd3383c4d32b.html
1
前言
随着越来越多的手持式电器的出现,对高性能、小尺寸、重量轻的电池充
电器的需求也越来越大。电池技术的持续进步也要求更复杂的充电算法以实现快
速、安全的充电。因此需要对充电过程进行更精确的监控,以缩短充电时间、达
到最大的电池容量,并防止电池损坏。AVR 已经在竞争中领先了一步,被证明是
下一代充电器的完美控制芯片。Atmel AVR 微处理器是当前市场上能够以单片方
式提供Flash 、EEPROM 和10 位ADC 的最高效的8 位RISC 微处理器。由于程序存
储器为Flash ,因此可以不用象MASK ROM 一样,有几个软件版本就库存几种型号。
Flash 可以在发货之前再进行编程,或是在PCB 贴装之后再通过ISP 进行编程,
从而允许在最后一分钟进行软件更新。EEPROM 可用于保存标定系数和电池特性
参数,如保存充电记录以提高实际使用的电池容量。10位A/D 转换器可以提供足
够的测量精度,使得充好后的容量更接近其最大容量。而其他方案为了达到此目
的,可能需要外部的ADC ,不但占用PCB 空间,也提高了系统成本。AVR 是目前
唯一的针对像 “C ”这样的高级语言而设计的8 位微处理器。C 代码似的设计很
容易进行调整以适合当前和未来的电池,而本次智能型充电器显示程序的编写则
就是用C 语言写的。
PCB 下载站 http://www.wendangku.net/doc/01ae1867caaedd3383c4d32b.html
2
第一章 概述
第一节 绪论
1.1.1课题背景
如今,随着越来越多的手持式电器的出现,对高性能、小尺寸、重量轻的
电池充电器的需求也越来越大。电池技术的持续进步也要求更复杂的充电算法以
实现快速、安全的充电。因此需要对充电过程进行更精确的监控,以缩短充电时
间、达到最大的电池容量,并防止电池损坏。与此同时,对充电电池的性能和
工作寿命的要求也不断地提高。从20世纪60年代的商用镍镉和密封铅酸电池
到近几年的镍氢和锂离子技术,可充电电池容量和性能得到了飞速的发展。
目前各种电器使用的充电电池主要有镍镉电池(NiCd )、镍氢电池(NiMH )、
锂电池(Li-Ion )和密封铅酸电池(SLA )四种类型。
电池充电是通过逆向化学反应将能量存储到化学系统里实现的。由于使用
的化学物质的不同,电池有自己的特性。设计充电器时要仔细了解这些特性以防
止过度充电而损坏电。
目前,市场上卖得最多的是旅行充电器,但是严格从充电电路上分析,只
有很少部分充电器才能真正意义上被称为智能充电器,随着越来越多的手持式电
器的出现,对高性能、小尺寸、轻重量的电池充电器的需求也越来越大。电池技
术的持续进步也要求更复杂的充电算法以实现快速、安全地充电,因此,需要对
充电过程进行更精确地监控(例如对充、放电电流、充电电压、温度等的监控),
以缩短充电时间,达到最大的电池容量,并防止电池损坏。因此,智能型充电电
路通常包括了恒流/恒压控制环路、电池电压监测电路、电池温度检测电路、
外部显示电路(LED 或LCD 显示)等基本单元。其框图如下:
PCB 下载站 http://www.wendangku.net/doc/01ae1867caaedd3383c4d32b.html
3
图1-1 智能充电器基本框图
Atmel AVR 微处理器是当前市场上能够以单片方式提供Flash 、EEPROM 和10
位ADC 的最高效的8 位RISC 微处理器。由于程序存储器为Flash ,因此可以不用
象MASK ROM 一样,有几个软件版本就库存几种型号。Flash 可以在发货之前再进
行编程,或是在PCB 贴装之后再通过ISP 进行编程,从而允许在最后一分钟进行
软件更新。EEPROM 可用于保存标定系数和电池特性参数,如保存充电记录以提
高实际使用的电池容量。10位A/D 转换器可以提供足够的测量精度,使得充好后
的容量更接近其最大容量。而其他方案为了达到此目的,可能需要外部的ADC ,
不但占用PCB 空间,也提高了系统成本。AVR 是目前唯一的针对象 “C”这样的
高级语言而设计的8 位微处理器。
1.1.2常见充电电池特性及其充电方式
电池充电是通过逆向化学反应将能量存储到化学系统里实现的,由于使
用的化学物质的不同,电池的特性也不同,其充电的方式也不大一样。
电池的安全充电 现代的快速充电器( 即电池可以在小于3 个小时的时间
里充满电,通常是一个小时) 需要能够对单元电压、充电电流和电池温度进行精
确地测量,在充满电的同时避免由于过充电造成的损坏。
PCB 下载站 http://www.wendangku.net/doc/01ae1867caaedd3383c4d32b.html
4
充电方法 SLA 电池和锂电池的充电方法为恒定电压法要限流; NiCd 电池
和NiMH 电池的充电方法为恒定电流法,且具有几个不同的停止充电的判断方法。
最大充电电流 最大充电电流与电池容量(C) 有关。最大充电电流往往以电
池容量的数值来表示。例如,电池的容量为750 mAh ,充电电流为750 mA ,则充
电电流为1C (1 倍的电池容量)。若涓流充电时电流为C/40,则充电电流即为电
池容量除以40。
过热 电池充电是将电能传输到电池的过程。能量以化学反应的方式保存了
下来。但不是所有的电能都转化为了电池中的化学能。一些电能转化成了热能,
对电池起了加热的作用。当电池充满后,若继续充电,则所有的电能都将转化为
电池的热能。在快速充电时这将使电池快速升温,若不及时停止充电就会造成电
池的损坏。因此,在设计电池充电器时,对温度进行监控并及时停止充电是非常
重要的。
现代消费类电器主要使用如下四种电池:
? 密封铅酸电池 (SLA)
? 镍镉电池 (NiCd)
? 镍氢电池(NiMH)
? 锂电池(Li-Ion)
在正确选择电池和充电算法时需要了解这些电池的背景知识。
密封铅酸电池(SLA) 密封铅酸电池主要用于成本比空间和重量更重要的场
合,如UPS 和报警系统的备份电池。SLA 电池以恒定电压进行充电,辅以电流限
制以避免在充电过程的初期电池过热。只要电池单元电压不超过生产商的规定
( 典型值为2.2V), SLA 电池可以无限制地充电。
镍镉电池(NiCd) NiCd 电池目前使用得很普遍。它的优点是相对便宜,易于
使用;缺点是自放电率比较高。典型的NiCd 电池可以充电1000 次。失效机理主
要是极性反转。在电池包里第一个被完全放电的单元会发生反转。为了防止损坏
电池包,需要不间断地监控电压。一旦单元电压下降到1.0V 就必须停机。NiCd 电
池以恒定电流的方式进行充电。
镍氢电池(NiMH) 在轻重量的手持设备中如手机、手持摄象机,等等镍氢电
池是使用最广的。这种电池的容量比NiCd 的大。由于过充电会造成NiMH 电池的
失效,在充电过程中进行精确地测量以在合适的时间停止是非常重要的。和NiCd
PCB 下载站 http://www.wendangku.net/doc/01ae1867caaedd3383c4d32b.html
5
电池一样,极性反转时电池也会损坏。NiMH 电池的自放电率大概为20%/ 月。和
NiCd 电池一样,NiMH 电池也为恒定电流充电。
锂电池 (Li-Ion) 和本文中所述的其他电池相比,锂电池具有最高的能量/
重量比和能量/ 体积比。锂电池以恒定电压进行充电,同时要有电流限制以避免
在充电过程的初期电池过热。当充电电流下降到生产商设定的最小电流时就要停
止充电。过充电将造成电池损坏,甚至爆炸。
1.1.3 主要芯片的选择
ATMEL 公司是世界上有名的生产高性能、低功耗、非易失性存储器和各种数
字模拟IC 芯片的半导体制造公司。在单片机微控制器方面,ATMEL 公司有AT89,
AT90和ARM 三个系列单片机的产品。由于8051本身结构的先天性不足和近年来
各种采用新型结构和新技术的单片机的不断涌现,现在的单片机市场是百花齐
放。ATMEL 在这种强大市场压力下,发挥Flash 存储器的技术特长,于1997年
研发并推出了个新配置的、采用精简指令集RISC(Reduced Instruction Set CPU)
结构的新型单片机,简称AVR 单片机。
精简指令集RISC 结构是20世纪90年代开发出来的,综合了半导体案成技
术和软例-性能的新结构。AVR 单片机采用RISC 结构,具有1MIPS/ MHz 的高速
运行处理能力。为了缩短产品进入市场的时间,简化系统的维护和支持,对于由
单片机组成的嵌入式系统来说,用高级语言编程已成为一种标准编程方法。AVR
结构单片机的开发日的就在于能够更好地采用高级语言(例如C 语言、BASIC 语
言)来编写嵌入式系统的系统程序,从而能高效地开发出目标代码。为了对目标
代码大小、性能及功耗进行优化,AYR 单片机的结构中采用了大型快速存取寄存
器组和快速的单周期指令系统。
AVR 单片机运用Harvard 结构,在前一条指令执行的时候就取出现行的指令,
然后以一个周期执行指令。在其他的CISC 以及类似的RISC 结构的单片机中,外
部振荡器的时钟被分频降低到传统的内部指令执行周期,这种分频最大达12倍
(8051)。AVR 单片机是用一个时钟周期执行一条指令的,它是在8位单片机中第
一个真正的RISC 结构的单片机。
由于AVR 单片机采用了Harvard 结构,所以它的程序存储器和数据存储器是
分开组织和寻址的。寻址空间分别为可直接访问8M 字节的程序存储器和8M 字节
PCB 下载站 http://www.wendangku.net/doc/01ae1867caaedd3383c4d32b.html
6
的数据存储器。同时,由32个通用工作寄存器所构成的寄存器组被双向映射,
因此,可以采用读写寄存器和读写片内快速SRAM 存储器两种方式来访问32个通
用工作寄存器。
AVR 主要有单片机有ATtiny 、AT90和ATmega 三种系列,其结构和基本原理
都相类似。本次设计所用到的Atmega16L 芯片便是ATmega 系列中的一种,在这
里作为充电器的核心部件。它是一种具有40引脚的高性能、低功耗的8位微处
理器。其功能特性如下:
(1) 8位CPU 。
(2) 先进的RISC 结构:
131 条指令– 大多数指令执行时间为单个时钟周期
32个8 位通用工作寄存器
全静态工作
(3) 非易失性数据和程序存储器:
16K 字节的系统内可编程Flash ,擦写寿命可达到10,000 次以上。具有独立
锁定位的可选Boot 代码区,通过片上Boot 程序实现系统内编程。
512 字节的EEPROM ,可连续擦写100,000 次。1K 字节的片内SRAM ,可以对锁
定位进行编程以实现用户程序的加密。
(4) 可通过JTAG 接口实现对FLASH 、EEPROM 的编程。
(5) 32个可编程的I/O 引线,40引脚PDIP 封装。
(6) 两个具有独立预分频器和比较器功能的8位定时器/ 计数器,一个具有预分
频器、比较功能和捕捉功能的16位定时器/ 计数器。
(7) 片内/ 片外中断源。
(8) 具有一个10位的AD 转换器,能对来自端口A 的8位单端输入电压进行采样。
(9) 工作电压:2.7-5.5V 。
速度等级:0-8MHz 。
AVR 单片机的主要特点如下:
1.片内集成可擦写10000次以上的Flash 程序存储器。由于AVR 采用16位
的指令,所以一个程序存储器的存储单元为16位,即XXXX*1116(也可理解为8
位,即2*XXXX*8)。AVR 的数据存储器还是以8个Bit(位)为一个单元,因此AVR
还是属于8位单片机。
PCB 下载站 http://www.wendangku.net/doc/01ae1867caaedd3383c4d32b.html
7
2.采用CMOS 工艺技术,高速度(50ns)、低功耗、具有SLEEP(休眠)功能。
AVR 的指令执行速度可达50ns (20MHz)。AVR 运用Harvard 结构概念,具有预取
指令的特性,即对程序存储和数据存取使用不同的存储器和总线。当执行某一指
令时,下一指令被预先从程序存储器中取出,这使得指令可以在每一个时钟周期
内执行。
3.高度保密(LOCK)。可多次擦写的FLASH 具有多重密码保护锁死(LOCK)功
能,因此可低成本高速度地完成产品商品化,并且可多次更改程序(产品升级)
而不必浪费1C 或电路板,大大提高了产品的质量及竞争力。
4.超功能精简指令。具有32个通用作寄存器(相当于8051中的32个累加
器),克服了单一累加器数据处理造成的瓶须现象,128~4K 字节SRAM 可灵活使
用指令计算,并可用功能很强的C 语言编程,易学、易写、易移植。
5.程序写入器件可以并行写入(用编程器写入),也可使用串行在线编程(ISP)
方法下载写入,也就是说不必将单片机芯片从系统上拆下,拿到万用编程器上烧
写,而可直接在电路板上进行程序的修改、烧写等操作,方便产品升级,尤其是
采用SMD 封装,更利于产品微型化。
6.工作电压范围为2.7V~6.0V,电源抗干扰性能强。
7.AVR 单片机还在片内集成了可擦写100000次的2E PROM 数据存储器,等于
又增加了一个芯片,可用于保存系统的设定参数、固定表格和掉电后的数据,既
方便了使用,减小了系统的空间,又大大提高了系统的保密性。
8.有8位和16位的计数器定时器(C/T),可作比较器、计数器、外部中断和
PWM (也可作D/A )用于控制输出。
1.1.4液晶显示模块的选择
LCD 显示模块是一种被动显示器,具有功耗低,显示信息大,寿命长和抗干
扰能力强等优点,在低功耗的单片机系统中得到大量使用。液晶显示模块和键盘
输入模块作为便携式仪表的通用器件,在单片机系统的开发过程中也可以作为常
用的程序和电路模块进行整体设计。液晶显示的原理是利用液晶的物理特性,通
过电压对其显示区域进行控制,有电就显示黑色,这样即可显示出图形。
在单片机系统中使用液晶显示模块作为输出器件有以下优点:
(1)显示质量高
PCB 下载站 http://www.wendangku.net/doc/01ae1867caaedd3383c4d32b.html
8
液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,
因此液晶显示器画质高而且不会闪烁。
(2)数字式接口
液晶显示器都是数字式的,和单片机系统的接口更加简单。
(3)体积小,重量轻
(4)功率消耗小
液晶显示器的功耗主要消耗在其内部的电极和驱动IC 上,因此耗电量比其
它显示器要小得多。
第二节 毕业设计任务和要求
智能充电器的设计包括硬件和软件两大部分,本人的主要任务是完成充电器
设计的LCD 显示部分,其主要涉及的知识包括:
(1) 自学A VR 单片机的相关内容。
(2) 设计电源电路。
(3) 设计128*64液晶显示控制电路和用C 语言编制LCD 显示程序,用图形方式
显示充电器电压、电流等参数。
(4) 手工焊接和ICCA VR 编译器的应用。
这次设计要解决的关键问题是如何用Atmega16L 芯片控制LCD 模块及用C
语言编制相应的显示程序.随着单片机的开发应用,其相应的汇编编程和所暴露
的问题也越来越多,逐渐引入了高级语言,C 语言就是其中的一种。在大一时就
曾接触过C 语言,由于时间较短,重视程度不够,后来又一直没用过,只能对
它有一个大概的了解。而对于A VR 单片机的相关知识和液晶显示模块的使用,
则完全是一片空白。这次毕业设计,就不得不花大量的时间在这些基础知识的学
习上。为了更有效地完成这个课题,特列出了如下计划:
表1-1 毕业设计进度表
PCB 下载站 http://www.wendangku.net/doc/01ae1867caaedd3383c4d32b.html
9
这次毕业设计是由郭伟同学和本人共同合作完成,由他完成充电部分的硬件
电路的设计,和这边的显示部分相结合,共同完成智能充电器的设计。
第二章硬件电路设计
经过前面对充电器原理、液晶模块、ATmega16L等的总体了解和掌握以及对各种元器件和电路图的分析和比较后,现在就可以开始进入硬件电路的设计了。在本章里,首先将介绍一下液晶模块访问方式的两种接口电路,然后对LCD显示电路原理图作一个详细的介绍,接着介绍充电电路中所用到的各种芯片和元器件的原理和一些功能,最后对PROTEL99的使用和PCB板的绘制以及焊接做一简单介绍,然后再将自己的设计思想和同组人所设计的两部分结合,达成统一。
第一节液晶显示模块两种访问方式接口电路的选择单片机与液晶显示模块之间的连接方式分为直接访问方式和为间接控制方式两种。如图2-1和图2-2所示,其中左为单片机,右为液晶显示模块。
(一) 直接访问方式
电位器
负电源
1
3
274LS00
A11
A10
A9
A8
MPU 图2-1 直接访问方式电路图LCM接口
直接访问方式就是将液晶显示模块的接口作为存储器或I/O设备直接挂在单片机总线上,单片机以访问存储器或I/O设备的方式操作液晶显示模块的工作。直接访问方式的接口电路如图2-1所示,在图中,单片机通过高位地址A11控制CSA,A10控制CSB,以选通液晶显示屏上各区的控制器;同时用地址A9作为R/W信号控制数据总线的数据流向;用地址A8作为D/I信号控制寄存器的选择,E(使能)信号由RD和WE共同产生,这样就实现了单片机对液晶显示模块的电路边接。电位器用于显示对比度的调节。
(二)间接控制方式
PCB 下载站 http://www.wendangku.net/doc/01ae1867caaedd3383c4d32b.html
12
10K
负电源
GND
MPU LCM 接口
图2-2 间接控制方式电路图
间接控制方式是单片机通过自身的或系统中的并行接口与液晶显示模块连接。单片机通过对这些接口的操作,以达到对液晶显示模块的控制。这种方式的特点就是电路简单,控制时序由软件实现,可以实现高速单片机与液晶显示模块的接口。电路图如图2-2所示。在图中以 P1口作为数据口,P3.4为CSA ,P3.3为CSB ,P3.2为使能端,P3.1为R/W 和P3.0为D/I 信号。电位器用于显示对比度的调节。
通过比较再结合本次设计的实际条件,由于Atmega16L 芯片没有WR 、RD 管脚,而且为了使电路简单且方便软件实现,所以最终决定采用间接控制的方式来设计LCD 显示电路。
第二节 硬件电路主要芯片
2.2.1 ATmega16L 主要引脚说明
以下是ATmega16L 的引脚配置:
PCB 下载站 http://www.wendangku.net/doc/01ae1867caaedd3383c4d32b.html
13
图2-3 ATmega16L 芯片引脚
引脚说明:
VCC 数字电路的电源
GND 地
端口A(PA7~PA0) 端口A 作为A/D 转换器的模拟输入端。
端口A 为8 位双向I/O 口,具有可编程的内部上拉电阻。其
输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。
作为输入使用时,若内部上拉电阻使能,端口被外部电路拉
低时将输出电流。在复位过程中,即使系统时钟还未起振,
端口A 处于高阻状态。
端口B(PB7~PB0) 端口B 为8 位双向I/O 口,具有可编程的内部上拉电阻。其
输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。
作为输入使用时,若内部上拉电阻使能,端口被外部电路拉
低时将输出电流。在复位过程中,即使系统时钟还未起振,
端口B 处于高阻状态。
端口C(PC7~PC0) 端口C 为8 位双向I/O 口,具有可编程的内部上拉电阻。其
输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。
PCB 下载站 http://www.wendangku.net/doc/01ae1867caaedd3383c4d32b.html
14
作为输入使用时,若内部上拉电阻使能,端口被外部电路拉
低时将输出电流。在复位过程中,即使系统时钟还未起振,
端口C 处于高阻状态。如果JTAG 接口使能,即使复位出现引
脚PC5(TDI)、PC3(TMS)与PC2(TCK)的上拉电阻被激活。
端口D((PD7~PD0) 端口D 为8 位双向I/O 口,具有可编程的内部上拉电阻。其
输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。
作为输入使用时,若内部上拉电阻使能,则端口被外部电路
拉低时将输出电流。在复位过程中,即使系统时钟还未起振,
端口D 处于高阻状态。
RESET 复位输入引脚。持续时间超过最小门限时间的低电平将引起
系统复位。
XTAL1 反向振荡放大器与片内时钟操作电路的输入端。 XTAL2 反向振荡放大器的输出端。
AVCC AVCC 是端口A 与A/D 转换器的电源。不使用ADC 时,该引脚应
直接与VCC 连接。使用ADC 时应通过一个低通滤波器与VCC 相
连。
AREF A/D 的模拟基准输入引脚。
2.2.2 Atmega16L 的存储器
AVR 结构有两个主要的存储空间:数据存储器空间和程序存储器空间,此外,Atmega16L 还有一个EEPROM 存储器以保存数据。这三个存储器都为线性的平面结构。
(1) Atmega16L 具有16K 字节的在线编程Flash ,用于存储程序指令代码。因为AVR 指令为16位或32位,故Flash 组织成8K 16的形式。用户程序的安全性要根据Flash 程序存储器的两个区:引导(Boot) 程序区和应用程序区,分开来考虑。
Flash 存储器至少可以擦写10,000次。Atmega16L 的程序存储器为13位,因此可以寻址8K 的存储器空间。关于用SPI 或JTAG 接口实现对Flash 的串行下载,将在软件部分作详细的介绍。
(2) 数据存储器的寻址方式分为5种:直接寻址、带偏移量的间接寻址、间接寻址、带预减量的间接寻址和带后增量的间接寻址。
PCB 下载站 http://www.wendangku.net/doc/01ae1867caaedd3383c4d32b.html
15
ATmega16L 的全部32个通用寄存器、64个I/O 寄存器及1024个字节的内部数据SRAM 可以通过所有上述的寻址模式进行访问。
(3) ATmega16L 包含512 字节的EEPROM 数据存储器。它是作为一个独立的数据空间而存在的,可以按字节读写。EEPROM 的寿命至少为100,000 次擦除周期。EEPROM 的访问由地址寄存器、数据寄存器和控制寄存器决定。
2.2.3 Atmega16L 的时钟电路
单片机的时钟用于产生工作所需要的时序,其连接电路如下图:
图2-4 晶体振荡器连接图
XTAL1 与XTAL2 分别为用作片内振荡器的反向放大器的输入和输出,考虑到其最大频率不超过8MHz ,这里选用的晶振为7.3728MHz 。
2.2.4 Atmega16L 的系统复位
Atmega16L 有五个复位源:
(1) 上电复位。电源电压低于上电复位门限Vpot 时,MCU 复位。如果在单片机加
Vcc 电压的同时,保持RESET 引脚为低电平,则可延长复位周期。
Vcc V pot
V pot
RESET V rst V rst TIME-OUT
INTERINAL t TOUT t TOUT RESET
图2-5 RESET 引脚与VCC 相连时, 图2-6 RESET 引脚由外部控制时,
PCB 下载站 http://www.wendangku.net/doc/01ae1867caaedd3383c4d32b.html
16
单片机的复位电平 单片机的复位电平
(2) 外电复位。引脚RESET 上的低电平持续时间大于最小脉冲宽度时MCU 复位。 Vcc
INTERNAL
RESET
图2-7 外部复位时序图
(3) 看门狗复位。看门狗使能并且看门狗定时器溢出时复位发生。看门狗计数器
溢出时,将产生一个晶振的复位脉冲。
Vcc
RESET
WDT 1 XTAL Cycle
TIME-OUT
RESET t TOUT
TIME-OUT
INTERNAL
RESET
图2-8 看门狗复位时序图
(4) 掉电检测复位。掉电检测复位功能使能,且电源电压低于掉电检测复位门限
Vpot 时MCU 即复位。
(5) JTAG AVR 复位。复位寄存器为1时MCU 复位。
第三节 LCD 液晶显示
2.3.1 LCD 的显示原理
液晶显示器是一种功耗极低的显示器。随着液晶显示技术的发展,LCD 显示
PCB 下载站 http://www.wendangku.net/doc/01ae1867caaedd3383c4d32b.html
17
器的规格众多,其专用驱动芯片也相互配套,使LCD 在控制和仪表系统中广泛应用提供了极大的方便。根据LCD 显示原理的不同,常见和常用的LCD 可以分为字符型LCD 和点阵型LCD 两种。不同的显示原理使得这两种LCD 的指令系统、接口和功能等是不相同的,各有优缺点,但结合到本次设计的实际要求,经过比较还是选用点阵型LCD 。现就点阵型LCD 的显示原理、模块特点等做一简要介绍。
要想在液晶模块上显示一个汉字或字符,需要3个最基本的控制操作:分别向3个控制器写指令代码、写显示数据和读显示数据。这里要特别引起注意的是完成这3项操作的前提条件是KS0108B 控制器处于准备好的状态,即BUSY=0,由模块的软件特性知道,当BUSY=1时,系统的接口电路处于被封锁的状态,是不能接受除读状态指令外的任何操作的。因此在访问控制器之前,一定要判断控制器的当前状态。具体到软件设计时,则需设计一判忙程序,在判断BUSY=0后,再往下进行操作。
在本模块中,每个汉字的大小是16×16点阵,而每个字符的大小是8×16点阵,即字符的宽度为汉字的1/2。它们都是以二维数组的格式存放在ROM 中。向液晶模块显示一个汉字的过程就是:由液晶屏显示区的指定字符行的指定列开始,连续输出该字符对应的字符库中的16个列数据,如果是显示字符,则输出 8个列数据即可。
上面已经介绍到,MGLS-19264液晶模块中液晶屏显示区为192×64点阵,其中,它们的每8个像素行组成一页,整个显示区共分为8页,每64列为一个区,这样,它就有左、中、右3个区,它的显示区示意图如下:
左区 中区 右区
PCB 下载站 http://www.wendangku.net/doc/01ae1867caaedd3383c4d32b.html
18
图2-9 液晶屏显示区示意图
液晶模块显示字符是从上到下,从左到右进行显示的。假设定义从最左上角开始显示,则先从上到下显示第0页的第一列,依次从左向右开始显示。
MGLS-19264LCM 的显示部分为左、中、右3个区,可以由CS 片选的取值分别进行控制,其接口的片选定义如下:
表2-1 MGLS 的片选定义表
有了上面的知识,就可以编写显示界面这一块程序。由于每个汉字或字符在图中位置是固定的,只要定义了相应的选区及X 、Y 地址,就可以显示出具体的位置。用lr 来表示汉字的区域,当lr=0,表示左区;lr=1,表示中区;lr=2,表示右区。X 表示页面,Y 表示列地址。则(lr.X.Y)就可以定义出这个字在屏上的实际位置。以第一行的“智”字为例,这个字位于模块的左区,则lr=0;它位于第一页和第二页,则X=0;它位于列地址的48-63字节,Y=48,那么“智”就可以通过(0.0.48)精确地表示出它的位置。这里要注意的是每个汉字占用的行地址是两页,如“智”字占的就是X0和X1,即第二行的汉字其X=2而不是1。因此,第二行的“电”就应该表示为(0.2.0),其它字符依此设计即可。
2.3.2 液晶显示控制驱动器
HD61202及其兼容液晶显示控制器是一种带有驱动输出的图形液晶显示控制器,而在小规模点阵液晶显示模块上使用液晶显示驱动器组成液晶显示驱动控制系统是非常有益的,这将使液晶显示模块的硬件电路简单化,从而降低模块的成本,同时也提高了对软件功能的要求。许多显示功能如光标、字符库、闪烁都需要由软件编制而成。HD61203和HD61202就是这类液晶显示驱动控制器套件。
PCB 下载站 http://www.wendangku.net/doc/01ae1867caaedd3383c4d32b.html
19
之所以称它们为套件是因为HD61203和HD61202必须配套使用,通常有12864和19264两种规格。其特点如下:
1.内藏64*64=4096位显示RAM ,RAM 中每位数据对应LCD 屏上的一个点的亮、暗状态。
2.HD61202及其兼容控制器是列驱动器,具有64路列驱动输出。
3.HD61202及其兼容控制驱动器读、写时序与68系列微处理妻相符,因此它可直接与68系列微处理器借口相联。
4.HD61202及其兼容控制器的占空比为1/32~1/64。
2.3.3 液晶显示模块的特点
MGLS-12864图形液晶显示模块的驱动和控制系统是由一片KS0107B 或兼容驱动器( HD61203 )作为行驱动器和两片KS0108B 或兼容驱动器(HD61203) 作为列驱动器组成的。
它的主要技术参数及其供电特点如下:
(1) 电源:DC+5V ,模块内自带用于LCD 驱动的负压电路。
(2) 显示内容:128 64全屏幕点阵。
(3) 指令形式:七种指令。
(4) 接口形式:与控制器采用8位数据总线和8位控制线相连。
(5) 工作环境:-10~+50℃。
(6) 模块应用有三种电源:逻辑电源、液晶驱动电压、背光电压。
(7) 本次选用的模块是双电源供电(VDD/V0),需要提供一个液晶驱动电压,用以调节对比度,接在液晶模块的V0引脚上,由于液晶的对比度会随着温度的变化而相应变化,所以其液晶显示驱动电压值应随着温度作相应的调整,这里采用了一个电位器,调整电压值。
(8) 背光供电为3.8-4.1V 的支流电源,选用电源太大不仅增加功耗,更有可能损坏背光灯和缩短模块的使用寿命。