基于单片机毕业设计(论文)开题报告

徐州工程学院

毕业设计(论文)开题报告

    课 题 名 称:     基于单片机的住宅小区煤气  

                            泄露实时报警器设计      

学 生 姓 名:     学号:

指 导 教 师:     职称:           

所 在 学 院:                    

专 业 名 称:            

徐州工程学院

20 年   月 3日

      

1.根据《徐州工程学院毕业设计(论文)管理规定》,学生必须撰写《毕业设计(论文)开题报告》,由指导教师签署意见、教研室审查,学院教学院长批准后实施。

2.开题报告是毕业设计(论文)答辩委员会对学生答辩资格审查的依据材料之一。学生应当在毕业设计(论文)工作前期内完成,开题报告不合格者不得参加答辩。

3.毕业设计开题报告各项内容要实事求是,逐条认真填写。其中的文字表达要明确、严谨,语言通顺,外来语要同时用原文和中文表达。第一次出现缩写词,须注出全称。

4.本报告中,由学生本人撰写的对课题和研究工作的分析及描述,没有经过整理归纳,缺乏个人见解仅仅从网上下载材料拼凑而成的开题报告按不合格论。

5. 课题类型填:工程设计类;理论研究类;应用(实验)研究类;软件设计类;其它。

6、课题来源填:教师科研;社会生产实践;教学;其它

 

第二篇:基于单片机的多用太阳能手机充电器毕业设计论文(含ppt、开题报告、

    本文由小夜影贡献

    doc文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。

    目 录

    1 绪论…………………………………………………………………………………1 1.1 本课题的研究背景…………………………………………………………1 1.2 硅太阳能电池及参数………………………………………………………1 1.3 本课题研究的主要内容……………………………………………………1 2 太阳能手机充电器硬件设计……………………………………………………2 2.1 系统总体设计方案…………………………………………………………2 2.2 太阳能电池板的选用……………………………………………………3 2.3 LM7805 应用………………………………………………………………3 2.4 单片机电路…………………………………………………………………4 2.5 按键指示电路及实现……………………………………………………4 2.6 数码管显示电路…………………………………………………………5 2.7 BUCK 斩波电路……………………………………………………………6 2.8 电压电流的 A/D 采集……………………………………………………7 2.9 MAX471 介绍及工作原理…………………………………………………9 3 汇编源程序的设计实现…………………………………………………………10 3.1 系统整体程序框架………………………………………………………10 3.2 电路启动初始化…………………………………………………………10 3.3 按键采集程序……………………………………………………………11 3.4 数码管显示子程序………………………………………………………12 3.5 数据采集及模数转换程序………………………………………………13 3.6 充电子程序的设计………………………………………………………14 3.7 电源子程序的设计………………………………………………………15 结束语………………………………………………………………………………16 致谢…………………………………………………………………………………16 参考文献……………………………………………………………………………17 附录 1 主电路原理图………………………………………………………………18 附录 2 汇编源程序…………………………………………………………………19

    1

    摘 要

    化石能源的日益枯竭、人们对环境保护问题的重视程度也在不断提高,寻找 洁净的替代能源问题变得越来越迫切。 太阳能作为一种可再生能源它具有取之不 尽、用之不竭和清洁安全等特点,因此有着广阔的应用前景,光伏发电技术也越 来越受到人们的关注,随着光伏组件价格的不断降低和光伏技术的发展,太阳能 光伏发电系统将逐渐由现在的补充能源向替代能源过渡。 使用手机的人都有过这样的经历,外出或旅游时电池突然没电了,因不能及 时找到或没有 220V 市电而无法给手机充电,影响了手机的正常使用。为了解决 这一问题,本课程设计介绍一种多用太阳能手机充电器,利用单片机控制,将太 阳能经过电路变换为稳定直流电给手机充电, 并能在电池充电完成后自动停止充 电,还可作为一般直流电源使用,从而摆脱对市电的依赖而获得通信的自由。与 常规的充电器相比,太阳能充电器有着明显的优势。 关键词: 关键词:太阳能,电池,单片机,智能,BUCK 变换器

    2

    Multi-purpose solar mobile charger

    Abstract Increasing depletion of fossil energy, it's emphasis on environmental protection are also rising, look for clean alternative energy issues become more urgent. Solar energy as a renewable energy it has an inexhaustible and clean and safe and so on, so have a broad application prospects, photovoltaic power generation technology is more and more attention, with the PV module continue to lower prices and photovoltaic technology, solar PV systems will gradually supplement the energy from the current transition to alternative energy. People who use mobile phones have had the ex

page 1

perience, go out or travel no electricity when the battery suddenly, and because they can not be found or does not timely 220V electricity and not to charge their cell phones affect the normal use of mobile phones. To solve this problem, the course design introduces a multi-purpose solar charger, use MCU control, will transform solar energy through the circuit to stabilize the direct current to charge their cell phones and can charge the battery automatically stops charging after, but also as a general DC power use, so get rid of dependence on electricity obtained the freedom of communication. Compared with the conventional charger, solar charger has a clear advantage. Key words: solar energy, battery, single chip, intelligent, BUCK converter

    3

    1 绪论

    1.1 本课题的研究背景 当电力、煤炭、石油等不可再生能源频频告急,能源问题日益成为制 约国际社会经济发展的瓶颈时,越来越多的国家开始实行“阳光计划”, 开发太阳能资源,寻求经济发展的新动力。 太阳能电池是利用太阳光和材料相互作用直接产生电能,不需要消耗 燃料和水等物质,使用中不释放包括二氧化碳在内的任何气体,是对环境 无污染的可再生能源。这对改善生态环境、缓解温室气体的有害 hk 作用具 有重大意义。 目前,太阳能电池的应用已从军事领域、航天领域进入工业、商业、 农业、通信、家用电器以及公用设施等部门,尤其可以分散地在边远地区、 高山、沙漠、海岛和农村使用,以节省造价很贵的输电线路。但是,从长 远来看,随着太阳能电池制造技术的改进以及新的光—电转换装置的发明, 各国对环境的保护和对再生清洁能源的巨大需求,太阳能电池仍将是利用 太阳辐射能比较切实可行的方法,可为人类未来大规模地利用太阳能开辟 广阔的前景。 1.2 硅太阳能电池及参数 硅太阳能电池及参数 硅太阳能电池分为单晶硅太阳能电池、 多晶硅薄膜太阳能电池和非晶硅薄膜 太阳能电池三种。单晶硅太阳能电池转换效率最高,技术也最为成熟。在实验室 里最高的转换效率为 24.7%,规模生产时的效率为 15%。多晶硅薄膜太阳能电池 与单晶硅比较,成本低廉,而效率高于非晶硅薄膜电池,其实验室最高转换效率 为 18%,工业规模生产的转换效率为 10%。 非晶硅薄膜太阳能电池成本低重量轻, 转换效率较高,便于大规模生产,有极大的潜力。但受制于其材料引发的光电效 率衰退效应,稳定性不高,直接影响了它的实际应用。 硅太阳能电池片常用的为单晶 125 大倒角,其尺寸为 125mm*125mm,对角 线 150mm,功率 Pmax2.60W,工作电压 Vm0.523V,工作电流 Im4.934A,开路 电压 Voc0.629V,短路电流 Isc5.285A。太阳能电池可根据电压大小需要,由不 同数量的太阳能电池片组成,其转换效率受光照、温度、太阳电池晶体类型及制 造工艺等影响,2010 年中国平均效率为 17.2%。常见的太阳能电池电压有 3V、 6V、9V、12V、18V、32V、48V 等,更大的用于太阳能电厂发电项目。 1.3 本课题研究的主要内容 本充电器通过太阳能电池板将太阳能转化为电能,经过 DC/DC 变换电路处 理后,由充电电路为负载供电。锂电池一般不宜采用全过程恒流充电方式,而是

    4

    采取开始恒流快速充电, 待电池电压上升到设定值时, 自动转入恒压充电的方式, 并且这样有利于保存电池容量。充电过程中采用 LED 灯、数码管指示,系统中 设计有完备的过流过压保护,避免因电池过度充电而损坏,并且充电器采用模块 式结构和 USB 接口,可对手机、MP3、摄像机等多种数码产品充电。 文中介绍设计的太阳能手机充电器,与普通的手机充电器相比,它的的特殊 之处除了能源的供应来自太阳能电池板外,充分利用单片机的智能性,设有完备 的电压电流检测保护电路,并通过显示电路显示电路状态,通过功能键可以灵活 的选择电路输出,为不同的电子产品提供电源。把太阳能电池板放在一个有阳光 的地方,即可以为手机提供一个方便的太阳能充电点。这种便捷的太阳能充电器 几乎可以在任何地方补充电力,从而获得通信的自有。

    2 太阳能手机充电器硬件设计

    2.1 系统总体设计方案 系统总体设计方案 总体

page 2

    DC/DC 变换 太 阳 能 电 池 板

    按 键

    AT89C51

    显示电路

    手 机 电 池

    ADC0809

    图 1 系统总体设计方案

    太阳能电池在使用时由于太阳光的变化较大,其内阻又比较高,因此输出电 压不稳定,输出电流较小,这就需要用充电控制电路将电池板输出的直流电压变 换后供给电池充电。当光线条件适宜时,通过太阳能电池板吸收太阳光,将光能 转换为电能。由于充电器多采用大电流的快速充电法,在电池充满后如果不及时 停止会使电池发烫,过度的充电会严重损害电池的寿命。这就需要一个复杂的控 制系统,51 系列单片机时当前使用最为广泛的 8 位单片机系列,其丰富的开发 资源和较低的开发成本,是 51 系列单片机现在以至将来都会有强大的生命力。 本系统将采用 89C51 做为充电电路的控制器,从而以较低的成本轻松实现复杂 的充电智能控制,同时也可以为其他小型电子产品提供洁净的直流电源。本系统 总体设计方案如图 1 所示,通过太阳能电池板将太阳能转换为电能,由单片机编

    5

    程实现 PWM 波控制开关管从而实现输出电压电流的改变, 通过显示电路显示输 出状态及大小,由 ADC0809 实现数据的采集及转换并传给单片机做判断处理, 从而实现电路的智能输出与控制。 2.2 太阳能电池板的选用 太阳能电池板是太阳能供电系统工作的基础,是该充电器的核心部分,其功 能是将太阳光的辐射能量转化为电能,如今的便携式数码设备种类较多,所需电 压电流不等,对于输入功率较大的设备,必须采用面积较大的电池板,而这又给 携带带来不便。因此该设计采用模块式组合,根据不同充电负载的需要,将太阳 能板进行组合以达到具有一定要求的输出功率和输出电压的一组光伏电池。 本文 以手机、MP3 等常用小功率用电设备为例,说明其太阳能充电器的设计过程。 所选用的太阳能电池板技术参数指标如下: 尺寸 120mm×45mm, 峰值电压 6V, 峰值电流 100mA, 标称功率 0.6W。 考虑被充电池的电流不同所需充电时间不等, 采用八块相同参数电池板进行串、并联,实测电池板的输出电压最大值为 10.8V, 电流最大可达 450mA,总标称功率为 5W 左右,实际输出可根据不同的被充电对 象进行平滑调整[7]。 2.3 LM7805 应用

    图 2 LM7805 典型应用电路

    单片机电源电路的设计以三端集成稳压器 LM7805 为核心, 它属于串联稳压 电路,其工作原理与分立元件的串联稳压电源相同。图 2 是三端稳压集成电路 LM7805 的典型应用电路,三端集成稳压器设置的启动电路,在稳压电源启动后 处于正常状态时,启动电路与稳压电源内部其他电路脱离联系,这样输入电压变 化不直接影响基准电路和恒流源电路,保持输出电压的稳定。电路中 Ci 的作用 是消除输入连线较长时其电感效应引起的自激振荡,减小纹波电压,取值范围在

    6

    0.1μF~1μF 之间,本文 Ci 选用 0.33μF;在输出端接电容 Co 是用于消除电路 高频噪声,改善负载的瞬态响应,一般取 0.1μF 左右,本文 Co 即选用 0.1μF。 一般电容的耐压应高于电源的输入电压和输出电压。另外,为避免输入端断开时 Co 从稳压器输出端向稳压器放电,造成稳压器的损坏,在稳压器的输入端和输 出端之间跨接一个二极管,对 LM7805 起保护作用。 LM7805 输入电压为 8V 到 36V, 最大工作电流 1.5A, 具有输入电压范围宽, 工作电流大,输出精度高且工作及其稳定,外围电路简单等特点,太阳能电池电 压即使有较大的波动,也能稳定的输出 5V 电压,从而是单片机等控制电路正常 工作,且成本低。 2.4 单片机电路 单片机电路 本系统单片机主要完成的任务是控制数据的采集过程, 并将采集到的数据经 过分析处理后生成 PWM 脉宽调制信号控制开关管的导通与关断, 从而控制输出 大小。具体工作过程是上电复位,首先查询键盘,确定充电器功能,确定后继续 查询键盘以确定输出电流大小,或作为普通电源的输出电压,然后转入相应子程 序并分析计算 PWM 占空比, 开始输出电流或电压, 并将数据送至显示电路显示。 在输出过程中通过单

page 3

片机定时器定时检测输出电流或电压, 与设定值比较后调节 PWM 占空比,使输出趋于设定值。在电池充电过程中,通过检测电流大小而确 定电池充电多少,从而改变充电方式或决定是否停止充电[4]。 通过单片机编程实现了充电过程的智能控制,而且大大简化了硬件电路设 计,由于单片机良好的可重用性,如果需要改变电路工作状态或电路参数,只需 简单的修改程序即可实现,从而使电路的升级改造变得简单易行。 2.5 按键指示电路及实现 在单片机应用系统中,按键主要有两种形式:1、独立按键;2、矩阵编码键 盘。独立按键的每个按键都单独接到单片机的一个 I/O 口上,独立按键则通过判 断按键端口的电位即可识别按键操作; 而矩阵键盘通过行列交叉按键编码进行识 别。 通常所用的按键为轻触机械开关,正常情况下按键的接点是断开的,当我们 按压按钮时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地 接通,在断开时也不会一下子断开。因而机械触点在闭合及断开的瞬间均伴随有 一连串的抖动,抖动时间的长短由按键的机械特性及操作人员按键动作决定,一 般为 5ms~20ms; 按键稳定闭合时间的长短是由操作人员的按键按压时间长短决 定的,一般为零点几秒至数秒不等。 在本设计中由于按键不是太多,故采用独立按键法,这样可以减小编程的难

    7

    度,图 3 为本设计的按键接线图。

    图 3 按键接线图

    对电路总体考虑后,将 ADC0809 采集电路接在了单片机的 P0 口,并用 P2 口做采集控制,这样 P0 口仅用接收数据,不用发送数据,有 P0 口的硬件构成知 道,其做输出的话需接上拉电阻,做输入的不用接,这样整体上减少了电路的硬 件开支,而 P3 口要做串口传输等工作,所以在本电路中将按键接在 P1 口,其中 P1.0 是数字减键,P1.1 为数字加键,P1.2 键位确定键,P1.3 为过电流保护指示 灯,P1.4、P1.5 为输出功能选择键,按下 P1.4 代表给手机电池充电,按下 P1.5 则做普通直流电源使用,其中 5V 输出可直接用 USB 连接线给手机充电,电池 充电控制则有手机提供。 2.6 数码管显示电路 数码管显示电路 AT89C51 单片机内有一个串行 I/O 端口, 通过引脚 RXD 和 TXD 可与外部 电路进行全双工的串行异步通信, 发送数据时由 TXD 端送出, 接收时数据由 RXD 端输入。串口有四种工作方式,通过编程设置,可以使其工作在任一方式以满足 不同的场合。其中,方式 0 是 8 位移位寄存器输入/输出方式,多用与外接移位 寄存器以扩展 I/O 端口。串口的工作方式可以参看相关的书籍,此处不做详细 介绍。方式 0 的输出是 8 位串行数据,通过移位寄存器可将 8 位串行数据变成 8 位并行数据输出,也可以将外部的 8 位并行数据变成 8 位串行数据输入。因此外 接一个移位寄存器就可扩展一个 8 位的并行输入/输出接口, 如果想多扩展几个 并口就需要在外部级连几个移位寄存器。 本设计采用基于串口的 LED 数码管静态显示电路,在串口扩展中最常用的 就是基于串口的 LED 数码管显示电路。在单片机应用系统中,LED 数码管的显

    8

    示常用两种方法:静态显示和动态扫描显示。所谓静态显示,就是每一个显示器 都要占用单独的具有锁存功能的 I/O 接口用于笔划段字形代码。这样单片机只 要把要显示的字形代码发送到接口电路, 就不用管它了, 直到要显示新的数据时, 再发送新的字形码,因此,使用这种方法单片机中 CPU 的开销小。可以提供单 独锁存的 I/O 接口电路很多,常用的就是通过串口外接串并转换器 74LS164, 扩展并行的 I/O 口。需要几个数码管就扩展几个并行接口,数码管直接接在 74LS164 的输出脚上, 单片机通过串口将要显示数据的字形码逐一的串行移出至 74LS164 的输出脚上数码管就可以显示相应的数字。

    图 4 数码管驱动电路

    单片机 AT89C51 的串口外接 1 片 74LS164 作为 LED 显示器的静态显示接口, 把 AT89C2051 的 RXD 作为数据输出线,TXD 作为移位时钟脉冲。Q0-Q7(第 3 —6 和 10—13 引脚)并行输出端分别接 LED 显示器的 DPA 各段对应的引脚上。 本设计设计采用的是共阳极数码管,因而各数码管的公共极接电源 VCC,本电 路有 LM7805 提供,并采用三只串联的二极管降压,而非电阻降压,这样保证个 数码段的亮度一致。要显示某字段则相应的移位寄存器 74LS164 的输出线必须 是低电平。当有按键

page 4

按下时,有单片机处理编码后送到数码管上显示。 2.7 BUCK 斩波电路 DC/DC 变换器广泛应用于便携装置(如笔记本计算机、蜂窝电话、PDA 等) 中。它有两种类型,即线性变换器和开关变换器。开关变换器因具有效率高、灵 活的正负极性和升降压方式的特点,而备受人们的青睐[10]。 DC/DC 变换是将固定的直流电压变换成可变的直流电压,也称为直流斩波。 斩波器的工作方式有两种,一是脉宽调制方式 Ts 不变,改变 ton(通用),二是频

    9

    率调制(1)Buck 电路——降压斩波器,其输出平均电压 U0 小于输入电压 Ui, 极性相同。 (2)Boost 电路——升压斩波器,其输出平均电压 U0 大于输入电压 Ui,极性相同。 (3)Buck-Boost 电路——降压或升压斩波器,其输出平均电压 U0 大于或小于输入电压 Ui,极性相反,电感传输。 (4)Cuk 电路——降压或升 压斩波器,其输出平均电压 U0 大于或小于输入电压 Ui,极性相反,电容传输。 还有 Sepic、Zeta 电路。 在本电路中输入始终大于输出,所以采用脉宽调制方式的 BUCK 变换器, BUCK 变换器又称降压变换器、串联开关稳压电源、三端开关型降压稳压器。其 电路如图 5 所示,PWM 脉宽调制信号有单片机提供,控制开关管的通断。    图 5 BUCK 变换器电路

    2.8 电压电流的 A/D 采集 以逐次逼近原理进行模—数转换的器件。 ADC0809 是采样分辨率为 8 位的、 其内部有一个 8 通道多路开关,它可以根据地址码锁存译码后的信号,只选通 8 路模拟输入信号中的一个进行 A/D 转换。 (1)ADC0809 的内部逻辑结构

    图 6 ADC0809 内部结构及管脚图

    ADC0809 由一个 8 路模拟开关、一个地址锁存与译码器、一个 A/D 转换器    10

    和一个三态输出锁存器组成。多路开关可选通 8 个模拟通道,允许 8 路模拟量分 时输入,共用 A/D 转换器进行转换。三态输出锁器用于锁存 A/D 转换完的数字 量,当 OE 端为高电平时,才可以从三态输出锁存器取走转换完的数据。 (2)引脚结构 IN0-IN7:8 条模拟量输入通道 ADC0809 对输入模拟量要求:信号单极性,电压范围是 0-5V,若信号太 小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化 太快,则需在输入前增加采样保持电路。 地址输入和控制线:4 条 ALE 为地址锁存允许输入线,高电平有效。当 ALE 线为高电平时,地址锁 存与译码器将 A,B,C 三条地址线的地址信号进行锁存,经译码后被选中的通 道的模拟量进转换器进行转换。A,B 和 C 为地址输入线,用于选通 IN0-IN7 上的一路模拟量输入。通道选择表 1 所示。

    表 1 CBA 通道选择表 C BA 000 001 010 011 100 101 110 111 选择的通道 IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7

    数字量输出及控制线:11 条 ST 为转换启动信号。当 ST 上跳沿时,所有内部寄存器清零;下跳沿时,开 始进行 A/D 转换;在转换期间,ST 应保持低电平。EOC 为转换结束信号。当 EOC 为高电平时,表明转换结束;否则,表明正在进行 A/D 转换。OE 为输出允 许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。OE=1,输出 转换得到的数据;OE=0,输出数据线呈高阻状态。D7-D0 为数字量输出线。 CLK 为时钟输入信号线。因 ADC0809 的内部没有时钟电路,所需时钟信号 必须由外界提供,通常使用频率为 500KHZ,VREF(+) ,VREF(-)为参考 电压输入。 本设计中用单片机的 P0 口接收来自 0809 的换数据,P2.0、P2.1、P2.2 依次    11

    接在 0809 的 A、B、C 地址线,P2.3 接在 0809 的 ALE 端,P2.4 接 START,P2.5 接 OE 端,时钟信号由单片机的 ALE 端经 74HC74 触发器二分频后提供,单片 机采用 12MHz 晶振, ALE 端经二分频后为 500KHz。 ADC0809 具体工作过程为: 首先 P2.0、P2.1、P2.3 输入 3 位地址,并使 P2.3 输出高电平,将地址存入地址 锁存器中。此地址经译码选通 8 路模拟输入之一到比较器。START 上升沿将逐 次逼近寄存器复位。下降沿启动 A/D 转换,之后 EOC 输出信号变低,指示转 换正在进行。直到 A/D 转换完成,EOC 变为高电平,指示 A/D 转换结束, 结果数据已存入锁存器,这个信号可用作中断申请,而触发单片机动作准备接收 数据,这是使 P2.5

page 5

 输出高电平,输出三态门打开,转换结果的数字量输出到数 据总线上,单片机读取 P0 口然后做下一步处理操作。 2.9 MAX471 介绍及工作原理 MAX471 是美国 MAXIM 公司生产的双向、精密电流传感放大器。MAX471 内置 35mΩ精密传感电阻,可测量电流的上下限为 3A。对于允许较大电流的场 合,则可选用 MAX472。在这种情况下,用户可根据自己的需要配置外接的传感 电阻与增益电阻。MAX471/MAX472 都可通过一个输出电阻将电流输出转化为 对地电压输出。

    图 7 MAX471 典型应用电路

    MAX471 所需的供电电压 Vbr/Vcc 为 3~36V,所能跟踪的电流的变化频率 可达到 130kHz,采用 8 脚封装,其典型应用电路如图七所示。 MAX471 各引脚功能说明如下:SHDN 为关闭信号,正常操作时接地;当它 为高电平时,供电电流小于 5μA。RS+为内传感电阻的电源端。GND 为地端或 电源负端。SIGN 为集电极开路逻辑输出,SIGN 为低电平表示电流由 RS-流向 RS+。RS-为内传感电阻的负载端。OUT 为电流输出端,该电流的大小正比于

    12

    流过传感电阻的电流。 在本设计中,电阻 R4 采用 20K/0.6W 精密电阻,在输出最大 500mA 时 Uo 不超过 5V,输出电压便于 ADC0809 采集并作数字化处理。    3 汇编源程序的设计实现

    3.1 系统整体程序框架 本设计整体工作主要由单片机程序控制实现,其工作过程为:电路启动初始 化,电路功能选择,输出选择并确定输出,单片机采集计算输出 PWM 信号,定 时采集数据并处理调节 PWM 信号占空比等,程序整体框架如图 8 所示。

    开始

    初始化

    Yes 电池充电

    No

    充电子程序

    电源子程序

    结束

    图 8 程序整体框架流程

    3.2 电路启动初始化 初始化是为单片机的运行设置初始的运行环境, 主要完成以下工作: 清片内, 每次单片机加电时,都将引起单片机的上电复位操作。复位操作完成以后,单片 机的寄存器会被置以不同的值,这些值中有相当一部分是未知的值。这些未知的

    13

    值在单片机复位完成,正式运行以后,会产生无法让程序设计人员掌握的后果, 甚至会造成系统的损坏。 因此, 在单片机运行后, 首先清 0 使之置初始参数设定, 便于程序设计人员掌握,以利系统的工作。设置系统运行所需的各个参数,设置 定时器和中断设定。图 9 为初始化程序流程。

    开始

    清片内 RAM

    初始参数设定

    AD 设定

    定时器设定

    中断设定

    返回

    图 9 初始化程序流程

    3.3 按键采集程序 键盘子程序用于探测开关、是否处在有效的开关状态,以决定是否启动系统 运转。读线、读取、相连的端口,并将其值判断处理后存于相关缓存中。其中读 取端口后要做一定的延时以排除键抖引起的误动作。图 10 为按键子程序结构流

    14

    程图。

page 6

    入口

    读 I/O 口

    N 延时 Y

    处理后存入缓存

    返回

    图 10 按键子程序结构流程图

    3.4 数码管显示子程序 开机时,初始化数码管,通过串口将“0”的字形码输出使数码管显示“O” 。 然后判断 P1 口是否有键按下,如果没键按下继续判断。 显示子程序首先初始化串口,使串口工作在方式 0,再读取显示缓冲区内的 数据(显示缓冲区主要是用来存放即将要显示的数据),然后通过查表的方式找到 对应的字形码,最后把字形码写入串口寄存器 SBUF 通过串口方式 0 发送出去。 当 8 个时钟脉冲后,字形码都移至 74Ls164 的 Q0-Q7,数码管就显示相应按键的 编码。 显示子程序是怎么将显示缓冲区中的数据变成相应的字形码呢?具体的方法 是将每个数字的字形码以 16 进制数从小到大的次序依次存放在存储器中的固定 区域中,构成显示代码表。当要显示某字符时,把表格的起始地址送入数据指针 寄存器 DPTR 中作为基址,将显示缓冲区内的数据作为偏移量送入变址寄存器 A,执行查表指令“MOVCA,@A+DPTR” ,则累加器 A 中得到的结果即表格中 取出的对应数字的字形码。 对于电路中的 74LS164 共阴极数码管数据位和字形的对应关系如下表。 由于单片机在以方式 0 串行发送数据的时候数据从 RXD 引脚从低位到高位 依次输出,而最先输出的数据经过 74LS164 串转并后到达 Q7,也就是说单片机

    15

    内的 DO 通过串口发送并经过 74LS164 后到达 74LS164 的 Q7 脚即数码管的 A 脚,因此在单片机内字型码与 74LS164 所对应的字型码正好相反,所以共阳极 数码管在单片机内 O-9 所对应的字型码分别是: 01H,4FH,12H,06H,4CH,24H,20H,0FH.00H,04H。 3.5 数据采集及模数转换程序 数据采集主要由单片机控制 ADC0809 完成,程序分为数据初始化,发送启 动转换命令,等待转换结束,接收数据,处理并存入缓存,程序流程如图 11 所 示。

    入口

    初始化

    启动转换

    N 转换结束? Y

    处理存储

    返回

    图 11 数据采集子程序结构流程图

    16

    3.6 充电子程序的设计 充电过程分两阶段进行,第一阶段为恒流充电,充电电流可设定,当充电电 压达到 4V 时转入第二阶段,即 4.2V 的恒压充电方式,恒压充电电流会随着时 间的推移而逐渐降低,待充电电流降到 0.1mA 时,表明电池已充到额定容量的 93%~95%,此时即可认为基本充满,如果继续充下去,充电电流会慢慢降低到 零,电池完全充满 。充电过程中, “充电”指示灯亮;充满时, “充饱”指示灯 亮, “充电”指示灯灭,通过按键设置可控制充电时间。充电子程序流程图如图 12 所示。

    [4]

    入口

    采集电压电流

    N 电压>4V?

    Y

    Y 电流<0.1mA?

    恒压充电

    N 恒流充电 充电结束

    返回

    图 12 充电子程序结构流程图

page 7

    17

    3.7 电源子程序的设计 本太阳能手机充电器与传统充电器相比, 最大的优点就是不仅能直接给电池 充电,还能作为普通的直流电源使用,其中的 5V 直流输出也可以直接给手机充 电,或作为 MP3 等其他小电子设备的供电电源。其输出电压 0 到 5V 可调,数 字显示,并有完善的过流保护功能,从而确保电子产品的安全使用。充电子程序 流程图如图 13 所示。

    入口

    采集电压电流

    N 过电流

    Y

    小 输出电压判断

    大

    关断输出

    相等 增大占空比 跳过 减小占空比

    返回

    图 13 电源子程序结构流程图

    18

    结束语

    本手机充电器系统的设计分为硬件电路设计和程序设计两个部分, 硬件电路 设计属于前期的主要工作,通过方案论证与可行性分析,最终确定由 89C51 单 片机完成主电路的控制与设计,并展开外围电路与控制硬件电路设计,硬件电路 的设计主要是电路原理图的绘制以及参数的确定。 在硬件电路设计上遇到一些问 题,关于 DC/DC 转换的 PWM 脉宽调制信号的产生问题,经过反复分析论证, 最后确定用单片机通过编程来实现,这样将大大降低硬件的成本。 软件的设计采用模块化的程序设计方法,分为主程序部分、按键采集模块、 数码管显示模块、AD 转换采集模块以 PWM 脉宽信号产生模块等。程序的设计 既参考了一些资料里的内容,也有相当多的自我设计,比如说 PWM 脉宽调制信 号产生程序,就是参考了网友提供的标志位加定时器实现的方法,但主程序中有 关数据处理计算的则是自己设计,因为这些东西涉及到具体硬件电路,是找不到 相关资料的,在数据处理中有简单的单字节算法,也有双字节的,有的则采用巧 妙的算法有效避免出现双字节,从而使程序设计变得简单。 对于本设计,如果进行进一步的的研究,我认为应该在以下几个方面重点考 虑: (1)考虑显示模块改用液晶显示,这样可以减小电流损耗,还可显示汉字, 使显示更加丰富人性化。但在总的造价有所增加; (2)PWM 产生由独立芯片完 成,这样可减轻单片机的负担,使其有时间做其它人性化的服务,并可提高电路 输出精度; (3)电路设计中尽可能的使用较少的按键,使六个按键减为四个,这 需要通过程序来实现;    致谢

    经过几个月的努力,在指导老师的帮助下,终于完成了多用太阳能手机充电 器的设计和调试。从确定设计题目的那天开始,指导老师就开始不断地给我提供 帮助,从最初的方案确定,到元器件的选择,电路的修改和调试,程序的编写和 修改,以及论文的制作等等,很多都是涉及到细节的问题;正是由于指导老师无 私帮助,我才得以完成设计,指导老师自己也是很忙的,他带有很多实验课,每 次与指导老师见面几乎都是在实验室,可想而知指导老师对我的关心,在做毕业 设计的同时也是一个学习和成长的过程, 虽然设计中很多东西都是指导老师以前 做过的, 但是指导老师几乎每次都对我说: 先自己慢慢做, 有什么问题再来问我, 正是由于指导老师严谨的科学态度, 才使我从最初接触这个课题时的迷茫变为现 在豁然开朗,期间指导老师不断提供的帮助和鼓励是很重要的,特别要提及的是 关于充电器的应用问题, 要是没有指导老师提供的指导和建议是根本不可能完成 的。在此,对指导老师的帮助表示感谢!

    19

    参考文献

    [1] 蒋鸿飞,胡淑婷. .绿色能源——太阳能充电器[J]. 上海应用技术学院学报(自然科学版), 2007,(2):147-149 [2] 蔡朝洋. 单片机控制实习与专题制作[M].

page 8

 .北京:北京航空航天大学出版社,2006 年 11 月 [3] 李朝青. 单片机原理及接口技术[M]. 北京航空航天大学出版社,2005,(05) [4] 张伯文. 简易镍镉电池定时恒流充电器[J]. 电池,1997,(6) [5] 康华光. 电子技术基础 (模拟部分) [M]. 北京:高等教育出版社, 2000 [6] 张红梅,尹云华. 太阳能电池的研究现状与发展趋势[J]. 水电能源科学,2008,26(6): 193-197 [7] 滨川圭弘. 太阳能光伏电池及其应用[M]. 北京:科学出版社, 2008 [8] 沈德金等. 接口电路与实用程序实例[M].北京大学出版社, 2003 年 [9] 张军军, 孙佩石, 梁海涛. 智能化小区 LED 路灯光伏充电器的设计[J]. 电源技术,2007, 31(2):157-159 [10] 陈维, 沈辉, 王东海等. 太阳能半导体照明驱动技术研究[J]. 照明工程学报, 2005, 16(3): 7-10 [11] 徐大诚,邹丽新,丁建强. 微型计算机控制技术及应用[M].高等教育出版社,2003 年 [12] 肖鹏,陈国呈,吴春华等. 一种新型光伏独立发电系统拓扑及控制策略[J]. 上海大学学 报(自然科学版),2008,14(6):633-636 [13] 周林, 武剑, 栗秋华等. 光伏阵列最大功率点跟踪控制方法综述[J]. 高电压技术, 2008, 34(6):1145-1154

    20

    Q1 2N5366 R5 30K R11 12.9K SHGN GND 4.2V Q2 2N5551 5 4 R7 6.2K 89C51 U3 IN-0 IN-1 IN-2 IN-3 IN-4 EOC IN-5 ADD-A ADD-B ADD-C IN-6 IN-7 ALE ref(-) ref(+) 16 R11 330 12 D5 LED ENABLE START CLOCK ADC0809 5 4 3 47u R9 20K 2 1 28 27 26 5V SIGN OUT 3 6 15 10 RS+ RS+ RSRS2 7 L U4 MAX471 Vo    Vi

    U1 7805 LED SS+ ENT

    R4

    GND

    Vin

    7805

    Vout

    390

    (5V)

    附录 1 主电路原理图

    C1 500u/50V

    R1

    R2 R3

    R12

    R13 R6 10K 25 24 23 22 9 6 10 10 11 30 29 7 13 12 INT1 INT0 T1 T0 EA/VP X1 X2 RESET RD WR 3 15 14 31 19 18 9 17 16 RXD TXD ALE/P PSEN

    5.6K 1 2 3 4 5 6 7 8 P10 P11 P12 P13 P14 P15 P16 P17 C7 4.3K R10 D4 R8 3.1K P07 P06 P05 P04 P03 P02 P01 P00 32 33 34 35 36 37 38 39 msb2-1 2-2 2-3 2-4 2-5 2-6 2-7 lsb2-8 21 20 19 18 8 15 14 17

    C3 103

    C2 47u/10V 10u C6

    C4

    R10 10K

    30P

    RES

    12M C5

    P20 P21 P22 P23 P24 P25 P26 P27

    21 22 23 24 25 26 27 28

    30P

    R1 10k 6

    DPY a

    U6 com 1 2 A B 5 3

    f g d dp c e b a b c d e

page 9

    D CLK

    S

    u5 数 数 数

    Q

    U4A 1

    Q3 2SC9013

    5V MR 74HC164 D2 8 D3 com 9

    CLK

    f g dp

    R

    8

    Q 4

    2 74HC74

    Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7

    3 4 4 5 5 7 6 9 10 10 11 2 12 1 13 6

    D1

    21

    附录 2 汇编源程序

    ORG LJMP ORG LJMP 输出 ORG LJMP 出 LED 显示缓冲 PWMF BIT 00H 志位 PWM1H PWM1L PWM2H PWM2L 期缓存 TESTL EQU TESTV EQU 压检测缓冲 TESTI EQU 电流检测缓冲 PWMT EQU ;PWM波周期 OUT ORG BIT 02H 0100H ;功能选择 ;功能选择 TVI BIT 03H 7BH 7AH ;输出 78H 79H ;输出电 EQU EQU EQU EQU 77H 71H 72H 73H 74H ;检测周 ;PWM输出标 EQU 70H ;数码管 001BH TESTOUT ;检测输 0000H MAIN 000BH PWML ;PWM波

    CLR TESTV MOV PWMT,#200 期设为50us MOV TESTH,#0FEH MOV TESTL,#0CH LCALL DISPLAY LJMP KEYWORK START:LCALL TESTIN MOV A,TESTV MOV B,#33H DIV AB JNZ NEXT MOV A,#01H NEXT: MOV B,#04H MUL AB 出实际输入电压 MOV B,A JNB OUT,NEXT2 NEXT1:MOV A,PWMT DIV AB MOV B,LED MUL AB 平周期 MOV R1,A MOV A,#0FFH CLR C SUBB A,R1 INC A MOV PWM2L,A MOV PWM2H,#0FFH MOV A,PWMT CLR C SUBB A,R1 平周期 MOV R1,A ;A中为高电 ;A中为低电 ;乘以比例得 ;PWM周

    ;PWM高电平缓冲

    ;PWM低电平缓冲 TESTH EQU

    MAIN: MOV A,#00H MOV LED,A MOV P1,#07FH

    22

    MOV A,#0FFH CLR C SUBB A,R1 INC A MOV PWM1L,A MOV PWM1H,#0FFH CLR P2.0 CLR P2.1 CLR P2.2 MOV IE,#8AH 中断 MOV TMOD,#11H 定时,开始输出 MOV TH1,PWM2H MOV TL1,PWM2L MOV TH0,TESTH MOV TL0,TESTL SETB TR0 SETB TR1 LJMP ED NEXT2:MOV A,PWMT MOV B,#04H DIV AB 期 MOV R1,A MOV A,#0FFH CLR C SUBB A,R1 INC A MOV PWM2L,A MOV PWM2H,#0FFH MOV A,PWMT CLR C SUBB A,R1 平周期 ;A中为高电 ;A中为低电平周 ;T1赋值 ;TO赋值 ;T模式1, ;CPU开

    MOV R1,A MOV A,#0FFH CLR C SUBB A,R1 INC A MOV PWM1L,A MOV PWM1H,#0FFH MOV IE,#8BH 中断 MOV TMOD,#11H 定时,开始输出 MOV TH1,PWM2H MOV TL1,PWM2L MOV TH0,TESTH MOV TL0,TESTL SETB TR0 SETB TR1 ED: AJMP ED PROTECT: CLR P1.7 LJMP ED PWML: JB PWMF,PWMH ;PWM输出未完成返回 CLR TR0 MOV TH0,PWM2H MOV TL0,PWM2L SETB TR0 SETB PWMF CLR P1.7 出低电平 RETI PWMH: SETB P1.7 CLR TR0

    23

    ;CPU开 ;T模式1, ;TO赋值 ;T1赋值

    ;PWM输

    MOV TH0,PWM1H MOV TL0,PWM1L SETB TR0 出高电平 CLR PWMF RETI TESTIN: SETB P2.0 CLR P2.1 CLR P2.2 LCALL TEST RET TESTOUT: CLR TR1 JNB TVI,STCBA TEST1:LCALL TEST LCALL TEST JNB OUT,TEST2 MOV A,TESTI INC A JZ PROTECT MOV 

page 10

DPTR,#OTVTAB MOV A,LED MOVC A,@A+DPTR CLR C CJNE A,TESTV,DADA LJMP RETURN DADA: JC XIAO MOV A,PWM2L ADD A,#01H MOV PWM2L,A MOV A,PWM1L SUBB A,#01H MOV PWM1L,A

    24

    LJMP RETURN XIAO: CLR C ;PWM输 MOV A,PWM2L SUBB A,#01H MOV PWM2L,A MOV A,PWM1L ADD A,#01H JNZ RETURN MOV PWM1L,A RETURN: MOV TH1,TESTH MOV TL1,TESTL SETB TR1 RETI TEST2:MOV A,#44H CJNE A,TESTV,DXID LJMP RETURN DXID: JC DXIX MOV DPTR,#OTITAB MOV A,LED MOVC A,@A+DPTR JNB OUT,TEST2 CJNE A,TESTI,DADA 恒流充电 LJMP RETURN DXIX: MOV A,#47H CLR C CJNE A,TESTV,DADA 恒压充电 LJMP RETURN STCBA:CLR P2.0 SETB P2.1 CLR P2.2 LJMP TEST1 TEST: CLR P2.5 ;A/D ; ;

    转换子程序 SETB P2.3 CLR P2.3 SETB P2.4 CLR P2.4 JNB P2.7,¥ SETB P2.5 JNB TVI,MOVI MOVV: MOV TESTV,P0 SETB TVI CLR P2.5 MOV P0,#0FFH RET MOVI: MOV TESTI,P0 CLR TVI CLR P2.5 MOV P0,#0FFH RET KEYWORK: JNB P1.4,KEY42 JNB P1.5,KEY05 JNB P1.2,KEYOK LJMP KEYWORK KEYWK1: JNB P1.0,KEY0 JNB P1.1,KEY1 JNB P1.2,KEYOK1 LJMP KEYWK1 KEY42:LCALL DL10MS JB P1.4,KEYWORK CLR OUT LJMP KEYWK1 KEY05:LCALL DL10MS JB P1.5,KEYWORK

    SETB OUT LJMP KEYWK1 KEY0: LCALL DL10MS JB P1.0,KEYWK1 MOV A,LED JZ KEYWK1 DEC A MOV LED,A LCALL DISPLAY LJMP KEYWK1 KEY1: LCALL DL10MS JB P1.1,KEYWK1 MOV A,LED CJNE A,#05H,KEY11 LJMP KEYWK1 KEY11:INC A MOV LED,A LCALL DISPLAY LJMP KEYWK1 KEYOK:LCALL DL10MS JB P1.2,KEYWORK MOV A,LED JZ KEYWORK LJMP KEYWK1 KEYOK1:LCALL DL10MS JB P1.2,KEYWK1 MOV A,LED JZ KEYWK1 LJMP START DL10MS: MOV R5,#07H DL0: DL1: DL2: MOV R6,#0D0H MOV R7,#19H DJNZ R7,DL2

    25

    DJNZ R6,DL1 DJNZ R5,DL0 RET DISPLAY: MOV DPTR,#LEDTAB MOV A,LED MOVC A,@A+DPTR MOV SBUF,A RET LEDTAB: 00H,04H OTVTAB: DB 00H,11H,22H,33H,44H,55H,66H,77H,8 8H,99H OTITAB: DB 00H,33H,66H,99H,0CCH,0FFH END DB 01H,4FH,12H,06H,4CH,24H,20H,0FH,

    26

    1本文由小夜影贡献

    doc文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。

    目 录

    1 绪论…………………………………………………………………………………1 1.1 本课题的研究背景…………………………………………………………1 1.2 硅太阳能电池及参数………………………………………………………1 1.3 本课题研究的主要内容……………………………………………………1 2 太阳能手机充电器硬件设计……………………………………………………2 2.1 系统总体设计方案…………………………………………………………2 2.2 太阳能电池板的选用……………………………………………………3 2.3 LM7805 应用………………………………………………………………3 2.4 单片机电路…………………………………………………………………4 2.5 按键指示电路及实现……………………………………………………4 2.6 数码管显示电路…………………………………………………………5 2.7 BUCK 斩波电路……………………………………………………………6 2.8 电压电流的 A/D 采集……………………………………………………7 2.9 MAX471 介绍及工作原理…………………………………………………9 3 汇编源程序的设计实现…………………………………………………………10 3.1 系统整体程序框架………………………………………………………10 3.2 电路启动初始化…………………………………………………………10 3.3 按键采集程序……………………………………………………………11 3.4 数码管显示子程序………………………………………………………12 3.5 数据采集及模数转换程序………………………………………………13 3.6 充电子程序的设计…

page 11

……………………………………………………14 3.7 电源子程序的设计………………………………………………………15 结束语………………………………………………………………………………16 致谢…………………………………………………………………………………16 参考文献……………………………………………………………………………17 附录 1 主电路原理图………………………………………………………………18 附录 2 汇编源程序…………………………………………………………………19

    1

    摘 要

    化石能源的日益枯竭、人们对环境保护问题的重视程度也在不断提高,寻找 洁净的替代能源问题变得越来越迫切。 太阳能作为一种可再生能源它具有取之不 尽、用之不竭和清洁安全等特点,因此有着广阔的应用前景,光伏发电技术也越 来越受到人们的关注,随着光伏组件价格的不断降低和光伏技术的发展,太阳能 光伏发电系统将逐渐由现在的补充能源向替代能源过渡。 使用手机的人都有过这样的经历,外出或旅游时电池突然没电了,因不能及 时找到或没有 220V 市电而无法给手机充电,影响了手机的正常使用。为了解决 这一问题,本课程设计介绍一种多用太阳能手机充电器,利用单片机控制,将太 阳能经过电路变换为稳定直流电给手机充电, 并能在电池充电完成后自动停止充 电,还可作为一般直流电源使用,从而摆脱对市电的依赖而获得通信的自由。与 常规的充电器相比,太阳能充电器有着明显的优势。 关键词: 关键词:太阳能,电池,单片机,智能,BUCK 变换器

    2

    Multi-purpose solar mobile charger

    Abstract Increasing depletion of fossil energy, it's emphasis on environmental protection are also rising, look for clean alternative energy issues become more urgent. Solar energy as a renewable energy it has an inexhaustible and clean and safe and so on, so have a broad application prospects, photovoltaic power generation technology is more and more attention, with the PV module continue to lower prices and photovoltaic technology, solar PV systems will gradually supplement the energy from the current transition to alternative energy. People who use mobile phones have had the experience, go out or travel no electricity when the battery suddenly, and because they can not be found or does not timely 220V electricity and not to charge their cell phones affect the normal use of mobile phones. To solve this problem, the course design introduces a multi-purpose solar charger, use MCU control, will transform solar energy through the circuit to stabilize the direct current to charge their cell phones and can charge the battery automatically stops charging after, but also as a general DC power use, so get rid of dependence on electricity obtained the freedom of communication. Compared with the conventional charger, solar charger has a clear advantage. Key words: solar energy, battery, single chip, intelligent, BUCK converter

    3

    1 绪论

    1.1 本课题的研究背景 当电力、煤炭、石油等不可再生能源频频告急,能源问题日益成为制 约国际社会经济发展的瓶颈时,越来越多的国家开始实行“阳光计划”, 开发太阳能资源,寻求经济发展的新动力。 太阳能电池是利用太阳光和材料相互作用直接产生电能,不需要消耗 燃料和水等物质,使用中不释放包括二氧化碳在内的任何气体,是对环境 无污染的可再生能源。这对改善生态环境、缓解温室气体的有害 hk 作用具 有重大意义。 目前,太阳能电池的应用已从军事领域、航天领域进入工业、商业、 农业、通信、家用电器以及公用设施等部门,尤其可以分散地在边远地区、 高山、沙漠、海岛和农村使用,以节省造价很贵的输电线路。但是,从长 远来看,随着太阳能电池制造技术的改进以及新的光—电转换装置的发明, 各国对环境的保

page 12

护和对再生清洁能源的巨大需求,太阳能电池仍将是利用 太阳辐射能比较切实可行的方法,可为人类未来大规模地利用太阳能开辟 广阔的前景。 1.2 硅太阳能电池及参数 硅太阳能电池及参数 硅太阳能电池分为单晶硅太阳能电池、 多晶硅薄膜太阳能电池和非晶硅薄膜 太阳能电池三种。单晶硅太阳能电池转换效率最高,技术也最为成熟。在实验室 里最高的转换效率为 24.7%,规模生产时的效率为 15%。多晶硅薄膜太阳能电池 与单晶硅比较,成本低廉,而效率高于非晶硅薄膜电池,其实验室最高转换效率 为 18%,工业规模生产的转换效率为 10%。 非晶硅薄膜太阳能电池成本低重量轻, 转换效率较高,便于大规模生产,有极大的潜力。但受制于其材料引发的光电效 率衰退效应,稳定性不高,直接影响了它的实际应用。 硅太阳能电池片常用的为单晶 125 大倒角,其尺寸为 125mm*125mm,对角 线 150mm,功率 Pmax2.60W,工作电压 Vm0.523V,工作电流 Im4.934A,开路 电压 Voc0.629V,短路电流 Isc5.285A。太阳能电池可根据电压大小需要,由不 同数量的太阳能电池片组成,其转换效率受光照、温度、太阳电池晶体类型及制 造工艺等影响,2010 年中国平均效率为 17.2%。常见的太阳能电池电压有 3V、 6V、9V、12V、18V、32V、48V 等,更大的用于太阳能电厂发电项目。 1.3 本课题研究的主要内容 本充电器通过太阳能电池板将太阳能转化为电能,经过 DC/DC 变换电路处 理后,由充电电路为负载供电。锂电池一般不宜采用全过程恒流充电方式,而是

    4

    采取开始恒流快速充电, 待电池电压上升到设定值时, 自动转入恒压充电的方式, 并且这样有利于保存电池容量。充电过程中采用 LED 灯、数码管指示,系统中 设计有完备的过流过压保护,避免因电池过度充电而损坏,并且充电器采用模块 式结构和 USB 接口,可对手机、MP3、摄像机等多种数码产品充电。 文中介绍设计的太阳能手机充电器,与普通的手机充电器相比,它的的特殊 之处除了能源的供应来自太阳能电池板外,充分利用单片机的智能性,设有完备 的电压电流检测保护电路,并通过显示电路显示电路状态,通过功能键可以灵活 的选择电路输出,为不同的电子产品提供电源。把太阳能电池板放在一个有阳光 的地方,即可以为手机提供一个方便的太阳能充电点。这种便捷的太阳能充电器 几乎可以在任何地方补充电力,从而获得通信的自有。

    2 太阳能手机充电器硬件设计

    2.1 系统总体设计方案 系统总体设计方案 总体

    DC/DC 变换 太 阳 能 电 池 板

    按 键

    AT89C51

    显示电路

    手 机 电 池

    ADC0809

    图 1 系统总体设计方案

    太阳能电池在使用时由于太阳光的变化较大,其内阻又比较高,因此输出电 压不稳定,输出电流较小,这就需要用充电控制电路将电池板输出的直流电压变 换后供给电池充电。当光线条件适宜时,通过太阳能电池板吸收太阳光,将光能 转换为电能。由于充电器多采用大电流的快速充电法,在电池充满后如果不及时 停止会使电池发烫,过度的充电会严重损害电池的寿命。这就需要一个复杂的控 制系统,51 系列单片机时当前使用最为广泛的 8 位单片机系列,其丰富的开发 资源和较低的开发成本,是 51 系列单片机现在以至将来都会有强大的生命力。 本系统将采用 89C51 做为充电电路的控制器,从而以较低的成本轻松实现复杂 的充电智能控制,同时也可以为其他小型电子产品提供洁净的直流电源。本系统 总体设计方案如图 1 所示,通过太阳能电池板将太阳能转换为电能,由单片机编

    5

    程实现 PWM 波控制开关管从而实现输出电压电流的改变, 通过显示电路显示输 出状态及大小,由 ADC0809 实现数据的采集及转换并传给单片机做判断处理, 从而实现电路的智能输出与控制。 2.2 太阳能电池板的选用 太阳能电池板是太阳能供电系统工作的基础,是该充电器的核心部分,其功 能是将太阳光的辐射能量转化为电能

page 13

,如今的便携式数码设备种类较多,所需电 压电流不等,对于输入功率较大的设备,必须采用面积较大的电池板,而这又给 携带带来不便。因此该设计采用模块式组合,根据不同充电负载的需要,将太阳 能板进行组合以达到具有一定要求的输出功率和输出电压的一组光伏电池。 本文 以手机、MP3 等常用小功率用电设备为例,说明其太阳能充电器的设计过程。 所选用的太阳能电池板技术参数指标如下: 尺寸 120mm×45mm, 峰值电压 6V, 峰值电流 100mA, 标称功率 0.6W。 考虑被充电池的电流不同所需充电时间不等, 采用八块相同参数电池板进行串、并联,实测电池板的输出电压最大值为 10.8V, 电流最大可达 450mA,总标称功率为 5W 左右,实际输出可根据不同的被充电对 象进行平滑调整[7]。 2.3 LM7805 应用

    图 2 LM7805 典型应用电路

    单片机电源电路的设计以三端集成稳压器 LM7805 为核心, 它属于串联稳压 电路,其工作原理与分立元件的串联稳压电源相同。图 2 是三端稳压集成电路 LM7805 的典型应用电路,三端集成稳压器设置的启动电路,在稳压电源启动后 处于正常状态时,启动电路与稳压电源内部其他电路脱离联系,这样输入电压变 化不直接影响基准电路和恒流源电路,保持输出电压的稳定。电路中 Ci 的作用 是消除输入连线较长时其电感效应引起的自激振荡,减小纹波电压,取值范围在

    6

    0.1μF~1μF 之间,本文 Ci 选用 0.33μF;在输出端接电容 Co 是用于消除电路 高频噪声,改善负载的瞬态响应,一般取 0.1μF 左右,本文 Co 即选用 0.1μF。 一般电容的耐压应高于电源的输入电压和输出电压。另外,为避免输入端断开时 Co 从稳压器输出端向稳压器放电,造成稳压器的损坏,在稳压器的输入端和输 出端之间跨接一个二极管,对 LM7805 起保护作用。 LM7805 输入电压为 8V 到 36V, 最大工作电流 1.5A, 具有输入电压范围宽, 工作电流大,输出精度高且工作及其稳定,外围电路简单等特点,太阳能电池电 压即使有较大的波动,也能稳定的输出 5V 电压,从而是单片机等控制电路正常 工作,且成本低。 2.4 单片机电路 单片机电路 本系统单片机主要完成的任务是控制数据的采集过程, 并将采集到的数据经 过分析处理后生成 PWM 脉宽调制信号控制开关管的导通与关断, 从而控制输出 大小。具体工作过程是上电复位,首先查询键盘,确定充电器功能,确定后继续 查询键盘以确定输出电流大小,或作为普通电源的输出电压,然后转入相应子程 序并分析计算 PWM 占空比, 开始输出电流或电压, 并将数据送至显示电路显示。 在输出过程中通过单片机定时器定时检测输出电流或电压, 与设定值比较后调节 PWM 占空比,使输出趋于设定值。在电池充电过程中,通过检测电流大小而确 定电池充电多少,从而改变充电方式或决定是否停止充电[4]。 通过单片机编程实现了充电过程的智能控制,而且大大简化了硬件电路设 计,由于单片机良好的可重用性,如果需要改变电路工作状态或电路参数,只需 简单的修改程序即可实现,从而使电路的升级改造变得简单易行。 2.5 按键指示电路及实现 在单片机应用系统中,按键主要有两种形式:1、独立按键;2、矩阵编码键 盘。独立按键的每个按键都单独接到单片机的一个 I/O 口上,独立按键则通过判 断按键端口的电位即可识别按键操作; 而矩阵键盘通过行列交叉按键编码进行识 别。 通常所用的按键为轻触机械开关,正常情况下按键的接点是断开的,当我们 按压按钮时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地 接通,在断开时也不会一下子断开。因而机械触点在闭合及断开的瞬间均伴随有 一连串的抖动,抖动时间的长短由按键的机械特性及操作人员按键动作决定,一 般为 5ms~20ms; 按键稳定闭合时间的长短是由操作人员的按键按压时间长短决 定的,一般为零点几秒至数秒不等。 在本设计中由于按键不是太多,故采用独立按键法,这样可以减小编程的难

    7

    度,图 3 为本设计的按键接线图。

    图 3 按键接线图

    对电路总体考虑后,将 ADC0809 采集电路接在了单片机的 P0 口,并用 P2 口做采集控制,这样 P0 口仅用接收数据,不用发送数据,有 P0 口的硬件构成知 道,其做输出的话需接上拉电阻,做输入的不用接,这样整体上减少了电路的硬 件开支,而 P3 口要做串口传输等工作,所以在本电路中将按键接在 P1 口,其中 P1.0 是数

page 14

字减键,P1.1 为数字加键,P1.2 键位确定键,P1.3 为过电流保护指示 灯,P1.4、P1.5 为输出功能选择键,按下 P1.4 代表给手机电池充电,按下 P1.5 则做普通直流电源使用,其中 5V 输出可直接用 USB 连接线给手机充电,电池 充电控制则有手机提供。 2.6 数码管显示电路 数码管显示电路 AT89C51 单片机内有一个串行 I/O 端口, 通过引脚 RXD 和 TXD 可与外部 电路进行全双工的串行异步通信, 发送数据时由 TXD 端送出, 接收时数据由 RXD 端输入。串口有四种工作方式,通过编程设置,可以使其工作在任一方式以满足 不同的场合。其中,方式 0 是 8 位移位寄存器输入/输出方式,多用与外接移位 寄存器以扩展 I/O 端口。串口的工作方式可以参看相关的书籍,此处不做详细 介绍。方式 0 的输出是 8 位串行数据,通过移位寄存器可将 8 位串行数据变成 8 位并行数据输出,也可以将外部的 8 位并行数据变成 8 位串行数据输入。因此外 接一个移位寄存器就可扩展一个 8 位的并行输入/输出接口, 如果想多扩展几个 并口就需要在外部级连几个移位寄存器。 本设计采用基于串口的 LED 数码管静态显示电路,在串口扩展中最常用的 就是基于串口的 LED 数码管显示电路。在单片机应用系统中,LED 数码管的显

    8

    示常用两种方法:静态显示和动态扫描显示。所谓静态显示,就是每一个显示器 都要占用单独的具有锁存功能的 I/O 接口用于笔划段字形代码。这样单片机只 要把要显示的字形代码发送到接口电路, 就不用管它了, 直到要显示新的数据时, 再发送新的字形码,因此,使用这种方法单片机中 CPU 的开销小。可以提供单 独锁存的 I/O 接口电路很多,常用的就是通过串口外接串并转换器 74LS164, 扩展并行的 I/O 口。需要几个数码管就扩展几个并行接口,数码管直接接在 74LS164 的输出脚上, 单片机通过串口将要显示数据的字形码逐一的串行移出至 74LS164 的输出脚上数码管就可以显示相应的数字。

    图 4 数码管驱动电路

    单片机 AT89C51 的串口外接 1 片 74LS164 作为 LED 显示器的静态显示接口, 把 AT89C2051 的 RXD 作为数据输出线,TXD 作为移位时钟脉冲。Q0-Q7(第 3 —6 和 10—13 引脚)并行输出端分别接 LED 显示器的 DPA 各段对应的引脚上。 本设计设计采用的是共阳极数码管,因而各数码管的公共极接电源 VCC,本电 路有 LM7805 提供,并采用三只串联的二极管降压,而非电阻降压,这样保证个 数码段的亮度一致。要显示某字段则相应的移位寄存器 74LS164 的输出线必须 是低电平。当有按键按下时,有单片机处理编码后送到数码管上显示。 2.7 BUCK 斩波电路 DC/DC 变换器广泛应用于便携装置(如笔记本计算机、蜂窝电话、PDA 等) 中。它有两种类型,即线性变换器和开关变换器。开关变换器因具有效率高、灵 活的正负极性和升降压方式的特点,而备受人们的青睐[10]。 DC/DC 变换是将固定的直流电压变换成可变的直流电压,也称为直流斩波。 斩波器的工作方式有两种,一是脉宽调制方式 Ts 不变,改变 ton(通用),二是频

    9

    率调制(1)Buck 电路——降压斩波器,其输出平均电压 U0 小于输入电压 Ui, 极性相同。 (2)Boost 电路——升压斩波器,其输出平均电压 U0 大于输入电压 Ui,极性相同。 (3)Buck-Boost 电路——降压或升压斩波器,其输出平均电压 U0 大于或小于输入电压 Ui,极性相反,电感传输。 (4)Cuk 电路——降压或升 压斩波器,其输出平均电压 U0 大于或小于输入电压 Ui,极性相反,电容传输。 还有 Sepic、Zeta 电路。 在本电路中输入始终大于输出,所以采用脉宽调制方式的 BUCK 变换器, BUCK 变换器又称降压变换器、串联开关稳压电源、三端开关型降压稳压器。其 电路如图 5 所示,PWM 脉宽调制信号有单片机提供,控制开关管的通断。    图 5 BUCK 变换器电路

    2.8 电压电流的 A/D 采集 以逐次逼近原理进行模—数转换的器件。 ADC0809 是采样分辨率为 8 位的、 其内部有一个 8 通道多路开关,它可以根据地址码锁存译码后的信号,只选通 8 路模拟输入信号中的一个进行 A/D 转换。 (1)ADC0809 的内部逻辑结构

    图 6 ADC0809 内部结构及管脚图

    ADC0809 由一个 8 路模拟开关、一个地址锁存与译码器、一个 A/D 转换器

page 15

    10

    和一个三态输出锁存器组成。多路开关可选通 8 个模拟通道,允许 8 路模拟量分 时输入,共用 A/D 转换器进行转换。三态输出锁器用于锁存 A/D 转换完的数字 量,当 OE 端为高电平时,才可以从三态输出锁存器取走转换完的数据。 (2)引脚结构 IN0-IN7:8 条模拟量输入通道 ADC0809 对输入模拟量要求:信号单极性,电压范围是 0-5V,若信号太 小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化 太快,则需在输入前增加采样保持电路。 地址输入和控制线:4 条 ALE 为地址锁存允许输入线,高电平有效。当 ALE 线为高电平时,地址锁 存与译码器将 A,B,C 三条地址线的地址信号进行锁存,经译码后被选中的通 道的模拟量进转换器进行转换。A,B 和 C 为地址输入线,用于选通 IN0-IN7 上的一路模拟量输入。通道选择表 1 所示。

    表 1 CBA 通道选择表 C BA 000 001 010 011 100 101 110 111 选择的通道 IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7

    数字量输出及控制线:11 条 ST 为转换启动信号。当 ST 上跳沿时,所有内部寄存器清零;下跳沿时,开 始进行 A/D 转换;在转换期间,ST 应保持低电平。EOC 为转换结束信号。当 EOC 为高电平时,表明转换结束;否则,表明正在进行 A/D 转换。OE 为输出允 许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。OE=1,输出 转换得到的数据;OE=0,输出数据线呈高阻状态。D7-D0 为数字量输出线。 CLK 为时钟输入信号线。因 ADC0809 的内部没有时钟电路,所需时钟信号 必须由外界提供,通常使用频率为 500KHZ,VREF(+) ,VREF(-)为参考 电压输入。 本设计中用单片机的 P0 口接收来自 0809 的换数据,P2.0、P2.1、P2.2 依次    11

    接在 0809 的 A、B、C 地址线,P2.3 接在 0809 的 ALE 端,P2.4 接 START,P2.5 接 OE 端,时钟信号由单片机的 ALE 端经 74HC74 触发器二分频后提供,单片 机采用 12MHz 晶振, ALE 端经二分频后为 500KHz。 ADC0809 具体工作过程为: 首先 P2.0、P2.1、P2.3 输入 3 位地址,并使 P2.3 输出高电平,将地址存入地址 锁存器中。此地址经译码选通 8 路模拟输入之一到比较器。START 上升沿将逐 次逼近寄存器复位。下降沿启动 A/D 转换,之后 EOC 输出信号变低,指示转 换正在进行。直到 A/D 转换完成,EOC 变为高电平,指示 A/D 转换结束, 结果数据已存入锁存器,这个信号可用作中断申请,而触发单片机动作准备接收 数据,这是使 P2.5 输出高电平,输出三态门打开,转换结果的数字量输出到数 据总线上,单片机读取 P0 口然后做下一步处理操作。 2.9 MAX471 介绍及工作原理 MAX471 是美国 MAXIM 公司生产的双向、精密电流传感放大器。MAX471 内置 35mΩ精密传感电阻,可测量电流的上下限为 3A。对于允许较大电流的场 合,则可选用 MAX472。在这种情况下,用户可根据自己的需要配置外接的传感 电阻与增益电阻。MAX471/MAX472 都可通过一个输出电阻将电流输出转化为 对地电压输出。

    图 7 MAX471 典型应用电路

    MAX471 所需的供电电压 Vbr/Vcc 为 3~36V,所能跟踪的电流的变化频率 可达到 130kHz,采用 8 脚封装,其典型应用电路如图七所示。 MAX471 各引脚功能说明如下:SHDN 为关闭信号,正常操作时接地;当它 为高电平时,供电电流小于 5μA。RS+为内传感电阻的电源端。GND 为地端或 电源负端。SIGN 为集电极开路逻辑输出,SIGN 为低电平表示电流由 RS-流向 RS+。RS-为内传感电阻的负载端。OUT 为电流输出端,该电流的大小正比于

    12

    流过传感电阻的电流。 在本设计中,电阻 R4 采用 20K/0.6W 精密电阻,在输出最大 500mA 时 Uo 不超过 5V,输出电压便于 ADC0809 采集并作数字化处理。    3 汇编源程序的设计实现

    3.1 系统整体程序框架 本设计整体工作主要由单片机程序控制实现,其工作过程为:电路启动初始 化,电路功能选择,输出选择并确定输出,单片机采集计算输出 PWM 信号,定 时采集数据并处理调节 PWM 信号占空比等,程序整体框架如图 8 所示。

    开始

page 16

    初始化

    Yes 电池充电

    No

    充电子程序

    电源子程序

    结束

    图 8 程序整体框架流程

    3.2 电路启动初始化 初始化是为单片机的运行设置初始的运行环境, 主要完成以下工作: 清片内, 每次单片机加电时,都将引起单片机的上电复位操作。复位操作完成以后,单片 机的寄存器会被置以不同的值,这些值中有相当一部分是未知的值。这些未知的

    13

    值在单片机复位完成,正式运行以后,会产生无法让程序设计人员掌握的后果, 甚至会造成系统的损坏。 因此, 在单片机运行后, 首先清 0 使之置初始参数设定, 便于程序设计人员掌握,以利系统的工作。设置系统运行所需的各个参数,设置 定时器和中断设定。图 9 为初始化程序流程。

    开始

    清片内 RAM

    初始参数设定

    AD 设定

    定时器设定

    中断设定

    返回

    图 9 初始化程序流程

    3.3 按键采集程序 键盘子程序用于探测开关、是否处在有效的开关状态,以决定是否启动系统 运转。读线、读取、相连的端口,并将其值判断处理后存于相关缓存中。其中读 取端口后要做一定的延时以排除键抖引起的误动作。图 10 为按键子程序结构流

    14

    程图。

    入口

    读 I/O 口

    N 延时 Y

    处理后存入缓存

    返回

    图 10 按键子程序结构流程图

    3.4 数码管显示子程序 开机时,初始化数码管,通过串口将“0”的字形码输出使数码管显示“O” 。 然后判断 P1 口是否有键按下,如果没键按下继续判断。 显示子程序首先初始化串口,使串口工作在方式 0,再读取显示缓冲区内的 数据(显示缓冲区主要是用来存放即将要显示的数据),然后通过查表的方式找到 对应的字形码,最后把字形码写入串口寄存器 SBUF 通过串口方式 0 发送出去。 当 8 个时钟脉冲后,字形码都移至 74Ls164 的 Q0-Q7,数码管就显示相应按键的 编码。 显示子程序是怎么将显示缓冲区中的数据变成相应的字形码呢?具体的方法 是将每个数字的字形码以 16 进制数从小到大的次序依次存放在存储器中的固定 区域中,构成显示代码表。当要显示某字符时,把表格的起始地址送入数据指针 寄存器 DPTR 中作为基址,将显示缓冲区内的数据作为偏移量送入变址寄存器 A,执行查表指令“MOVCA,@A+DPTR” ,则累加器 A 中得到的结果即表格中 取出的对应数字的字形码。 对于电路中的 74LS164 共阴极数码管数据位和字形的对应关系如下表。 由于单片机在以方式 0 串行发送数据的时候数据从 RXD 引脚从低位到高位 依次输出,而最先输出的数据经过 74LS164 串转并后到达 Q7,也就是说单片机

    15

    内的 DO 通过串口发送并经过 74LS164 后到达 74LS164 的 Q7 脚即数码管的 

page 17

A 脚,因此在单片机内字型码与 74LS164 所对应的字型码正好相反,所以共阳极 数码管在单片机内 O-9 所对应的字型码分别是: 01H,4FH,12H,06H,4CH,24H,20H,0FH.00H,04H。 3.5 数据采集及模数转换程序 数据采集主要由单片机控制 ADC0809 完成,程序分为数据初始化,发送启 动转换命令,等待转换结束,接收数据,处理并存入缓存,程序流程如图 11 所 示。

    入口

    初始化

    启动转换

    N 转换结束? Y

    处理存储

    返回

    图 11 数据采集子程序结构流程图

    16

    3.6 充电子程序的设计 充电过程分两阶段进行,第一阶段为恒流充电,充电电流可设定,当充电电 压达到 4V 时转入第二阶段,即 4.2V 的恒压充电方式,恒压充电电流会随着时 间的推移而逐渐降低,待充电电流降到 0.1mA 时,表明电池已充到额定容量的 93%~95%,此时即可认为基本充满,如果继续充下去,充电电流会慢慢降低到 零,电池完全充满 。充电过程中, “充电”指示灯亮;充满时, “充饱”指示灯 亮, “充电”指示灯灭,通过按键设置可控制充电时间。充电子程序流程图如图 12 所示。

    [4]

    入口

    采集电压电流

    N 电压>4V?

    Y

    Y 电流<0.1mA?

    恒压充电

    N 恒流充电 充电结束

    返回

    图 12 充电子程序结构流程图

    17

    3.7 电源子程序的设计 本太阳能手机充电器与传统充电器相比, 最大的优点就是不仅能直接给电池 充电,还能作为普通的直流电源使用,其中的 5V 直流输出也可以直接给手机充 电,或作为 MP3 等其他小电子设备的供电电源。其输出电压 0 到 5V 可调,数 字显示,并有完善的过流保护功能,从而确保电子产品的安全使用。充电子程序 流程图如图 13 所示。

    入口

    采集电压电流

    N 过电流

    Y

    小 输出电压判断

    大

    关断输出

    相等 增大占空比 跳过 减小占空比

    返回

    图 13 电源子程序结构流程图

    18

    结束语

    本手机充电器系统的设计分为硬件电路设计和程序设计两个部分, 硬件电路 设计属于前期的主要工作,通过方案论证与可行性分析,最终确定由 89C51 单 片机完成主电路的控制与设计,并展开外围电路与控制硬件电路设计,硬件电路 的设计主要是电路原理图的绘制以及参数的确定。 在硬件电路设计上遇到一些问 题,关于 DC/

page 18

DC 转换的 PWM 脉宽调制信号的产生问题,经过反复分析论证, 最后确定用单片机通过编程来实现,这样将大大降低硬件的成本。 软件的设计采用模块化的程序设计方法,分为主程序部分、按键采集模块、 数码管显示模块、AD 转换采集模块以 PWM 脉宽信号产生模块等。程序的设计 既参考了一些资料里的内容,也有相当多的自我设计,比如说 PWM 脉宽调制信 号产生程序,就是参考了网友提供的标志位加定时器实现的方法,但主程序中有 关数据处理计算的则是自己设计,因为这些东西涉及到具体硬件电路,是找不到 相关资料的,在数据处理中有简单的单字节算法,也有双字节的,有的则采用巧 妙的算法有效避免出现双字节,从而使程序设计变得简单。 对于本设计,如果进行进一步的的研究,我认为应该在以下几个方面重点考 虑: (1)考虑显示模块改用液晶显示,这样可以减小电流损耗,还可显示汉字, 使显示更加丰富人性化。但在总的造价有所增加; (2)PWM 产生由独立芯片完 成,这样可减轻单片机的负担,使其有时间做其它人性化的服务,并可提高电路 输出精度; (3)电路设计中尽可能的使用较少的按键,使六个按键减为四个,这 需要通过程序来实现;    致谢

    经过几个月的努力,在指导老师的帮助下,终于完成了多用太阳能手机充电 器的设计和调试。从确定设计题目的那天开始,指导老师就开始不断地给我提供 帮助,从最初的方案确定,到元器件的选择,电路的修改和调试,程序的编写和 修改,以及论文的制作等等,很多都是涉及到细节的问题;正是由于指导老师无 私帮助,我才得以完成设计,指导老师自己也是很忙的,他带有很多实验课,每 次与指导老师见面几乎都是在实验室,可想而知指导老师对我的关心,在做毕业 设计的同时也是一个学习和成长的过程, 虽然设计中很多东西都是指导老师以前 做过的, 但是指导老师几乎每次都对我说: 先自己慢慢做, 有什么问题再来问我, 正是由于指导老师严谨的科学态度, 才使我从最初接触这个课题时的迷茫变为现 在豁然开朗,期间指导老师不断提供的帮助和鼓励是很重要的,特别要提及的是 关于充电器的应用问题, 要是没有指导老师提供的指导和建议是根本不可能完成 的。在此,对指导老师的帮助表示感谢!

    19

    参考文献

    [1] 蒋鸿飞,胡淑婷. .绿色能源——太阳能充电器[J]. 上海应用技术学院学报(自然科学版), 2007,(2):147-149 [2] 蔡朝洋. 单片机控制实习与专题制作[M]. .北京:北京航空航天大学出版社,2006 年 11 月 [3] 李朝青. 单片机原理及接口技术[M]. 北京航空航天大学出版社,2005,(05) [4] 张伯文. 简易镍镉电池定时恒流充电器[J]. 电池,1997,(6) [5] 康华光. 电子技术基础 (模拟部分) [M]. 北京:高等教育出版社, 2000 [6] 张红梅,尹云华. 太阳能电池的研究现状与发展趋势[J]. 水电能源科学,2008,26(6): 193-197 [7] 滨川圭弘. 太阳能光伏电池及其应用[M]. 北京:科学出版社, 2008 [8] 沈德金等. 接口电路与实用程序实例[M].北京大学出版社, 2003 年 [9] 张军军, 孙佩石, 梁海涛. 智能化小区 LED 路灯光伏充电器的设计[J]. 电源技术,2007, 31(2):157-159 [10] 陈维, 沈辉, 王东海等. 太阳能半导体照明驱动技术研究[J]. 照明工程学报, 2005, 16(3): 7-10 [11] 徐大诚,邹丽新,丁建强. 微型计算机控制技术及应用[M].高等教育出版社,2003 年 [12] 肖鹏,陈国呈,吴春华等. 一种新型光伏独立发电系统拓扑及控制策略[J]. 上海大学学 报(自然科学版),2008,14(6):633-636 [13] 周林, 武剑, 栗秋华等. 光伏阵列最大功率点跟踪控制方法综述[J]. 高电压技术, 2008, 34(6):1145-1154

    20

    Q1 2N5366 R5 30K R11 12.9K SHGN GND 4.2V Q2 2N5551 5 4 R7 6.2K 89C51 U3 IN-0 IN-1 IN-2 IN-3 IN-4 EOC IN-5 ADD-A ADD-B ADD-C IN-6 IN-7 ALE ref(-) ref(+) 16 R11 330 12 D5 LED ENABLE START CLOCK ADC0809 5 4 3 47u R9 20K 2 1 28 27 26 5V SIGN OUT 3 6 15 10 RS+ RS+ RSRS2 7 L U4 MAX471 Vo    Vi

    U1 7805 LED SS+ ENT

    R4

page 19

    GND

    Vin

    7805

    Vout

    390

    (5V)

    附录 1 主电路原理图

    C1 500u/50V

    R1

    R2 R3

    R12

    R13 R6 10K 25 24 23 22 9 6 10 10 11 30 29 7 13 12 INT1 INT0 T1 T0 EA/VP X1 X2 RESET RD WR 3 15 14 31 19 18 9 17 16 RXD TXD ALE/P PSEN

    5.6K 1 2 3 4 5 6 7 8 P10 P11 P12 P13 P14 P15 P16 P17 C7 4.3K R10 D4 R8 3.1K P07 P06 P05 P04 P03 P02 P01 P00 32 33 34 35 36 37 38 39 msb2-1 2-2 2-3 2-4 2-5 2-6 2-7 lsb2-8 21 20 19 18 8 15 14 17

    C3 103

    C2 47u/10V 10u C6

    C4

    R10 10K

    30P

    RES

    12M C5

    P20 P21 P22 P23 P24 P25 P26 P27

    21 22 23 24 25 26 27 28

    30P

    R1 10k 6

    DPY a

    U6 com 1 2 A B 5 3

    f g d dp c e b a b c d e

    D CLK

    S

    u5 数 数 数

    Q

    U4A 1

    Q3 2SC9013

    5V MR 74HC164 D2 8 D3 com 9

    CLK

    f g dp

    R

    8

    Q 4

    2 74HC74

    Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7

    3 4 4 5 5 7 6 9 10 10 11 2 12 1 13 6

    D1

    21

    附录 2 汇编源程序

    ORG LJMP ORG LJMP 输出 ORG LJMP 出 LED 显示缓冲 PWMF BIT 00H 志位 PWM1H PWM1L PWM2H PWM2L 期缓存 TESTL EQU TESTV EQU 压检测缓冲 TESTI EQU 电流检测缓冲 PWMT EQU ;PWM波周期 OUT ORG BIT 02H 0100H ;功能选择 ;功能选择 TVI BIT 03H 7BH 7AH ;输出 78H 79H ;输出电 EQU EQU EQU EQU 77H 71H 72H 73H 74H ;

page 20

检测周 ;PWM输出标 EQU 70H ;数码管 001BH TESTOUT ;检测输 0000H MAIN 000BH PWML ;PWM波

    CLR TESTV MOV PWMT,#200 期设为50us MOV TESTH,#0FEH MOV TESTL,#0CH LCALL DISPLAY LJMP KEYWORK START:LCALL TESTIN MOV A,TESTV MOV B,#33H DIV AB JNZ NEXT MOV A,#01H NEXT: MOV B,#04H MUL AB 出实际输入电压 MOV B,A JNB OUT,NEXT2 NEXT1:MOV A,PWMT DIV AB MOV B,LED MUL AB 平周期 MOV R1,A MOV A,#0FFH CLR C SUBB A,R1 INC A MOV PWM2L,A MOV PWM2H,#0FFH MOV A,PWMT CLR C SUBB A,R1 平周期 MOV R1,A ;A中为高电 ;A中为低电 ;乘以比例得 ;PWM周

    ;PWM高电平缓冲

    ;PWM低电平缓冲 TESTH EQU

    MAIN: MOV A,#00H MOV LED,A MOV P1,#07FH

    22

    MOV A,#0FFH CLR C SUBB A,R1 INC A MOV PWM1L,A MOV PWM1H,#0FFH CLR P2.0 CLR P2.1 CLR P2.2 MOV IE,#8AH 中断 MOV TMOD,#11H 定时,开始输出 MOV TH1,PWM2H MOV TL1,PWM2L MOV TH0,TESTH MOV TL0,TESTL SETB TR0 SETB TR1 LJMP ED NEXT2:MOV A,PWMT MOV B,#04H DIV AB 期 MOV R1,A MOV A,#0FFH CLR C SUBB A,R1 INC A MOV PWM2L,A MOV PWM2H,#0FFH MOV A,PWMT CLR C SUBB A,R1 平周期 ;A中为高电 ;A中为低电平周 ;T1赋值 ;TO赋值 ;T模式1, ;CPU开

    MOV R1,A MOV A,#0FFH CLR C SUBB A,R1 INC A MOV PWM1L,A MOV PWM1H,#0FFH MOV IE,#8BH 中断 MOV TMOD,#11H 定时,开始输出 MOV TH1,PWM2H MOV TL1,PWM2L MOV TH0,TESTH MOV TL0,TESTL SETB TR0 SETB TR1 ED: AJMP ED PROTECT: CLR P1.7 LJMP ED PWML: JB PWMF,PWMH ;PWM输出未完成返回 CLR TR0 MOV TH0,PWM2H MOV TL0,PWM2L SETB TR0 SETB PWMF CLR P1.7 出低电平 RETI PWMH: SETB P1.7 CLR TR0

    23

    ;CPU开 ;T模式1, ;TO赋值 ;T1赋值

    ;PWM输

    MOV TH0,PWM1H MOV TL0,PWM1L SETB TR0 出高电平 CLR PWMF RETI TESTIN: SETB P2.0 CLR P2.1 CLR P2.2 LCALL TEST RET TESTOUT: CLR TR1 JNB TVI,STCBA TEST1:LCALL TEST LCALL TEST JNB OUT,TEST2 MOV A,TESTI INC A JZ PROTECT MOV DPTR,#OTVTAB MOV A,LED MOVC A,@A+DPTR CLR C CJNE A,TESTV,DADA LJMP RETURN DADA: JC XIAO MOV A,PWM2L ADD A,#01H MOV PWM2L,A MOV A,PWM1L SUBB A,#01H MOV PWM1L,A

    24

    LJMP RETURN XIAO: CLR C ;PWM输 MOV A,PWM2L SUBB A,#01H MOV PWM2L,A MOV A,PWM1L ADD A,#01H JNZ RETURN MOV PWM1L,A RETURN: MOV TH1,TESTH MOV TL1,TESTL SETB TR1 RETI TEST2:MOV A,#44H CJNE A,TESTV,DXID LJMP RETURN DXID: JC DXIX MOV DPTR,#OTITAB MOV A,LED MOVC A,@A+DPTR JNB OUT,TEST2 CJNE A,TESTI,DADA 恒流充电 LJMP RETURN DXIX: MOV A,#47H CLR C CJNE A,TESTV,DADA 恒压充电 LJMP RETURN STCBA:CLR P2.0 SETB P2.1 CLR P2.2 LJMP TEST1 TEST: CLR P2.5 ;A/D ; ;

    转换子程序 SETB P2.3 CLR P2.3 SETB P2.4 CLR P2.4 JNB P2.7,¥ SETB P2.5 JNB TVI,MOVI MOVV: MOV TESTV,P0 SETB TVI CLR P2.5 MOV P0,#0FFH RET MOVI: MOV TESTI,P0 CLR TVI CLR P2.5 MOV P0,#0FFH RET KEYWORK: JNB P1.4,KEY42 JNB P1.5,KEY05 JNB P1.2,KEYOK LJMP KEYWORK KEYWK1: JNB P1.0,KEY0 JNB P1.1,KEY1 JNB P1.2,KEYOK1 LJMP KEYWK1 KEY42:LCALL DL10MS JB P1.4,KEYWORK CLR OUT LJMP KEYWK1 KEY05:LCALL DL10MS JB P1.5,KEYWORK

    SETB OUT LJMP KEYWK1 KEY0: LCALL DL10MS JB P1.0,KEYWK1 MOV A,LED JZ KEYWK1 DEC A MOV LED,A LCALL DISPLAY LJMP KEYWK1 KEY1: LCALL DL10MS JB P1.1,KEYWK1 MOV A,LED CJNE A,#05H,KEY11 LJMP KEYWK1 KEY11:INC A MOV LED,A LCALL DISPLAY LJMP KEYWK1 KEYOK:LCALL DL10MS JB P1.2,KEYWORK MOV A,LED JZ KEYWORK LJMP KEYWK1 KEYOK1:LCALL DL10MS JB P1.2,KEYWK1 MOV A,LED JZ KEYWK1 LJM

page 21

P START DL10MS: MOV R5,#07H DL0: DL1: DL2: MOV R6,#0D0H MOV R7,#19H DJNZ R7,DL2

    25

    DJNZ R6,DL1 DJNZ R5,DL0 RET DISPLAY: MOV DPTR,#LEDTAB MOV A,LED MOVC A,@A+DPTR MOV SBUF,A RET LEDTAB: 00H,04H OTVTAB: DB 00H,11H,22H,33H,44H,55H,66H,77H,8 8H,99H OTITAB: DB 00H,33H,66H,99H,0CCH,0FFH END DB 01H,4FH,12H,06H,4CH,24H,20H,0FH,

    26

    1本文由小夜影贡献

    doc文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。

    目 录

    1 绪论…………………………………………………………………………………1 1.1 本课题的研究背景…………………………………………………………1 1.2 硅太阳能电池及参数………………………………………………………1 1.3 本课题研究的主要内容……………………………………………………1 2 太阳能手机充电器硬件设计……………………………………………………2 2.1 系统总体设计方案…………………………………………………………2 2.2 太阳能电池板的选用……………………………………………………3 2.3 LM7805 应用………………………………………………………………3 2.4 单片机电路…………………………………………………………………4 2.5 按键指示电路及实现……………………………………………………4 2.6 数码管显示电路…………………………………………………………5 2.7 BUCK 斩波电路……………………………………………………………6 2.8 电压电流的 A/D 采集……………………………………………………7 2.9 MAX471 介绍及工作原理…………………………………………………9 3 汇编源程序的设计实现…………………………………………………………10 3.1 系统整体程序框架………………………………………………………10 3.2 电路启动初始化…………………………………………………………10 3.3 按键采集程序……………………………………………………………11 3.4 数码管显示子程序………………………………………………………12 3.5 数据采集及模数转换程序………………………………………………13 3.6 充电子程序的设计………………………………………………………14 3.7 电源子程序的设计………………………………………………………15 结束语………………………………………………………………………………16 致谢…………………………………………………………………………………16 参考文献……………………………………………………………………………17 附录 1 主电路原理图………………………………………………………………18 附录 2 汇编源程序…………………………………………………………………19

    1

    摘 要

    化石能源的日益枯竭、人们对环境保护问题的重视程度也在不断提高,寻找 洁净的替代能源问题变得越来越迫切。 太阳能作为一种可再生能源它具有取之不 尽、用之不竭和清洁安全等特点,因此有着广阔的应用前景,光伏发电技术也越 来越受到人们的关注,随着光伏组件价格的不断降低和光伏技术的发展,太阳能 光伏发电系统将逐渐由现在的补充能源向替代能源过渡。 使用手机的人都有过这样的经历,外出或旅游时电池突然没电了,因不能及 时找到或没有 220V 市电而无法给手机充电,影响了手机的正常使用。为了解决 这一问题,本课程设计介绍一种多用太阳能手机充电器,利用单片机控制,将太 阳能经过电路变换为稳定直流电给手机充电, 并能在电池充电完成后自动停止充 电,还可作为一般直流电源使用,从而摆脱对市电的依赖而获得通信的自由。与 常规的充电器相比,太阳能充电器有着明显的优势。 关键词: 关键词:太阳能,电池,单片机,智能,BUCK 变换器

    2

    Multi-purpose solar mobile charger

page 22

    Abstract Increasing depletion of fossil energy, it's emphasis on environmental protection are also rising, look for clean alternative energy issues become more urgent. Solar energy as a renewable energy it has an inexhaustible and clean and safe and so on, so have a broad application prospects, photovoltaic power generation technology is more and more attention, with the PV module continue to lower prices and photovoltaic technology, solar PV systems will gradually supplement the energy from the current transition to alternative energy. People who use mobile phones have had the experience, go out or travel no electricity when the battery suddenly, and because they can not be found or does not timely 220V electricity and not to charge their cell phones affect the normal use of mobile phones. To solve this problem, the course design introduces a multi-purpose solar charger, use MCU control, will transform solar energy through the circuit to stabilize the direct current to charge their cell phones and can charge the battery automatically stops charging after, but also as a general DC power use, so get rid of dependence on electricity obtained the freedom of communication. Compared with the conventional charger, solar charger has a clear advantage. Key words: solar energy, battery, single chip, intelligent, BUCK converter

    3

    1 绪论

    1.1 本课题的研究背景 当电力、煤炭、石油等不可再生能源频频告急,能源问题日益成为制 约国际社会经济发展的瓶颈时,越来越多的国家开始实行“阳光计划”, 开发太阳能资源,寻求经济发展的新动力。 太阳能电池是利用太阳光和材料相互作用直接产生电能,不需要消耗 燃料和水等物质,使用中不释放包括二氧化碳在内的任何气体,是对环境 无污染的可再生能源。这对改善生态环境、缓解温室气体的有害 hk 作用具 有重大意义。 目前,太阳能电池的应用已从军事领域、航天领域进入工业、商业、 农业、通信、家用电器以及公用设施等部门,尤其可以分散地在边远地区、 高山、沙漠、海岛和农村使用,以节省造价很贵的输电线路。但是,从长 远来看,随着太阳能电池制造技术的改进以及新的光—电转换装置的发明, 各国对环境的保护和对再生清洁能源的巨大需求,太阳能电池仍将是利用 太阳辐射能比较切实可行的方法,可为人类未来大规模地利用太阳能开辟 广阔的前景。 1.2 硅太阳能电池及参数 硅太阳能电池及参数 硅太阳能电池分为单晶硅太阳能电池、 多晶硅薄膜太阳能电池和非晶硅薄膜 太阳能电池三种。单晶硅太阳能电池转换效率最高,技术也最为成熟。在实验室 里最高的转换效率为 24.7%,规模生产时的效率为 15%。多晶硅薄膜太阳能电池 与单晶硅比较,成本低廉,而效率高于非晶硅薄膜电池,其实验室最高转换效率 为 18%,工业规模生产的转换效率为 10%。 非晶硅薄膜太阳能电池成本低重量轻, 转换效率较高,便于大规模生产,有极大的潜力。但受制于其材料引发的光电效 率衰退效应,稳定性不高,直接影响了它的实际应用。 硅太阳能电池片常用的为单晶 125 大倒角,其尺寸为 125mm*125mm,对角 线 150mm,功率 Pmax2.60W,工作电压 Vm0.523V,工作电流 Im4.934A,开路 电压 Voc0.629V,短路电流 Isc5.285A。太阳能电池可根据电压大小需要,由不 同数量的太阳能电池片组成,其转换效率受光照、温度、太阳电池晶体类型及制 造工艺等影响,2010 年中国平均效率为 17.2%。常见的太阳能电池电压有 3V、 6V、9V、12V、18V、32V、48V 等,更大的用于太阳能电厂发电项目。 1.3 本课题研究的主要内容 本充电器通过太阳能电池板将太阳能转化为电能,经过 DC/DC 变换电路处 理后,由充电电路为负载供电。锂电池一般不宜采用全过程恒流充电方式,而是

    4

    采取开始恒流快速充电, 待电池电压上升到设定值时, 自动转入恒压充电的方式, 并且这样有利于保存电池容量。充电过程中采用 LED 灯、数码管指示,系统中 设计有完备的过流过压保护,避免因电池过度充电而损坏,并且充电器采用模块 式结构和 USB 接口,可对手机、MP3、摄像机等多种数码产品充电。 文中介绍设计的太

page 23

阳能手机充电器,与普通的手机充电器相比,它的的特殊 之处除了能源的供应来自太阳能电池板外,充分利用单片机的智能性,设有完备 的电压电流检测保护电路,并通过显示电路显示电路状态,通过功能键可以灵活 的选择电路输出,为不同的电子产品提供电源。把太阳能电池板放在一个有阳光 的地方,即可以为手机提供一个方便的太阳能充电点。这种便捷的太阳能充电器 几乎可以在任何地方补充电力,从而获得通信的自有。

    2 太阳能手机充电器硬件设计

    2.1 系统总体设计方案 系统总体设计方案 总体

    DC/DC 变换 太 阳 能 电 池 板

    按 键

    AT89C51

    显示电路

    手 机 电 池

    ADC0809

    图 1 系统总体设计方案

    太阳能电池在使用时由于太阳光的变化较大,其内阻又比较高,因此输出电 压不稳定,输出电流较小,这就需要用充电控制电路将电池板输出的直流电压变 换后供给电池充电。当光线条件适宜时,通过太阳能电池板吸收太阳光,将光能 转换为电能。由于充电器多采用大电流的快速充电法,在电池充满后如果不及时 停止会使电池发烫,过度的充电会严重损害电池的寿命。这就需要一个复杂的控 制系统,51 系列单片机时当前使用最为广泛的 8 位单片机系列,其丰富的开发 资源和较低的开发成本,是 51 系列单片机现在以至将来都会有强大的生命力。 本系统将采用 89C51 做为充电电路的控制器,从而以较低的成本轻松实现复杂 的充电智能控制,同时也可以为其他小型电子产品提供洁净的直流电源。本系统 总体设计方案如图 1 所示,通过太阳能电池板将太阳能转换为电能,由单片机编

    5

    程实现 PWM 波控制开关管从而实现输出电压电流的改变, 通过显示电路显示输 出状态及大小,由 ADC0809 实现数据的采集及转换并传给单片机做判断处理, 从而实现电路的智能输出与控制。 2.2 太阳能电池板的选用 太阳能电池板是太阳能供电系统工作的基础,是该充电器的核心部分,其功 能是将太阳光的辐射能量转化为电能,如今的便携式数码设备种类较多,所需电 压电流不等,对于输入功率较大的设备,必须采用面积较大的电池板,而这又给 携带带来不便。因此该设计采用模块式组合,根据不同充电负载的需要,将太阳 能板进行组合以达到具有一定要求的输出功率和输出电压的一组光伏电池。 本文 以手机、MP3 等常用小功率用电设备为例,说明其太阳能充电器的设计过程。 所选用的太阳能电池板技术参数指标如下: 尺寸 120mm×45mm, 峰值电压 6V, 峰值电流 100mA, 标称功率 0.6W。 考虑被充电池的电流不同所需充电时间不等, 采用八块相同参数电池板进行串、并联,实测电池板的输出电压最大值为 10.8V, 电流最大可达 450mA,总标称功率为 5W 左右,实际输出可根据不同的被充电对 象进行平滑调整[7]。 2.3 LM7805 应用

    图 2 LM7805 典型应用电路

    单片机电源电路的设计以三端集成稳压器 LM7805 为核心, 它属于串联稳压 电路,其工作原理与分立元件的串联稳压电源相同。图 2 是三端稳压集成电路 LM7805 的典型应用电路,三端集成稳压器设置的启动电路,在稳压电源启动后 处于正常状态时,启动电路与稳压电源内部其他电路脱离联系,这样输入电压变 化不直接影响基准电路和恒流源电路,保持输出电压的稳定。电路中 Ci 的作用 是消除输入连线较长时其电感效应引起的自激振荡,减小纹波电压,取值范围在

    6

    0.1μF~1μF 之间,本文 Ci 选用 0.33μF;在输出端接电容 Co 是用于消除电路 高频噪声,改善负载的瞬态响应,一般取 0.1μF 左右,本文 Co 即选用 0.1μF。 一般电容的耐压应高于电源的输入电压和输出电压。另外,为避免输入端断开时 Co 从稳压器输出端向稳压器放电,造成稳压器的损坏,在稳压器的输入端和输 出端之间跨接一个二极管,对 LM7805 起保护作用。 LM7805 输入电压为 8V 到 36V, 最

page 24

大工作电流 1.5A, 具有输入电压范围宽, 工作电流大,输出精度高且工作及其稳定,外围电路简单等特点,太阳能电池电 压即使有较大的波动,也能稳定的输出 5V 电压,从而是单片机等控制电路正常 工作,且成本低。 2.4 单片机电路 单片机电路 本系统单片机主要完成的任务是控制数据的采集过程, 并将采集到的数据经 过分析处理后生成 PWM 脉宽调制信号控制开关管的导通与关断, 从而控制输出 大小。具体工作过程是上电复位,首先查询键盘,确定充电器功能,确定后继续 查询键盘以确定输出电流大小,或作为普通电源的输出电压,然后转入相应子程 序并分析计算 PWM 占空比, 开始输出电流或电压, 并将数据送至显示电路显示。 在输出过程中通过单片机定时器定时检测输出电流或电压, 与设定值比较后调节 PWM 占空比,使输出趋于设定值。在电池充电过程中,通过检测电流大小而确 定电池充电多少,从而改变充电方式或决定是否停止充电[4]。 通过单片机编程实现了充电过程的智能控制,而且大大简化了硬件电路设 计,由于单片机良好的可重用性,如果需要改变电路工作状态或电路参数,只需 简单的修改程序即可实现,从而使电路的升级改造变得简单易行。 2.5 按键指示电路及实现 在单片机应用系统中,按键主要有两种形式:1、独立按键;2、矩阵编码键 盘。独立按键的每个按键都单独接到单片机的一个 I/O 口上,独立按键则通过判 断按键端口的电位即可识别按键操作; 而矩阵键盘通过行列交叉按键编码进行识 别。 通常所用的按键为轻触机械开关,正常情况下按键的接点是断开的,当我们 按压按钮时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地 接通,在断开时也不会一下子断开。因而机械触点在闭合及断开的瞬间均伴随有 一连串的抖动,抖动时间的长短由按键的机械特性及操作人员按键动作决定,一 般为 5ms~20ms; 按键稳定闭合时间的长短是由操作人员的按键按压时间长短决 定的,一般为零点几秒至数秒不等。 在本设计中由于按键不是太多,故采用独立按键法,这样可以减小编程的难

    7

    度,图 3 为本设计的按键接线图。

    图 3 按键接线图

    对电路总体考虑后,将 ADC0809 采集电路接在了单片机的 P0 口,并用 P2 口做采集控制,这样 P0 口仅用接收数据,不用发送数据,有 P0 口的硬件构成知 道,其做输出的话需接上拉电阻,做输入的不用接,这样整体上减少了电路的硬 件开支,而 P3 口要做串口传输等工作,所以在本电路中将按键接在 P1 口,其中 P1.0 是数字减键,P1.1 为数字加键,P1.2 键位确定键,P1.3 为过电流保护指示 灯,P1.4、P1.5 为输出功能选择键,按下 P1.4 代表给手机电池充电,按下 P1.5 则做普通直流电源使用,其中 5V 输出可直接用 USB 连接线给手机充电,电池 充电控制则有手机提供。 2.6 数码管显示电路 数码管显示电路 AT89C51 单片机内有一个串行 I/O 端口, 通过引脚 RXD 和 TXD 可与外部 电路进行全双工的串行异步通信, 发送数据时由 TXD 端送出, 接收时数据由 RXD 端输入。串口有四种工作方式,通过编程设置,可以使其工作在任一方式以满足 不同的场合。其中,方式 0 是 8 位移位寄存器输入/输出方式,多用与外接移位 寄存器以扩展 I/O 端口。串口的工作方式可以参看相关的书籍,此处不做详细 介绍。方式 0 的输出是 8 位串行数据,通过移位寄存器可将 8 位串行数据变成 8 位并行数据输出,也可以将外部的 8 位并行数据变成 8 位串行数据输入。因此外 接一个移位寄存器就可扩展一个 8 位的并行输入/输出接口, 如果想多扩展几个 并口就需要在外部级连几个移位寄存器。 本设计采用基于串口的 LED 数码管静态显示电路,在串口扩展中最常用的 就是基于串口的 LED 数码管显示电路。在单片机应用系统中,LED 数码管的显

    8

    示常用两种方法:静态显示和动态扫描显示。所谓静态显示,就是每一个显示器 都要占用单独的具有锁存功能的 I/O 接口用于笔划段字形代码。这样单片机只 要把要显示的字形代码发送到接口电路, 就不用管它了, 直到要显示新的数据时, 再发送新的字形码,因此,使用这种方法单片机中 CPU 的开销小。可以提供单 独锁存的 I/O 接口电路很多,常用的就是通过串口外接串并转换器 74LS164, 扩展并行的 I/O 口。需要几个数码管就扩展几个并行接口,数码管直接接在 74LS164 的输出脚上, 单片机通过串口将要显示数据的字形码逐一的串行移出至 74LS164 的输出脚上

page 25

数码管就可以显示相应的数字。

    图 4 数码管驱动电路

    单片机 AT89C51 的串口外接 1 片 74LS164 作为 LED 显示器的静态显示接口, 把 AT89C2051 的 RXD 作为数据输出线,TXD 作为移位时钟脉冲。Q0-Q7(第 3 —6 和 10—13 引脚)并行输出端分别接 LED 显示器的 DPA 各段对应的引脚上。 本设计设计采用的是共阳极数码管,因而各数码管的公共极接电源 VCC,本电 路有 LM7805 提供,并采用三只串联的二极管降压,而非电阻降压,这样保证个 数码段的亮度一致。要显示某字段则相应的移位寄存器 74LS164 的输出线必须 是低电平。当有按键按下时,有单片机处理编码后送到数码管上显示。 2.7 BUCK 斩波电路 DC/DC 变换器广泛应用于便携装置(如笔记本计算机、蜂窝电话、PDA 等) 中。它有两种类型,即线性变换器和开关变换器。开关变换器因具有效率高、灵 活的正负极性和升降压方式的特点,而备受人们的青睐[10]。 DC/DC 变换是将固定的直流电压变换成可变的直流电压,也称为直流斩波。 斩波器的工作方式有两种,一是脉宽调制方式 Ts 不变,改变 ton(通用),二是频

    9

    率调制(1)Buck 电路——降压斩波器,其输出平均电压 U0 小于输入电压 Ui, 极性相同。 (2)Boost 电路——升压斩波器,其输出平均电压 U0 大于输入电压 Ui,极性相同。 (3)Buck-Boost 电路——降压或升压斩波器,其输出平均电压 U0 大于或小于输入电压 Ui,极性相反,电感传输。 (4)Cuk 电路——降压或升 压斩波器,其输出平均电压 U0 大于或小于输入电压 Ui,极性相反,电容传输。 还有 Sepic、Zeta 电路。 在本电路中输入始终大于输出,所以采用脉宽调制方式的 BUCK 变换器, BUCK 变换器又称降压变换器、串联开关稳压电源、三端开关型降压稳压器。其 电路如图 5 所示,PWM 脉宽调制信号有单片机提供,控制开关管的通断。    图 5 BUCK 变换器电路

    2.8 电压电流的 A/D 采集 以逐次逼近原理进行模—数转换的器件。 ADC0809 是采样分辨率为 8 位的、 其内部有一个 8 通道多路开关,它可以根据地址码锁存译码后的信号,只选通 8 路模拟输入信号中的一个进行 A/D 转换。 (1)ADC0809 的内部逻辑结构

    图 6 ADC0809 内部结构及管脚图

    ADC0809 由一个 8 路模拟开关、一个地址锁存与译码器、一个 A/D 转换器    10

    和一个三态输出锁存器组成。多路开关可选通 8 个模拟通道,允许 8 路模拟量分 时输入,共用 A/D 转换器进行转换。三态输出锁器用于锁存 A/D 转换完的数字 量,当 OE 端为高电平时,才可以从三态输出锁存器取走转换完的数据。 (2)引脚结构 IN0-IN7:8 条模拟量输入通道 ADC0809 对输入模拟量要求:信号单极性,电压范围是 0-5V,若信号太 小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化 太快,则需在输入前增加采样保持电路。 地址输入和控制线:4 条 ALE 为地址锁存允许输入线,高电平有效。当 ALE 线为高电平时,地址锁 存与译码器将 A,B,C 三条地址线的地址信号进行锁存,经译码后被选中的通 道的模拟量进转换器进行转换。A,B 和 C 为地址输入线,用于选通 IN0-IN7 上的一路模拟量输入。通道选择表 1 所示。

    表 1 CBA 通道选择表 C BA 000 001 010 011 100 101 110 111 选择的通道 IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7

    数字量输出及控制线:11 条 ST 为转换启动信号。当 ST 上跳沿时,所有内部寄存器清零;下跳沿时,开 始进行 A/D 转换;在转换期间,ST 应保持低电平。EOC 为转换结束信号。当 EOC 为高电平时,表明转换结束;否则,表明正在进行 A/D 转换。OE 为输出允 许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。OE=1,输出 转换得到的数据;OE=0,输出数据线呈高阻状态。D7-D0 为数字量输出线。 CLK 为时钟输入信号线。因 ADC0809 的内部没有时钟电路,所需时钟信号 必须由外界提供,通常使用频率为 500KHZ,VREF(+) ,VREF(-)为参考 电压输入。 本设计中用单片机的 P0 口接收来自 0809 的换数据,P2.0、P2.1、P2.2 依次    11

page 26

    接在 0809 的 A、B、C 地址线,P2.3 接在 0809 的 ALE 端,P2.4 接 START,P2.5 接 OE 端,时钟信号由单片机的 ALE 端经 74HC74 触发器二分频后提供,单片 机采用 12MHz 晶振, ALE 端经二分频后为 500KHz。 ADC0809 具体工作过程为: 首先 P2.0、P2.1、P2.3 输入 3 位地址,并使 P2.3 输出高电平,将地址存入地址 锁存器中。此地址经译码选通 8 路模拟输入之一到比较器。START 上升沿将逐 次逼近寄存器复位。下降沿启动 A/D 转换,之后 EOC 输出信号变低,指示转 换正在进行。直到 A/D 转换完成,EOC 变为高电平,指示 A/D 转换结束, 结果数据已存入锁存器,这个信号可用作中断申请,而触发单片机动作准备接收 数据,这是使 P2.5 输出高电平,输出三态门打开,转换结果的数字量输出到数 据总线上,单片机读取 P0 口然后做下一步处理操作。 2.9 MAX471 介绍及工作原理 MAX471 是美国 MAXIM 公司生产的双向、精密电流传感放大器。MAX471 内置 35mΩ精密传感电阻,可测量电流的上下限为 3A。对于允许较大电流的场 合,则可选用 MAX472。在这种情况下,用户可根据自己的需要配置外接的传感 电阻与增益电阻。MAX471/MAX472 都可通过一个输出电阻将电流输出转化为 对地电压输出。

    图 7 MAX471 典型应用电路

    MAX471 所需的供电电压 Vbr/Vcc 为 3~36V,所能跟踪的电流的变化频率 可达到 130kHz,采用 8 脚封装,其典型应用电路如图七所示。 MAX471 各引脚功能说明如下:SHDN 为关闭信号,正常操作时接地;当它 为高电平时,供电电流小于 5μA。RS+为内传感电阻的电源端。GND 为地端或 电源负端。SIGN 为集电极开路逻辑输出,SIGN 为低电平表示电流由 RS-流向 RS+。RS-为内传感电阻的负载端。OUT 为电流输出端,该电流的大小正比于

    12

    流过传感电阻的电流。 在本设计中,电阻 R4 采用 20K/0.6W 精密电阻,在输出最大 500mA 时 Uo 不超过 5V,输出电压便于 ADC0809 采集并作数字化处理。    3 汇编源程序的设计实现

    3.1 系统整体程序框架 本设计整体工作主要由单片机程序控制实现,其工作过程为:电路启动初始 化,电路功能选择,输出选择并确定输出,单片机采集计算输出 PWM 信号,定 时采集数据并处理调节 PWM 信号占空比等,程序整体框架如图 8 所示。

    开始

    初始化

    Yes 电池充电

    No

    充电子程序

    电源子程序

    结束

    图 8 程序整体框架流程

    3.2 电路启动初始化 初始化是为单片机的运行设置初始的运行环境, 主要完成以下工作: 清片内, 每次单片机加电时,都将引起单片机的上电复位操作。复位操作完成以后,单片 机的寄存器会被置以不同的值,这些值中有相当一部分是未知的值。这些未知的

    13

    值在单片机复位完成,正式运行以后,会产生无法让程序设计人员掌握的后果, 甚至会造成系统的损坏。 因此, 在单片机运行后, 首先清 0 使之置初始参数设定, 便于程序设计人员掌握,以利系统的工作。设置系统运行所需的各个参数,设置 定时器和中断设定。图 9 为初始化程序流程。

    开始

    清片内 RAM

    初始参数设定

    AD 设定

    定时器设定

    中断设定

page 27

    返回

    图 9 初始化程序流程

    3.3 按键采集程序 键盘子程序用于探测开关、是否处在有效的开关状态,以决定是否启动系统 运转。读线、读取、相连的端口,并将其值判断处理后存于相关缓存中。其中读 取端口后要做一定的延时以排除键抖引起的误动作。图 10 为按键子程序结构流

    14

    程图。

    入口

    读 I/O 口

    N 延时 Y

    处理后存入缓存

    返回

    图 10 按键子程序结构流程图

    3.4 数码管显示子程序 开机时,初始化数码管,通过串口将“0”的字形码输出使数码管显示“O” 。 然后判断 P1 口是否有键按下,如果没键按下继续判断。 显示子程序首先初始化串口,使串口工作在方式 0,再读取显示缓冲区内的 数据(显示缓冲区主要是用来存放即将要显示的数据),然后通过查表的方式找到 对应的字形码,最后把字形码写入串口寄存器 SBUF 通过串口方式 0 发送出去。 当 8 个时钟脉冲后,字形码都移至 74Ls164 的 Q0-Q7,数码管就显示相应按键的 编码。 显示子程序是怎么将显示缓冲区中的数据变成相应的字形码呢?具体的方法 是将每个数字的字形码以 16 进制数从小到大的次序依次存放在存储器中的固定 区域中,构成显示代码表。当要显示某字符时,把表格的起始地址送入数据指针 寄存器 DPTR 中作为基址,将显示缓冲区内的数据作为偏移量送入变址寄存器 A,执行查表指令“MOVCA,@A+DPTR” ,则累加器 A 中得到的结果即表格中 取出的对应数字的字形码。 对于电路中的 74LS164 共阴极数码管数据位和字形的对应关系如下表。 由于单片机在以方式 0 串行发送数据的时候数据从 RXD 引脚从低位到高位 依次输出,而最先输出的数据经过 74LS164 串转并后到达 Q7,也就是说单片机

    15

    内的 DO 通过串口发送并经过 74LS164 后到达 74LS164 的 Q7 脚即数码管的 A 脚,因此在单片机内字型码与 74LS164 所对应的字型码正好相反,所以共阳极 数码管在单片机内 O-9 所对应的字型码分别是: 01H,4FH,12H,06H,4CH,24H,20H,0FH.00H,04H。 3.5 数据采集及模数转换程序 数据采集主要由单片机控制 ADC0809 完成,程序分为数据初始化,发送启 动转换命令,等待转换结束,接收数据,处理并存入缓存,程序流程如图 11 所 示。

    入口

    初始化

    启动转换

    N 转换结束? Y

    处理存储

    返回

    图 11 数据采集子程序结构流程图

    16

    3.6 充电子程序的设计 充电过程分两阶段进行,第一阶段为恒流充电,充电电流可设定,当充电电 压达到 4V 时转入第二阶段,即 4.2V 的恒压充电方式,恒压充电电流会随着时 间的推移而逐渐降低,待充电电流降到 0.1mA 时,表明电池已充到额定容量的 93%~95%,此时即可认为基本充满,如果继续充下去,充电电流会慢慢降低到 零,电池完全充满 。充电过程中, “充电”指示灯亮;充满时, “充饱”指示灯 亮, “充电”指示灯灭,通过按键设置可控制充电时间。充电子程序流程图如图 12 所示。

    [4]

    入口

page 28

    采集电压电流

    N 电压>4V?

    Y

    Y 电流<0.1mA?

    恒压充电

    N 恒流充电 充电结束

    返回

    图 12 充电子程序结构流程图

    17

    3.7 电源子程序的设计 本太阳能手机充电器与传统充电器相比, 最大的优点就是不仅能直接给电池 充电,还能作为普通的直流电源使用,其中的 5V 直流输出也可以直接给手机充 电,或作为 MP3 等其他小电子设备的供电电源。其输出电压 0 到 5V 可调,数 字显示,并有完善的过流保护功能,从而确保电子产品的安全使用。充电子程序 流程图如图 13 所示。

    入口

    采集电压电流

    N 过电流

    Y

    小 输出电压判断

    大

    关断输出

    相等 增大占空比 跳过 减小占空比

    返回

    图 13 电源子程序结构流程图

    18

    结束语

    本手机充电器系统的设计分为硬件电路设计和程序设计两个部分, 硬件电路 设计属于前期的主要工作,通过方案论证与可行性分析,最终确定由 89C51 单 片机完成主电路的控制与设计,并展开外围电路与控制硬件电路设计,硬件电路 的设计主要是电路原理图的绘制以及参数的确定。 在硬件电路设计上遇到一些问 题,关于 DC/DC 转换的 PWM 脉宽调制信号的产生问题,经过反复分析论证, 最后确定用单片机通过编程来实现,这样将大大降低硬件的成本。 软件的设计采用模块化的程序设计方法,分为主程序部分、按键采集模块、 数码管显示模块、AD 转换采集模块以 PWM 脉宽信号产生模块等。程序的设计 既参考了一些资料里的内容,也有相当多的自我设计,比如说 PWM 脉宽调制信 号产生程序,就是参考了网友提供的标志位加定时器实现的方法,但主程序中有 关数据处理计算的则是自己设计,因为这些东西涉及到具体硬件电路,是找不到 相关资料的,在数据处理中有简单的单字节算法,也有双字节的,有的则采用巧 妙的算法有效避免出现双字节,从而使程序设计变得简单。 对于本设计,如果进行进一步的的研究,我认为应该在以下几个方面重点考 虑: (1)考虑显示模块改用液晶显示,这样可以减小电流损耗,还可显示汉字, 使显示更加丰富人性化。但在总的造价有所增加; (2)PWM 产生由独立芯片完 成,这样可减轻单片机的负担,使其有时间做其它人性化的服务,并可提高电路 输出精度; (3)电路设计中尽可能的使用较少的按键,使六个按键减为四个,这 需要通过程序来实现;    致谢

    经过几个月的努力,在指导老师的帮助下,终于完成了多用太阳能手机充电 器的设计和调试。从确定设计题目的那天开始,指导老师就开始不断地给我提供 帮助,从最初的方案确定,到元器件的选择,电路的修改和调试,程序的编写和 修改,以及论文的制作等等,很多都是涉及到细节的问题;正是由于指导老师无 私帮助,我才得以完成设计,指导老师自己也是很忙的,他带有很多实验课,每 次与指导老师见面几乎都是在实验室,可想而知指导老师对我的关心,在做毕业 设计的同时也是一个学习和成长的过程, 虽然设计中很多东西都是指导老师以前 做过的, 但是指导老师几乎每次都对我说: 先自己慢慢做, 有什么问题再来问我, 正是由于指导老师严谨的科

page 29

学态度, 才使我从最初接触这个课题时的迷茫变为现 在豁然开朗,期间指导老师不断提供的帮助和鼓励是很重要的,特别要提及的是 关于充电器的应用问题, 要是没有指导老师提供的指导和建议是根本不可能完成 的。在此,对指导老师的帮助表示感谢!

    19

    参考文献

    [1] 蒋鸿飞,胡淑婷. .绿色能源——太阳能充电器[J]. 上海应用技术学院学报(自然科学版), 2007,(2):147-149 [2] 蔡朝洋. 单片机控制实习与专题制作[M]. .北京:北京航空航天大学出版社,2006 年 11 月 [3] 李朝青. 单片机原理及接口技术[M]. 北京航空航天大学出版社,2005,(05) [4] 张伯文. 简易镍镉电池定时恒流充电器[J]. 电池,1997,(6) [5] 康华光. 电子技术基础 (模拟部分) [M]. 北京:高等教育出版社, 2000 [6] 张红梅,尹云华. 太阳能电池的研究现状与发展趋势[J]. 水电能源科学,2008,26(6): 193-197 [7] 滨川圭弘. 太阳能光伏电池及其应用[M]. 北京:科学出版社, 2008 [8] 沈德金等. 接口电路与实用程序实例[M].北京大学出版社, 2003 年 [9] 张军军, 孙佩石, 梁海涛. 智能化小区 LED 路灯光伏充电器的设计[J]. 电源技术,2007, 31(2):157-159 [10] 陈维, 沈辉, 王东海等. 太阳能半导体照明驱动技术研究[J]. 照明工程学报, 2005, 16(3): 7-10 [11] 徐大诚,邹丽新,丁建强. 微型计算机控制技术及应用[M].高等教育出版社,2003 年 [12] 肖鹏,陈国呈,吴春华等. 一种新型光伏独立发电系统拓扑及控制策略[J]. 上海大学学 报(自然科学版),2008,14(6):633-636 [13] 周林, 武剑, 栗秋华等. 光伏阵列最大功率点跟踪控制方法综述[J]. 高电压技术, 2008, 34(6):1145-1154

    20

    Q1 2N5366 R5 30K R11 12.9K SHGN GND 4.2V Q2 2N5551 5 4 R7 6.2K 89C51 U3 IN-0 IN-1 IN-2 IN-3 IN-4 EOC IN-5 ADD-A ADD-B ADD-C IN-6 IN-7 ALE ref(-) ref(+) 16 R11 330 12 D5 LED ENABLE START CLOCK ADC0809 5 4 3 47u R9 20K 2 1 28 27 26 5V SIGN OUT 3 6 15 10 RS+ RS+ RSRS2 7 L U4 MAX471 Vo    Vi

    U1 7805 LED SS+ ENT

    R4

    GND

    Vin

    7805

    Vout

    390

    (5V)

    附录 1 主电路原理图

    C1 500u/50V

    R1

    R2 R3

    R12

    R13 R6 10K 25 24 23 22 9 6 10 10 11 30 29 7 13 12 INT1 INT0 T1 T0 EA/VP X1 X2 RESET RD WR 3 15 14 31 19 18 9 17 16 RXD TXD ALE/P PSEN

    5.6K 1 2 3 4 5 6 7 8 P10 P11 P12 P13 P14 P15 P16 P17 C7 4.3K R10 D4 R8 3.1K P07 P06 P05 P04 P03 P02 P01 P00 32 33 34 35 36 37 38 39 msb2-1 2-2 2-3 2-4 2-5 2-6 2-7 lsb2-8 21 20 19 18 8 15 14 17

    C3 103

    C2 47u/10V 10u C6

    C4

    R10 10K

    30P

    RES

page 30

    12M C5

    P20 P21 P22 P23 P24 P25 P26 P27

    21 22 23 24 25 26 27 28

    30P

    R1 10k 6

    DPY a

    U6 com 1 2 A B 5 3

    f g d dp c e b a b c d e

    D CLK

    S

    u5 数 数 数

    Q

    U4A 1

    Q3 2SC9013

    5V MR 74HC164 D2 8 D3 com 9

    CLK

    f g dp

    R

    8

    Q 4

    2 74HC74

    Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7

    3 4 4 5 5 7 6 9 10 10 11 2 12 1 13 6

    D1

    21

    附录 2 汇编源程序

    ORG LJMP ORG LJMP 输出 ORG LJMP 出 LED 显示缓冲 PWMF BIT 00H 志位 PWM1H PWM1L PWM2H PWM2L 期缓存 TESTL EQU TESTV EQU 压检测缓冲 TESTI EQU 电流检测缓冲 PWMT EQU ;PWM波周期 OUT ORG BIT 02H 0100H ;功能选择 ;功能选择 TVI BIT 03H 7BH 7AH ;输出 78H 79H ;输出电 EQU EQU EQU EQU 77H 71H 72H 73H 74H ;检测周 ;PWM输出标 EQU 70H ;数码管 001BH TESTOUT ;检测输 0000H MAIN 000BH PWML ;PWM波

    CLR TESTV MOV PWMT,#200 期设为50us MOV TESTH,#0FEH MOV TESTL,#0CH LCALL DISPLAY LJMP KEYWORK START:LCALL TESTIN MOV A,TESTV MOV B,#33H DIV AB JNZ NEXT MOV A,#01H NEXT: MOV B,#04H MUL AB 出实际输入电压 MOV B,A JNB OUT,NEXT2 NEXT1:MOV A,PWMT DIV AB MOV B,LED MUL AB 平周期 MOV R1,A MOV A,#0FFH CLR C SUBB A,R1 INC A MOV PWM2L,A MOV PWM2H,#0FFH MOV A,PWMT CLR C SUBB A,R1 平周期 MOV R1,A ;A中为高电 ;A中为低电 ;乘以比例得 ;PWM周

    ;PWM高电平缓冲

    ;PWM低电平缓冲 TESTH EQU

    MAIN: MOV A,#00H MOV LED,A MOV P1,#07FH

    22

    MOV A,#0FFH CLR C SUBB A,R1 INC A MOV PWM1L,A MOV PWM1H,#0FFH CLR P2.0 CLR P2.1 CLR P2.2 MOV IE,#8AH 中断 MOV TMOD,#11H 定时,开始输出 MOV TH1,PWM2H MOV TL1,PWM2L MOV TH0,TESTH MOV TL0,TESTL SETB TR0 SETB TR1 LJMP ED NEXT2:MOV A,PWMT MOV B,#04H DIV AB 期 MOV R1,A MOV A,#0FFH CLR C SUBB A,R1 INC A MOV PWM2L,A MOV PWM2H,#0FFH MOV A,PWMT CLR C SUBB A,R1 平周期 ;A中为高电 ;A中为低电平周 ;T1赋值 ;TO赋值 ;T模式1, ;CPU开

    MOV R1,A MOV A,#0FFH CLR C SUBB A,R1 INC A MOV PWM1L,A MOV PWM1H,#0FFH MOV IE,#8BH 中断 MOV TMOD,#11H 定时,开始输出 MOV TH1,PWM2H MOV TL1,PWM2L MOV TH0,TESTH MOV TL0,TESTL SETB TR0 SETB TR1 ED: AJMP ED PROTECT: CLR P1.7 LJMP ED PWML: JB PWMF,PWMH ;PWM输出未完成返回 CLR TR0 MOV TH0,PWM2H MO

page 31

V TL0,PWM2L SETB TR0 SETB PWMF CLR P1.7 出低电平 RETI PWMH: SETB P1.7 CLR TR0

    23

    ;CPU开 ;T模式1, ;TO赋值 ;T1赋值

    ;PWM输

    MOV TH0,PWM1H MOV TL0,PWM1L SETB TR0 出高电平 CLR PWMF RETI TESTIN: SETB P2.0 CLR P2.1 CLR P2.2 LCALL TEST RET TESTOUT: CLR TR1 JNB TVI,STCBA TEST1:LCALL TEST LCALL TEST JNB OUT,TEST2 MOV A,TESTI INC A JZ PROTECT MOV DPTR,#OTVTAB MOV A,LED MOVC A,@A+DPTR CLR C CJNE A,TESTV,DADA LJMP RETURN DADA: JC XIAO MOV A,PWM2L ADD A,#01H MOV PWM2L,A MOV A,PWM1L SUBB A,#01H MOV PWM1L,A

    24

    LJMP RETURN XIAO: CLR C ;PWM输 MOV A,PWM2L SUBB A,#01H MOV PWM2L,A MOV A,PWM1L ADD A,#01H JNZ RETURN MOV PWM1L,A RETURN: MOV TH1,TESTH MOV TL1,TESTL SETB TR1 RETI TEST2:MOV A,#44H CJNE A,TESTV,DXID LJMP RETURN DXID: JC DXIX MOV DPTR,#OTITAB MOV A,LED MOVC A,@A+DPTR JNB OUT,TEST2 CJNE A,TESTI,DADA 恒流充电 LJMP RETURN DXIX: MOV A,#47H CLR C CJNE A,TESTV,DADA 恒压充电 LJMP RETURN STCBA:CLR P2.0 SETB P2.1 CLR P2.2 LJMP TEST1 TEST: CLR P2.5 ;A/D ; ;

    转换子程序 SETB P2.3 CLR P2.3 SETB P2.4 CLR P2.4 JNB P2.7,¥ SETB P2.5 JNB TVI,MOVI MOVV: MOV TESTV,P0 SETB TVI CLR P2.5 MOV P0,#0FFH RET MOVI: MOV TESTI,P0 CLR TVI CLR P2.5 MOV P0,#0FFH RET KEYWORK: JNB P1.4,KEY42 JNB P1.5,KEY05 JNB P1.2,KEYOK LJMP KEYWORK KEYWK1: JNB P1.0,KEY0 JNB P1.1,KEY1 JNB P1.2,KEYOK1 LJMP KEYWK1 KEY42:LCALL DL10MS JB P1.4,KEYWORK CLR OUT LJMP KEYWK1 KEY05:LCALL DL10MS JB P1.5,KEYWORK

    SETB OUT LJMP KEYWK1 KEY0: LCALL DL10MS JB P1.0,KEYWK1 MOV A,LED JZ KEYWK1 DEC A MOV LED,A LCALL DISPLAY LJMP KEYWK1 KEY1: LCALL DL10MS JB P1.1,KEYWK1 MOV A,LED CJNE A,#05H,KEY11 LJMP KEYWK1 KEY11:INC A MOV LED,A LCALL DISPLAY LJMP KEYWK1 KEYOK:LCALL DL10MS JB P1.2,KEYWORK MOV A,LED JZ KEYWORK LJMP KEYWK1 KEYOK1:LCALL DL10MS JB P1.2,KEYWK1 MOV A,LED JZ KEYWK1 LJMP START DL10MS: MOV R5,#07H DL0: DL1: DL2: MOV R6,#0D0H MOV R7,#19H DJNZ R7,DL2

    25

    DJNZ R6,DL1 DJNZ R5,DL0 RET DISPLAY: MOV DPTR,#LEDTAB MOV A,LED MOVC A,@A+DPTR MOV SBUF,A RET LEDTAB: 00H,04H OTVTAB: DB 00H,11H,22H,33H,44H,55H,66H,77H,8 8H,99H OTITAB: DB 00H,33H,66H,99H,0CCH,0FFH END DB 01H,4FH,12H,06H,4CH,24H,20H,0FH,

    26

page 32

相关推荐