毕业论文智能型充电电路设计_第1页
毕业论文智能型充电电路设计_第2页
毕业论文智能型充电电路设计_第3页
毕业论文智能型充电电路设计_第4页
毕业论文智能型充电电路设计_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

录1.1背景、意义1.2常见充电电池特性及其充电方式1.3主要芯片的选择1.4液晶显示模块的选择................................................................................................62.1液显示模块两种访问方式接口电路的选择72.2硬电路主要芯片82.2.1ATmega16L主引脚说82.2.2Atmega16L存储器...........................................................................................92.2.3Atmega16L时钟电路.....................................................................................102.3LCD液显示.102.3.1LCD的显示原理102.3.2液显示控制驱动122.3.3液显示模块的特132.4硬电路设计.142.5PROTEL99的应用简介153.1用C语开发单片机的优势.................................................................................3.2液显示汉字或字符的原理183.3系统程序流程图194.1系调试软件介绍.214.1.1ICCAVR编器简介...........................................................................................214.1.2ICCAVR的要设234.2调过程.23参考文献.

论文第一章

绪论1.1景意如今着油价的不断上涨和人们环保意识的增强自行车以其价格低、绿色环保轻便美观使用安全方便等优点越来越受到消费者的喜爱评价电动自行车质量好坏的重要参数之一是其蓄电池的使用寿命蓄电池的充电过程对其寿命影响最大。研究表明:过充电,可使蓄电池发热,电解液失水;而充电不足则可使蓄电池内化学反应不充分长期充电不足会导致蓄电池容量下降由此可见,充电器性能的好坏直接影响着蓄电池的使用效果和使用寿命。电动车电池技术的持续进步也要求更复杂的充电算法以实现快速、安全的充电因此需要对充电过程进行更精确的监控以缩短充电时间达到最大的电池容量,并防止电池损坏。与此同时,对充电电池的性能和工作寿命的要求也不断地提高。从20世60代的商用镍镉和密封铅酸电池到近几年的镍氢和锂离子技术,可充电电池容量和性能得到了飞速的发展。目前各种电器使用的充电电池主要有镍镉电池(镍氢电池NiMH锂电池(Li-Ion)和密封铅酸电池()四种类型。电池充电是通过逆向化学反应将能量存储到化学系统里实现的。由于使用的化学物质的不同电池有自己的特性设计充电器时要仔细了解这些特性以防止过度充电而损坏电。目前市场上的电动自行车充电器存在的主要不足第一不是从副边绕组直接获得取样信号因而稳压效果不理想第二是输出电流和电压调节范围窄因而只适用于固定负载但是严格从充电电路上分析只有很少部分充电器才能真正意义上被称为智能充电器随着越来越多的手持式电器的出现对高性能小尺寸轻重量的电池充电器的需求也越来越大电池技术的持续进步也要求更复杂的充电算法以实现快速安全地充电因此需要对充电过程进行更精确地监控(例如对充、放电电流、充电电压、温度等的监),以缩短充电时间,达到最大的电池容量,并防止电池损坏。因此,智能型充电电路通常包括了恒流/恒压控制环路、电池电压监测电路、电池温度检测电路、外部显示电路(LED或LCD)等基本单元。其框图如下:1

论文图1-1智充器本图AtmelAVR微处理器是当前市场上能够以单片方式提供lash和10位ADC的最高效的8位RISC微处理器。由于程序存储器为Flash,因此可以不用象MASKROM一样,有几个软件版本就库存几种型号Flash可以在发货之前再进行编程,或是在PCB贴装之后再通过ISP进行编程,从而允许在最后一分钟进行软件更新。EEPROM可用于保存标定系数和电池特性参数,如保存充电记录以提高实际使用的电池容量10位A/D转换器可以提供足够的测量精度使得充好后的容量更接近其最大容量。而其他方案为了达到此目的,可能需要外部的DC,不但占用PCB空间也提高了系统成本AVR是目前唯一的针对象“C”这样的高级语言而设计的8位微处理器。1.2见电池性其电式电池充电是通过逆向化学反应将能量存储到化学系统里实现的,由于使用的化学物质的不同,电池的特性也不同,其充电的方式也不大一样。电池的全充电

现代的快速充电器(即电池可以在小于3个小时的时间里充满电通常是一个小时)需要能够对单元电压充电电流和电池温度进行精确地测量,在充满电的同时避免由于过充电造成的损坏。

论文充电方SLA电池和锂电池的充电方法为恒定电压法要限流NiCd电池和NiMH电池的充电方法为恒定电流法具有几个不同的停止充电的判断方法。最大充电流

最大充电电流与电池容量C)有关大充电电流往往以电池容量的数值来表示。例如,电池的容量为50mAh,充电电流为750mA,则充电电流为1C(1倍的电池容量)。若涓流充电时电流为/40,则充电电流即为电池容量除以40。过热

电池充电是将电能传输到电池的过程量以化学反应的方式保存了下来。但不是所有的电能都转化为了电池中的化学能。一些电能转化成了热能,对电池起了加热的作用当电池充满后若继续充电则所有的电能都将转化为电池的热能在快速充电时这将使电池快速升温若不及时停止充电就会造成电池的损坏因此在设计电池充电器时对温度进行监控并及时停止充电是非常重要的。现代消费类电器主要使用如下四种电池:•密封铅酸电池(SLA)•镍镉电池(NiCd)•镍氢电池(NiMH)•锂电池(Li-Ion)在正确选择电池和充电算法时需要了解这些电池的背景知识。密封铅电池(SLA)密封铅酸电池主要用于成本比空间和重量更重要的场合,如UPS和报警系统的备份电池。SLA电池以恒定电压进行充电,辅以电流限制以避免在充电过程的初期电池过热。只要电池单元电压不超过生产商的规定(典型值为2.2V),SLA电池可以无限制地充电。镍镉电(NiCd)电池目前使用得很普遍。它的优点是相对便宜,易于使用缺点是自放电率比较高典型的NiCd电池可以充电1000次失效机理主要是极性反转在电池包里第一个被完全放电的单元会发生反转为了防止损坏电池包要不间断地监控电压旦单元电压下降到.0V就必须停机电池以恒定电流的方式进行充电。镍氢电(NiMH)在轻重量的手持设备中如手机、手持摄象机,等等镍氢电池是使用最广的这种电池的容量比NiCd的大由于过充电会造成NiMH电池的失效在充电过程中进行精确地测量以在合适的时间停止是非常重要的和iCd电池一样极性反转时电池也会损坏NiMH电池的自放电率大概为20%/月和

论文NiCd电池一样,NiMH电池也为恒定电流充电。锂电池和本文中所述的其他电池相比,锂电池具有最高的能量重量比和能量/体积比锂电池以恒定电压进行充电同时要有电流限制以避免在充电过程的初期电池过热充电电流下降到生产商设定的最小电流时就要停止充电。过充电将造成电池损坏,甚至爆炸。1.3主芯的择ATMEL公司是世界上有名的生产高性能、低功耗、非易失性存储器和各种数字模拟IC芯片的半导体制造公司在单片机微控制器方面ATMEL公司有AT89,AT90和ARM三个系列单片机的产品由于8051本身结构的先天性不足和近年来各种采用新型结构和新技术的单片机的不断涌现,现在的单片机市场是百花齐放。ATMEL在这种强大市场压力下,发挥Flash储器的技术特长,于1997年研发并推出了个新配置的用精简指令集RISC(ReducedSetCPU)结构的新型单片机,简称AVR单片机。精简指令集RISC结构是20世纪90年代开发出来的,综合了半导体案成技术和软例-性能的新结构。AVR单片机采用RISC构,具有1MIPS/MHz的高速运行处理能力。了缩短产品进入市场的时间简化系统的维护和支持对于由单片机组成的嵌入式系统来说,用高级语言编程已成为一种标准编程方法。结构单片机的开发日的就在于能够更好地采用高级语言(例如C语言BASIC语言来编写嵌入式系统的系统程序从而能高效地开发出目标代码为了对目标代码大小、性能及功耗进行优化AYR单片机的结构中采用了大型快速存取寄存器组和快速的单周期指令系统。单片机运用Harvard结构一条指令执行的时候就取出现行的指令,然后以一个周期执行指令在其他的CISC以及类似的结构的单片机中外部振荡器的时钟被分频降低到传统的内部指令执行周期,这种分频最大达倍(8051)。AVR单片机是用一个时钟周期执行一条指令的,它是在8位单片机中第一个真正的RISC结构的单片机。由于AVR单片机采用了结构以它的程序存储器和数据存储器是分开组织和寻址的址空间分别为可直接访问8M节的程序存储器和8M字节的数据存储器。同时,由32个通用工作寄存器所构成的寄存器组被双向映射,因此以采用读写寄存器和读写片内快速SRAM储器两种方式来访问32个通

论文用工作寄存器。AVR主要有单片机有、AT90ATmega种系列,其结构和基本原理都相类似。本次设计所用到的片便是ATmega系列中的一种,在这里作为充电器的核心部件。它是一种具有引脚的高性能、低功耗的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)两个具有独立预分频器和比较器功能的位定时器/计数器,一个具有预分频器、比较功能和捕捉功能的6位定时器/计数器。(7)片内/片外中断源。(8)具有一个10位的AD转换器,能对来自端口的8位单端输入电压进行采样。(9)工作电压:2.7-5.5V。速度等级:0。AVR单片机的主要特点如下:1.片内集成可擦写次以上的Flash程序存储器。由于AVR用16位的指令,所以一个程序存储器的存储单元为位,即XXXX*1116(也可理解为8位即2*XXXX*8)。AVR的数据储器还是以8个Bit(位)为一个单元因此AVR还是属于8位单片机。2.采用CMOS工艺技术,高速度50ns)、低功耗、具有SLEEP(休眠功能。AVR的指令执行速度可达50ns。AVR运用结构概念,具有预取指令的特性即对程序存储和数据存取使用不同的存储器和总线当执行某一指

论文令时下一指令被预先从程序存储器中取出这使得指令可以在每一个时钟周期内执行。3.高度保密(LOCK)。可多次擦写的FLASH具有多重密码保护锁死(LOCK)功能,因此可低成本高速度地完成产品商品化,并且可多次更改程序产品升级)而不必浪费1C或电路板,大大提高了产品的质量及竞争力。4.超功能精简指令。具有个通用作寄存器(相当于8051中的个累加器),克服了单一累加器数据处理造成的瓶须现象,字节SRAM灵活使用指令计算,并可用功能很强的C语言编程,易学、易写、易移植。5.程序写入器件可以并行写入用编程器写入)可使用串行在线编程(ISP)方法下载写入也就是说不必将单片机芯片从系统上拆下拿到万用编程器上烧写,而可直接在电路板上进行程序的修改、烧写等操作,方便产品升级,尤其是采用SMD封装,更利于产品微型化。6.工作电压范围为电源抗干扰性能强。7.AVR单片机还在片内集成了可擦写次的EPROM数据存储器于又增加了一个芯片可用于保存系统的设定参数固定表格和掉电后的数据既方便了使用,减小了系统的空间,又大大提高了系统的保密性。8.有8位和16位的计数器定时器(C/T)可作比较器计数器外部中断和PWM(也可作D/A)用于控制输出。1.4晶示块选LCD显示模块是一种被动显示器,具有功耗低,显示信息大,寿命长和抗干扰能力强等优点在低功耗的单片机系统中得到大量使用液晶显示模块和键盘输入模块作为便携式仪表的通用器件单片机系统的开发过程中也可以作为常用的程序和电路模块进行整体设计液晶显示的原理是利用液晶的物理特性通过电压对其显示区域进行控制,有电就显示黑色,这样即可显示出图形。在单片机系统中使用液晶显示模块作为输出器件有以下优点:(1)显示质量高液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,因此液晶显示器画质高而且不会闪烁。(2)数字式接口液晶显示器都是数字式的,和单片机系统的接口更加简单。

论文(3)体积小,重量轻(4)功率消耗小液晶显示器的功耗主要消耗在其内部的电极和驱动上,因此耗电量比其它显示器要小得多。第二章

硬件电路设计经过前面对充电器原理、液晶模块ATmega16L等的总体了解和掌握以及对各种元器件和电路图的分析和比较后,现在就可以开始进入硬件电路的设计了。在本章里首先将介绍一下液晶模块访问方式的两种接口电路然后对显示电路原理图作一个详细的介绍着介绍充电电路中所用到的各种芯片和元器件的原理和一些功能,最后对使用和PCB板的绘制以及焊接做一简单介绍,然后再将自己的设计思想和同组人所设计的两部分结合,达成统一。2.1液晶示模块两种问方式接口路的选择单片机与液晶显示模块之间的连接方式分为直接访问方式和为间接控制方式两种。一)直接访问方式直接访问方式就是将液晶显示模块的接口作为存储器或设备直接挂在单片机总线上,单片机以访问存储器或I/O备的方式操作液晶显示模块的工作。单片机通过高位地址A11控制CSA,A10制CSB,以选通液晶显示屏上各区的控制器;同时用地A9作为R/W信号控制数据总线的数据流向;用地址A8作为D/I信号控制寄存器的选择,E(使能)信号由和WE共同产生,这样就实现了单片机对液晶显示模块的电路边接。电位器用于显示对比度的调节。(二)间接控制方式间接控制方式是单片机通过自身的或系统中的并行接口与液晶显示模块连接单片机通过对这些接口的操作以达到对液晶显示模块的控制这种方式的特点就是电路简单控制时序由软件实现可以实现高速单片机与液晶显示模块的接口。通过比较再结合本次设计的实际条件,由于芯片没有WR、RD管脚而且为了使电路简单且方便软件实现所以最终决定采用间接控制的方式来7

论文设计LCD显示电路。2.2硬件路主要芯片2.2.1主要引说以下是ATmega16L的引脚配置:图ATmega16L芯片脚引脚说明:VCCGND端口A(PA7~PA0)端口B(PB7~PB0)

数字电路的电源地端口A作为A/D转换器的模拟输入端。端口A为8位双向I/O口具有可编程的内部上拉电阻其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时若内部上拉电阻使能端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口A处于高阻状态。端口B为8位双向I/O口具有可编程的内部上拉电阻其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。

论文端口C(PC7~PC0)端口D((PD7~PD0)RESETXTAL1XTAL2

作为输入使用时若内部上拉电阻使能端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口B处于高阻状态。端口为8位双向I/O口具有可编程的内部上拉电阻其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时若内部上拉电阻使能端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口C处于高阻状态如果JTAG接口使能即使复位出现引脚PC5(TDI)、PC3(TMS)与PC2(TCK)的上拉电阻被激活。端口D为8位双向I/O口具有可编程的内部上拉电阻其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时若内部上拉电阻使能则端口被外部电路拉低时将输出电流复位过程中系统时钟还未起振,端口D处于高阻状态。复位输入引脚续时间超过最小门限时间的低电平将引起系统复位。反向振荡放大器与片内时钟操作电路的输入端。反向振荡放大器的输出端。AVCCAVCC是端口与A/D转换器的电源。不使用ADC时,该引脚应直接与VCC连接。使用ADC时应通过一个低通滤波器与CC相连。的模拟基准输入引脚。2.2.2Atmega16L的存储AVR结构有两个主要的存储空间数据存储器空间和程序存储器空间此外,Atmega16L还有一个EPROM存储器以保存数据。这三个存储器都为线性的平面结构。(1)Atmega16L具有16K字节的在线编程Flash用于存储程序指令代码。因AVR指令为16位或32位,故Flash组织成8K16的形式。用户程序的安全性要根据Flash程序存储器的两个区:引导(Boot)程序区和应用程序区,分开来考虑。

论文Flash存储器至少可以擦写10,000次Atmega16L的程序存储器为13位因此可以寻址8K的存储器空间。关于用SPI或JTAG接口实现对Flash的串行下载,将在软件部分作详细的介绍。(2)数据存储器的寻址方式分为5种:直接寻址、带偏移量的间接寻址、间接寻址、带预减量的间接寻址和带后增量的间接寻址。ATmega16L的全部32个通用寄存器个/O寄存器及1024个字节的内部数据SRAM可以通过所有上述的寻址模式进行访问。(3)ATmega16L包含512字节的EEPROM数据存储器。它是作为一个独立的数据空间而存在的,可以按字节读写。EEPROM的寿命至少为100,000次擦除周期。EEPROM的访问由地址寄存器、数据寄存器和控制寄存器决定。2.2.3Atmega16L的时钟路单片机的时钟用于产生工作所需要的时序,其连接电路如下图:图-2晶振荡连图XTAL1与XTAL2分别为用作片内振荡器的反向放大器的输入和输出虑到其最大频率不超过8MHz,这里选用的晶振为7.3728MHz2.3LCD晶显示2.3.1LCD的示理液晶显示器是一种功耗极低的显示器。随着液晶显示技术的发展LCD示器的规格众多,其专用驱动芯片也相互配套,LCD在控制和仪表系统中广泛应用提供了极大的方便根据LCD显示原理的不同常见和常用的LCD可以分为字符

论文型LCD和点阵型CD两种。不同的显示原理使得这两种CD的指令系统、接口和功能等是不相同的各有优缺点但结合到本次设计的实际要求经过比较还是选用点阵型LCD。现就点阵型LCD的显示原理、模块特点等做一简要介绍。要想在液晶模块上显示一个汉字或字符需要3个最基本的控制操作分别向3个控制器写指令代码写显示数据和读显示数据这里要特别引起注意的是完成这3项操作的前提条件是KS0108B控制器处于准备好的状态,即BUSY=0,由模块的软件特性知道,当BUSY=1时,系统的接口电路处于被封锁的状态,是不能接受除读状态指令外的任何操作的因此在访问控制器之前一定要判断控制器的当前状态具体到软件设计时则需设计一判忙程序在判断后,再往下进行操作。在本模块中,每个汉字的大小是点阵,而每个字符的大小是8×16点阵,即字符的宽度为汉字的1/2。它们都是以二维数组的格式存放在ROM中。向液晶模块显示一个汉字的过程就是液晶屏显示区的指定字符行的指定列开始,连续输出该字符对应的字符库中的16个列数据,如果是显示字符,则输出8个列数据即可。上面已经介绍到,液晶模块中液晶屏显示区为阵,其中,它们的每8个像素行组成一页,整个显示区共分为8页,每64为一个区,这样,它就有左、中、右3个区,它的显示区示意图如下:左区

中区

右区012…62636465…127

128129…191DB0…DB7…DB0…DB7

第页…第七页图2-3液晶屏示示图液晶模块显示字符是从上到下,从左到右进行显示的。假设定义从最左上角开始显示,则先从上到下显示第0页的第一列,依次从左向右开始显示。

论文MGLS-19264LCM的显示部分为左、中、右个区,可以由CS片选的取值分别进行控制,其接口的片选定义如下:表2-1MGLS的片选义CS10

CS20

选中区域左区01

中区11

01

右区未选有了上面的知识,就可以编写显示界面这一块程序。由于每个汉字或字符在图中位置是固定的,只要定义了相应的选区及、Y地址,就可以显示出具体的位置。lr来表示汉字的区域,lr=0,表示左区lr=1,表示中区lr=2,表示右区。X表示页面,Y表示列地址。则(lr.X.Y)可以定义出这个字在屏上的实际位置。以第一行的“智”字为例,这个字位于模块的左区,则lr=0;它位于第一页和第二页,则X=0;它位于列地址的字节,Y=48,那么“智”就可以通过(0.0.48)精确地表示出它的位置里要注意的是每个汉字占用的行地址是两页,如“智”字占的就是X0X1即第二行的汉字其而不是1。因此,第二行的“电”就应该表示为(0.2.0)其它字符依此设计即可。2.3.2液显控驱器HD61202及其兼容液晶显示控制器是一种带有驱动输出的图形液晶显示控制器在小规模点阵液晶显示模块上使用液晶显示驱动器组成液晶显示驱动控制系统是非常有益的这将使液晶显示模块的硬件电路简单化从而降低模块的成本,同时也提高了对软件功能的要求。许多显示功能如光标、字符库、闪烁都需要由软件编制而成HD61203和HD61202就是这类液晶显示驱动控制器套件之所以称它们为套件是因为HD61203和HD61202须配套使用常有12864和19264两种规格。其特点如下:1内藏64*64=4096位显示RAM,RAM中每位数据对应CD屏上的一个点的亮暗状态。

论文2.HD61202及其兼容控制器是列驱动器,具有4路列驱动输出。3其兼容控制驱动器读写时序与68系列微处理妻相符因此它可直接与68系列微处理器借口相联。4.HD61202及其兼容控制器的占空比为1/32~1/642.3.3液显模的点MGLS-12864图形液晶显示模块的驱动和控制系统是由一片KS0107B或兼容驱动器(HD61203)作为行驱动器和两片或兼容驱动器(HD61203)作为列驱动器组成的。它的主要技术参数及其供电特点如下:电源:DC+5V,模块内自带用于LCD驱动的负压电路。显示内容:12864全屏幕点阵。指令形式:七种指令。接口形式:与控制器采用8位数据总线和位控制线相连。工作环境:-10~+50℃。模块应用有三种电源:逻辑电源、液晶驱动电压、背光电压。本次选用的模块是双电源供电(VDD/V0需要提供一个液晶驱动电压,用以调节对比度,接在液晶模块的V0引脚上,由于液晶的对比度会随着温度的变化而相应变化,所以其液晶显示驱动电压值应随着温度作相应的调整,这里采用了一个电位器,调整电压值。背光供电为3.8-4.1V的支流电源,选用电源太大不仅增加功耗,更有可能损坏背光灯和缩短模块的使用寿命。MGLS-12864液晶显示模块一共有20个引脚,它的接口定义如下:表MGLS-12864的接口路序号12345678

D7D6D5D4D3D2D1D0

符号

状态三态三态三态三态三态三态三态三态

功数据总线数据总线数据总线数据总线数据总线数据总线数据总线数据总线

论文9E10R/W

输入输入

R/W=“L的下降沿锁存数据线R/W=“H为“”时,数据由控制器输出至数据线R/W=“L“H”数据由控制器输出数据线R/W=“H的下降沿,数据由数据线输入到控制器11

D/I

输入

D/I=“L表示DB7~DB0为显示数据D/I=“H表示DB7~DB0为显示指令121314151617181920

V0VCCGNDCS1CS2VOUTRETLED+LED-

———输入输入—输入——

液晶显示器驱动电压电源正电源地片选信号片选信号LCD负压驱动电压复位信号显示模块背光电源显示模块背光电源2.4

硬件电路设经过对以上对芯片的端口存储器时钟电路以及复位电路和LCD液晶显示等原理的介绍后,现在就可以完成对这部分硬件电路的设计了。再结合前面的分析采用间接访问的方式实现单片机与液晶显示模块之间的连接。LCD模块的8位数据线接在了Atmega16L芯片口的8位数据线上这里用了一个为锁存器使它们间接连接在一起。EN、D/I、CS1、CS2、R/W分别连接到PA3~PA7上,其详细的接法见下图

论文图硬件接线图2.5PROTEL99的应用简介经过前面的努力能充电器硬件电路的设计在本人及同组人的共同努力下已经完成,接下来便是根据前面的设计用软件画出其原理图并生成PCB板。PROTEL99SE是一个全32位的电路板设计软件使用该软件可以容易地设计电路原理图、画元件图、设计电路板图、画元件封装图和电路仿真。在这里主要用它来绘制电路原理图和生成印制电路板理图的设计步骤如下:(1)(2)

设置原理图设计环境。其中,工作环境设置是使Design/Options和Tool和Preferences菜单进行的原理图环境的设置主要包括图纸大小、捕捉栅格、电气栅格、模板设置等。放置元件,将电气和电子元件放置在图纸上。

论文(3)(4)

原理图布线。元件一旦放置在原理图上,不需要用导线将元件连接起来,连接时一定要符合电气规则。编辑和调整。编辑元件的属性。包括元件名、参数、封装图等。调整元件和导线的位置等操作。本次设计所用的主要元件属性如下:表主要元表说明单片机LCD电阻电容锁存器

编号U1J2RCU5

封装DIP-40DIP-20AXIAL0.3RAD0.1DIP-20

元件名称Atmega16LCD模块RES2CAP74LS245NPN三极Q

TO46

2N2222A管晶体XXTAL-1XTAL通用运放U2ADIP8

LM358(5)(6)(7)

检查原理图用电气规则功能ERC)检查原理图的连接是否合理和正确。给出检查报告,若有错误则要根据错误进行改正。生成网络表。所谓网络表就是元件名、封装、参数及元件之间的连接表,通过该表可以确认各个元件和它们之间的关系。打印原理图。对电路板的设计主要分为以下几个步骤;(1)使用原理图编辑器设计原理图,进行电气检查ERC)并生成原理图的网络表。(2)进入电路板(PCB)环境用电路向导确定电路板的层数寸等电路板参数。(3)使用Design/Netlist菜单,调入网络表。由于在前面的元件封装不规范这里面出现了许多错误通过请教老师及自己的不懈努力,花了数天的时间才全部改了出来。(4)布置元件,就是将元件合理地分布在电路板上。自动布置元件或人工布置元件,多次布置直到自己满意为止。人工布线是画电路板的基础比较耗时和费力由于自身经验的不足,只得先采用自动布线,在此基础上作了适当的修改。

论文(5)完成修饰等工作,完成整个电路板的设计。接下来是焊接的工作这部分相对来说并不陌生在大二时曾进行过电子课程的实习主要就是完成收音机的焊接虽然以后接触得比较少但通过几天的练习,还是基本圆满地完成了任务。焊接通常要求:①焊点接触良好,尤其避免虚焊的产生②焊点要有足够的机械强度以保证被焊点不致滑落③焊点表面应美观,有光泽。这块板子面积不算(约90cm70cm),元器件引脚多,看起来很密集。从焊下来的结果来看,焊点还可以,也算比较美观,最关键的是没有短路的情况发生。焊接完成后,整个硬件电路原理、绘制原理路、焊接等工作已全部完成,下面转到软件部分的设计。第三章件设由于本人主要负责设计软件部分本人之前对语言这门课的学习不是非常的精通此在着手本章之前本人对C语言以及单片机与C语言编程方面的书籍做了认真仔细的回顾学习和再研究这样才对下面设计工作的开展打下了基础在本章里本人将先介绍语言开发的优势然后介绍LCD的显示原理、模块的软件特性等,接下来便是最主要的整个程序的设计。3.1用语言开发片机的优C语言是一种编译型的结构化程序设计语言,具有简单的语法结构和强大的处理功能,具有运行速度快、编译效率高,移植性好和可读性强等多种优点,可以实现对系统便件的直接操作用C语言来编写目标系统软件可以大大缩短开发周期,且明显地增加软件的可读性,便于改进和扩充,从而开发出大规模、高性能的应用系统。其优势如下:(1)(2)(3)

可以大幅度加快开发进度,程序量越大,用语言就越有优势。无需精通单片机指令集和具体的硬件能够编出符合硬件实际专业水平的程序。可以实现软件的结构化编程使得软件的逻辑结构变得清晰有条理便于开发小组计划任务、分工合作。源程序的可读性和可维护性都很好。17

论文(4)(5)

省去了人工分配单片机资源的工作汇编语言中要为每一个子程序分配单片机的资源在使用C语言后只要在代码中申明一下变量的类型编译器就会自动分配相关资源根本不需要人工干预从而有效地避免了人工分配单片机资源的差错。汇编语言的可移植性很差C语言只要将一些与硬件相关的代码作适当的修改,就可以方便地移植到其它种类的单片机上。(6)C语言提供auto、static、flash等存储类型,针对单片机的程序存储空间、数据存储空间及空间自动为变量合理地分配空间,而且语言提供复杂的数据类型,极大地增强了程序处理能力和灵活性C编译器能够自动实现中断服务程序的现场保护和恢复且提供常用的标准函数库,供用户使用。并且C编译器能自动生成一些硬件的初始化代码。(7)

对于一些复杂系统的开发以通过移植或C编译器提供)的实时操作系统来实现。正由于C语言在系统开发中的优势,这次设计的所有程序设计都将采用语言编写,且通过ICCAVR编译器操作AVR的硬件资源。3.2液晶示汉字或字的原理LCD本身不发光只是调节光的亮度目前市面上的LCD示器都是利用液晶的扭曲一向列效应制成这是一种电场效应夹在两片导电玻璃电极间的液晶经过一定处理它内部的分子呈直角扭曲当线性偏振光透过其偏振面便会旋转一个直角。当在玻璃电极上加上电压后,在电场作用下,液晶的扭曲结构消失,偏振光便可以直接通过当去掉电场后液晶分子又恢复取扭曲结构把这样的液晶置于两个偏振片之间变偏振片相对位置就可以得到白底黑子或黑底白字的显示形式。结合以上知识具体显示原理如下:(1)线段的显示点阵图形式液晶由M*N个显示单元组成假设LCD显示屏有64行每行有128列,列对应1字节的8位,即每行16字节,16*8=128个点组成,屏64*16个显示单元与显示RAM区1024字节相对应,每一字节的内容和显示屏上相应位置的亮暗对应。例如屏的第一行的亮暗RAM区的00H~00FH的16字节的内容决定,当(000)=FFH时,如屏的左上角显示一条短亮线,长度为8个点;(3FFH)=FFH时显示屏的右下角显示一条短亮线000H)=FFH,

论文(003H)=00H,…(00EH)=FFH,(00FH)=00H,则在屏的顶部显示一条8段亮线和8段暗线组成的虚线。这就是LCD显示的基本原理。(2)字符的显示用LCD显示一个字符时比较复杂,因为一个字符6*8或8*8阵组成,既要找到和显示屏上某几个位置对应的显示RAM区的字节要使每字节的不同的位为“1它的为“01”的点亮,为0”的不亮,这样一来就组成某个字符但对于内带字符发生器的控制器(如HD61202)来说显示字符就比较简单了,可让控制器工作在文本方式,根据LCD开始显示的行列号及每行的列数找出显示RAM对应的地址,设立光标,在此送上该字符对应的代码即可。(3)汉字的显示汉字的显示一般采用图形方式,事先从微机中提取要显示的汉字的点阵码,每个汉字占32B,分左右两半部,各16B,左边为、5…右边为、4…根据在LCD上开始显示的行列号及每行的列数可找到显示对应的地址,设立光标,送上要显示的汉字的一字节,光标位置1,送第二字节,按行按列对齐,送第三字节……直到32B显示完就可在LCD上得到一个完整的汉字。3.3系统程流程图为了方便程序的设计使自己在设计过程中做到思路清晰设计起来游刃有余这里首先画出了程序流程图后面根据次流程图具体设计程序现具体分析如下:(一)主程序流程图这次设计课题的主要内容是在充电器的充电过程中,采集参数,进行电压、电流、温度的实时显示。其主流程图设计如下:

论文开始初始化采集电池电压

等待N

无电池>0Y有电池扫描按键N有键按下?Y(1)

按键调节采样V、A、T显示V、A、TN图

充满?Y结束主程序程图(二)控制程序流程图

论文要想在液晶模块上显示一个字符或汉字先必须得对控制字进行写指令代码写显示数据和读显示数据3项操作完成这3项工作都必须保证控制器处于不忙的情况下,这就必须有一个判忙子程序,其流程图如下:开始读左边控制器的状态字Y驱动器忙?N送状态字返回图判忙程序流程第四章统调4.1系统试软件介绍完成对系统的硬软件设计后就可以对系统进行调试了本次设计本人采用了ICCAVR编译器作为系统的开发工具,进行程序的烧录和仿真。4.1.1ICCAVR编译器介(一)ICCAVR是ImageCraft公司针对AVR片机而开发的一个C语言编译,它具有以下几个特点:1.支持不带SRAM的单片机器件。2.带嵌入式的应用程序编译器。21

论文3.带全局优化器。4.支持在线编程(STK200/300)。5.ICCAVR是一个运行于Windows9X/NT的集成开发环境ODE),它包括单片机软件开发所需要的编辑器、工程管理器和编译器。6.ICC采用了工程的组织形式。程序的所有源文件全部以工程的一个要素保存在工程中并且程序的编辑和编译也都在这个环境中进行工程管理器最后还能生成格式的烧录文件和COFF格式的仿真文件。(二)ICCAVR支持的数据类型数据类型就是数据的不同表示形式们按照被描叙数据的性质及其所占存储空间的大小来划分ICCAVR的C编译器可以支持4种数据类型它们分别是:基本数据类型、构造类型、指针类型和空类型。1.基本数据类型基本数据类型包括字符型(UnsignCharSignedChar)(UnsignedInt和SignedInt)、长整型(UnsignedLong和Signed、浮点型(Float)双精度型(Double数据类型不只有再分性它不可以再分解为其他的数据类型。2.构造数据类型构造数据类塑包括数组型(Array)构体类型Smuct)用体类型Union)和枚举类刑(Enum)构造数据类型由若干个基本数据类型采用构造的方法成因此,每个构造数据类烈都可以分解成若干个基本数招类型。3.指针类型指针是一种用来专门存放所指对象地址的变量,它指向计算机内的一个内存单元针的处理具有较高灵活性用它可以有效地表示复杂的数据结构,有效地使用内存空间方便地处理数组因此它是语言中一种非常重要的数据类型。4.空类型空类型也就是类型。在调用函数时,函数通常都会返同一个函数值。这个返回的函数值的数据类型可以在函数定义和函数说明中由用户指定有一些函数它只进行一定的处理在调用后并不需要返回某个函数值那么这种函数可以定义为“空类型当一个计算的几个运算分量的数据类型不相同.要根据一些规则把它们转

论文换成某个共同的数据类型这种转换可自动进行也可以人工强制转换通常来说,编译器会把“窄”的数据类型自动转换成“宽”数据类型,以保证计算信息不被丢失。4.1.2ICCAVR的要置点击菜单中“Tools”栏中的ApplicationBuilder”命令,打开应用构筑向导对话框,其框图如4-1所示。框图主要有以下页面:⑴CPU选项:可对芯片的种类、频率、是否使用看门狗以及是否使用INT0和INT1等进行选择。在这里选择M16芯片,频率,使用看门狗。⑵PORTS选项:可以设计的属性,其关系如下:表Ports选项中号与口实际定Direction:“1”Value:“1”

Direction:“1”

Direction:“1”

Direction:”Value:“1”

Value:“1”Value:“1”PORTA0xffDDRA0x00

0x000x00

0xff0xff

0x000xffPorts的设定在具体调试过程中设定。Memory选项:可以设定是否扩展,是否插入等待周期等内存信息。这里选中“Enableexternalmemory”和“Waitstates”的复选框。Timer0选项可以设定是否使用是否打开Timer0溢出中断以及设定Timer0的周期。在这里选中“timer0”和“interrupt”的复选框。在“DesiredUnits”中设定100ms“Rescale”为1024选项:同Timer0相同,还可设定比较寄存器以及输入捕获等功能。在这里暂不作任何设定。4.2调试程为了巩固前面所学的知识培养对AVR片机学习的兴趣同时也为了学会

论文并熟练掌握ICCAVR编译器的应用,为最后的联机调试打下基础。在这里设计了一些最简单的单片机系统实例进行调试,其核心部件采用芯片。一个最简单的单片机系统的开发也需要电路设计片机器件选择和程序编写3个步骤对于单片机系统最简单的功能无非是控制输出电平的高低单片机的最简单系统是指单片机能正常工作所必须的外围元件主要由单片机晶振电路和复位电路组成。同传统的单片机系统一样Atmega16L的晶振电路也分为外部时钟模式和内部时钟模式两种,其内部时钟电路如下图:MPUC1XTAL2XTAL1C2GND

图振电路鉴于Atmega16L的主频范围为0-8MHz,这里选用的是晶振为7.3728MHz。复位电路采用了上电复位电路,其电路图如下:VCC

MPU

R22Uf+

RESET图

复位电注意这一点和有51列的单片机是不同的的RST是低电平复位,而8051系列单片机是高电平才发生复位,换句话说,这两种单片机复位电路的

论文设计完全相反。了解了以上两部分电路,再配合接口中,就可以进行电路的设计了。本来这次是准备在面包板上完成实验的,但后来觉得引脚插在面包板里面,松紧不一且面包板是一个长条形如果做到后面的实现随着线的增多空间跨度太大,影响视觉,某根线一旦出了问题也不易检查,综合各方面考虑,最后选用了一次性万用板来进行这和印制电路板差不多是通过焊接焊上去的这既美观,出了问题也方便查找并解决。编写好的程序通过并行通信下裁AVR-ISP到板子里面,其下裁电缆的电源由目标板提供,其管脚如下:图4-3目标板管脚使用广东双龙电子提供的下载程序软件数据线将下载插座同电脑相连。就可以进行程序的调试了。其中下载软件界面如5-4所示。将“通信参数设计及器件选择”栏中的“AT89C52”改为“”。当下载软件的(1)区域出“擦除完成编程开始字样时表示它已和的ISP插座连接好,可以进行程序下载的操作了。否则,将显示“程序编程连接失败”的字样。在第一次进行操作时,也出现了连接失败的信号。软件是最新下载的,通过万用表检查,软件周围的接线都没有问题,显然不是自身的问题。再经仔细检查,原来是芯片的5V电源掉线了。单片机不能运作,当然没法进行程序的下载了。虽然这一过程花了不少时间,吃一堑,长一智,从这也看出了进行电子创作的严谨性不通过细心的观察冷静的分析是不可能完成的。前面说到测试单片机的最简单系统最简单的就是控制输出电平的高低这里采用发光二极管作为它的输出器件二极管的亮或灭表示自己设计的单片机系统

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论