基于DAC0832数模转换器的数控电源课程设计.doc

上传人:仙人指路1688 文档编号:4142954 上传时间:2023-04-07 格式:DOC 页数:18 大小:419KB
返回 下载 相关 举报
基于DAC0832数模转换器的数控电源课程设计.doc_第1页
第1页 / 共18页
基于DAC0832数模转换器的数控电源课程设计.doc_第2页
第2页 / 共18页
基于DAC0832数模转换器的数控电源课程设计.doc_第3页
第3页 / 共18页
基于DAC0832数模转换器的数控电源课程设计.doc_第4页
第4页 / 共18页
基于DAC0832数模转换器的数控电源课程设计.doc_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《基于DAC0832数模转换器的数控电源课程设计.doc》由会员分享,可在线阅读,更多相关《基于DAC0832数模转换器的数控电源课程设计.doc(18页珍藏版)》请在三一办公上搜索。

1、目录前言11. 方案选择21.1 单片机的选择21.2 显示器的选择32. 硬件电路设计32.1 元器件的介绍32.1.1 AT89C5132.1.2 数模转换器DAC083242.1.3 三端稳压芯片LM31762.1.4 数码管72.2 硬件电路图的设计92.2.1 AT89C51的时钟电路和复位电路92.2.2 DAC0832的外围电路92.2.3 独立式按键与AT89C51的连接102.3 整个系统的原理图113. 软件程序设计123.1 主程序的设计123.2 按键子程序的设计123.3 显示子程序的设计144.结论155.心得体会16参考文献17前言电源技术尤其是数控电源技术是一门

2、实践性很强的工程技术,服务于各行各业。当今电源技术融合了电气、电子、系统集成、控制理论、材料等诸多学科领域。数字化智能电源模块是针对传统智能电源模块的不足提出的数字化,能够减少生产过程中的不确定因素和人为参与的环节数,有效地解决电源模块中诸如可靠性、智能化和产品一致性等工程问题,极大地提高生产效率和产品的可维护性本次设计的基于DAC0832数模转换器的数控电源可以人为的随意调节输出电压的大小,使用方便、简单。1. 方案选择本次设计的主要内容是通过单片机向DAC0832数模转换器发送不同的数字量,根据数字量的不同,输出不同幅值的模拟电压,从而实现了系统输出电圧幅值的数字控制。1.1 单片机的选择

3、本次设计中单片机是整个系统的CPU,起到了控制、调节的作用,现有AT89C51和ATMEGA16两种单片机可供选择,以下对这两种单片机进行分析、比较。方案一:采用ATMEGA16单片机ATMEGA16是基于增强的AVR RISC结构的低功耗8 位CMOS微控制器,具有丰富的片内资源,包含16K字节的系统内可编程Flash(具有同时读写的能力,即RWW),512 字节EEPROM,1K 字节SRAM,32 个通用I/O 口线,32 个通用工作寄存器,支持片内调试与编程,三个具有比较模式的灵活的定时器/ 计数器(T/C),片内/外中断。功能全面,但价格比较昂贵。方案二:采用AT89C51单片机AT

4、89C51是一种带4K字节FLASH存储器,的低电压、高性能CMOS 8位微处理器,包含128字节内部RAM,32 个I/O 口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口。本次设计需要单片机将数字量发送给数模转换器,并且控制显示模块的显示。而ATMEGA16的使用较为复杂,价格昂贵,且很多功能在本次设计中得不到应用。故采用AT89C51即可满足要求,并且价格便宜,使用方便、简单。1.2 显示器的选择方案一:采用LCD液晶显示器显示LCD 液晶显示器是 Liquid Crystal Display 的简称,LCD 的构造是在两片平行的玻璃基板当中放置液晶盒,下基板玻

5、璃上设置TFT(薄膜晶体管),上基板玻璃上设置彩色滤光片,通过TFT上的信号与电压改变来控制液晶分子的转动方向,从而达到控制每个像素点偏振光出射与否而达到显示目的。方案二:采用LED数码管显示LED是一种能够将电能转化为光能的半导体,与传统的白炽灯和节能灯不同,采用电场发光。而数码管则是由多个LED发光二极管封装在一起组成“8”字型的器件,通过控制每个发光二极管的亮灭情况,让其显示不同的数字和字母,但显示的内容有限,一般只用来显示数字。本次设计使用显示模块显示系统的输出电压,只要求显示数字,故采用LED数码管显示即可满足要求。2. 硬件电路设计2.1 元器件的介绍2.1.1 AT89C51图2

6、-1 AT89C51引脚图AT89C51单片机是美国Atmel公司生产低电压,高性能CMOS 8位单片机。如图2-1所示为AT89C51引脚图,其各引脚功能如下所示:Vcc(40引脚): 接+5V电源。Vss(20引脚): 接地。XTAL1(19引脚): 片内振荡器反相放大器和时钟发生器电路的输入端。XTAL2(18引脚): 片内震荡器反相放大器的输出端。RST: 复位引脚,高电平有效。EA: 外部程序存储器访问允许控制端。ALE: 低8位地址锁存允许信号端。PSEN:读外部程序存储器的选通信号端。 P0口:8位,漏极开路的双向I/O口。P1口:8位,准双向I/O口,具有内部上拉电阻。P2口:

7、8位,准双向I/O口,具有内部上拉电阻。P3口:8位,准双向I/O口,具有内部上拉电阻。本次设计使用的均为I/O口的基本功能,其中P0口使用的是分时复用功能。P0口接DAC0832数模转换器,P1口接数码管段选,P2.0-P2.3接数码管位选,P2.4-P2.7,P3.0,P3.1接6个控制按键。2.1.2 数模转换器DAC08321.DAC0832基本介绍DAC0832是8分辨率的D/A转换集成芯片。与微处理器完全兼容。本DA芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。D/A转换器由8位输入锁存器、8位DAC寄存器、8位D/A转换电路及转换控制电路构成。

8、 图2-2 DAC0832的内部结构图2.DAC0832引脚功能说明DAC0832的引脚图如图2-3所示。 图2-3 DAC0832引脚图DAC0832各引脚功能如下:DI0DI7:数据输入线,TLL电平。 ILE:数据锁存允许控制信号输入线,高电平有效。 CS:片选信号输入线,低电平有效。 WR1:为输入寄存器的写选通信号。 XFER:数据传送控制信号输入线,低电平有效。 WR2:为DAC寄存器写选通输入线。 Iout1:电流输出线。当输入全为1时Iout1最大。 Iout2: 电流输出线。其值与Iout1之和为一常数。 Rfb:反馈信号输入线,芯片内部有反馈电阻. Vcc:电源输入线(+5

9、v+15v) Vref:基准电压输入线(-10v+10v) AGND:模拟地,摸拟信号和基准电源的参考地. DGND:数字地,两种地线在基准电源处共地比较好. 3.DAC0832使用说明DAC0832与单片机连接时,常采用单缓冲方式或双缓冲方式的单极性输出。本次设计采用单缓冲方式,即DAC0832内部的两个数据缓冲器有一个处于直通的方式,另一个处于受AT89C51控制的锁存方式。并且本次设计只使用一路模拟量输出。设计接口电路时,P0口接DAC0832的数据输入端,P3.6口接DAC0832的WR1端。DAC0832的WR2和XFER端接地,故DAC0832的“8位DAC寄存器”工作于直通方式。

10、“8位输入寄存器”受WR1端控制。因此,AT89C51单片机执行指令CLR P3.6 即可使DAC0832接都到AT89C51单片机发送出来的数字量。DAC0832输出电压和输入数字量B之间的关系为: 本次设计采用-5V为DAC0832的基准电压,故DAC0823的输出电压范围为05V。2.1.3 三端稳压芯片LM317LM317 是美国国家半导体公司的三端可调正稳压器集成电路。输出电压范围是 1.25V 至 37V,负载电流最大为 1.5A。它的使用非常简单,仅需两个外接电阻来设置输出电压。此外它的线性调整率和负载调整率也比标准的固定稳压器好。LM317 内置有过载保护、安全区保护等多种保护

11、电路。通常LM317 不需要外接电容,除非输入滤波电容到 LM317 输入端的连线超过 6 英寸(约 15 厘米)。使用输出电容能改变瞬态响应。调整端使用滤波电容能得到比标准三端稳压器高的多的纹波抑制比。LM317 能够有许多特殊的用法。比如把调整端悬浮到一个较高的电压上,可以用来调节高达数百伏的电压,只要输入输出压差不超过 LM117/LM317 的极限就行。当然还要避免输出端短路。还可以把调整端接到一个可编程电压上,实现可编程的电源输出。LM317的引脚图如图2-4所示图2-4 LM317 引脚图LM317为有源元件,VI端接电源+12v,VO端为稳压芯片的输出端,ADJ常接一个滑动变阻器

12、再接地。如图2-5所示,为常用的LM317接线图通常R2为一个可调电阻,调节R2的阻值即可使得2引脚的输出电压在1.2537V之间。输出电压和R1,R2的关系为:图2-5 Lm317常用接线图本次设计没有采用图2-5所示的连接图,而是采用了图2-6的连接方式。图2-6 LM317的连接图本次设计中,将DAC0832的输出电压经过LM358后接在LM317的ADJ引脚上,使得输出电压稳定,且带负载能力增强。设2引脚的输出电压为,ADJ端的输入电压为,则两者之间的关系为:故本次设计的输出电压值的范围为:1.256.25V。2.1.4 数码管1. 数码管的介绍数码管是一种半导体发光器件,其基本单元是

13、发光二极管。led数码管(LED Segment Displays)是由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。led数码管常用段数一般为7段有的另加一个小数点。通过控制八个发光二极管的亮灭情况来控制显示的字符,一般只用来显示数字和部分字符。数码管的显示方式分为动态显示和静态显示两种,由于静态显示比较耗费单片机的I/O资源,故本次设计采用数码管的动态显示方式。2. 数码管的动态显示动态驱动是将所有数码管的8个显示笔划a,b,c,d,e,f,g,dp的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的

14、I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是哪个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。本次设计数码

15、管的动态连接图2-7所示,其中P1.0P1.7为数码管的段选端,P2.0P2.3为数码管的位选端。图2-7 数码管的动态连接图2.2 硬件电路图的设计2.2.1 AT89C51的时钟电路和复位电路AT89C51的时钟源由XTAL1和XTAL2引脚所连接的晶体振荡器提供,此外XTAL1和XTAL2在连接完晶体振荡器后每一个引脚接一个电容接地,电容的容值与晶体振荡器的大小有关。本次设计采用12M晶体振荡器,采用22PF电容。AT89C51的复位方法一般有上电自动复位和外部按键手动复位,单片机在时钟电路工作以后, 在RESET端持续给出2个机器周期的高电平时就可以完成复位操作。例如使用晶振频率为12

16、MHz时,则复位信号持续时间应不小于2us。本设计采用的是外部手动按键复位电路。如图2-8为AT89C51的时钟电路和复位电路。图2-8 AT89C51时钟电路和复位电路2.2.2 DAC0832的外围电路 如图2-9所示,DAC0832的外围电路图,本次设计采用-5V的参考电压,并且在IOUT1和IOUT2间接上了LM358将输出的电流量转化为电压量。本次设计中采用单缓冲模式,故将 WR2端接地。图2-9 DAC0832外围电路图 2.2.3 独立式按键与AT89C51的连接1. 连接电路图本次设计共使用了6个独立按键来控制系统的输出电压。该6个按键分别连接AT89C51单片机的P2.4,P

17、2.5,P2.6,P2.7,P3.0,P3.1。同时以上引脚均接一500的上拉电阻,以保证在没有按键按下的情况下端口的输入为高电平。图2-10 独立按键的连接电路图2.按键功能描述本次设计基于DAC0832数模转换器的数控电源在实际使用时就说通过以下6个按键来进行控制的,各个按键的功能描述如下:S1:档位1,按下使得系统输出电压为恒定的2VS2:档位2,按下使得系统输出电压为恒定的3VS3:档位3,按下使得系统输出电压为恒定的4VS4:档位4,按下使得系统输出电压为恒定的5VS5:输出幅值增加键,按下一次使得输出电压幅值增加0.1V,增至最大值后停止。S6:输出幅值减少键,按下一次使得输出电压

18、幅值减少0.1V,减至最下值后停止。2.3 整个系统的原理图3. 软件程序设计3.1 主程序的设计本次设计的主程序流程图如图3-1所示:图3-1 主程序流程图其中,DAC0832的初始化为设定单片机的输出数字量为00H,即使得系统初始时输出的电压为最下值1.25V。数码管的初始化为,定义个、十、百、千位段码的存放地址,并且显示初始时系统的输出电压。3.2 按键子程序的设计本次设计共有6个按键,分别对应6个按键子程序。(其中DISPLAY为显示子程序)按键S1的子程序:S1: MOV A, #26H MOV P0, A ;输出数字量使得系统输出为2VSETB P3.6LCALL DISPLAY按

19、键S2的子程序:S2: MOV A, #5BH MOV P0, A ;输出数字量使得系统输出为3VSETB P3.6LCALL DISPLAY按键S3的子程序:S3: MOV A, #8EH MOV P0, A ;输出数字量使得系统输出为4VSETB P3.6LCALL DISPLAY按键S4的子程序:S4: MOV A, #C1H MOV P0, A ;输出数字量使得系统输出为5VSETB P3.6LCALL DISPLAY按键S5的子程序: S5: CJNE A,#7FH,LOOP1 ;判断系统是否输出为最大值 LCALL DISPLAYLOOP1: ADD A,#05H LCALL DI

20、SPLAY按键S6的子程序: S6: CJNE A,#00H,LOOP2 ;判断系统是否输出为最小值 LCALL DISPLAYLOOP2: SUBB A,#05H LCALL DISPLAY3.3 显示子程序的设计数码管显示子程序流程图如下图3-2所示:图3-2 数码管显示子程序流程图4.结论由于时间匆忙本次设计没有编写具体的设计源程序,但程序的流程图和部分子程序在以上论述中以给出,根据设计内容可知本次设计能够达到预期效果,即通过6个按键控制系统的输出电压,从而得到了一个基于DAC0832数模转换器的数控电源。当然本次设计同样存在不足,比如输出电压的范围太小,不能输出0V电压,设计的源程序不

21、完善等问题,在以后的学习和生活中还需要不断的完善。5.心得体会通过本次课程设计,让我对AT89C51单片机有了更深一步的理解,学会了使用汇编语言和proteus仿真软件,可以使用该单片机制作一些小系统,并且了解了DAC0832数模转换器和LM317三端稳压芯片的使用方法。在课程设计中,通过和同学们的交流学到了很多有关AT89C51单片机的其他知识,并且找发现了自己之前对AT89C51单片机错误理解的地方,总之,本次课程设计真的是让我受益匪浅。参考文献1 朱清慧.PROTEUS教程M.清华大学出版社,2009.2 张毅刚,彭喜元(等).单片机原理及应用M.第二版.高等教育出版社,2010.3 童诗白,华成英.模拟电子技术基础M.第四版.高等教育出版社,2006.5.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号