




已阅读5页,还剩33页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章 绪 论 本章将简单介绍系统设计的目的及意义,国内外电源技术的发展状况,系统的研究方法,论文构成及系统的研究内容。1.1研究目的及意义在当代科技与经济高速发展的过程中,电源起到关键性的作用。电源技术尤其是数控电源技术是一门实践性很强的工程技术,服务于各行各业。电力电子技术是电能的最佳应用技术之一3。当今电源技术融合了电气、电子、系统集成、控制理论、材料等诸多学科领域。随着计算机和通讯技术发展而来的现代信息技术革命,给电力电子技术提供了广阔的发展前景,同时也给电源提出了更高的要求。随着数控电源在电子装置中的普遍使用,普通电源在工作时产生的误差,会影响整个系统的精确度。电源在使用时会造成很多不良后果,因此电源的数字化控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数控直流稳压电源就是一个很好的典型例子,人们对它的要求也越来越高,要想为现代人工作、科研,生活、提供更好的,更方便的设施就需要从数字电子技术入手,一切向数字化,智能化方向发展。对我们学生而言,在大学的实验室里和课程设计里面,有一个稳定可调的直流电源是很有必要的。因传统的直流稳压电源输出电压是通过粗调波段开关及细调电位器来调节的,并由电压表指示电压值的大小。 这种直流稳压电源存在读数不直观、电位器易磨损、稳压精度不高、不易调准、电路构成复杂、 体积大等缺点, 而基于单片机控制的数字式可调稳压电源能较好地解决了以上问题。本题采用单片机和其它元器件及外围电路,开发一个数字式可调稳压电源。能够设定输出电压值、电压值输出显示、存储等功能。通过此系统的设计,让开发者更深刻的掌握单片机基本原理,并熟悉一些外围电路的扩展,以及进一步提高C语言的硬件编程能力。1.2 国内外发展状况电力电子技术已发展成为一门完整的、自成体系的高科技技术,电源技术属于电力电子技术的范畴3。电源技术主要是为信息产业服务的,信息技术的发展又对电源技术提出了更高的要求,从而促进了电源技术的发展,两者相辅相成才有了现今蓬勃发展的信息产业和电源产业。迄今为止,电源已成为非常重要的基础科技和产业,并广泛应用于各行业,从日常生活到最尖端的科学都离不开电源技术的参与和支持,其发展趋势为高频、高效、高密度化,低压、大电流化和多元化。同时,封装结构、外形尺寸日趋接近国际标准化,以适应全球一体化市场的要求。 当前在国内外电源产业中,占主导地位的产品有各种线性稳压电源、通讯用的AC/DC开关电源、DC/DC开关电源、交流变频调速电源、电解电镀电源、高频逆变式整流焊接电源、中频感应加热电源、电力操作电源、正弦波逆变电源、UPS、可靠高效低污染的光伏逆变电源、风光互补型电源等。而产品价格、性能指标、品牌效应及使用寿命一直是用户最关心的问题。这就促使国内外电源生产商朝着应用技术数字化、硬件结构模块化、产品性能绿色化智能化的方向发展。1.3研究方法 此次毕业设计我从一开始选题就目的明确,在毕业设计课题确定下来后,通过运用大学三年所学的专业知识和查阅参考了一系列的资料完成的。针对题目的要求,首先对整个设计思路进行规划,例如:要用到什么模块,模块应该怎样分布,怎么协调好这些模块。然后针对方案的可行性进行反复的参照对比,敲定最终设计方案,在敲定方案之后,查阅参考相关资料进行硬件电路的各个模块的设计,同时软件模块也同步进行,经过不断的检测,编译,将正确的代码下载到硬件电路中,最后一次次的调试系统,通过不断的修改来完善系统。1.4 论文构成及研究内容 本文总体概括了单片机实现数字式可调稳压电源的原理、着重介绍了单片机实现数字式可调稳压电源的硬件电路设计和软件设计。在各章节中,突出讲述了各功能模块的设计思路,具体设计情况,以及模块之间的联系。本系统主要研究数字式可调稳压电源如何实现数控、稳压、掉电存储和输出电压显示,其中包含一些必要的硬件设计和软件设计。 第2章数字式可调稳压电源原理介绍 在实验室里通常所用到的直流电源都是用调节电位器来达到调节电压的目的,由于电位器的温漂较大,使得输出的电压会有所漂移,而且用电位器调节电压操作起来不是很方便。本文所介绍的数字式可调稳压电源与传统的稳压电源相比,具有操作方便,电压稳定度高的特点。它由单片机AT89S52、44键盘、数码管、数模转换芯片DAC0832、存储芯片24C01、放大电路等部分构成,能实现输出电压显示、设定、存储及音响提示操作等功能,其原理包括键盘扫描原理、数码管动态显示原理、模数转换原理及I2C总线原理。在本章中主要介绍在设计过程中所涉及到的原理。2.1 方案选择及总体设计原理介绍 1、方案分析与选择方案一:数控部分用单片机带动数模转换芯片提供线性稳压电压的参考电压。优点:对于单片机,系统工作在开环状态,对数模转换的精度要求较高,设计成本低。缺点:功耗较大,LED数码管输出显示不是系统的精确输出电压,须对它进行软件补偿。方案二:数控部分用AVR单片机的PWM组成开关电源,再利用AVR的AD转换对输出电压进行实时转换,利用软件进行电压调整以达到稳压4。系统框图如图2.1 AVR单片机A/D PWMPWM开关管波动电压稳定电压采样图2.1 方案二框图优点:硬件简单,稳压的大部分工作由软件完成,对单片机的运行速度要求很高,利用手头的ATmaga16L单片机最高8MHz工作频率很难达到速度要求。对软件要求较高,功耗小。缺点:输出纹波电压较大,对硬件的要求很高。方案三:用AVR单片机控制PWM芯片组成开关电源。优点:降低了对单片机的运行速度要求。缺点:电路较复杂(该方案很快被否定)。方案二简单的电路结构起初对设计者很吸引,但是后来了解到AVR单片机的PWM的精度用于开关电源比较勉强,而且开关电源有个通病:纹波电压大,考虑到设计目标对电源的功耗要求不是很严,同时为了保证纹波足够小也鉴于自身对于51单片机和线性电源较为熟练,故选择方案一。2、总体设计原理本设计采用AT89S52单片机作为整机的控制单元,利用44键盘输入数字量,通过控制单元输出数字信号,再经过D/A转换器(DA0832)输出模拟量,最后经过运算放大器隔离放大,控制输出功率管的基极,随着输出功率管的基极电压的变化,间接地改变输出电压的大小。2.2 单片机AT89S52介绍 AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案5。AT89S52具有以下标准功能5:1、与MCS-51单片机产品兼容;2、8K字节在系统可编程Flash存储器;3、1000次擦写周期;4、全静态操作:0Hz33Hz;5、三级加密程序存储器;6、32个可编程I/O口线;7、三个16位定时器/计数器;8、八个中断源;9、全双工UART串行通道;10、低功耗空闲和掉电模式;11、掉电后中断可唤醒;12、看门狗定时器;13、双数据指针;14、掉电标识符。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止6。其引脚结构如图2.2图2.2 AT89S52引脚结构2.3 矩阵式键盘扫描原理键盘是由若干按键所组成的开关矩阵,它是微型计算机最常用的输入设备,用户可以通过键盘向计算机输入指令,地址和数据。通常单片机系统采用非编码键盘。非编码键盘通过软件来识别键盘上的闭合键,它具有结构简单、使用灵活等特点,因此被广泛应用于单片机系统7。组成键盘的按键有触点式和非触点式两种,单片机中的按键一般由机械触点构成。按键的读取容易引起误操作,抖动时间的长短由按键的机械特性决定,一般为510ms,为了使CPU能正确读出口线的状态,对于每一次按键只做一次响应,这就必须考虑如何去抖动。常用的去抖动方法有两种:硬件法和软件法,单片机通常采用软件法去抖动7。由于键盘的触点在闭合和断开的时候会产生抖动,这时触点的逻辑电平是不稳定的,如不采取妥善处理的话,将引起按键命令错误或重复执行,在这里采用软件延时的方法来避开抖动,延时时间10ms.44矩阵式键盘(如图2.3)的按键识别方法:行扫描法又称逐行扫描查询法,是一种常用的按键识别方法,其过程如下:为判断键盘是否有键按下,将全部列线置为低电平,全部行线置为高电平,然后读行线的状态7。只要有一行的电平为低电平,则表明键盘中有按键按下。然后依次将行线置为低电平,即在置某根行线为低电平时,其它行线为高电平。在确定某根行线位置为低电平后逐行检测各列的电平状态。若某列线为低电平,则该列线与置低电平的行线相交叉处的按键就是闭合键。图2.3 44矩阵式键盘2.4 数码管动态显示原理如图2.4, 共阴LED 数码管由7只发光二极管共阴连接并按8字形结构排列而成。这样,我们将这些二极管的正极接高低不同的电位,把所有的负极接地,当正极为高电位时相应的二极管就会导通而发光,从而使数码管呈现不同的字符。共阳LED数码管,即选通位接高电平,a,b,c,d,e,f,g,h端接高或低电平,如想让数码管显示“0”,就必须使g,h和选通位为高电平,其他引脚均为低电平7。在设计电路时,可将数码管这几个引脚分别接到单片机的引脚上,还要加上限流电阻,这样就可由程序控制数码管的工作情况了。所谓数码管动态显示,就是逐位地轮流点亮各位数码管(扫描)。对于每一位数码管而言,每隔一段时间点亮一次。数码管的点亮既与点亮的导通电流有关,也与点亮时间和间隔时间的比例有关。调整电流和时间参数,可实现亮度较高,较为稳定的显示,同时可减小工作电流。此次设计中用4位共阳数码管作为显示输出电压值,采用多路复用显示,这是指对于每个显示只驱动1/4时间。因为只要在20HZ50HZ之间循环所有显示,由于人眼存在视觉残留,在这样的显示方式下,数码管看起来是同时点亮的7。图2.4 LED数码管结构图2.5 DAC0832及24C01使用介绍DAC0832是以CMOS工艺制造的8位D/A转换芯片,它的分辨率为8位,即从1/255到1。其特点:8位并行、中速(建立时间1us)、电流型、价格低廉、接口简单,在单片机控制系统中得到了广泛的应用8。图2.5所示是它的内部结构图。图2.5 DAC0832内部结构从图2.5中可见,DAC0832由两个寄存器和一个8位D/A转换器组成,它的引脚功能如下:1、Vcc:芯片电源电压, +5V+15V;2、VREF:参考电压, -10V+10V ;3、RFB:反馈电阻引出端, 此端可接运算放大器输出端;4、AGND/DGND:模拟信号地/数字信号地;5、DI7 DI0:数字量输入信号;6、ILE:输入锁存允许信号, 高电平有效;7、CS:片选信号, 低电平有效;8、WR1:写信号1,低电平有效;9、WR2:写信号2,低电平有效;10、XFER:转移控制信号,低电平有效;11、IOUT1、IOUT2:电流输出引脚。DAC0832属电流输出型,两输出电流之和是常数。当要得到与输入数字成正比的电压,可把此两引脚输出的电流信号转换为电压形式。 DAC0832的工作方式有三种:1、直通方式:/LE1和/LE2均为1,外来数据直接通过两级锁存器到达D/A转换器。2、单缓冲方式:一个寄存器工作于直通状态,一个工作于受控锁存器状态。3、双缓冲方式:两个寄存器均工作于受控锁存器状态。 在此设计中,考虑到所需转换的数据量不大,DAC0832采用直通方式的硬件接法。它的引脚结构如图2.6所示:图2.6 DAC0832引脚结构24C01 是一个1K位串行CMOS E2PROM, 内部含有128个8 位字节,CATALYST公司的先进CMOS 技术实质上减少了器件的功耗,24C01 有一个8 字节页写缓冲器,该器件通过I2C 总线接口进行操作,有一个专门的写保护功能,其引脚结构如图2.79。图2.7 24C01引脚结构管脚功能:A0、A1、A2:器件地址选择,SDA:串行数据/地址,SCL:串行时钟,WP:写保护,VCC/VSS:电源/地。24C01从器件地址:在I2C总线的开始信号之后,所送出的第一字节数据用来选择从器件地址,其中前7位为地址码(高4位“1010”为厂商给定的24C01型号地址,器件地址中的低3位为引脚地址A2、A1、A0),第8位为为方向位(R/W)。方向位“0”表示发送,即主器件把信息写至所选择的从器件;方向位为“1”表示主器件将从从器件读信息,器件地址如图2.8所示:图2.8 器件地址 第3章数字式可调稳压电源硬件电路设计本系统的硬件电路设计主要围着AT89S52单片机作为整机的控制单元用PROTEL 99SE设计软件来布线的,其中还用到了模数转换芯片DAC0832、外部存储芯片24C01、放大器芯片LM324、44矩阵式键盘、数码管等其他器件。总体框图考虑到各个元件的电气特性,例如元器件之间的干扰问题,接地问题,布线问题等,本系统将硬件电路设计分为数字部分和模拟部分。3.1稳压电源数字部分电路稳压电源数字部分电路即单片机外围接口电路主要包括:DAC0832数模转换电路、EEPROM接口电路、键盘接口电路、扬声器接口电路、复位电路、晶振电路及数码管显示部分电路。3.1.1 单片机外围接口电路1、单片机外围接口总电路。单片机AT89S52与外围器件的接口总电路如图3.1所示,为了将各部分电路介绍的更加清楚,下面就单片机外围接口电路作一个扼要介绍。图3.1 AT89S52与外围器件的接口总电路如图3.2所示,AT89S52的P0、P2.5P2.7接数码管输出显示部分电路,其中P0口用来输出字段码;P2.5P2.7用来输出数码管选通位信号;P2.0、P2.2分别接外部存储芯片24C01的数据线(SDA)和时钟线(SCL);P2.3接扬声器电路,为执行内部程序指令,EA/VPP必须接VCC.图3.2 AT89S52部分接口电路一如图3.3所示,AT89S52的P1口与数模转换芯片DAC0832相连接,用来输出数字量信号;RST为复位脚,用来输入复位信号,同时它还与P1.5P1.7一起用作ISP下载端口;P3口用做键盘信号输入端口,XTAL1、XTAL2接晶振电路10。图3.3 AT89S52部分接口电路二2、单片机外围电路接口电路具体介绍。下面对单片机与其它外围器件的接口电路作一一介绍。(1)数码转换芯片DAC0832与单片机AT89S52接口电路。此设计中利用模数转换芯片DAC0832将键盘输入数字量转换成模拟量(电流),以实现数控功能。DAC0832是一种电流型芯片,在前文第2章2.5节简单介绍了它的工作原理,数字式可调稳压电源的设计中,采用了该芯片的直通工作方式(即CS、WR1、IOUT2、AGND、WR2、XFER接地;ILE、VREF接5V电源),它的数据输入口D0D7分别与单片机的P1.0-P1.7相连,从IOUT1引脚输出模拟量(电流)接同相比例放大电路。如图3.4。图3.4 DAC0832与AT89S52接口电路(2)存储芯片24C01与单片机AT89S52接口电路。存储芯片24C01是AT24C系列E2PROM,它支持I2C总线数据传送规则。数字式可调稳压电源设计中利用它存储电压输出值,实现掉电保存当前电压值的功能。其硬件接法如下图3.5所示,引脚1、2、3、4、7接地;8脚接5V;5脚与6脚分别接单片机的P2.0、P2.2的同时接5.1K上拉电阻后再接5V(因连接总线的器件的输出端必须是集电极或漏极开路,以具备线“与”功能)。图3.5 24C01硬件接法(3)44矩阵键盘接口电路。在本设计课题中利用44矩阵键盘来实现电压输入值的设定、步进、按键存储、复位、确定等功能以实现数控,其硬件连接图如图3.6,实现功能如表3.1。图3.6 44矩阵键盘电路表3.1 44矩阵键盘功能表键盘号功能功能描述键盘号功能 功能描述S13数字键S91数字键S27数字键S105数字键S3确定确定键S119数字键S4复位复位键S12步进加0.1V键S52数字键S130数字键S66数字键S144数字键S7设定设定键S158数字键S8存储存储键S16步进减0.1V键 (4)扬声器电路、AT89S52单片机复位电路及外部晶振电路。扬声器电路如图3.7,利用它实现输出电压值提醒。单片机AT89S52 的P2.3脚通过限流电阻R2及PNP管与蜂鸣器相连,当单片机引脚P2.3输出低电平时,PNP导通,蜂鸣器发出声音。复位电路如图3.8,晶振工作时,RST脚持续2 个机器周期高电平将使单片机复位,当键盘S0按下时通过电阻R1将电平拉高,同时R1,C4还起到滤波作用,去键盘抖动。晶振电路如图3.8,X1:振荡器反相放大器和内部时钟发生电路的输入端。X2:振荡器反相放大器的输出端。图3.7 扬声器电路 图3.8 复位及晶振电路 (5)数码管显示部分电路。本设计中显示部分采用四位共阳数码管,8550PNP三极管作驱动,如图3.9所示,I 、II、III 、IV是选通位,当B8低电平,B9、B10、B11为高电平时,I位由于三极管的导通而被拉至电源5V端,第一个数码管选通,其他三个没有被选通。其中100欧的电阻为限流电阻,1K电阻为上拉电阻,将选通位电平拉高。因根据设计要求,只需要三位数码管即可实现在输出电压值范围内的显示,在设计中用到低三位数码管,单片机引脚与四位共阳数码管脚的对应关系如表3.2。表3.2 AT89S52引脚与四位数码管脚对应表AT89S52四位数码管AT89S52四位数码管P0.0 aP0.6cP0.1 fP0.7 gP0.2 bP2.7 IP0.3 eP2.6 IIP0.4 dP2.5 IIIP0.5 hP2.4 IV图3.9 数码管显示电路3.1.2 数字部分电路PCB设计本系统中,数字部分电路PCB采用Protel 99se 软件进行设计,其设计步骤是: 1、画电路原理图;2、电路元件封装;3、生成报表(ERC表、网络表、元件列表);4、创建一个PCB工程文件,将网络表导入该工程;5、自动布局,自动布线后通过手工调整布线完成整个PCB版图的设计11。系统设计中,数字部分电路PCB如图3.10所示。图3.10数字部分电路PCB图3.2 稳压电源模拟部分电路稳压电源模拟部分电路主要包括电源部分电路,由运放LM324、达林顿管TIP127等构成的输出电压控制单元电路。这一部分采用普通万能板来完成,主要是由于模拟部分电路的可变性大,随时都有可能更改电路。另外,模拟部分电路属于高压部分,稳压管和达林顿管发热量比较大,要带散热片;同时须将它与5V低压工作的数字部分电路分开,这样可有效地防止元件的损坏,这也是系统为什么将电路设计分为数字部分和模拟部分的原因。3.2.1 电源部分电路在系统设计中考虑到单片机及其他器件的电源供电问题,采用一个变压器将220V交流电降压再经电桥整流,获得25V左右的平稳电压,然后用稳压管78L24、78L12、78L05进行三次稳压,分别获得24V、12V和5V的稳定电压,24V提供的是运算放大器LM324和达林顿管TIP127的工作电压,5V是AT89S52单片机和DAC0832的工作电压。图3.11所示,图中电容起滤波作用。在硬件电路的实际设计中,由于电源工作时的发热量比较大,因此对稳压管要外加散热片。图3.11 电源供电部分电路3.2.2 输出电压控制单元电路系统中,矩阵键盘输入数字信号经AT89S52处理后输出给DAC0832,数字信号经过数模转换后输出的是电流量,因此必须将电流量接电阻后接反馈放大电路以实现稳压输出。本设计的模拟部分利用了LM324作为放大器,采用二级放大电路,第一级为同相比例放大电路,第二级为闭环反馈放大电路。下面就将二级放大电路做详细的介绍。1、 同相比例放大电路原理。同相比例运算放大电路12如图3.12所示,根据集成运放的虚短和虚断2个重要概可得式(3.1)、(3.2),又由式(3.1)、(3.2)、(3.3)可推出式(3.4),式(3.4)即为同相比例放大器增益的计算公式。U+=U- (3.1)UI=U+ (3.2)U-/Uo=R/(R+Rf) (3.3)Uo(1Rf/R)UI (3.4)Uo=Ri(1+Rf/R1) (3.5)图3.12 同相比例运算电路在本系统设计中,需要数模转换输出一个电压范围为010V的基准电压Ur,即数模转换输出的电压值,由于DA转换芯片DAC0832输出的是电流信号,将它作用在电阻R上变成电压,然后用同相比例放大器放大电压到010V作为基准电压,同相比例放大器满足式(3.5),其中i是DAC0832的IO1脚输出的电流,R1为同相端的接地电阻,Rf为反馈电阻,Rf选用5k的微调电阻,R1选用100的电阻,R选用1K,将各值代入式(3.5),这时同相比例放大器的最大放大系数为: A51,满足输出基准电压Ur的要求,如图3.13所示。图3.13 第一级放大电路2、 反馈稳压放大电路。如图3.14所示:图3.14 反馈稳压放大电路图中DA端是单片机数模转换得到的基准电压Ur,这里采用运放构成积分器对R2和R3进行采样,采样电压U1和基准电压Ur进行比较,比较其差值进行放大得到Uo,通过Uo控制处于放大区Q1的Uce,又由式(3.6)可知,进而控制输出电压Vo13。分析积分器,它满足式(3.7),由运放的虚短与虚断可得式(3.8),将式(3.8)代入式(3.7)整理可得式(3.9)。在很短的时间内,U1保持不变,即Ur-U1=C (C是常数) ,这时有式(3.10),由式(3.10)可知在短时间内,Uo随时间成线性变化,它的斜率与C1、R1有关(这里选C1为0.1uf、R1为10k)。U r-U1越大,即输出端的电压波动越大,那么,Uo增大得越快,于是Uce就越大,由式(3.6)可知 Vo马上降下来,从而达到稳压的目的。设计中选择R2、R3的分压比为:N0.6,采样电阻不能取太大,这里选择R2300,R3500,分压比为:n=0.625。Vo25v-Uce (3.6)Uo=(1/C1*R1)(U2-U1)dt+U2 (3.7)U2Ur (3.8)Uo=(1/C1*R1)(Ur-U1)dt+Ur (3.9) Uo=(Ur-U1)*t/(C1*R1)+Ur (3.10)本设计实际用到的数字式可调稳压电源模拟部分输出电压控制单元电路如图3.15所示,其中用电位器R3和微调电阻Rf作为校准电压值硬件补偿;用达林管TIP127作为调整管,由于其工作时发热量较大,须外加散热装置。图3.15输出电压控制单元电路第4 章 数字式可调稳压电源软件设计本系统软件设计要实现的功能是:键盘对单片机输入数据,单片机对获得的数据进行处理,处理后的数据送位共阳数码管,再送到8位数模转换芯片(DAC0832),以实现数字量对电压的控制。系统中的主程序主要完成键盘扫描、判断、处理和数码显示。而电压值输出显示和输出音响提示在中断处理程序中完成。4.1系统软件流程图图4.1为主程序流程图, 程序一开始对硬件进行初始化,例如系统对AT89S52单片机端口进行定义;对定时器0,定时器1置初值及开中断等。然后进入键盘判断处理程序,首先通过键盘扫描判断是否有键盘按下:按下,进入键盘服务程序,否则继续读键盘状态。初始化硬件有键按下?键盘服务程序主程序流程:是否图4.1 系统主程序流程图根据本文前一章表3.144矩阵键盘功能表,软件设计部分中键盘实现的功能如下:1、按“设定”键开始设定电压,超过024V视为无效操作,十位、个位、十分位循环输入,设定完十分位后LED数码开始闪动,按“确认”键确认,音响提示,电压输出。2、在正常情况下,按“储存”键,当前数码开始闪动,提示准备存入当前数值到EEPROM中保存,再按数字键,音响提示,表示存到该键中。3、在正常情况下,按数字键,读取该键存储数值,闪动,按“确认”键确认,音响提示,电压输出。4、按“”键进行减0.1V微调,按“”键进行加0.1V微调。因此,键盘服务程序根据键盘的不同输入,通过键值散转方式转入相应的处理程序,执行。例如:图4.2 键盘服务程序若用户按下S4(复位键),键盘服务程序通过键值散转方式进入看门狗复位程序,输出为“0”,返回初始状态,等待下一次按键,图4.2键盘服务程序。去抖动,确有按键按下判断键值读EEPROM送DA写EEPROM设定数值置位设定标志位,清显示清所有标志位开音响,送数值至DA加减数值送DA置位存储标志位死循环,看门狗复位是数字键吗?是设定键吗?是确认键吗?是吗?有键按下吗?是存储键吗?是复位键吗?键盘服务程序:注:所有未加标注的判断框均是下行为“否”,侧向为“是”是否是存储键按了?设定键按了? 4.2 系统程序介绍C语言在单片机的应用中,由于其逻辑性强,可读性好,比汇编语言灵活,简练,目前越来越多的人从普遍使用汇编语言到逐渐使用C语言开发,市场上几种常见的单片机均有其C 语言开发环境。因此,在本系统中,考虑到汇编语言的这些缺点,采用了C语言作为软件设计语言。在本文前面各章节介绍了系统原理图及硬件设计的基础上,进行软件部分的设计。系统编程分为主程序和键盘处理程序两个部分,每个部分由若干模块组成,下面就如何通过C语言编程实现数控调压作简要的说明。1、 输入、控制、转换显示模块的编程。系统采用44矩阵键盘作为输入模块,因此在编程中必须通过扫描键盘的行和列,读出其值,然后通过AT89S52单片机控制键盘值散转,给各个键盘编写相应的处理程序实现其相应的功能,在此过程中用AT89S52单片机/定时器TR0作为中断处理显示,用定时器TR1作为中断处理提醒,开音响。(1)初始化硬件。例如对P3口作为键盘输入口的定义:#define key_point P3;对标志位的定义:static bit select=0,即在开始还没按下“设定键”时,标志位select为“0”;在主程序中,初始化部分程序如下:void main(void) speaker=1; /蜂鸣器不响 WDTRST=0x1E; WDTRST=0xE1; /初始化看门狗 TMOD=0x11; /初始化定时器 TH0=(65536-5000)/256; /T0置初值 TL0=(65536-5000)%256; TH1=(65536-50000)/256;/T1置初值 TL1=(65536-50000)%256; EA=1;/开总中断 ET0=1;/开T0中断 ET1=1;/开T1中断 TR0=1;/启动T0TR1=0; /关闭T1 DA=0; /初始化DA转化当中用到了看门狗定时器(WDT)、定时器0和定时器1。为了激活WDT,用户必须向WDTRST寄存器(地址为0A6H的SFR)依次写入01EH和0E1H。当WDT激活后,用户必须一定时间内周期性地向WDTRST写入01EH和0E1H喂狗来避免WDT溢出。因为当计数达到8191(1FFFH)时,13 位计数器将会溢出,这将会复位器件。定时器0计时满5毫秒时产生定时中断,进入中断处理显示子程序;同理定时器1计时满50毫秒产生定时中断,进入相应的中断处理程序。定时器0中断处理程序如下:void disp(void) interrupt 1TH0=(65536-5000)/256;/对T0重置初值 TL0=(65536-5000)%256; dispbuf0=num1;/数码值送显示缓冲区 dispbuf1=num2; dispbuf2=num3; ledwork();/显示函数显然,进入中断处理程序时,须对定时器0重置初值,然后数码值送输出显示缓冲区,最后通过显示程序部分将数码转换成数码代码输出显示。(2)单片机执行控制功能,判断键盘值,转入键盘处理程序。其中判断有键按下后须紧跟着延时程序,以去掉键盘的机械抖动,键盘延时时间约10毫秒:void delay10ms(void) /延时程序 unsigned char i,j;for(i=10;i0;i-) for(j=248;j0;j-);具体的键盘判断处理程序在这里就不做一一介绍了,详情可以参考附录程序清单。(3)输出显示并将数字量送DA。数码的输出显示部分程序主要围绕着十位、个位、十分位何时选通,送数字代码显示来进行编程(程序可参考附录程序清单)。将数字量送DA显示是通过按“确定键来最终实现的,其“确定”部分程序如下:case 0x7b: select=0; /确定键 read_bit=0; if(num13) if(num1!=2|num25) temp=num1; num=temp*100; temp=num2; num+=temp*10; temp=num3; num+=temp; temp=num; DA=buchang(temp);/整体数码值送DA speaker=0; fengmin=1;cancel();break; 其中DA=buchang(temp)指令即数字量送DA。 2、 存储模块编程。在本系统中实现一个存储电压值,掉电永久保存的功能,需要一个外部存储芯片(24C01),因此在编程中运用到了I2C总线技术。I2C总线是一种用于IC(Integrated Circuit)器件之间连接的二进制总线。它通过SDA(串行数据线)及SCL(串行时钟线)在连至总线的器件之间传送信息,并根据地址识别每个器件。如图4.2所示,SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据;SCL为高电平时,SDA由低电平向高电平跳变,结束传送数据。SDA 线上的数据必须在时钟的高电平周期保持稳定数据线的高或低电平状态(数据有效),只有在SCL 线的时钟信号是低电平时才能改变14,见图4.3。系统先通过发送开始信号开始数据转送,然后传送写从地址信号,最后从外部存储器地址读数据到单片机或写数据到外部存储器。系统对SCL时钟的编程如下: void clock() /I2C总线时钟unsigned char i=0; scl=1; somenop(); while (sda=1)&(i255)i+; scl=0; somenop();其中somenop()函数为延时函数,其余部分的程序可以参照附录程序清单。图4.2 开始/结束定时信号图4.3 数据线的变化示意图3、软件补偿编程。系统如果通过ADC0809进行模数转换,间接用单片机实时对输出电压进行采样,然后进行数据处理及显示,可以让实际输出电压值与输出显示值一致。由于系统中没有用到ADC0809模数转换,并且DAC0832的线性稳定度不够好,因此系统实际输出电压值与输出显示值存在误差,必须用软件补偿的办法来消除误差。为此通过测试多组实际输出电压值与输出显示值对比,然后进行软件补偿。程序中软件补偿函数为:unsigned char buchang(unsigned char caozuoshu),当按下“确认”键、“”键、“”键时,程序通过调用补偿函数来实现对输出电压值的补偿,从而消除误差,具体补偿程序可参考附录程序清单。结 论此次毕业设计,从一开始接到任务书到最后完成整个系统的设计,总体上按要求完成了毕业设计的工作。尽管设计的过程是十分繁琐、枯燥的,但当领悟到一个个知识点,将问题一一解决时,有无比的成就感,让自己更加有信心坚持下去。在这方面,我认识到要想做成一件事是不容易的,当中必定有很多的阻力,但是一定要有恒心,细心地认真地找出问题的所在,再一点一点去解决它,这样,到达成功的彼岸也就仅仅是时间的问题了。这次设计的题目是单片机实现数字式可调稳压电源,在参考了很多书籍的情况下,尝试增加了一些功能,尽管没有达到所期望的最完善的目的,但也有了一定的突破。数字式可调稳压电源所牵涉的范围可以是很大的,它不仅仅具备准确的电压输出、显示功能,我们还可以尝试更多的扩展。例如:这次设计中,数字式可调稳压电源不仅能够输出和显示0V24V电压范围,步进值为0.1V的电压,而且还能够存储电压值,实现掉电永久保存功能及输出音响提示功能,这只是其中的一个例子。只要我们勤于思考,刻苦钻研,就会得到更多的收获与创新。本系统的不足之处就是不能对输出电压进行实时采样,为了能够使系统具备检测实际输出电压值的大小,系统可通过加入模数转换模块(ADC0809芯片)进行模数转换,间接用单片机实时对电压进行采样,然后进行数据处理及显示15。这样一来使系统输出误差更小,效果更好,这也是系统将来的一种功能扩展。我想,通过这次设计,特别是通过对硬件的制作而不单单是对原理的论述,我学到的不仅仅是电子方面的知识,更重要的是,我学到了作为一名电子设计者所必需的心理素质,那就是决心加上耐心!致 谢本设计是在我的指导老师李雪老师的亲切关怀和悉心指导下完成的,她严肃的科学态度一直在激励着我。从题目的选择到最终完成设计,她都给我细心的指导和不懈的支持。她渊博的知识、开阔的视野和敏锐的思维给了我深深的启迪。另外,我还要特别感谢我们宿舍的同学对我的无私帮助,使我得以顺利完成论文,在此我衷心地感谢他们。 最后,我要感谢我的父母,同时再次对关心、帮助我的老师和同学们表示衷心地感谢! 参 考 文 献1 Intel.MCS-51 Family of Single Chip MicrocomputersM.New York: EnglewoodCliffs,1990:1-23. 2 Intel.8-bit Embedded MicrocontrollersM. New York: Englewood Cliffs,1995:27-38.3王兆安,黄俊.电力电子技术M.北京:机械工业出版社,2006:43-50.4 胡桂阳.用单片机制作直流稳压可调电源J.电子世界,2005,12:2425. 5太延资料下载站.AT89S52芯片英文使用说明书DB/OL.http:/www.tai-yan
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理核心制度-济南市传染病医院
- 2025汽车维修保养合同范本
- 2025科技创新人才资助资金资助合同
- 2025年别墅设计与装修合同
- 《软件开发基础》课件
- 2025年自建小型办公楼租赁合同范本
- 2025年上海市劳动合同简易版范文
- 2025物业管理劳动合同
- 香港结婚忠诚协议书
- 工地框架出租合同协议
- 脑胶质瘤诊疗指南2022年版
- 统编版一年级语文下册部编版第六单元单元教材解读(素材)(课件)
- 乳腺结节手术后的护理
- 电厂灰场环境风险评估报告
- 设备购置分析报告
- 《动物的家》课件
- 超声评价颈动脉易损斑块中国专家共识 2023版
- 九小场所安全检查表
- 医疗废物处理中的安全与风险管理
- 客人醉酒服务流程
- 军事英语词汇整理
评论
0/150
提交评论