收藏 分销(赏)

51单片机智能蓄电池充放电控制器.docx

上传人:胜**** 文档编号:949917 上传时间:2024-04-08 格式:DOCX 页数:91 大小:469.09KB
下载 相关 举报
51单片机智能蓄电池充放电控制器.docx_第1页
第1页 / 共91页
51单片机智能蓄电池充放电控制器.docx_第2页
第2页 / 共91页
51单片机智能蓄电池充放电控制器.docx_第3页
第3页 / 共91页
51单片机智能蓄电池充放电控制器.docx_第4页
第4页 / 共91页
51单片机智能蓄电池充放电控制器.docx_第5页
第5页 / 共91页
点击查看更多>>
资源描述

1、智能蓄电池充电控制器的设计 摘 要电子技术的快速发展使得各种各样的电子产品都朝着便携式和小型轻量化的方向发展,也使得更多的电气化产品采用基于电池的供电系统。目前,较多使用的电池有镍镉、镍氢、铅蓄电池和锂电池。它们的各自特点决定了它们将在相当长的时期内共存发展。由于不同类型电池的充电特性不同,通常对不同类型,甚至不同电压、容量等级的电池使用不同的充电器,但这在实际使用中有诸多不便。 本文在综合考虑电池安全充电的成本、设计效率及重要性的基础上,利用 AT89C52微控制器实现锂离子电池充电器的原理和方法。AT89C52系列单片机由于其超低功耗,性能强大,稳定性好等多方面优点成为本次设计的首选芯片。

2、本文撰写的主导思想是软、硬件相结合,以硬件为基础,来进行各功能模块的编写。第一部分中介绍了本课题的课题背景、研究意义及预期研究目标。第二部分简单描述了系统硬件工作原理,且附以系统硬件设计框图,并介绍了单片机微处理器的发展史,论述了本毕业设计所用到的各硬件接口技术和各个接口模块的功能及工作过程。第三部分阐述了程序的流程和实现过程。最后对用单片机实现LCD液晶显示器控制原理的设计思想和软、硬件调试作了详细的论述。该智能充电器具有检测电池的状态;自动切换充电模式以满足充电电池的充电需要;充电状态显示的功能。在生活中更好的维护了充电电池,延长了它的使用寿命。关键词:AT89C52 LCD A/D转换

3、智能控制 硬件构成 ABSTRACT Electronic technologys fast development causes various electronic products develops toward portable and the small lightweight direction, It also causes the more electrification products to use based on batterys power supply system. At present, the many uses batteries have the nick

4、el cadmium, the nickel hydrogen, the lead accumulator and the lithium battery. Their respective characteristic had decided they will coexist in a long time develop. Because the different type batterys charge characteristic is different, usually to different type, even different voltage, capacity ran

5、k battery use different battery charger, but this has many inconveniences in the actual use. In this paper, taking into account the cost of charging the battery safety, efficiency and the importance of design, based on the AT89C52 microcontroller using Li-Ion battery charger to achieve the principle

6、s and methods. AT89C52 family of single chip because of its ultra-low power consumption, powerful performance, the advantages of good stability and so become the first choice for the design of the chip. The main idea of this paper is the software and hardware combination, regarding hardware as the f

7、oundation, for the writing preparation of the functional modules. In the first part, the subject background, research meaning and expected research objectives were introduced. In the second part, the working principle of the system hardware was simply described and the system block diagram of hardwa

8、re design was attached. The history of the development of single chip microprocessor was introduced and the hardware interface technology and the function and work process of each interface module used in the graduation paper were also discussed. In the third part, the process and realization of the

9、 program were elaborated. Finally, the design ideas of the MCU control principle realized by single chip LCD and software or hardware debugging are discussed in detail. The intelligence battery charger has the examination batterys condition; The automatic cut over charge pattern meets when rechargea

10、ble batterys charge needs; The charge condition demonstrations function. The battery charger has made the better maintenance rechargeable battery in the life,and lengthened the rechargeable batterys service life.Keywords: AT89C52 LCD A/D convert Intelligent charger Hardware structure 目 录摘 要ABSTRACT第

11、1章 概述11.1绪论11.1.1 课题背景11.1.2 设计任务要求21.1.3 设计思路与方案21.1.4 拟达到的要求或技术指标:31.1.5 设计的优点与不足4第2章 硬件电路设计52.1所用单片机AT89S5252.1.1 AT89C52的简介52.1.2 AT89C52的引脚分配82.2模数转换器82.2.1 ADC0809的内部逻辑结构82.2.2 ADC0809引脚结构92.2.3 ADC0809应用说明112.3 LCD液晶显示112.3.1 LCD的简介112.3.2 液晶显示模块两种访问方式接口电路的选择142.4 电源电路的设计16第3章 软件设计173.1 用C语言开

12、发单片机的优势173.2 系统程序流程图183.2.1 主程序流程图183.2.2 程序设计18第4章 系统调试264.1 系统调试软件介绍264.2 仿真调试步骤26第5章 测试29总结30致谢31参考文献32附录1 硬件电路原理图33附录2 仿真电路图34附录3 PCB电路图35第1章 概述1.1绪论1.1.1 课题背景如今,随着越来越多的手持式电器的出现,对高性能、小尺寸、重量轻的电池充电器的需求也越来越大。电池技术的持续进步也要求更复杂的充电算法以实现快速、安全的充电。因此需要对充电过程进行更精确的监控,以缩短充电时间、达到最大的电池容量,并防止电池损坏。与此同时,对充电电池的性能和工

13、作寿命的要求也不断地提高。从20世纪60年代的商用镍镉和密封铅酸电池到近几年的镍氢和锂离子技术,可充电电池容量和性能得到了飞速的发展。目前各种电器使用的充电电池主要有镍镉电池(NiCd)、镍氢电池(NiMH)、锂电池(Li-Ion)和密封铅酸电池(SLA)四种类型。电池充电是通过逆向化学反应将能量存储到化学系统里实现的。由于使用的化学物质的不同,电池有自己的特性。设计充电器时要仔细了解这些特性以防止过度充电而损坏电。目前,市场上卖得最多的是旅行充电器,但是严格从充电电路上分析,只有很少部分充电器才能真正意义上被称为智能充电器,随着越来越多的手持式电器的出现,对高性能、小尺寸、轻重量的电池充电器

14、的需求也越来越大。电池技术的持续进步也要求更复杂的充电算法以实现快速、安全地充电,因此,需要对充电过程进行更精确地监控(例如对充、放电电流、充电电压、温度等的监控),以缩短充电时间,达到最大的电池容量,并防止电池损坏。因此,智能型充电电路通常包括了恒流恒压控制环路、电池电压监测电路、电池温度检测电路、外部显示电路(LED或LCD显示)等基本单元。其框图如下:外部电源电源转换装置电压控制电流控制温度控制时间控制智能单元显示控制电池图 1 常用智能型充电电路机构框图1.1.2 设计任务要求根据铅酸蓄电池的特点设计一个智能蓄电池充电控制器,能检测蓄电池的电压电量状况、温度状况;采取相应的充电措施、充

15、分保护蓄电池。(1)确定系统的设计方案;(2)设计相应的硬件电路;(3)设计相应的软;(4)完成系统软、硬件调试;1.1.3 设计思路与方案1.思路:本次主要是要设计出一个能自行检测出蓄电池的电量状态并判断出蓄电池是否需要充电,并且控制电路对蓄电池进行充放电控制的智能控制器,并且用液晶显示出来。我们可以利用了单片机对数据的处理功能和继电器对电路控制的功能,通过两者相互辅助达到智能化判断和实现控制的功能。至于显示部分我们可以用LCD连接单片机进行显示。2.方案:首先将继电器接在蓄电池和充电电路的中间。待蓄电池接入充电电路当中,对蓄电池进行电压和温度信号采集。然后把信号传输到单片机中,通过预先的C

16、语言编程控制单片机对信号进行智能分析一方面单片机把电压和温度信号传到液晶显示器中显示出来。另一方面单片机在分析处理好电压信号之后发送给继电器一个充放电指令来控制充电电路的开断,当单片机判断出蓄电池需要充电时继电器将闭合使蓄电池接入充电电路进行充电,当单片机判断电池已经充满时继电器将断开充电电路结束充电达到对蓄电池的保护从而最终实现智能充放电控制的目的。为使使用者更易判断出蓄电池充电状态,我在有液晶显示的基础上再加上了黄绿灯指示灯来更好的提醒使用者控制器的状态。电压控制温度监测蓄电池电压监测外部电路电源转换装置智能控制模块LCD显示继电器指示灯显示3. 结构框图:4.图2 智能控制器基本结构框图

17、1.1.4 拟达到的要求或技术指标:1)当蓄电池接入控制器时控制器能够检测出蓄电池的电量状态并通过单片机来判别蓄电池是否需要充电: 当检测到蓄电池电压低于12V时,单片机发送指令给继电器,继电器接通电路对蓄电池进行充电。 当蓄电池电压超过12V时,控制器将自动停止充电。2)能够通过显示出蓄电池的电量与控制器当前所处的状态 当蓄电池在充电时,黄灯会亮起,LCD将显示出当前蓄电池的电量和当前蓄电池的温度。 当蓄电池充满时,电量显示为“FULL”,此时绿灯亮,表示蓄电池充电已满,提醒用户可取下蓄电池。1.1.5 设计的优点与不足(1)优点v 实时检测功能:在传统充电器的基础上加上了单片机控制模块能够

18、实时的监测控制器状态 ;v 智能控制:结合了单片机与继电器的智能控制功能,能自主地控制充电器充电,从而保证蓄电池电量充足;v 蓄电池保护:当蓄电池充满时能够主动断开充电防止过充伤害电池,从而达到保护蓄电池的功能;v 液晶显示:增加了液晶显示功能,能更直观地显示出蓄电池的电量与温度;v 热心提示:辅助的充放电指示灯,更有效地提醒用户蓄电池已经充满可以使用;(2)不足v 充电模式单一:只能进行快速充电,不能根据用户需要转换成其他模式;v 保护模式单一:只能在蓄电池充满时才会断开保护蓄电池,期间如果出现异常。例如:蓄电池短路,蓄电池过热等可能损害蓄电池安全的状况,控制器不能达到及时断电保护蓄电池安全

19、;v 显示方面还有很大改进:暂时不能计算出充电所需时间;v 稳定性差:暂时只是实验阶段,偶尔会出现异常。第2章 硬件电路设计在整个控制当中单片机的地位至关重要,它是控制器的大脑,决定着控制器是否能够实现智能化。其次模数转换器也必不可少。对于需要液晶显示的控制器来说LCD也是必不可少的。当然最终实现所有功能,提供电压的电源电路也不可忽视。所以在这章将主要对这几大块进行说明。2.1所用单片机AT89S52 单片机AT89S52,它是美国ATMEL公司生产的低电压,高性能COMS 8位单片机,片内含4KB的可反复擦写的只读程序存储器(PEROM)和128B的随机存取数据存储器(RAM),同时片内置通

20、用8位中央处理器(CPU)和FLASH存储单元,全面兼容标准的MCS-51指令系统,可适用于众多的控制领域.2.1.1 AT89C52的简介AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器。AT89C系列单片机为很多嵌入式控制系统提供

21、了一种灵活性高且价廉的方案。(1)主要特性:与MCS-51 兼容 4K字节可编程闪烁存储器 寿命:1000写/擦循环数据保留时间:10年全静态工作:0Hz-24Hz三级程序存储器锁定128*8位内部RAM32可编程I/O线两个16位定时器/计数器5个中断源 可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路(2)管脚说明:VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIAS

22、H进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行

23、存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口:也可作为AT89C51的一些特殊功能口,如下表1所示:表1 P3口功能口管脚备选功能P3.0/RXD(串行输入口)P3.1/ TXD(串行输出口)P3.2/INT0(外部

24、中断0)P3.3/INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6/WR(外部数据存储器写选通)P3.7/RD(外部数据存储器读选通)P3口:同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储

25、器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次PSEN有效。但在访问外部数据存储器时,这两次有效的PSEN信号将不出现。EA/VPP:当EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,EA将内部锁定为RESET;当EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于

26、施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。(3)振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。(4)芯片擦除:整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重

27、复编程以前,该操作必须被执行。此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。2.1.2 AT89C52的引脚分配这里只说明一下重要的引脚接口,其他基本系统模块省略。P00-P07:液晶显示;P10-P17:模数数据通讯;P23:电池充满指示灯控制;P27:电池充电指示灯控制;P25:蓄电池电压信号通讯;2.2模数转换器ADC0809是带有8位A/D转换器、8路多路开关以及微处

28、理机兼容的控制逻辑的CMOS组件。它是逐次逼近式A/D转换器,可以和单片机直接接口。 2.2.1 ADC0809的内部逻辑结构 由下图可知,ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。八路模拟量开关地址锁存与译码器八路AD转换器三态输出锁存器IN0IN1IN2IN3IN4IN5IN6IN7D0D1D2D3D4D5D6D7DOCCLKSTvref(+)vref(-)

29、OEABCALE图3 ADC0809结构图2.2.2 ADC0809引脚结构 ADC0809各脚功能如下:D7-D0:8位数字量输出引脚。IN0-IN7:8位模拟量输入引脚。VCC:+5V工作电压。GND:地。REF(+):参考电压正端。REF(-):参考电压负端。START:A/D转换启动信号输入端。ALE:地址锁存允许信号输入端。(以上两种信号用于启动A/D转换).EOC:转换结束信号输出引脚,开始转换时为低电平,当转换结束时为高电平OE:输出允许控制端,用以打开三态数据输出锁存器。CLK:时钟信号输入端(一般为500KHz)。A、B、C:地址输入线。IN3 IN2IN4 IN1IN5 I

30、N0IN6 AIN7 BST CEOC ALED3 D7OE D6LCK D5VCC D4VREF+ D0GND VREF+D1 D2引脚1234567891011121314引脚2827262524232221201918171615图4 ADC0809引脚图ADC0809对输入模拟量要求:信号单极性,电压范围是012V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。 地址输入和控制线:4条 ALE为地址锁存允许输入线,高电平有效。当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中

31、的通道的模拟量进入转换器进行转换。A,B和C为地址输入线,用于选通IN0IN7上的一路模拟量输入。通道选择表如下表所示。表2 通道选择表CBA选择的通道000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN7数字量输出及控制线:11条 ST为转换启动信号。当ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。EOC为转换结束信号。当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。OE1,输出转换得到的数据;OE0,输出数据线呈高阻

32、状态。D7D0为数字量输出线。 CLK为时钟输入信号线。因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ, VREF(),VREF()为参考电压输入。2.2.3 ADC0809应用说明(1)ADC0809内部带有输出锁存器,可以与AT89S52单片机直接相连。 (2)初始化时,使ST和OE信号全为低电平。 (3)送要转换的哪一通道的地址到A,B,C端口上。 (4)在ST端给出一个至少有100ns宽的正脉冲信号。 (5)是否转换完毕,我们根据EOC信号来判断。 (6)当EOC变为高电平时,这时给OE为高电平,转换的数据就输出给单片机了。 2.3 LCD液

33、晶显示 2.3.1 LCD的简介1.管脚功能1602采用标准的16脚接口,其中:第1脚:VSS为电源地 第2脚:VDD接5V电源正极 第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会 产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。 第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。 第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。 第6脚:E(或EN)端为使能(enable)端。 第714脚:D0D7为8位双向数据端。 第1516脚:空脚或背灯电源。15脚背光正极,16脚背光

34、负极。2.1602LCD的特性n+5V电压,对比度可调n内含复位电路 n提供各种控制命令,如:清屏、字符闪烁、光标闪烁、显示移位等多种功能n有80字节显示数据存储器DDRAM n内建有192个5X7点阵的字型的字符发生器CGROMn8个可由用户自定义的5X7的字符发生器CGRAM 3.1602LCD特征及应用范围微功耗、体积小、显示内容丰富、超薄轻巧,常用在袖珍式仪表和低功耗应用系统中。4.字符集1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文

35、字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。因为1602识别的是ASCII码,试验可以用ASCII码直接赋值,在单片机编程中还可以用字符型常量或变量赋值,如A。读的时候,先读左边那列,再读上面那行,如:感叹号!的ASCII为0x21,字母B的ASCII为0x42(前面加0x表示十六进制)。5.指令集1602通过D0D7的8位数据端传输数据和指令。显示模式设置:(初始化)0011 0000 0x38 设置162显示,57点阵,8位数据接口;显示开关及光标设置: (初始化)0000 1DCB D显示(1有效)、C光标显示(

36、1有效)、B光标闪烁(1有效)0000 01NS N=1(读或写一个字符后地址指针加1 &光标加1)N=0(读或写一个字符后地址指针减1 &光标减1),S=1 且 N=1 (当写一个字符后,整屏显示左移)s=0 当写一个字符后,整屏显示不移动数据指针设置:数据首地址为80H,所以数据地址为80H+地址码(0-27H,40-67H)其他设置:01H(显示清屏,数据指针=0,所有显示=0);02H(显示回车,数据指针=0)。6. 显示地址显示地址1234567891011121314151600H01H02H03H04H05H06H07H08H09H0AH0BH0CH0DH0EH0FH40H41H

37、42H43H44H45H46H47H48H49H4AH4BH4CH4DH4EH4FH2.3.2 液晶显示模块两种访问方式接口电路的选择单片机与液晶显示模块之间的连接方式分为直接访问方式和为间接控制方式两种。如图2.7和图2.8所示,其中左为单片机,右为液晶显示模块。 (一) 直接访问方式 数据总线PD0PD1PD2PD3PD4PD5PD6PD7RDWEP2.3P2.2P2.1P2.0DB0DB1DB2DB3DB4DB5DB6DB7GNDVCCV0E/CSA/CSBR/WD/I10K GND +5V 电位器 负电源 1 3 74LS00 MPU LCM接口图5 直接访问方式电路图直接访问方式就是

38、将液晶显示模块的接口作为存储器或I/O设备直接挂在单片机总线上,单片机以访问存储器或I/O设备的方式操作液晶显示模块的工作。直接访问方式的接口电路如图2-7所示,在图中,单片机通过高位地址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

39、P3.0DB7DB6DB5DB4DB3DB2DB1DB0/CSA/CSBER/WD/IVCCV0GND电位器+5V 负电源 GND MPU LCM接口图6 间接访问方式电路图间接控制方式是单片机通过自身的或系统中的并行接口与液晶显示模块连接。单片机通过对这些接口的操作,以达到对液晶显示模块的控制。这种方式的特点就是电路简单,控制时序由软件实现,可以实现高速单片机与液晶显示模块的接口。电路图如图2.8所示。在图中以 P1口作为数据口,P3.4为CSA,P3.3为CSB,P3.2为使能端,P3.1为R/W和P3.0为D/I信号。电位器用于显示对比度的调节。通过比较再结合本次设计的实际条件,由于At

40、mega16L芯片没有WR、RD管脚,而且为了使电路简单且方便软件实现,所以最终决定采用间接控制的方式来设计LCD显示电路。2.4 电源电路的设计在本次的设计中,要供电给AT89C52和LCD显示模块两部分,而一个LM7805的输出电流不足,所以本人打算将AT89C52和显示模块分别供电,所以实际电路中用到了两片7805。下面就一个电源电路给出设计方案,另一个同样原理。12V电源电路的设计图7 12V的电源电路设计原理图上图是LM7805作为输出电压固定的典型电路图,正常工作时,输入、输出电压差为3-8V。输入电压PS为15V。电路中接入电容C5用来实现频率补偿,防止稳压器产生高频自激振荡和抑

41、止电路引入的干扰,C11是有极性的电解电容,以减小稳压电压输出端由输入电源引入的电平干扰。D1是保护二极管,当输入端短路时,给输出电容器C11一个放电电路,防止C11两端电压作用于调压管的be结,造成调压管be结击穿而损坏。其中C5、C11两个电容只是起滤波作用选用的大小没有特别的要求。第3章 软件设计软件设计当中最重要的是对单片机进行编程。在设计过程中我使用了C语言。在本章里,本人将先介绍C语言开发的优势,然后便是最主要的整个程序设计的流程图和吧编写的程序。3.1 用C语言开发单片机的优势C语言是一种编译型的结构化程序设计语言,具有简单的语法结构和强大的处理功能,具有运行速度快、编译效率高,

42、移植性好和可读性强等多种优点,可以实现对系统便件的直接操作。用C语言来编写目标系统软件,可以大大缩短开发周期,且明显地增加软件的可读性,便于改进和扩充,从而开发出大规模、高性能的应用系统。其优势如下:(1)可以大幅度加快开发进度,程序量越大,用C语言就越有优势。(2)无需精通单片机指令集和具体的硬件,也能够编出符合硬件实际专业水平的程序。(3)可以实现软件的结构化编程,使得软件的逻辑结构变得清晰、有条理、便于开发小组计划任务、分工合作。源程序的可读性和可维护性都很好。(4)省去了人工分配单片机资源的工作,在汇编语言中要为每一个子程序分配单片机的资源。在使用C语言后,只要在代码中申明一下变量的类

43、型,编译器就会自动分配相关资源,根本不需要人工干预,从而有效地避免了人工分配单片机资源的差错。(5)汇编语言的可移植性很差,而C语言只要将一些与硬件相关的代码作适当的修改,就可以方便地移植到其它种类的单片机上。(6)C语言提供auto、static、flash等存储类型,针对单片机的程序存储空间、数据存储空间及EEPROM空间自动为变量合理地分配空间,而且C语言提供复杂的数据类型,极大地增强了程序处理能力和灵活性。C编译器能够自动实现中断服务程序的现场保护和恢复,并且提供常用的标准函数库,供用户使用。并且C编译器能自动生成一些硬件的初始化代码。(7)对于一些复杂系统的开发,可以通过移植(或C编译器提供)的实时操作系统来实现。正由于C语言在系统开发中的优势,这次设计的所有程序设计都将采用C语言编写。3.2 系统程序流程图3.2.1 主程序流程图这次设计课题的主要内容是在充电器的充电控制过程中,采集参数,进行电压、温度的实时显示,并且控制蓄电池的充放电。其主流程图设计如下:开始初始化电压、温度显示

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服