DZ176智能型充电器的电源和显示的设计
DZ176智能型充电器的电源和显示的设计,dz176,智能型,充电器,电源,以及,显示,设计
南 京 工 程 学 院毕业设计说明书(论文)作 者: 李峰 学 号: z20101122 系 部: 自动化 专 业: 自动化 题 目: 智能型充电器的电源和显示的设计 指导者: 刘启新 副教授 评阅者: 2006 年 06 月 南 京毕 业 设 计 说 明 书 ( 论 文 ) 中 文 摘 要LCD液晶显示已经是人机界面的关键技术。本文对基于单片机的LCD液晶显示器控制系统进行了研究。首先在绪论中介绍了本课题的课题背景、研究意义及完成的功能。本系统是以单片机的基本语言汇编语言来进行软件设计,指令的执行速度快,节省存储空间。为了便于扩展和更改,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁明了。使硬件在软件的控制下协调运作。正文中首先简单描述系统硬件工作原理,且附以系统硬件设计框图,并介绍了单片机微处理器的发展史,论述了本次毕业设计所应用的各硬件接口技术和各个接口模块的功能及工作过程, 并描述了8052、8279及SED1520外接电路接口的软、硬件调试。其次阐述了程序的流程和实现过程。本文撰写的主导思想是软、硬件相结合,以硬件为基础,来进行各功能模块的编写。最后对我所开发的用单片机实现LCD液晶显示器控制原理的设计思想和软、硬件调试作了详细的论述。关键词单片机;微处理器;LCD; 8279毕 业 设 计 说 明 书 ( 论 文 ) 外 文 摘 要AbstractThe LCD manifestation has been the key technique of the man-machine interface. This text to basic proceeded the research in Micro Controller Unit liquid crystal display control system. Introduced the lesson a background of this lesson and study meaning and finished functions in introduction first. This system edits collected materials the language to proceed with single the basic language of a machine the software designs, the instruction carries out the speed quick, save memory. For the sake of easy to expand with the design adoption mold a logic for turning construction, making procedure designing relation that change, software more shorter and more easier to understand. Make hardware control in software descended to moderate the operation. The text inside describes the system hardware work principle in brief first, and attach with the system hardware design frame diagram, combine development history that introduced the single a machine microprocessor, discuss this graduate design a function for applied each hardware connecting a people the technique connects with each one a mold piece and work processes, combine to describe in a specific way 8052,8279 and the SED1520 circumscribes the electric circuit connects oscular and soft, the hardware adjusts to try. Expatiated the process of the procedure the next in order with realizes process. The predominance thought that this text compose is soft, the hardware combines together, regarding hardware as the foundation, proceed the plait of each function mold piece write. Develop to me finally of use the single a machine realizes the design thought that the liquid crystal display of LCD control principle with soft, the hardware adjusted to try to make the detailed treatise.Keywords Micro Controller Unit Microprocessor LCD 8279 南 京 工 程 学 院毕 业 论 文作 者: 李峰 学 号: Z20101122 系 部: 自动化 专 业: 自动化 题 目: 智能型充电器的电源和显示的设计 指导者: (姓 名) (专业技术职务)评阅者: (姓 名) (专业技术职务)2006 年 06 月 南 京毕 业 论 文 中 文 摘 要LCD液晶显示已经是人机界面的关键技术。本文对基于单片机的LCD液晶显示器控制系统进行了研究。首先在绪论中介绍了本课题的课题背景、研究意义及完成的功能。本系统是以单片机的基本语言汇编语言来进行软件设计,指令的执行速度快,节省存储空间。为了便于扩展和更改,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁明了。使硬件在软件的控制下协调运作。正文中首先简单描述系统硬件工作原理,且附以系统硬件设计框图,并介绍了单片机微处理器的发展史,论述了本次毕业设计所应用的各硬件接口技术和各个接口模块的功能及工作过程, 并描述了8052、8279及SED1520外接电路接口的软、硬件调试。其次阐述了程序的流程和实现过程。本文撰写的主导思想是软、硬件相结合,以硬件为基础,来进行各功能模块的编写。最后对我所开发的用单片机实现LCD液晶显示器控制原理的设计思想和软、硬件调试作了详细的论述。关键词 单片机;微处理器;LCD; 8279毕 业 论 文 外 文 摘 要Title The design of a charger of intelligence AbstractThe LCD manifestation has been the key technique of the man-machine interface. This text to basic proceeded the research in Micro Controller Unit liquid crystal display control system.Introduced the lesson a background of this lesson and study meaning and finished functions in introduction first.This system edits collected materials the language to proceed with single the basic language of a machine the software designs, the instruction carries out the speed quick, save memory. For the sake of easy to expand with the design adoption mold a logic for turning construction, making procedure designing relation that change, software more shorter and more easier to understand. Make hardware control in software descended to moderate the operation.The text inside describes the system hardware work principle in brief first, and attach with the system hardware design frame diagram, combine development history that introduced the single a machine microprocessor, discuss this graduate design a function for applied each hardware connecting a people the technique connects with each one a mold piece and work processes, combine to describe in a specific way 8052,8279 and the SED1520 circumscribes the electric circuit connects oscular and soft, the hardware adjusts to try. Expatiated the process of the procedure the next in order with realizes process. The predominance thought that this text compose is soft, the hardware combines together, regarding hardware as the foundation, proceed the plait of each function mold piece write.Develop to me finally of use the single a machine realizes the design thought that the liquid crystal display of LCD control principle with soft, the hardware adjusted to try to make the detailed treatise.Keywords Micro Controller Unit Microprocessor LCD 8279南京工程学院毕业设计开题报告课 题 名 称: 智能型充电器的电源和显示的设计 学 生 姓 名: 李 峰 指 导 教 师: 刘启新 所 在 系 部: 自动化 专 业 名 称: 自动化 南京工程学院2006 年 02 月 25 日学士学位毕业设计(论文) 开题报告学生姓名 李峰 学 号 Z20101122 专 业 自动化指导教师姓名 刘启新 职 称 副教授 所在系部 自动化系课题来源 课题类型课题名称 智能型充电器电源和显示的设计毕业设计的内容和意义 内容:与同学配合,完成职能型充电器的设计,包括自学 AVR 单片机的相关内容;设计电源电路,设计 12864 液晶现实控制电路。用 C 语言控制 LCD 显示程序,用图形方式显示充电器电压,电流等参数。意义:在大学的最后一个学期,学校为我们安排了为期一学期的毕业设计,对于一个即将走出校园的毕业生而言可谓意义重大。作为一个工科院校的大学生,在大学的几年学习中除了扎实的理论学习外,一定的自己动手设计能力更是必不可少的,它可以较全面直观的反映一个应届毕业生的能力。我们在将来的工作中绝大部分都将是社会上各行各业里的技术人员,这要求我们必须具备一个 21 世纪大学生,特别是对学以致用更为要求的工科学生所应有的理论与动手能力。这学期,学校为我们安排的为期一学期的毕业设计将切实的考验和提高我们的理论和联系实际的能力,为我们做了一个工作前的大演练,我们也应该充分的利用好这次机会,把这次毕业设计做到自己老师都满意!文献综述由于本次毕业设计是用 AVR 单片机来控制并要求对于 LCD 显示程序要用 C语言来编写,所以所参考的资料主要为 AVR 单片机和 C 语言的相关书籍上。AVR 单片机是 Atmel 公司 1997 年推出的 RISC 单片机。RISC(精简指令系统计算机)是相对于 CISC(复杂指令系统计算机)而言的。RISC 并非只是简单地去减少指令,而是通过使计算机的结构更加简单合理而提高运算速度的。RISC 优先选取使用频率最高的简单指令,避免复杂指令;并固定指令长度,减少指令格式和寻址方式的种类,从而缩短指令周期,提高运算速度。由于 AVR 采用了 RISC 这种结构,使 AVR 系列的单片机都具备了 1MIPS/MHz 的高速处理能力。AVR 单片机吸收了 DSP 双总线的特点,采用 Harvard 总线结构,因此单片机的程序存储器和数据存储器是分离的,并且可对具有相同地址的程序存储器和数据存储器进行独立的寻址。目前,AVR 单片机具有多个系列,包括 ATtiny、AT90 和 ATmega。虽然在功能和存储器容量等方面有很大的不同,但基本结构和原理都类似。同传统的 MCS51单片机相比,AVR 单片机的主要特点有:(1) AVR 单片机中,CPU 执行当前指令时取出将要执行的下一条指令放入指令寄存器中,从而避免了传统 MCS51 系列单片机中多指令周期的出现。(2) 传统的 MCS51 系列单机所有的数据处理都是基于一个累加器的,因此累加器与程序存储器、数据存储器之间的数据交换就成了单片机的瓶颈;在 AVR 单片机中,寄存器由 32 个通用寄存器组成,并且任何一个寄存器都可以充当累加器,从而有效地避免了累加器的瓶颈效应,提高了系统的性能。(3) AVR 单片机具有良好的集成性能。AVR 系列的单片机都具备在线编程接口,含有片内看门狗电路、片内程序 Flash、同步串口 SPI 等;AVR 单片机的 I/O 接口还具有很强的驱动能力,灌电流可直接驱动继电器、LED 等器件,从而省去驱动电路,节约系统成本。(4) AVR 单片机采用低功率、非挥发的 CMOS 工艺制造,除具有低功耗、高密度的特点外,还支持低电压的联机 Flash、EEPROM 写入功能。(5) AVR 单片机支持 Basic、C 等高级语言编程。此外在传统的单片机系统中,都是用汇编语言作为系统的编程语言。汇编语言作为嵌入式系统的编程语言,具有执行效率高等优点,但其本身是一种低级语言,编程效率低下,且可移植性和可读性差,维护极不方便,从而导致整个系统的可靠性也较差。而 C 语言以其结构化和能产生高效代码等优势满足了电子工程师的需要。用 C 语言进行嵌入式系统的开发,具有汇编语言编程所不可比拟的优势研究内容1 AVR单片机的主要特征,系统概况,指令系统以及系统的扩展技术的学习和掌握。2 电源电路的设计3 熟悉智能充电器的工作过程4编写LCD显示的C程序设计本设计要求用AVR单片机完全实现电池充电器设计,可以对各种流行的电池类型进行快速充电而无须修改硬件,从而围绕单个硬件平台实现一个完整的充电器。1 弄懂弄清智能充电器的基本原理电池充电是通过逆向化学反应将能量存储到化学系统里实现的。由于使用的化学物质的不同,电池有自己的特性。设计充电器时要仔细了解这些特性以防止过度充电而损坏电池。电池技术现代消费类电器主要使用如下四种电池: 密封铅酸电池 (SLA) 镍镉电池 (NiCd) 镍氢电池(NiMH) 锂电池(Li-Ion)电池的安全充电 停止充电的判别2 硬件的实现研究计划 1 电源电路的设计2 PC接口的设计3 LED和按键的设计4 ISP 接口的设计5 Buck 变换器6 电压基准的设定7 电池温度的设定8 测量电路的设计(包括电池电压和充电电流等参数的计算)3 软件的实现在编译时要确定电池类型。软件可以进行扩展以支持多个电池同时充电。一个直接的方案是在进行涓流充电时对各个电池进行分时充电。若每个电池的电池单元数目一样,则SLA 电池和Li-Ion 电池 可以恒定电压的方式并行充电。每个电池单元的充电电流是受限的,电压也一样。“电池特性” (b_car.h)的所有数据都根据标度因子计算得到。这些数据在包含文件里定义,在编译时计算,在程序运行时以常数方式处理。所有从ADC 输出的数据都可以直接与这些常数进行比较。也就是说,在程序运行过程当中不需要进行实时计算,从而节省了计算时间和程序空间。计算公式以及数据都是从“测量电路”一节获取的。 对于NiCd 电池,如果电池温度在允许范围之内,充电程序就会启动。在温度超出限制,或电压超过最大值,或超出最大快速充电时间时停止。检测电池已经充满的普通方法是检测温度上升速率(dT/dt) 和电压降低速率(-dV/dt)。因此,充电器会每隔一分钟检测一次温度,每隔一秒钟检测一次电压。这些数据将与上一次数据进行比较。一旦电池充满,充电状态就自动切换到涓流充电,充电程序跳转到trickle_charge() 函数。trickle_charge() 循环检测充电状态、温度 / 电压的改变,并适当地调节充电电流。一旦温度或电压超标,错误标志置位,函数终止。若没有错误,用户也没有改变充电状态,函数将一直循环工作。4 编制LCD的显示程序特色与创新 特点完整的电池充电器设计方案模块化的“C”源代码和极紧凑的汇编代码低成本支持多数电池类型快速充电算法可选的串行接口充电参数易修改片内EEPROM 可用于存储电池信息指导教师意 见指导教师签名:年 月 日教研室意见主任签名:年 月 日系部意见 教学主任签名:年 月 日附:与课题内容相关的外文资料翻译不少于 2000 字,参考文献不少于 10 种。目录摘要IAbstractII前言 1第1章 概述 2第一节 绪论21.1 课题背景 21.2 常见充电电池特性及其充电方式 31.3主要芯片的选择 51.4 液晶显示模块的选择 7第二节 毕业设计任务和要求 8第2章 硬件电路设计 10第一节 液晶显示模块的两种访问方式接口电路 10第二节 硬件电路主要芯片 122.2.1 Atmega16L主要引脚说明 122.2.2 Atmega16L的存储器 13 2.2.3 Atmega16L的时钟电路 142.2.4 Atmega16L的系统复位 14第三节 LCD液晶显示 152.3.1 LCD的显示原理 152.3.2 液晶显示控制驱动器172.3.3 液晶显示模块的特点 18第四节 电源电路的设计 20 第五节 硬件电路设计 21第六节 PROTELL99的应用简介 22第3章 软件设计 233.1 用C语言开发单片机的优势 233.2 液晶显示汉字或字符的原理243.3 LCD模块的指令说明 253.4 液晶显示界面 273.5 系统程序流程图27第4章 系统调试过程31第一节 系统调试软件介绍 314.1.1 ICCAVR编译器简介314.1.2 ICCAVR的设置32第二节 调试过程35第五章 毕业设计总结 40第一节 主要成果 40第二节 经验总结和感谢 40参考文献41附录1外文资料译文39附录2外文资料原文42附录3部分源代码45附录4硬件原理图62毕 业 论 文题目:智能充电器的电源和显示设计专 业:自动化班 级:031022学 生:李峰指导教师:刘启新南 京 工 程 学 院2006 年 5 月 25 日封面不合格目录摘要IAbstractII第1章 概述 1第一节 绪论11.1 课题背景 11.2 常见充电电池特性及其充电方式 11.3主要芯片的选择 41.4 液晶显示模块的选择 6第二节 毕业设计任务和要求 7第2章 硬件电路设计 9第一节 液晶显示模块的两种访问方式接口电路 9第二节 硬件电路主要芯片 112.2.1 Atmega16L主要引脚说明 112.2.2 Atmega16L的存储器 13 2.2.3 Atmega16L的时钟电路 142.2.4 Atmega16L的系统复位 14第三节 LCD液晶显示 163.3.1 LCD的显示原理 163.3.2 液晶显示控制驱动器173.3.3 液晶显示模块的特点 18第四节 电源电路的设计 20 第五节 硬件电路设计 20第六节 PROTELL99的应用简介 21第3章 软件设计 233.1 用C语言开发单片机的优势 233.2 液晶显示汉字或字符的原理243.3 LCD模块的指令说明 253.4 液晶显示界面 273.5 系统程序流程图27第4章 系统调试过程31第一节 系统调试软件介绍 314.1.1 ICCAVR编译器简介314.1.2 ICCAVR的设置32第二节 调试过程35第五章 毕业设计总结 40第一节 成果 40第二节 经验总结和感谢 40参考文献41附录1外文资料译文39附录2外文资料原文42附录3部分源代码45附录4硬件原理图62 LCD液晶显示器控制毕业论文-单片机毕业设计论文 摘要LCD液晶显示已经是人机界面的关键技术。本文对基于单片机的LCD液晶显示器控制系统进行了研究。首先在绪论中介绍了本课题的课题背景、研究意义及完成的功能。本系统是以单片机的基本语言汇编语言来进行软件设计,指令的执行速度快,节省存储空间。为了便于扩展和更改,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁明了。使硬件在软件的控制下协调运作。正文中首先简单描述系统硬件工作原理,且附以系统硬件设计框图,并介绍了单片机微处理器的发展史,论述了本次毕业设计所应用的各硬件接口技术和各个接口模块的功能及工作过程, 并具体描述了8052、8279及SED1520外接电路接口的软、硬件调试。其次阐述了程序的流程和实现过程。本文撰写的主导思想是软、硬件相结合,以硬件为基础,来进行各功能模块的编写。最后对我所开发的用单片机实现LCD液晶显示器控制原理的设计思想和软、硬件调试作了详细的论述。关键词单片机;微处理器;LCD; 8279AbstractThe LCD manifestation has been the key technique of the man-machine interface. This text to basic proceeded the research in Micro Controller Unit liquid crystal display control system.Introduced the lesson a background of this lesson and study meaning and finished functions in introduction first.This system edits collected materials the language to proceed with single the basic language of a machine the software designs, the instruction carries out the speed quick, save memory. For the sake of easy to expand with the design adoption mold a logic for turning construction, making procedure designing relation that change, software more shorter and more easier to understand. Make hardware control in software descended to moderate the operation.The text inside describes the system hardware work principle in brief first, and attach with the system hardware design frame diagram, combine development history that introduced the single a machine microprocessor, discuss this graduate design a function for applied each hardware connecting a people the technique connects with each one a mold piece and work processes, combine to describe in a specific way 8052,8279 and the SED1520 circumscribes the electric circuit connects oscular and soft, the hardware adjusts to try. Expatiated the process of the procedure the next in order with realizes process. The predominance thought that this text compose is soft, the hardware combines together, regarding hardware as the foundation, proceed the plait of each function mold piece write.Develop to me finally of use the single a machine realizes the design thought that the liquid crystal display of LCD control principle with soft, the hardware adjusted to try to make the detailed treatise.Keywords Micro Controller Unit Microprocessor LCD 8279南京工程学院毕业设计说明书(论文)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语言写的。南京工程学院毕业设计说明书(论文)2第一章概述第一节绪论1.1.1 课题背景如今,随着越来越多的手持式电器的出现,对高性能、小尺寸、重量轻的电池充电器的需求也越来越大。电池技术的持续进步也要求更复杂的充电算法以实现快速、安全的充电。因此需要对充电过程进行更精确的监控,以缩短充电时间、达到最大的电池容量,并防止电池损坏。与 此 同 时 , 对 充 电 电 池 的 性能 和 工 作 寿 命 的 要 求 也 不 断 地 提 高 。 从 20世 纪 60年 代 的 商 用 镍 镉 和 密 封 铅 酸电 池 到 近 几 年 的 镍 氢 和 锂 离 子 技 术 , 可 充 电 电 池 容 量 和 性 能 得 到 了 飞 速 的 发 展 。目 前 各 种 电 器 使 用 的 充 电 电 池 主 要 有 镍 镉 电 池 ( NiCd) 、 镍 氢 电 池 ( NiMH) 、锂 电 池 ( Li-Ion) 和 密 封 铅 酸 电 池 ( SLA) 四 种 类 型 。电池充电是通过逆向化学反应将能量存储到化学系统里实现的。由于使用的化学物质的不同,电池有自己的特性。设计充电器时要仔细了解这些特性以防止过度充电而损坏电。目前,市场上卖得最多的是旅行充电器,但是严格从充电电路上分析,只有很少部分充电器才能真正意义上被称为智能充电器,随着越来越多的手持式电器的出现,对高性能、小尺寸、轻重量的电池充电器的需求也越来越大。电池技术的持续进步也要求更复杂的充电算法以实现快速、安全地充电,因此,需要对充电过程进行更精确地监控(例如对充、放电电流、充电电压、温度等的监控) ,以缩短充电时间,达到最大的电池容量,并防止电池损坏。因此,智能型充电电路通常包括了恒 流 恒 压 控 制 环 路 、 电 池 电 压 监 测 电 路 、 电 池 温 度 检测 电 路 、 外 部 显 示 电 路 (LED 或 LCD 显 示 )等 基 本 单 元 。 其 框 图 如 下 :南京工程学院毕业设计说明书(论文)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 个小时的时间里充满电,通常是一个小时) 需要能够对单元电压、充电电流和电池温度进行精确地测量,在充满电的同时避免由于过充电造成的损坏。充电方法 SLA 电池和锂电池的充电方法为恒定电压法要限流; NiCd 电南京工程学院毕业设计说明书(论文)4池和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 电池一样,极性反转时电池也会损坏。NiMH 电池的自放电率大概为 20%/ 南京工程学院毕业设计说明书(论文)5月。和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字节的数据存储器。同时,由 32 个通用工作寄存器所构成的寄存器组被双向映射,因此,可以采用读写寄存器和读写片内快速 SRAM 存储器两种方式来访问32 个通用工作寄存器。南京工程学院毕业设计说明书(论文)6AVR 主要有单片机有 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.75.5V。速度等级:08MHz。AVR 单片机的主要特点如下:1.片内集成可擦写 10000 次以上的 Flash 程序存储器。由于 AVR 采用 16 位的指令,所以一个程序存储器的存储单元为 16 位,即 XXXX*1116(也可理解为8 位,即 2*XXXX*8)。AVR 的数据存储器还是以 8 个 Bit(位)为一个单元,因此AVR 还是属于 8 位单片机。2.采用 CMOS 工艺技术,高速度(50ns)、低功耗、具有 SLEEP(休眠)功能。AVR 的指令执行速度可达 50ns (20MHz)。AVR 运用 Harvard 结构概念,具有预取指令的特性,即对程序存储和数据存取使用不同的存储器和总线。当执行某一指令时,下一指令被预先从程序存储器中取出,这使得指令可以在每一个时南京工程学院毕业设计说明书(论文)7钟周期内执行。3.高度保密(LOCK)。可多次擦写的 FLASH 具有多重密码保护锁死(LOCK)功能,因此可低成本高速度地完成产品商品化,并且可多次更改程序(产品升级)而不必浪费 1C 或电路板,大大提高了产品的质量及竞争力。4.超功能精简指令。具有 32 个通用作寄存器(相当于 8051 中的 32 个累加器),克服了单一累加器数据处理造成的瓶须现象,1284K 字节 SRAM 可灵活使用指令计算,并可用功能很强的 C 语言编程,易学、易写、易移植。5.程序写入器件可以并行写入(用编程器写入),也可使用串行在线编程(ISP)方法下载写入,也就是说不必将单片机芯片从系统上拆下,拿到万用编程器上烧写,而可直接在电路板上进行程序的修改、烧写等操作,方便产品升级,尤其是采用 SMD 封装,更利于产品微型化。6.工作电压范围为 2.7V6.0V,电源抗干扰性能强。7.AVR 单片机还在片内集成了可擦写 100000 次的 PROM 数据存储器,等2E于又增加了一个芯片,可用于保存系统的设定参数、固定表格和掉电后的数据,既方便了使用,减小了系统的空间,又大大提高了系统的保密性。8.有 8 位和 16 位的计数器定时器(C/T),可作比较器、计数器、外部中断和 PWM(也可作 D/A )用于控制输出。1.1.4 液晶显示模块的选择LCD 显示模块是一种被动显示器,具有功耗低,显示信息大,寿命长和抗干扰能力强等优点,在低功耗的单片机系统中得到大量使用。液晶显示模块和键盘输入模块作为便携式仪表的通用器件,在单片机系统的开发过程中也可以作为常用的程序和电路模块进行整体设计。液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就显示黑色,这样即可显示出图形。在单片机系统中使用液晶显示模块作为输出器件有以下优点:(1)显示质量高液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,因此液晶显示器画质高而且不会闪烁。(2)数字式接口液晶显示器都是数字式的,和单片机系统的接口更加简单。(3)体积小,重量轻南京工程学院毕业设计说明书(论文)8(4)功率消耗小液晶显示器的功耗主要消耗在其内部的电极和驱动 IC 上,因此耗电量比其它显示器要小得多。第二节毕业设计任务和要求智能充电器的设计包括硬件和软件两大部分,本人的主要任务是完成充电器设计的 LCD 显示部分,其主要涉及的知识包括:(1) 自学 AVR 单片机的相关内容。(2) 设计电源电路。(3) 设计 128*64 液晶显示控制电路和用 C 语言编制 LCD 显示程序,用图形方式显示充电器电压、电流等参数。(4) 手工焊接和 ICCAVR 编译器的应用。这次设计要解决的关键问题是如何用 Atmega16L 芯片控制 LCD 模块及用C 语言编制相应的显示程序随着单片机的开发应用,其相应的汇编编程和所暴露的问题也越来越多,逐渐引入了高级语言,C 语言就是其中的一种。在大一时就曾接触过 C 语言,由于时间较短,重视程度不够,后来又一直没用过,只能对它有一个大概的了解。而对于 AVR 单片机的相关知识和液晶显示模块的使用,则完全是一片空白。这次毕业设计,就不得不花大量的时间在这些基础知识的学习上。为了更有效地完成这个课题,特列出了如下计划:表 1-1 毕业设计进度表起止时间 工 作 内 容第 12 周 熟悉课题的基本要求,查阅相关资料,初步拟定设计的整体方案,完成开题报告。第 38 周 1. 自学这次课题所涉及的相关内容,包括 C 语言基础知识,AVR 单片机(主要是 Atmega16L 芯片)和 ICCAVR 编译器的使用以及液晶显示的相关内容。并设计一些简单的实际电路,熟练所学内容并加以巩固。2. 熟悉绘图软件 Protel99 的使用。第 912 周 1. 设计 LCD 显示电路,电源电路,用 Protel99 绘制原理图,和同学一起完成整个充电电路原理图,并绘制印制电路板。2. 编写显示程序。第 1315 周 焊接调试电路,根据各部分的作用对硬件电路进行调试,最后南京工程学院毕业设计说明书(论文)9联机调试。最后数周 写毕业设计论文,完成全部毕业设计。这次毕业设计是由郭伟同学和本人共同合作完成,由他完成充电部分的硬件电路的设计,和这边的显示部分相结合,共同完成智能充电器的设计。南京工程学院毕业设计说明书(论文)10第二章 硬件电路设计经过前面对充电器原理、液晶模块、ATmega16L 等的总体了解和掌握以及对各种元器件和电路图的分析和比较后,现在就可以开始进入硬件电路的设计了。在本章里,首先将介绍一下液晶模块访问方式的两种接口电路,然后对LCD 显示电路原理图作一个详细的介绍,接着介绍充电电路中所用到的各种芯片和元器件的原理和一些功能,最后对 PROTEL99 的使用和 PCB 板的绘制以及焊接做一简单介绍,然后再将自己的设计思想和同组人所设计的两部分结合,达成统一。 第一节 液晶显示模块两种访问方式接口电路的选择单片机与液晶显示模块之间的连接方式分为直接访问方式和为间接控制方式两种。如图 2-1 和图 2-2 所示,其中左为单片机,右为液晶显示模块。(一) 直接访问方式数据总线GND+5V电位器负电源132 74LS00A11A10A9A8PD0PD1PD2PD3PD4PD5PD6PD7RDWEP2.3P2.2P2.1P2.0DB0DB1DB2DB3DB4DB5DB6DB7GNDVCCV0E/CSA/CSBR/WD/I10K南京工程学院毕业设计说明书(论文)11MPU 图 2-1 直接访问方式电路图 LCM 接口直接访问方式就是将液晶显示模块的接口作为存储器或 I/O 设备直接挂在单片机总线上,单片机以访问存储器或 I/O 设备的方式操作液晶显示模块的工作。直接访问方式的接口电路如图 2-1 所示,在图中,单片机通过高位地址A11 控制 CSA,A10 控制 CSB,以选通液晶显示屏上各区的控制器;同时用地址 A9 作为 R/W 信号控制数据总线的数据流向;用地址 A8 作为 D/I 信号控制寄存器的选择,E(使能)信号由 RD 和 WE 共同产生,这样就实现了单片机对液晶显示模块的电路边接。电位器用于显示对比度的调节。(二)间接控制方式10K负电源GND MPU LCM 接口图 2-2 间接控制方式电路图间接控制方式是单片机通过自身的或系统中的并行接口与液晶显示模块连接。单片机通过对这些接口的操作,以达到对液晶显示模块的控制。这种方式P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0P3.4P3.3P3.2P3.1P3.0DB7DB6DB5DB4DB3DB2DB1DB0/CSA/CSBER/WD/IVCCV0GND电位器+5V南京工程学院毕业设计说明书(论文)12的特点就是电路简单,控制时序由软件实现,可以实现高速单片机与液晶显示模块的接口。电路图如图 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的引脚配置:图 2-3 ATmega16L 芯片引脚引脚说明:VCC 数字电路的电源GND 地端口A(PA7PA0) 端口A 作为A/D 转换器的模拟输入端。端口A 为8 位双向I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还南京工程学院毕业设计说明书(论文)13未起振,端口A 处于高阻状态。端口B(PB7PB0) 端口B 为8 位双向I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口B 处于高阻状态。端口C(PC7PC0) 端口C 为8 位双向I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口C 处于高阻状态。如果JTAG接口使能,即使复位出现引脚PC5(TDI)、PC3(TMS)与PC2(TCK)的上拉电阻被激活。端口D(PD7PD0) 端口D 为8 位双向I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口D处于高阻状态。RESET 复位输入引脚。持续时间超过最小门限时间的低电平将引起系统复位。XTAL1 反向振荡放大器与片内时钟操作电路的输入端。XTAL2 反向振荡放大器的输出端。AVCCAVCC是端口A与A/D转换器的电源。不使用ADC时,该引脚应直接与VCC连接。使用ADC时应通过一个低通滤波器与VCC相连。AREF A/D 的模拟基准输入引脚。2.2.2 Atmega16L的存储器AVR结构有两个主要的存储空间:数据存储器空间和程序存储器空间,此外,Atmega16L还有一个EEPROM存储器以保存数据。这三个存储器都为线性的平面结构。南京工程学院毕业设计说明书(论文)14(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.3 Atmega16L的时钟电路单片机的时钟用于产生工作所需要的时序,其连接电路如下图:图2-4 晶体振荡器连接图XTAL1 与XTAL2 分别为用作片内振荡器的反向放大器的输入和输出,考虑到其最大频率不超过8MHz,这里选用的晶振为7.3728MHz。2.2.4 Atmega16L的系统复位Atmega16L有五个复位源:(1) 上电复位。电源电压低于上电复位门限Vpot时,MCU复位。如果在单片机加Vcc电压的同时,保持RESET引脚为低电平,则可延长复位周期。南京工程学院毕业设计说明书(论文)15Vcc Vpot VpotRESET Vrst VrstTIME-OUTINTERINAL tTOUT tTOUTRESET图2-5 RESET引脚与VCC相连时, 图2-6 RESET引脚由外部控制时,单片机的复位电平 单片机的复位电平(2) 外电复位。引脚RESET上的低电平持续时间大于最小脉冲宽度时MCU复位。VccRESET VrstTIME-OUT tTOUTINTERNALRESET 图2-7 外部复位时序图(3) 看门狗复位。看门狗使能并且看门狗定时器溢出时复位发生。看门狗计数器溢出时,将产生一个晶振的复位脉冲。Vcc RESET WDT 1 XTAL CycleTIME-OUT RESET tTOUT TIME-OUTINTERNALRESET图2-8 看门狗复位时序图南京工程学院毕业设计说明书(论文)16(4) 掉电检测复位。掉电检测复位功能使能,且电源电压低于掉电检测复位门限Vpot时MCU即复位。(5) JTAG AVR复位。复位寄存器为1时MCU复位。第三节LCD液晶显示 2.3.1 LCD的显示原理液晶显示器是一种功耗极低的显示器。随着液晶显示技术的发展,LCD显示器的规格众多,其专用驱动芯片也相互配套,使LCD在控制和仪表系统中广泛应用提供了极大的方便。根据LCD显示原理的不同,常见和常用的LCD可以分为字符型LCD和点阵型LCD两种。不同的显示原理使得这两种LCD的指令系统、接口和功能等是不相同的,各有优缺点,但结合到本次设计的实际要求,经过比较还是选用点阵型LCD。现就点阵型LCD的显示原理、模块特点等做一简要介绍。要想在液晶模块上显示一个汉字或字符,需要 3 个最基本的控制操作:分别向 3 个控制器写指令代码、写显示数据和读显示数据。这里要特别引起注意的是完成这 3 项操作的前提条件是 KS0108B 控制器处于准备好的状态,即BUSY=0,由模块的软件特性知道,当 BUSY=1 时,系统的接口电路处于被封锁的状态,是不能接受除读状态指令外的任何操作的。因此在访问控制器之前,一定要判断控制器的当前状态。具体到软件设计时,则需设计一判忙程序,在判断 BUSY=0 后,再往下进行操作。在本模块中,每个汉字的大小是 1616 点阵,而每个字符的大小是 816点阵,即字符的宽度为汉字的 1/2。它们都是以二维数组的格式存放在 ROM 中。向液晶模块显示一个汉字的过程就是:由液晶屏显示区的指定字符行的指定列开始,连续输出该字符对应的字符库中的 16 个列数据,如果是显示字符,则输出8 个列数据即可。上面已经介绍到,MGLS-19264 液晶模块中液晶屏显示区为 19264 点阵,其中,它们的每 8 个像素行组成一页,整个显示区共分为 8 页,每 64 列为一个区,这样,它就有左、中、右 3 个区,它的显示区示意图如下:左区 中区 右区0 1 2 62 63 64 65 127 128 129 191DB0第0页南京工程学院毕业设计说明书(论文)17DB7DB0DB7图 2-9 液晶屏显示区示意图液晶模块显示字符是从上到下,从左到右进行显示的。假设定义从最左上角开始显示,则先从上到下显示第 0 页的第一列,依次从左向右开始显示。MGLS-19264LCM 的显示部分为左、中、右 3 个区,可以由 CS 片选的取值分别进行控制,其接口的片选定义如下:表 2-1 MGLS 的片选定义表CS1 CS2 选中区域0 0 左区0 1 中区1 0 右区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.2 液晶显示控制驱动器HD61202及其兼容液晶显示控制器是一种带有驱动输出的图形液晶显示控第七页南京工程学院毕业设计说明书(论文)18制器,而在小规模点阵液晶显示模块上使用液晶显示驱动器组成液晶显示驱动控制系统是非常有益的,这将使液晶显示模块的硬件电路简单化,从而降低模块的成本,同时也提高了对软件功能的要求。许多显示功能如光标、字符库、闪烁都需要由软件编制而成。HD61203和HD61202就是这类液晶显示驱动控制器套件。之所以称它们为套件是因为HD61203和HD61202必须配套使用,通常有12864和19264两种规格。其特点如下:1内藏64*64=4096 位显示RAM,RAM中每位数据对应LCD屏上的一个点的亮、暗状态。2HD61202及其兼容控制器是列驱动器,具有64路列驱动输出。3HD61202及其兼容控制驱动器读、写时序与68系列微处理妻相符,因此它可直接与68系列微处理器借口相联。4HD61202及其兼容控制器的占空比为1/321/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的支流电源,选用电源太大不仅增加功耗,更有可能损坏背光灯和缩短模块的使用寿命。南京工程学院毕业设计说明书(论文)19MGLS-12864 的逻辑电路图如下:图 2-8 MGLS-12864 的逻辑电路图MGLS-12864 液晶显示模块一共有 20 个引脚,它的接口定义如下:表 2-2 MGLS-12864 的接口电路序号 符号 状态 功能 D7 三态 数据总线 D6 三态 数据总线 D5 三态 数据总线HD61202*LCD: VGLS-12864128 64 DOTS64HD61202(1)HD61202(2)6464VDDVSSV0/CSA/CSBDB0DB7D/IR/WE南京工程学院毕业设计说明书(论文)204 D4 三态 数据总线5 D3 三态 数据总线6 D2 三态 数据总线7 D1 三态 数据总线8 D0 三态 数据总线9 E 输入 R/W=“L”,E 的下降沿锁存数据线R/W=“H”,E 为“H”时,数据由控制器输出至数据线10 R/W 输入 R/W=“L”,E=“H”数据由控制器输出数据线R/W=“H”,E 的下降沿,数据由数据线输入到控制器11 D/I 输入 D/I=“L”,表示 DB7DB0 为显示数据D/I=“H”,表示 DB7DB0 为显示指令12 V0 液晶显示器驱动电压13 VCC 电源正14 GND 电源地15 CS1 输入 片选信号16 CS2 输入 片选信号17 VOUT LCD 负压驱动电压18 RET 输入 复位信号19 LED+ 显示模块背光电源20 LED- 显示模块背光电源第四节 电源电路的设计在本次的设计中,要供电给 mega16 和 LCD 显示模块两部分,而一个LM7805 的输出电流不足,所以本人打算将 mega16 和显示模块分别供电,所以实际电路中用到了两片 7805。下面就一个电源电路给出设计方案,另一个同样原理。5V 电源电路的设计加图图 2-9 5V 的电源电路设计原理图上图是 LM78作为输出电压固定的典型电路图,正常工作时,输入、南京工程学院毕业设计说明书(论文)21输出电压差为 3-8V。输入电压 PS 为 9V。电路中接入电容 C5 用来实现频率补偿,防止稳压器产生高频自激振荡和抑止电路引入的干扰,C11 是有极性的电解电容,以减小稳压电压输出端由输入电源引入的电平干扰。D1 是保护二极管,当输入端短路时,给输出电容器 C11 一个放电电路,防止 C11 两端电压作用于调压管的 be 结,造成调压管 be 结击穿而损坏。其中 C5、C11 两个电容只是起滤波作用选用的大小没有特别的要求。第五节 硬件电路设计经过对以上对 ATmega16L 芯片的端口、存储器、时钟电路、以及复位电路和 LCD 液晶显示等原理的介绍后,现在就可以完成对这部分硬件电路的设计了。再结合前面的分析采用间接访问的方式实现单片机与液晶显示模块之间的连接。LCD 模块的 8 位数据线接在了 Atmega16L 芯片 B 口的 8 位数据线上,这里用了一个 74LS24 作为锁存器使它们间接连接在一起。LCD 的EN、D/I、CS1、CS2、R/W 分别连接到 PA3PA7 上,其详细的接法见下图南京工程学院毕业设计说明书(论文)22图 2-10 硬件接线图第六节 PROTEL99 的应用简介经过前面的努力,智能充电器硬件电路的设计在本人及同组人的共同努力下已经完成,接下来便是根据前面的设计用软件画出其原理图并生成板。PROTEL99SE 是一个全 32 位的电路板设计软件,使用该软件可以容易地设计电路原理图、画元件图、设计电路板图、画元件封装图和电路仿真。在这里主要用它来绘制电路原理图和生成印制电路板。原理图的设计步骤如下:(1) 设置原理图设计环境。其中,工作环境设置是使用Design/Options 和 Tool 和 Preferences 菜单进行的,画原理图环境的设置主要包括图纸大小、捕捉栅格、电气栅格、模板设置等。(2) 放置元件,将电气和电子元件放置在图纸上。(3) 原理图布线。元件一旦放置在原理图上,不需要用导线将元件连接起来,连接时一定要符合电气规则。(4) 编辑和调整。编辑元件的属性。包括元件名、参数、封装图等。调整元件和导线的位置等操作。本次设计所用的主要元件属性如下:表 2-3 主要元件表说明 编号 封装 元件名称 单片机 U1 DIP-40 Atmega16LCD J2 DIP-20 LCD 模块电阻 R AXIAL0.3 RES2电容 C RAD0.1 CAP锁存器 U5 DIP-20 74LS245NPN 三极管 Q TO46 2N2222A晶体 X XTAL-1 XTAL通用运放 U2A,U2B DIP8 LM358(5) 检查原理图。使用电气规则功能(ERC)检查原理图的连接是否合理和正确。给出检查报告,若有错误则要根据错误进行改正。(6) 生成网络表。所谓网络表就是元件名、封装、参数及元件之间的连接表,通过该表可以确认各个元件和它们之间的关系。南京工程学院毕业设计说明书(论文)23(7) 打印原理图。对电路板的设计主要分为以下几个步骤;(1)使用原理图编辑器设计原理图,进行电气检查(ERC)并生成原理图的网络表。(2)进入电路板(PCB)环境,使用电路向导确定电路板的层数、尺寸等电路板参数。(3)使用 Design/Netlist 菜单,调入网络表。由于在前面的元件封装不规范,这里面出现了许多错误,通过请教老师及自己的不懈努力,花了数天的时间才全部改了出来。(4)布置元件,就是将元件合理地分布在电路板上。自动布置元件或人工布置元件,多次布置直到自己满意为止。人工布线是画电路板的基础,但比较耗时和费力,另外由于自身经验的不足,只得先采用自动布线,在此基础上作了适当的修改。(5)完成修饰等工作,完成整个电路板的设计。接下来是焊接的工作,这部分相对来说并不陌生,在大二时曾进行过电子课程的实习,主要就是完成收音机的焊接。虽然以后接触得比较少,但通过几天的练习,还是基本圆满地完成了任务。焊接通常要求:焊点接触良好,尤其避免虚焊的产生;焊点要有足够的机械强度以保证被焊点不致滑落;焊点表面应美观,有光泽。这块板子面积不算大(约 90cm 70cm),元器件引脚多,看起来很密集。从焊下来的结果来看,焊点还可以,也算比较美观,最关键的是没有短路的情况发生。焊接完成后,整个硬件电路原理、绘制原理路、焊接等工作已全部完成,下面转到软件部分的设计。南京工程学院毕业设计说明书(论文)24第三章 软件设计由于本人主要负责设计软件部分,而本人之前对 C 语言这门课的学习不是非常的精通,因此在着手本章之前本人对 C 语言以及 AVR 单片机与 C 语言编程方面的书籍做了认真仔细的回顾、学习和再研究,这样才对下面设计工作的开展打下了基础。在本章里,本人将先介绍 C 语言开发的优势,然后介绍 LCD 的显示原理、模块的软件特性等,接下来便是最主要的整个程序的设计。3.1.用 C 语言开发单片机的优势C 语言是一种编译型的结构化程序设计语言,具有简单的语法结构和强大的处理功能,具有运行速度快、编译效率高,移植性好和可读性强等多种优点,可以实现对系统便件的直接操作。用 C 语言来编写目标系统软件,可以大大缩短开发周期,且明显地增加软件的可读性,便于改进和扩充,从而开发出大规模、高性能的应用系统。其优势如下:(1) 可以大幅度加快开发进度,程序量越大,用 C 语言就越有优势。(2) 无需精通单片机指令集和具体的硬件,也能够编出符合硬件实际专业水平的程序。(3) 可以实现软件的结构化编程,使得软件的逻辑结构变得清晰、有条理、便于开发小组计划任务、分工合作。源程序的可读性和可维护性都很好。(4) 省去了人工分配单片机资源的工作,在汇编语言中要为每一个子程序分配单片机的资源。在使用 C 语言后,只要在代码中申明一下变量的类型,编译器就会自动分配相关资源,根本不需要人工干预,从而有效地避免了人工分配单片机资源的差错。(5) 汇编语言的可移植性很差,而 C 语言只要将一些与硬件相关的代码作适当的修改,就可以方便地移植到其它种类的单片机上。(6) C 语言提供 auto、static、flash 等存储类型,针对单片机的程序存储空间、数据存储空间及 EEPROM 空间自动为变量合理地分配空间,而且 C南京工程学院毕业设计说明书(论文)25语言提供复杂的数据类型,极大地增强了程序处理能力和灵活性。C 编译器能够自动实现中断服务程序的现场保护和恢复,并且提供常用的标准函数库,供用户使用。并且 C 编译器能自动生成一些硬件的初始化代码。(7) 对于一些复杂系统的开发,可以通过移植(或 C 编译器提供)的实时操作系统来实现。正由于 C 语言在系统开发中的优势,这次设计的所有程序设计都将采用 C语言编写,且通过 ICCAVR 编译器操作 AVR 的硬件资源。3.2 液晶显示汉字或字符的原理LCD 本身不发光只是调节光的亮度,目前市面上的 LCD 显示器都是利用液晶的扭曲一向列效应制成,这是一种电场效应,夹在两片导电玻璃电极间的液晶经过一定处理,它内部的分子呈直角扭曲,当线性偏振光透过其偏振面便会旋转一个直角。当在玻璃电极上加上电压后,在电场作用下,液晶的扭曲结构消失,偏振光便可以直接通过。当去掉电场后液晶分子又恢复取扭曲结构。把这样的液晶置于两个偏振片之间,改变偏振片相对位置就可以得到白底黑子或黑底白字的显示形式。结合以上知识具体显示原理如下:( 1 ) 线段的显示点阵图形式液晶由M*N个显示单元组成,假设LCD显示屏有64行,每行有128列,每8列对应1字节的8位,即每行由16字节,共16*8=128个点组成,屏上64*16个显示单元与显示RAM区1024字节相对应,每一字节的内容和显示屏上相应位置的亮暗对应。例如屏的第一行的亮暗由RAM区的00H00FH的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上开始显示的行列号南京工程学院毕业设计说明书(论文)26及每行的列数找出显示RAM对应的地址,设立光标,在此送上该字符对应的代码即可。( 3 ) 汉字的显示汉字的显示一般采用图形方式,事先从微机中提取要显示的汉字的点阵码,每个汉字占32B,分左右两半部,各占16B,左边为1、3、5右边为2、4、6根据在LCD上开始显示的行列号及每行的列数可找到显示RAM对应的地址,设立光标,送上要显示的汉字的一字节,光标位置加1,送第二字节,按行按列对齐,送第三字节直到32B显示完就可在LCD上得到一个完整的汉字。3.3 LCD 模块的指令说明要完成显示程序的设计,必须了解 LCD 液晶模块的指令系统。这里采用的LCD 是北京精电蓬远显示技术公司生产的 MGLS 系列图形液晶显示模块,其内藏KS0108B/HD61202 控制器。KS0108B 及其兼容控制驱动器( HD61202 )的指令系统比较简单,一共只有7 条指令,从作用上可分为两类。第一条指令和第二条指令为显示状态设置类;其余指令为数据读/写操作指令。下面是各个指令的功能:1. 读状态指令R/W RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB01 0 BUSY 0 ON/OFF REST 0 0 0 0状态字是计算机了解 HD61202 及其兼容控制驱动器当前状态,或是HD61202 及其兼容控制驱动器向计算机提供其内部状态的唯一的信息渠道。状态字为一字节,其中仅有 3 位有效位,它们是:BUSY 表示当前 HD61202 接口控制电路运行状态。 BUSY=1 表示 HD61202正在处理计算机发来的指令或数据。此时接口电路被封锁,不能接受除读状态字以外的任何操作。BUSY=0 表示 HD61202 接口电路已处于“准备好”状态,等待计算机的访问。ON/OFF 表示当前的显示状态。ON/OFF=1 表示关显示状态;ON/OFF=0 表示开显示状态。RESET 表示当前 HD61202 的工作状态,即反映 RST 端的电平状态。当RST 为低电平状态时, HD61202 处于复位工作状态,RESET=1;当 RST 为高电平状态时,HD61202 为正常工作状态,RESET=0。在指令设置和数据读写时要注意状态字中的 BUSY 标志。只有在 BUSY=0南京工程学院毕业设计说明书(论文)27时,计算机对 HD61202 的操作才能有效,因此计算机在每次对 HD61202 操作之前,都要读出状态字以判断 BUSY 是不为“0” 。若不为“0” ,则计算机需要等待,直至 BUSY=0 为止。2. 显示开关指令R/W RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB00 0 0 0 1 1 1 1 1 1/0该指令设置显示开关触发器的状态,由此控制显示数据锁存器的工作方式,从而控制显示屏上的显示状态。D 位为显示开关控制位。当 D=1 为开显示设置,显示数据锁存器正常工作,显示屏上呈现所需的显示效果。此时在状态字中 ON/OFF=0;当 D=0 为关显示设置,显示数据锁存器被置零,显示屏呈不显示状态,但显示存储器并没有被破坏,在状态字中 ON/OFF=1。3. 显示起始行设置指令R/W RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB00 0 1 1 显示起始行( 0-63 )该指令设置了显示起始行寄存器的内容。HD61202 有 64 行显示的管理能力,该指令中 L5L0 为显示起始行的地址,取值在 03FH( 164 行)范围内,它规定了显示屏上最顶一行所对应的显示存储器的行地址。如果定时间隔地,等间距地修改( 如加 1 或减 1)显示起始行寄存器的内容,则显示屏将呈现显示内容向上或向下平滑滚动的显示效果。4. 页面地址设置指令R/W RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB00 0 1 0 1 1 1 页号( 07 )该指令设置了页面地址X 地址寄存器的内容。 HD61202 将显示存储器分成 8 页,指令代码中 P2-P0 就是要确定当前所要选择的页面地址,取值范围为 0-7H,代表第 1-8 页。该指令规定了以后的读写操作将在哪一个页面上进行。5. 列地址设置指令R/W RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB00 0 0 1 显示列地址( 063 )该指令设置了 Y 地址计数器的内容,C5C0=03FH( 164 )代表了某一页面上的某一个单元地址,随后的一次读或写数据将在这个单元上进行。Y 地址南京工程学院毕业设计说明书(论文)28计数器具有自动加 1 功能,在每上次读写数据后它将自动加 1,所以在连续进行读写数据时,Y 地址计数器不必每次都设置一次。页面地址的设置和列地址的设置将显示存储器单元唯一的确定下来,为后来的显示数据的读写作了地址的选通。6. 写数据指令R/W RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB00 1 写数据该操作将 8 位数据写入先前已确定的显示存储器的单元内。操作完成后列地址计数器自动加 1。7. 读数据指令R/W RS DB7 DB6 DB5 DB4 DB3 DB2 D
收藏