1、目 录摘 要.1一、 前言.11.1 课题背景及意义.5二、 总体方案论证.52.1 方案的比较与选择.52.2 系统主要模块的概述.62.2.1 AT89C51单片机性能.72.2.2 DAC0832数模转换器.92.2.3 四运算放大器LM324.102.2.4 LCD显示电路.112.2.5 键盘电路.12三、 硬件电路设计.133.1 单片机控制模块的设计.133.2 单片机时钟电路的设计.143.3 单片机复位电路的设计.153.4 键盘模块的设计.163.5 显示模块的设计.173.6 数模转换模块的设计.203.7 电压比较输出模块的设计.20四、 软件设计.22 4.1 软真开
2、发平台Proteus仿真.22 4.2 软件程序开发平台KEIL.23 4.3 主程序设计.23 4.4 子程序设计.25 4.4.1 液晶显示(读写数据)的设计.25 4.4.2 D/A转换的设计.26 4.4.3 键盘的设计.26五、系统测试与误差分析.27 5.1 系统测试结果分析.27II题目:基于单片机AT89C51的数字稳压电源摘 要:本文所设计的基于单片机控制的直流稳压电源就是能用数字来控制电源输出电压的大小,而且能使输出的直流电压能保持稳定、精确的直流电压源。本设计采用了AT89C51单片机、DAC0832、四运算放大器LM324、独立键盘和液晶显示LCD1602来实现整体电路
3、功能。主要是对AT89C51单片机的各个I/O口的充分利用。P0口连接液晶显示电路,P1口连接独立键盘电路,P2口直接连接DAC0832芯片输出电压,最终的电压通过带有真差动输入的四运算放大器。这种设计总体上能充分利用单片机各个接口而不必添加额外芯片,大大减少成本和电路板面积,除此之外,此设计还打破了传统的电阻式的可调稳压直流电源的局限,以此能够在众多的电子设备中广泛应用。关键词:直流稳压电源;单片机;数控;DAC083224一、 前言:数控电源技术是一门实践性很强的工程技术,服务于诸多行业。现今电源技术融合了电气、电子、系统集成、控制理论、材料等众多学科领域。直流稳压电源是电子技术常用的仪器
4、设备之一,广泛的应用于教学、科研等领域,是实验员、电子设计人员进行实验和科研不可或缺的电子仪器。在电子系统中,通常都需要电压稳定的直流电源来供电,传统直流电源的稳压过程是由电源变压器、整流、滤波、稳压等四部分组成,因而具有功能简单、干扰大、可靠性低、精度低且体积大、复杂度高的缺点。现代家用电器和其他电子产品中,通常都需要电压稳定的直流电源供电。但在实际生活中,都是由市电供电。这就需要通过变压、整流、滤波、稳压电路将交流电转换成稳定的直流电源。滤波器用于滤去整流输出电压中的纹波,一般传统电路由滤波扼流圈和电容器组成,若由晶体管滤波器来替代,则可缩小直流电源的体积,减轻其重量,且晶体管滤波直流电源
5、不需直流稳压器就能用作家用电器的电源,这既降低了家用电器的成本,又缩小了其体积,使家用电器电源电路小型化。传统的直流稳压电源通常配以电位器和波段开关来实现电压的调节,并由电压表指示电压值的大小。因此,电压的调整精度不高,读数不够直观,电位器也易耗损。而基于单片机控制的直流稳压电源能较好地解决以上传统稳压电源的不足。二、总体方案论证:本章从系统方案与设计等一些方面来进行论证。2.1 方案的比较与选择方案一:设计线性稳压电源,是目前常使用的直流稳压电源,它利用分立器件组成,体积大,效率低,可靠性差,操作使用不方便,自我保护功能不够全,因而故障率高。方案二:设计开关电源。在前期方案设计中采用PWM脉
6、宽调制。它的功耗小,效率高,稳压范围宽,电路形式灵活多样,功耗小,效率高。在制作过程中发现,PWM3占空比的线性变化使相应的电流呈非线性变化,经分析发现滤波电容的存在对占空比很小的PWM波积分效果明显,导致电压的非线性变化更显著,特别是PWM占空比很小时(希望得到输出的电压很小),利用单片开关电源的PWM技术控制开关的占空比来调整输出电压的,以达到稳定输出的目的。但用数字量控制的作用更加明显。与方案一、二相比,方案三智能稳压电源具有小型化、高效率、低成本、高可靠性、低干扰、模块化和智能化等优点。终上所述,选择方案三。采用常用的51芯片作为控制器,P0口与DAC0832的数据口直接相连,比较输出
7、电压模块LM324的电压分辨率0.1V。所以,当MCU输出数据增加1 的时候,最终输出电压增加0.1V,当调节电压的时候,可以以每次0.1V的梯度增加或者降低电压,并通过LCD电路来显示,本主电路的原理是通过MCU控制DAC0832的输出电压大小,通过DAC0832的转换,给电压比较模块,真正的电压、电流还是由比较电压输出模块LM324输出。方案原理图如图2.1所示。键盘控制51单片机DAC比较电路输出电压显示电路图2.1 方案原理图2.2 系统主要模块的概述本设计采用AT89C51单片机、DAC0832、四运算放大器LM324、独立键盘和液晶显示LCD1602来实现整体电路功能。主要是对AT
8、89C51单片机的各个I/O口的充分利用。P0口连接液晶显示电路,P1口连接独立键盘电路,P2口直接连接DAC0832芯片输出电压,最终的电压通过带有真差动输入的四运算放大器。这种设计总体上能充分利用单片机各个接口而不必添加额外芯片,大大减少成本和电路板面积。2.2.1 AT89C51单片机性能AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,内含4K容量的可反擦写的只读程序存储器和128字节的随机存取数据存储器,该器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内通用8位中央处理器和flash存储单元,功能强大可应用于许多高性价比
9、的场合,可灵活应用于各种控制领域。图2.2 AT89C51引脚图 2.2.2 DAC0832数模转换器DAC0832是一种采样频率8位的D/A转换集成芯片,该芯片与单片机系统完全兼容。这个D/A转换芯片具有价格低廉、接口简单、转换容易控制等优点,在单片机应用系统中得以广泛的应用。D/A转换器由8位输入锁存器、8位DAC寄存器、8位D/A转换电路和转换控制电路构成。DAC0832引脚图如图3-3所示。图3-3 D/A转换DAC0832引2.2.3 四运算放大器LM324LM324为价格低廉的带有真差动输入的四运算放大集成电路。与单电源应用场合的标准运算放大器相比,它具有一些显著优点。该四运算放大
10、器可以工作在3V以下或者32V以上的电源,其静态电流很低。该芯片共模输入电压范围包括了负电源,因此消除了在许多应用场合中采用外部偏置器件的必要。LM324具有5个引出脚,其中“+”、“-”为两个信号输入端,“V+”、“V-”为正、负电源输入端,“Vo”为电压输出端。在两个信号输入端中,Vi(-)为反相输入端,表示运放输出端Vo的信号与该输入端的相位相反;Vi(+)为同相输入端,表示运放输出端Vo的信号与该输入端的相位相同。 2.2.4 LCD显示电路显示32 个英文字符和日文等一些字符,适合显示英文文字信息量较小的地方。可以应用在计算器、频率计、信号发生器、时钟等产品显示上。引脚图如图2.3所
11、示。图2.3 LCD1602引脚(1)LCD1602主要技术参数:(a)显示容量:32字符;(b)芯片工作电压范围为4.5V5.5V;(c)正常工作电流2mA,不包括背光源电流;(d)模块最佳工作电压设置5V;(e)自带英文和日文字库,使用简便;2.2.5 键盘电路目前键盘电路常用的主要有两种,一种是独立式键盘电路,另一种是矩阵式键盘电路。独立式键盘电路是指直接用I/O口线构成的单个按键电路,每根I/O口线上按键的工作状态不会影响其它I/O口线的工作状态。这种方式无论在硬件连接还是软件编译处理上都比较简单,直接选取输入键值,简单快捷,这种方式在I/O富余的情况下可以使用。矩阵式键盘电路是指按键
12、设置在行列式交点上,行列线分别连接到按键开关的两端。当行线通过上拉电阻接+5V时,被钳位在高电平状态。键盘中有无按键按下是由列线送入全扫描字、行线读入行线状态来判断的。键盘中哪一个键按下可由列线逐列置低电平后,检查行输入状态来判断。独立式按键电路配置灵活,软件结构简单。在本课题中由于键盘数目较少,经过所查阅的参考资料经综合考虑最终决定采用独立式键盘,这样可以充分利用I/O口,简化软件编程,并且节省电路板面积。3 硬件电路设计硬件电路主要由模拟电路和数字电路两大部分组成。本设计的数控直流电源是由51单片机为主控模块,DAC0832 为数模转换器,四运算放大器LM324为比较输出芯片,键盘模块由三
13、个独立按键组成,系统实现闭环控制。系统主要由微控制器模块、比较输出模块、显示模块、键盘模块、D/A转换模块五部分构成,具有电压可预置、可步进调整、输出的电压信号。系统框图如图3.1所示。晶振电路复位电路键盘电路51单片机LCD显示电路DA转化电路电压比较电路电压输出图3.1 系统总体框图 3.1 单片机控制模块的设计单片机控制模块即为主机部分,整个控制都是依靠单片机完成。从功能和价位以及本题目要求来看,我选择51单片机作为本方案的控制核心,P0 口接液晶显示作为输出数据显示传输,同时P1.5、P1.6、P1.7是液晶LCD控制端口;P2 口接 DAC0832 作为输出数据传输,P3.0 为DA
14、C0832 控制端口;P1.0、P1.1、P1.2接三个独立键盘作为输入数据传输。单片机控制电路如图3.2所示。图3.2 单片机控制电路 3.2 单片机时钟电路的设计MCS-51单片机各功能部件的运行都是以时钟信号为基准,在时钟电路工作下,系统才能有条不紊的工作,因此时钟频率直接影响着单片机的速度,时钟电路的质量也直接影响着单片机系统的稳定性。晶振的频率范围一般为1.2MHz12MHz,晶振的频率越高,系统的时钟频率越高,单片机的运行速度就越快。图3.3给出了采用内部时钟方式的晶体振荡器的单片机时钟电路图。图3.3 单片机时钟电路元器件参数选择如下:AT89C51的振荡频率可在1MHz24MH
15、z范围内选取,本设计的时钟电路选取12MHz的振荡频率。C1、C2的电容取值无严格要求,因其取值对振荡频率输出稳定、大小、起振速度有略微影响。一般对石英晶体,可取典型值30pF左右,本次毕业设计C1、C2均选取了33pF的电容器。对陶瓷谐振器,可取典型值40pF左右。3.3 单片机复位电路的设计复位电路是单片机系统中必不可少的组成部分。所谓的复位就是将单片机重新启动,使单片机内部的所有寄存器都回到初始状态。复位电路方式有上电自动复位方式和手动复位方式,本设计中系统采用手动复位方式。复位电路如图3.4所示。图3.4 手动复位电路大家都知道此单片机是高电平复位,具体手动复位过程如下:按下键后,电容
16、器被短路放电、RST直接与VDD相连,此时为高电平,从而进入复位状态;松手后,电源开始对电容充电,此时充电电流在电阻上,形成高电平送到RST端,仍然是复位状态;最后,电容充电结束,电流降为0,电阻上的电压也降为0,RST降为低电平,系统开始正常工作。3.4 键盘模块的设计键盘电路是由一组规则排列的按键组成,一个按键实则是一个开关元件,也就是说键盘是一组规则排列的开关。键盘按照结构原理可分为两类,一类是触点式开关键盘,如机械式开关、导电橡胶式开关等;另一类是无触点开关键盘,如电气式键盘,磁感应键盘等。两者相比,前者造价较低,后者寿命较长。目前,单片机系统中最常见的是触点式开关按键。 本系统采用独
17、立式按键结构,并结合非编码键盘相应原理。独立式按键是直接用I/O口线构成的单个按键电路,其特点是每个按键单独占用一根I/O口线 。每个按键的工作不会影响其它I/O口线的状态。图3.5 键盘接口图独立式按键软件常采用查询式结构,先逐位查询每根I/O口线的输入状态,如某一根I/O口线输入为低电平,则可确认该I/O口线所对应的按键已按下,然后,再转向该键的功能处理程序。本设计共设计三个按键,分别为“增加”键,“减少”键,“确定”键,三个按键分别与P1.0,P1.1,P1.2连接,电路图如图3.5所示。3.5 显示模块的设计用于单片机系统设计显示的方式主要分为两类:LED显示和LCD显示。前者显示亮度
18、较高,制作成本低,适合做远距离显示,但其功耗较大,所用端口随显示的数字位数增加而增加。如果采用动态扫描方式显示,则占用CPU的内存空间,如果采用静态显示则需要加锁存器,加大硬件制作量,就该题目要求来说,需要设定电压显示,又与实际电压比较再显示,LCD显示更为清晰、直观,从上面诸多因数来看,采用LCD显示比较理想。LCD最常用的就是液晶1602,LCD1602 可以在LCD显示屏上完整显示32 个英文字符和日文字符,适合显示英文文字信息量较小的地方,可以清晰显示出同时还能显示英文名称和电压/电流单位。通过单片机编程控制第4脚RS数据/命令选择端,第5脚R/W读/写选择端,第6脚使能信号,从而实现
19、显示效果。本设计中LCD1602接法如图3.6所示。图3.6 LCD1602 显示电路(1).读操作时序:读操作时序(2).写操作时序:写操作时序(3). 读写控制时序如表3-3所示表3-3 读写控制时序表RSR/WE功能00下降沿写指令代码01高电平读忙标志和AC码10下降沿写数据11高电平读数据(4). 1602LCD的一般初始化过程1延时15mS2写指令38H3写指令08H:显示关闭4写指令01H:显示清屏5写指令06H:显示光标移动设置6写指令0CH:显示开及光标设置3.6 数模转化模块的设计本设计采用DAC0832的数模转换器,P2口和DAC0832的数据口直接相连,DA的/CS和/
20、WR1连接后接地,/WR2和/XEFR连接输出同时也接地,ILE信号引脚接高电平,DA的8脚接参考电压,芯片处于直通状态,此时8位数字量一旦到达DI0DI7输入线上,就立刻进行D/A转换并输出结果。通过独立式键盘给单片机输入一数据,这个数据在显示电路上显示,单片机保存该数据,然后在键盘上按确认键,就是把DAC0832电路打开把数据传输进去,这个芯片把送过来的数字信号转换成模拟信号后经过比较电路最终输出所要电源电压。本设计中DAC0832硬件电路图如下图3.7 DAC0832数模转换电路: 3.7 DAC0832数模转换电路其中数模转换时序图如下图3-8所示:图3-8DAC0832数模转换时序图
21、3.7 电压比较输出模块的设计本设计中真正的电压输出是通过四运算放大器LM324的末端输出的,具体的设计如图3.7所示。选用集成型电压比较器LM324是为了使电路工作更加可靠,同时该类芯片具有负载能力强、抗干扰性优越等特点,可以更好的实现电路功能。图3.9 比较输出电路4 软件设计4.1 仿真开发平台Proteus仿真Proteus软件是英国Labcenter电子公司设计开发的一款EDA工作软件。它不单具有其它EDA工具软件的仿真功能,还能访问单片机及其外围设备。Proteus是著名的EDA仿真软件,从原理布图、代码调试到单片机与外围电路的仿真,一键切换到PCB设计,真正实现了从概念到产品的完
22、整设计。Proteus不仅可将许多单片机设计系统实例功能形象化,也可将许多单片机实例运行过程形象化。Proteus具有如下特点:(1)Proteus软件提供了数千种元器件和多达30多个元件库;(2)个性化的编辑环境;(3)快速选取和放置器件;(4)层次化设计;(5)原理图自动连线并自动生成仿真日志;4.2 软件程序开发平台KeilKeil C51软件是美国Keil软件公司开发的一个功能强大的单片机开发平台。单片机开发中除了必不可少的硬件电路设计外,同样离不开软件,随着单片机开发技术的不断发展,从普遍使用汇编语言到使用现在的高级语言,单片机的开发软件也在不断的发展,Keil软件是目前最流行的开发
23、MCS-51系列单片机的软件,Keil提供了包括C语言编辑器、宏汇编、连接器、库管理和一个功能强大的仿真调试器在内的开发方案。Keil具有如下特点:(1)具有全功能的源代码编辑器;(2)元件库用来配置开发工具的设置;(3)项目管理器用来创建和维护用户的项目;(4)集成工具可以汇编、编译和连接用户嵌入式系统;(5)所有开发工具的设置都是对话框模式;(6)真正的源代码对单片机和外围器件的调试器;4.3 主程序设计系统软件流程图直观描述了如何实现对系统输出电压调节。首先对系统的输出电压进行初始化设定,然后通过判断案件是“+”键或是“-”键对系统输出电压进行相应的调节,并将给定的数据给DA转换器,最终
24、使给定的电压输出。主程序框图如图4.1所示。初始化系统读取ROM中保存的电压送DA转换输出电压允许定时器中断显示键盘扫描是否按下增加键是否按下减少键是否按下确认键NNN电压加0.1V并送入LCD显示电压减0.1V并送入LCD显示保存电压YYY开始结束图4.1 主程序结构框图4.4 子程序设计子程序设计包括:液晶显示设计、D/A转换设计、键盘设计。下面对每部分软件设计逐一说明。4.4.1 液晶显示(读写数据)的设计本设计中液晶显示是两行字符,第一行显示的英文“VOLTAGE”,第二行则用来显示设置的电压值。根据原理图,LCD1602的数据线D0D7脚分别接单片的P0口,RS、R/W和E端分别接P
25、1.5、P1.6和P1.7,液晶显示的软件流程图如图4.2所示。读/写数据 进行一次读/写操作状态Busy=0?状态Busy=0? 读/写正确的数据读/写数据NNYY图4.2 液晶1602读数据结构框图4.4.2 D/A转换的设计由原理图可知,片选信号/CS、数据控制信号/XFER、/WR1、/WR2均与地线相连,DAC0832为直通方式,CPU对DAC0832执行一次写操作,则将一个数据直接写入DAC寄存器,DAC输出模拟量随之变化。D/A转换程序流程图如图4.2所示。开始键盘输入调入程序D/A转换循环图4.3 D/A转换的设计4.4.3 键盘的设计单片机循环对各个按键进行扫描,如果检测到有
26、按键按下,则判断是哪个键按下,再去执行各个按键所对应的程序。“增加”键为步增电压键,步进值为0.1V;“减少”键为步减电压键,步减值也为0.1V;“确认”键是确定输出电压值的按键。“增加”键的软件流程图如图4.4所示,其余两个按键同理。开始键盘初始化按键扫描判断为增加执行相关程序单片机步进0.1V输出显示YN图4.4 键盘的软件流程图5 系统测试与误差分析5.1 系统整体测试结果分析(1)测试工具(a)双踪示波器;(b)数字万用表。(2)测量结果如表5.1所示。表5.1 测试数据及误差分析设定值(V)输出电压(V)误差(V)11.21.240.0422.52.530.0333.03.100.1
27、044.04.120.1254.54.540.0465.85.930.1376.56.690.19888.190.1999.59.580.081010100由上表计算可得,系统的绝对误差为(0.04+0.03+-+0.08)/10=0.09V;系统的相对误差为(0.04/1.2+0.03/2.5+-+0.08/9.5)/10=2.0%。(3)误差分析从电路的原理框图可以看出,系统的误差来源于三个方面: (a)DAC0832 的量化误差,DAC为8位D/A转换器,满量程为15V 的量化误差为 1/2L MBS=(1/2)*(1/28)*15V=29.30mV。按满度归一化的相对误差为(1/2)*
28、(1/28)=0.20% ;(b)输入失调电压引入的误差 LM324漂移不大于7mV,故相对误差=7mV/12V=0.06%。; (c)其它器件和线路由于温漂、不稳定等原因引起的误差。问题及建议:在本次设计的过程中,我发现很多的问题,给我的感觉就是很难,很不顺手,看似很简单的电路,要动手把它给设计出来,是很难的一件事,主要原因是我们没有经常动手设计过电路,还有资料的查找也是一大难题,这就要求我们在以后的学习中,应该注意到这一点,更重要的是我们要学会把从书本中学到的知识和实际的电路联系起来,这不论是对我们以后就业还是学习,都会起到很大的促进和帮助,我相信,通过这次的毕业设计,在以后的学习中我会更
29、加努力,力争把这门课学好,学精。同时,通过本次毕业设计,巩固了我们学习过的专业知识,也使我们把理论与实践从真正意义。此外,通过本次设计,使得输出的电压稳压精度高,可以用在对直流要求较高的设备上,或在实验室中当作试验电源使用。本次设计的过程中,我发现很多的问题,给我的感觉就是很难,很不顺手,看似原理比较简单的电路,要动手把它给设计出来,是很难的一件事,主要原因是我们没有经常动手设计过电路,还有资料的查找也是一大难题,这就要求我们在以后的学习中,应该注意到这一点,更重要的是我们要学会把书本中学到的知识和实际的电路联系起来,这不论是对我们以后的就业还是学习,都会起到很大的帮助,我相信,通过这次的毕业
30、设计,巩固了我们学习过的专业知识,也使我们把理论与实践从真正意义上结合了起来;考验了我们借助互联网络搜集、查阅相关文献资料,和组织材料的综合能力;从中可以自我测验,认识到自己哪方面有欠缺、不足,以便于再日后的学习中得以改进、提高。参考文献:1 贾好来. MCS-51单片机原理及应用M. 北京:机械工业出版社,2007. 2 边春远. MCS-51单片机应用开发实用子程序M. 北京:人民邮电出版社,2005. 3 范蟠果. 单片机实验与应用系统设计M. 北京:国防工业出版社,2007.4 周立功. 单片机实验与实践M. 北京:北京航空航天大学出版社,2004.5 南建辉. MCS-51单片机原理
31、及应用实例M. 北京:清华大学出版社,2004.6 何立民. 单片机高级教材M. 北京:北京航空航天大学出版社,2000.7 童诗白,华成英. 模拟电子技术基础M. 北京:高等教育出社,2001.8 朱大奇. 单片机原理应用与实验M. 北京:科学出版社, 2009.9 陈有卿,谢刚. 新颖电子模块应用手册M. 北京:机械工业出版社,2003.10 赵亮,侯国锐. 单片机C语言编程与实例M. 北京:人民邮电出版社,2003.11电路与电子技术实验教程 中国计量学院出版社12电子电路实验及仿真 清华大学 北方交通大学出版社致 谢经过几个月的许多考虑不周全的地方,如果没有老师的督促指导,想要完成这个
32、设计是难以想象的。所以在这里首先要感谢老师,他在百忙之中抽空给我指导写毕业设计。从理论学习到查阅资料,设计草案的确定和修改,中期检查,后期详细设计,装配草图等整个过程中都给予了我悉心的指导。但是老师仍然细心地忙碌,本次毕业设计已经接近尾声,作为一个专科生的毕业设计,由于经验的匮乏,难免有纠正论文中的错误。当然,在本次设计中,我同样碰到了好多的问题。老师在这些问题上,不是像答疑一样的帮助我们去解决问题,而是去引导我们,给我们一个思路,剩下的具体的工作都要自己去进行理解和设计,这让我们学会了自己去进行一定范围内的创作。同样,我们在学科之间交叉上,存在不少的盲点,通过这次设计,我在这些学科都能进行联系,在遇到不懂的问题,也学会了自己去图书馆和网络上找资料,同样我查阅资料的能力也得到了很好的锻炼。借此机会特别向我的指导老师雷求胜表达我最诚挚的谢意。鉴于我的水平有限,难免在设计中存在一些错误和不当之处,望各位老师批评指正,在此对大家表示衷心的感谢。附录A 仿真电路图