




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 目录 摘 要 第1章 概 述 1 1 课题背 景 1 2 常见充电电池特性及其充电方 式 1 3主要芯片的选 择 1 4 液晶显示模块的选 择 第2章 硬件电路设 计 2 1液晶显示模块的两种访问方式接口电 路 2 2 硬件电路主要芯片 2 2 1 Atmega16L主要引脚说 明 2 2 2 Atmega16L的存储 器 2 2 3 Atmega16L的时钟电 2 路 2 2 4 Atmega16L的系统复 位 2 3 LCD液晶显示 2 3 1 LCD的显示原 理 2 3 2 液晶显示控制驱动 器 2 3 3 液晶显示模块的特 点 2 4硬件电路设 计 3软件设 计 3 1 液晶显示汉字或字符的原 理 3 2系统程序流程 图 4 系统调试过 程 5 设计总 结 参考文 3 献 摘要 LCD液晶显示已经是人机界面的关键技术 本文对基于单片机的LCD液晶显 示器控制系统进行了研究 本系统是以单片机的基本语言汇编语言来进行软件设计 指令的执行速度 快 节省存储空间 为了便于扩展和更改 软件的设计采用模块化结构 使程 序设计的逻辑关系更加简洁明了 使硬件在软件的控制下协调运作 正文中首 先简单描述系统硬件工作原理 且附以系统硬件设计框图 并介绍了单片机微 处理器的发展史 论述了本次毕业设计所应用的各硬件接口技术和各个接口模 块的功能及工作过程 并具体描述了8052 8279及SED1520外接电路接口的软 硬件调试 其次阐述了程序的流程和实现过程 本文撰写的主导思想是软 硬 件相结合 以硬件为基础 来进行各功能模块的编写 关键词 单片机 微处理器 LCD 8279 4 1 1 概述概述 1 1 11 1 1 课题背景课题背景 如今 随着越来越多的手持式电器的出现 对高性能 小尺寸 重量轻的 电池充电器的需求也越来越大 电池技术的持续进步也要求更复杂的充电算法 以实现快速 安全的充电 因此需要对充电过程进行更精确的监控 以缩短充 电时间 达到最大的电池容量 并防止电池损坏 目前各种电器使用的充电电 池主要有镍镉电池 NiCd 镍氢电池 NiMH 锂电池 Li Ion 和密封铅 酸电池 SLA 四种类型 电池充电是通过逆向化学反应将能量存储到化学系统里实现的 由于使用 的化学物质的不同 电池有自己的特性 设计充电器时要仔细了解这些特性以 防止过度充电而损坏电 目前 市场上卖得最多的是旅行充电器 但只有很少部分充电器才能真正 意义上被称为智能充电器 随着越来越多的手持式电器的出现 对高性能 小 尺寸 轻重量的电池充电器的需求也越来越大 电池技术的持续进步也要求更 复杂的充电算法以实现快速 安全地充电 因此 需要对充电过程进行更精确 地监控 以缩短充电时间 达到最大的电池容量 并防止电池损坏 因此 智 能型充电电路通常包括了恒流 恒压控制环路 电池电压监测电路 电池温度 检测电路 外部显示电路 LED 或 LCD 显示 等基本单元 其框图如下 5 图图 1 11 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 21 1 2 常见充电电池特性及其充电方式常见充电电池特性及其充电方式 电池充电是通过逆向化学反应将能量存储到化学系统里实现的 由于使用 的化学物质的不同 电池的特性也不同 其充电的方式也不大一样 电池的安全充电电池的安全充电 现代的快速充电器 即电池可以在小于3 个小时的时间 里充满电 通常是一个小时 需要能够对单元电压 充电电流和电池温度进行 精确地测量 在充满电的同时避免由于过充电造成的损坏 充电方法充电方法 SLA 电池和锂电池的充电方法为恒定电压法要限流 NiCd 电 池和NiMH 电池的充电方法为恒定电流法 且具有几个不同的停止充电的判断方 法 6 最大充电电流最大充电电流 最大充电电流与电池容量 C 有关 最大充电电流往往以 电池容量的数值来表示 例如 电池的容量为750 mAh 充电电流为750 mA 则 充电电流为1C 1 倍的电池容量 若涓流充电时电流为C 40 则充电电流即为 电池容量除以40 过热过热 电池充电是将电能传输到电池的过程 能量以化学反应的方式保存 了下来 但不是所有的电能都转化为了电池中的化学能 一些电能转化成了热 能 对电池起了加热的作用 因此 在设计电池充电器时 对温度进行监控并 及时停止充电是非常重要的 现代消费类电器主要使用如下四种电池 密封铅酸电池 SLA 镍镉电池 NiCd 镍氢电池 NiMH 锂电池 Li Ion 在正确选择电池和充电算法时需要了解这些电池的背景知识 密封铅酸电池密封铅酸电池 SLA SLA 密封铅酸电池主要用于成本比空间和重量更重要的场 合 如UPS和报警系统的备份电池 SLA 电池以恒定电压进行充电 辅以电流限 制以避免在充电过程的初期电池过热 只要电池单元电压不超过生产商的规定 典型值为2 2V SLA 电池可以无限制地充电 镍镉电池镍镉电池 NiCd NiCd NiCd 电池目前使用得很普遍 它的优点是相对便宜 易 于使用 缺点是自放电率比较高 典型的NiCd 电池可以充电1000 次 失效机 理主要是极性反转 在电池包里第一个被完全放电的单元会发生反转 为了防 止损坏电池包 需要不间断地监控电压 一旦单元电压下降到1 0V 就必须停机 NiCd 电池以恒定电流的方式进行充电 镍氢电池镍氢电池 NiMH NiMH 在轻重量的手持设备中如手机 手持摄象机 等等镍氢电 池是使用最广的 这种电池的容量比NiCd 的大 由于过充电会造成NiMH 电池 的失效 在充电过程中进行精确地测量以在合适的时间停止是非常重要的 和 NiCd 电池一样 极性反转时电池也会损坏 NiMH 电池的自放电率大概为20 月 和NiCd 电池一样 NiMH 电池也为恒定电流充电 锂电池锂电池 Li Ion Li Ion 和本文中所述的其他电池相比 锂电池具有最高的能量 重量比和能量 体积比 锂电池以恒定电压进行充电 同时要有电流限制以避 免在充电过程的初期电池过热 当充电电流下降到生产商设定的最小电流时就 7 要停止充电 过充电将造成电池损坏 甚至爆炸 1 1 31 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 字节的数据存储器 同时 由 32 个通用工作寄存器所构成的寄存器组被双向映 射 因此 可以采用读写寄存器和读写片内快速 SRAM 存储器两种方式来访问 32 个通用工作寄存器 1 1 41 1 4 液晶显示模块液晶显示模块的选择的选择 LCD 显示模块是一种被动显示器 具有功耗低 显示信息大 寿命长和抗 干扰能力强等优点 在低功耗的单片机系统中得到大量使用 液晶显示模块和 8 键盘输入模块作为便携式仪表的通用器件 在单片机系统的开发过程中也可以 作为常用的程序和电路模块进行整体设计 液晶显示的原理是利用液晶的物理 特性 通过电压对其显示区域进行控制 有电就显示黑色 这样即可显示出图 形 在单片机系统中使用液晶显示模块作为输出器件有以下优点 1 显示质量高 2 数字式接口 3 体积小 重量轻 4 功率消耗小 2 硬件电路设计硬件电路设计 经过前面对充电器原理 液晶模块 ATmega16L 等的总体了解和掌握以及 对各种元器件和电路图的分析和比较后 现在就可以开始进入硬件电路的设计 了 在本章里 首先将介绍一下液晶模块访问方式的两种接口电路 然后对 LCD 显示电路原理图作一个详细的介绍 接着介绍充电电路中所用到的各种芯 片和元器件的原理和一些功能 最后对 PROTEL99 的使用和 PCB 板的绘制以及焊 接做一简单介绍 然后再将自己的设计思想和同组人所设计的两部分结合 达 成统一 2 1 液晶显示模块两种访问方式接口电路的液晶显示模块两种访问方式接口电路的选择选择 单片机与液晶显示模块之间的连接方式分为直接访问方式和为间接控制方 式两种 如图 2 1 和图 2 2 所示 其中左为单片机 右为液晶显示模块 一 直接访问方式 数据总线 PD0 PD1 PD2 PD3 PD4 PD5 PD6 PD7 RD WE P2 3 P2 2 P2 1 P2 0 DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7 GND VCC V0 E CSA CSB R W D I 10K 9 GND 5V 电位器 负电源 1 3 274LS00 A11 A10 A9 A8 MPU 图图 2 12 1 直接访问方式电路图直接访问方式电路图 LCM 接口 直接访问方式就是将液晶显示模块的接口作为存储器或 I O 设备直接挂在 单片机总线上 单片机以访问存储器或 I O 设备的方式操作液晶显示模块的工 作 直接访问方式的接口电路如图 2 1 所示 在图中 单片机通过高位地址 A11 控制 CSA A10 控制 CSB 以选通液晶显示屏上各区的控制器 同时用地 址 A9 作为 R W 信号控制数据总线的数据流向 用地址 A8 作为 D I 信号控制 寄存器的选择 E 使能 信号由 RD 和 WE 共同产生 这样就实现了单片机对液 晶显示模块的电路边接 电位器用于显示对比度的调节 二 间接控制方式 P1 7 P1 6 P1 5 P1 4 P1 3 P1 2 P1 1 P1 0 P3 4 P3 3 P3 2 P3 1 P3 0 DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 CSA CSB E R W D I VCC V0 GND 电 位 器 5V 10 10K 负电源 GND MPU LCM 接口 图图 2 22 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 22 2 硬件电路主要芯片硬件电路主要芯片 2 2 12 2 1 ATmega16LATmega16L 主要引脚说明主要引脚说明 以下是ATmega16L的引脚配置 11 图图 2 32 3 ATmega16LATmega16L 芯片引脚芯片引脚 2 2 22 2 2 Atmega16LAtmega16L的存储器的存储器 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种 直接寻址 带偏移量的间接寻址 间接寻 址 带预减量的间接寻址和带后增量的间接寻址 ATmega16L的全部32个通用寄存器 64个I O寄存器及1024个字节的内部数 据SRAM可以通过所有上述的寻址模式进行访问 3 ATmega16L 包含512 字节的EEPROM 数据存储器 它是作为一个独立的数据 空间而存在的 可以按字节读写 EEPROM 的寿命至少为100 000 次擦除周期 EEPROM 的访问由地址寄存器 数据寄存器和控制寄存器决定 2 2 32 2 3 Atmega16LAtmega16L的时钟电路的时钟电路 12 单片机的时钟用于产生工作所需要的时序 其连接电路如下图 图图2 42 4 晶体振荡器连接图晶体振荡器连接图 XTAL1 与XTAL2 分别为用作片内振荡器的反向放大器的输入和输出 考虑 到其最大频率不超过8MHz 这里选用的晶振为7 3728MHz 2 2 42 2 4 Atmega16LAtmega16L的系统复位的系统复位 Atmega16L有五个复位源 1 上电复位 电源电压低于上电复位门限Vpot时 MCU复位 如果在单片机加 Vcc电压的同时 保持RESET引脚为低电平 则可延长复位周期 Vcc Vpot Vpot RESET Vrst Vrst TIME OUT INTERINAL tTOUT tTOUT RESET 图图2 52 5 RESETRESET引脚与引脚与VCCVCC相连时 相连时 图图2 62 6 RESETRESET引脚由外部控制时引脚由外部控制时 单片机的复位电平单片机的复位电平 单片机的复位电平单片机的复位电平 2 外电复位 引脚RESET上的低电平持续时间大于最小脉冲宽度时MCU复位 Vcc RESET Vrst TIME OUT tTOUT INTERNAL 13 RESET 图图2 72 7 外部复位时序图外部复位时序图 3 看门狗复位 看门狗使能并且看门狗定时器溢出时复位发生 看门狗计数 器溢出时 将产生一个晶振的复位脉冲 Vcc RESET WDT 1 XTAL Cycle TIME OUT RESET tTOUT TIME OUT INTERNAL RESET 图图2 82 8 看门狗复位时序图看门狗复位时序图 4 掉电检测复位 掉电检测复位功能使能 且电源电压低于掉电检测复位门 限Vpot时MCU即复位 5 JTAG AVR复位 复位寄存器为1时MCU复位 2 32 3 LCDLCD液晶显示液晶显示 2 3 12 3 1 LCDLCD的显示原理的显示原理 液晶显示器是一种功耗极低的显示器 随着液晶显示技术的发展 LCD显示 器的规格众多 其专用驱动芯片也相互配套 使LCD在控制和仪表系统中广泛应 用提供了极大的方便 根据LCD显示原理的不同 常见和常用的LCD可以分为字 符型LCD和点阵型LCD两种 不同的显示原理使得这两种LCD的指令系统 接口和 功能等是不相同的 各有优缺点 但结合到本次设计的实际要求 经过比较还 是选用点阵型LCD 现就点阵型LCD的显示原理 模块特点等做一简要介绍 要想在液晶模块上显示一个汉字或字符 需要 3 个最基本的控制操作 分 别向 3 个控制器写指令代码 写显示数据和读显示数据 这里要特别引起注意 的是完成这 3 项操作的前提条件是 KS0108B 控制器处于准备好的状态 即 BUSY 0 由模块的软件特性知道 当 BUSY 1 时 系统的接口电路处于被封锁的 状态 是不能接受除读状态指令外的任何操作的 因此在访问控制器之前 一 14 定要判断控制器的当前状态 具体到软件设计时 则需设计一判忙程序 在判 断 BUSY 0 后 再往下进行操作 在本模块中 每个汉字的大小是 16 16 点阵 而每个字符的大小是 8 16 点阵 即字符的宽度为汉字的 1 2 它们都是以二维数组的格式存放在 ROM 中 向液晶模块显示一个汉字的过程就是 由液晶屏显示区的指定字符行的指定列 开始 连续输出该字符对应的字符库中的 16 个列数据 如果是显示字符 则输 出 8 个列数据即可 上面已经介绍到 MGLS 19264 液晶模块中液晶屏显示区为 192 64 点阵 其中 它们的每 8 个像素行组成一页 整个显示区共分为 8 页 每 64 列为一个 区 这样 它就有左 中 右 3 个区 它的显示区示意图如下 左区 中区 右区 0 1 2 62 63 64 65 127128 129 191 DB0 DB7 DB0 DB7 图图 2 92 9 液晶屏显示区示意图液晶屏显示区示意图 液晶模块显示字符是从上到下 从左到右进行显示的 假设定义从最左上 角开始显示 则先从上到下显示第 0 页的第一列 依次从左向右开始显示 MGLS 19264LCM 的显示部分为左 中 右 3 个区 可以由 CS 片选的取值分 别进行控制 其接口的片选定义如下 表表 2 12 1 MGLSMGLS 的片选定义表的片选定义表 CS1CS2 选中区域 0 0 左区 0 1 中区 1 0 右区 第 0 页 第 七 页 15 1 1 未选 有了上面的知识 就可以编写显示界面这一块程序 由于每个汉字或字符 在图中位置是固定的 只要定义了相应的选区及 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 22 3 2 液晶显示控制驱动器液晶显示控制驱动器 HD61202及其兼容液晶显示控制器是一种带有驱动输出的图形液晶显示控 制器 而在小规模点阵液晶显示模块上使用液晶显示驱动器组成液晶显示驱动 控制系统是非常有益的 这将使液晶显示模块的硬件电路简单化 从而降低模 块的成本 同时也提高了对软件功能的要求 许多显示功能如光标 字符库 闪烁都需要由软件编制而成 HD61203和HD61202就是这类液晶显示驱动控制 器套件 之所以称它们为套件是因为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 32 3 3 液晶显示模块的特点液晶显示模块的特点 MGLS 12864图形液晶显示模块的驱动和控制系统是由一片KS0107B或兼 容驱动器 HD61203 作为行驱动器和两片KS0108B或兼容驱动器 HD61203 作 为列驱动器组成的 它的主要技术参数及其供电特点如下 16 1 电源 DC 5V 模块内自带用于LCD驱动的负压电路 2 显示内容 128 64全屏幕点阵 3 指令形式 七种指令 4 接口形式 与控制器采用8位数据总线和8位控制线相连 5 工作环境 10 50 6 模块应用有三种电源 逻辑电源 液晶驱动电压 背光电压 7 本次选用的模块是双电源供电 VDD V0 需要提供一个液晶驱动电压 用以调节对比度 接在液晶模块的V0引脚上 由于液晶的对比度会随着温 度的变化而相应变化 所以其液晶显示驱动电压值应随着温度作相应的调 整 这里采用了一个电位器 调整电压值 8 背光供电为3 8 4 1V的支流电源 选用电源太大不仅增加功耗 更有可能损 坏背光灯和缩短模块的使用寿命 MGLS 12864 的逻辑电路图如下 图图 2 82 8 MGLS 12864MGLS 12864 的逻辑电路图的逻辑电路图 MGLS 12864 液晶显示模块一共有 20 个引脚 它的接口定义如下 表表 2 22 2 MGLS 12864MGLS 12864 的接口电路的接口电路 序号符号状态功 能 D7三态数据总线 D6三态数据总线 D5三态数据总线 HD61202 LCD VGLS 12864 12864 DOTS 64 HD61202 1 HD61202 2 6 4 6 4 VDD VSS V0 CSA CSB DB0 DB7 D I R W E 17 4D4三态数据总线 5D3三态数据总线 6D2三态数据总线 7D1三态数据总线 8D0三态数据总线 9E输入 R W L E 的下降沿锁存数据线 R W H E 为 H 时 数据由控制器输出至数据线 10R W输入 R W L E H 数据由控制器输出数据线 R W H E 的下降沿 数据由数据线输入到控制器 11D I输入 D I L 表示 DB7 DB0 为显示数据 D I H 表示 DB7 DB0 为显示指令 12V0 液晶显示器驱动电压 13VCC 电源正 14GND 电源地 15CS1输入片选信号 16CS2输入片选信号 17VOUT LCD 负压驱动电压 18RET输入复位信号 19LED 显示模块背光电源 20LED 显示模块背光电源 2 42 4 硬件电路设计硬件电路设计 经过对以上对 ATmega16L 芯片的端口 存储器 时钟电路 以及复位电 路和 LCD 液晶显示等原理的介绍后 现在就可以完成对这部分硬件电路的设计 了 再结合前面的分析采用间接访问的方式实现单片机与液晶显示模块之间的 连接 LCD 模块的 8 位数据线接在了 Atmega16L 芯片 B 口的 8 位数据线上 这里用了一个 74LS24 作为锁存器使它们间接连接在一起 LCD 的 EN D I CS1 CS2 R W 分别连接到 PA3 PA7 上 其详细的接法见下图 18 图图 2 102 10 硬件接线图硬件接线图 19 3 软件设计软件设计 3 13 1 液晶显示汉字或字符的原理液晶显示汉字或字符的原理 LCD 本身不发光只是调节光的亮度 目前市面上的 LCD 显示器都是利用液 晶的扭曲一向列效应制成 这是一种电场效应 夹在两片导电玻璃电极间的液 晶经过一定处理 它内部的分子呈直角扭曲 当线性偏振光透过其偏振面便会 旋转一个直角 当在玻璃电极上加上电压后 在电场作用下 液晶的扭曲结构 消失 偏振光便可以直接通过 当去掉电场后液晶分子又恢复取扭曲结构 把 这样的液晶置于两个偏振片之间 改变偏振片相对位置就可以得到白底黑子或 黑底白字的显示形式 结合以上知识具体显示原理如下 1 线段的显示 点阵图形式液晶由M N个显示单元组成 假设LCD显示屏有64行 每行 有128列 每8列对应1字节的8位 即每行由16字节 共16 8 128个点组成 屏 上64 16个显示单元与显示RAM区1024字节相对应 每一字节的内容和显示屏 上相应位置的亮暗对应 例如屏的第一行的亮暗由RAM区的00H 00FH的16字 节的内容决定 当 000 FFH时 如屏的左上角显示一条短亮线 长度为8个点 当 3FFH FFH时 则显示屏的右下角显示一条短亮线 当 000H FFH 001H 00H 002H FFH 003H 00H 00EH FFH 00FH 00H时 则在屏的 顶部显示一条由8段亮线和8段暗线组成的虚线 这就是LCD显示的基本原理 2 字符的显示 用LCD显示一个字符时比较复杂 因为一个字符由6 8或8 8点阵组成 既 要找到和显示屏上某几个位置对应的显示RAM区的8字节 还要使每字节的不 同的位为 1 其它的为 0 为 1 的点亮 为 0 的不亮 这样一来就 组成某个字符 但对于内带字符发生器的控制器 如HD61202 来说 显示字符 就比较简单了 可让控制器工作在文本方式 根据在LCD上开始显示的行列号 及每行的列数找出显示RAM对应的地址 设立光标 在此送上该字符对应的代 码即可 3 汉字的显示 汉字的显示一般采用图形方式 事先从微机中提取要显示的汉字的点阵码 每个汉字占32B 分左右两半部 各占16B 左边为1 3 5 右边为2 4 6 根据在LCD上开始显示的行列号及每行的列数可找到显示RAM对应的地址 设立 光标 送上要显示的汉字的一字节 光标位置加1 送第二字节 按行按列对齐 20 送第三字节 直到32B显示完就可在LCD上得到一个完整的汉字 3 23 2 系统程序流程图系统程序流程图 为了方便程序的设计 使自己在设计过程中做到思路清晰 设计起来游刃 有余 这里首先画出了程序流程图 后面根据次流程图具体设计程序 现分析 如下 一 主程序流程图 这次设计课题的主要内容是在充电器的充电过程中 采集参数 进行电压 电流 温度的实时显示 其主流程图设计如下 1 按 键 调 节 采样 V A T 显示 V A T 充 结 束 Y N 初 始 化 采集电池 电 压 0 开 始 Y 有 电 池 无电 池 等待 扫 描 按 键 有键按下 Y N N 21 图图 3 23 2 主程序流程图主程序流程图 二 控制程序流程图 要想在液晶模块上显示一个字符或汉字 首先必须得对控制字进行写指令 代码 写显示数据和读显示数据 3 项操作 完成这 3 项工作都必须保证控制器 处于不忙的情况下 这就必须有一个判忙子程序 其流程图如下 图图 3 33 3 判忙程序流程判忙程序流程 三 显示程序流程图 根据上面采用的方法设置汉字的初始值 lr X Y 当显示完第一列的 8 字节以后 跳到第二列又从上往下显示 由于一个汉字每一列有 16 字节 则当 一页的 16 列显示完 只相当于显示的汉字的上半部分 则再次跳到下一页的初 始位 进行汉字下半部分的显示 值到 16 列显示完成 才表示一个汉字全部显 示结束 通过上面的介绍 一个汉字的显示流程图编写如下 开 始 读左边控制器的状态字 驱动器忙 送 状 态 字 返 回 Y N 22 4 系统调试系统调试 为了巩固前面所学的知识 培养对 AVR 单片机学习的兴趣 同时也为了学 会并熟练掌握 ICCAVR 编译器的应用 为最后的联机调试打下基础 在这里设计 了一些最简单的单片机系统实例进行调试 其核心部件采用 Atmega16L 芯片 一个最简单的单片机系统的开发也需要电路设计 单片机器件选择和程序 编写 3 个步骤 对于单片机系统 最简单的功能无非是控制输出电平的高低 单片机的最简单系统是指单片机能正常工作所必须的外围元件 主要由单片机 晶振电路和复位电路组成 同传统的单片机系统一样 Atmega16L 的晶振电路也分为外部时钟模式和 内部时钟模式两种 其内部时钟电路如下图 C2 图图 4 14 1 晶振电路晶振电路 鉴于 Atmega16L 的主频范围为 0 8MHz 这里选用的是晶振为 7 3728MHz 复位电路采用了上电复位电路 其电路图如下 MPU XTAL2 XTAL1 MPU GND C1 RESET R GND 1K 22Uf VCC 23 图图 4 24 2 复位电路复位电路 测试单片机的最简单系统最简单的就是控制输出电平的高低 这里采用发 光二极管作为它的输出器件 用二极管的亮或灭表示自己设计的单片机系统是 否能够正常工作 具体进行了以下实际电路的设计 一 一个灯的闪烁 通过上面的介绍 Atmega16L 有 32 个 I O 输出口 作为第一功能时 它们 是没有区别的 这次主要用它的 B 口进行实验 在万用板上插上 Atmega16L 芯 片 按上面的方法接上晶振电路和复位电路 接通电源 5V 用万用表测 B0 口 压降 测得电压 5V 可知系统正常 在 B0 端接上一发光二极管 发光二极管是由于其两端的电压差超出其导通压降时开始工作 它的压降 通常为 1 7V 1 9V 且工作电流也要满足该二极管的发光要求 满足了这两点 发光二极管就可以开始发光了 控制 B0 口电平的高低 就可以实现二极管的亮 灭了 打开 ICCAVR 编译器 按照上面的步骤进行构筑向导框的操作 在 PORTS 的 选项中 把 B 口设置为输出口 值为 1 其它按上面的设置 进入到 IDE 环 境 编辑显示程序 编辑窗口里面已经有初始化程序 看门狗程序等基本程序 只要进行主函数的编写就可以了 要让输出口电平发生转换 采用了两种方法 一种是用延时的办法 初始 设 B0 口为 0 二极管不亮 经过一定时间的延时后 B0 口变为 1 二极管发光 再过相同时间 B0 口再为 0 按上述步骤循环 就可以实现二极管的亮灭了 编写程序 由于这里采用的是 C 语言编写 程序相对来说比较简单 延时 程序如下 void delay 1ms void unsigned int i for i 1 i unsigned int xtal 143 2 i xtal 是晶振频率 这里采用的是 7 3728MHz 从理论上讲 应出现 1m
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025 车辆买卖合同范本(标准版)
- 黑龙江省安达市四平中学2026届数学九年级第一学期期末统考试题含解析
- 2025转让股权合同 转让股权合同范本
- 山东省济宁市邹城市九级2026届八年级数学第一学期期末达标检测模拟试题含解析
- 浙江省湖州市实验学校2026届数学九年级第一学期期末考试试题含解析
- 2026届湖北省襄阳市老河口市七年级数学第一学期期末综合测试试题含解析
- 2025网约车租赁合同的模板范文
- 2025合同范本股权激励协议附带保密条款示例
- 江西省宜春市高安市2026届数学七上期末质量跟踪监视试题含解析
- 安徽省宿州市第十一中学2026届九年级数学第一学期期末统考试题含解析
- 2025年初级药师资格考试试题(附答案)
- 2025国企竞聘上岗与干部竞聘上岗笔试题及答案
- 人工智能与建筑产业体系智能化升级研究报告
- 武科大大学生手册考试内容及答案
- 集装箱吊装专项施工方案
- 2025年中国家用WiFi路由器行业市场全景分析及前景机遇研判报告
- 包覆拉拔法制备铜包铝、铜包钢双金属导线的多维度探究与展望
- 2025年领导干部任前廉政法规知识考试题库(含答案)
- 2025年山东省济宁市邹城市第十一中学中考二模数学试题
- 信息技术基础教程(WPS版)课件 第3章 Windows 10 操作系统的使用
- 小鹿斑比题目及答案
评论
0/150
提交评论