毕业设计(论文)基于单片机的数控直流恒流源的制作

上传人:仙*** 文档编号:30467741 上传时间:2021-10-10 格式:DOC 页数:43 大小:1.89MB
收藏 版权申诉 举报 下载
毕业设计(论文)基于单片机的数控直流恒流源的制作_第1页
第1页 / 共43页
毕业设计(论文)基于单片机的数控直流恒流源的制作_第2页
第2页 / 共43页
毕业设计(论文)基于单片机的数控直流恒流源的制作_第3页
第3页 / 共43页
资源描述:

《毕业设计(论文)基于单片机的数控直流恒流源的制作》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于单片机的数控直流恒流源的制作(43页珍藏版)》请在装配图网上搜索。

1、目录第一章 绪论51.1 研究背景51.2 题目意义51.3 国内外相关研究情况61.4 课题的主要内61.4.1 如何实现对电流的输出控制61.4.2 主要性能指标61.5 论文的总体结构7第二章 方案与设计基础知识82.1 方案设计与论证82.1.1 控制器方案选择82.1.2 恒流源方案选择82.1.3 显示电路方案选择92.2 设计基础知识(主要电子元件)92.2.1 主控芯片(MCU)92.2.2 液晶显示器(LCD1602)102.2.3 三端稳压集成电路7805132.2.4 数模转换器DAC0832芯片142.2.5 运算放大器LM324芯片162.2.6 达林顿管TIP122

2、17第三章 系统整体结构及硬件实现193.1 系统整体框图193.2 系统模块电路设计193.2.1 单片机控制模块193.2.2 恒流控制模块(电压电流转换模块)213.2.3 显示模块233.2.4 键盘模块253.2.5 电源模块26第四章 系统的软件设计274.1 软件设计思路274.2 系统软件流程274.2.1 主程序模块274.2.2 步进增子程序模块28第五章 系统测试与误差分析295.1 软件测试295.1.1 测试软件295.1.2 编译结果295.2 系统整体测试305.2.1 测试工具305.2.2 测试结果305.2.3 误差分析30结论31致谢32参考文献33附录:

3、系统源程序(汇编)3443基于单片机的数控直流恒流源的制作摘要本文主要论述了一种基于51单片机为核心控制器的数控直流恒流源的设计原理和实现方法。该电源具有电流可步进调整、输出电流信号可同步显示的功能。文章介绍了系统的总体设计方案,其主要由微控制模块、恒流控制模块、显示模块、键盘模块、电源模块五部分构成。该系统原理是以STC89C51单片机为控制单元,以数据转换芯片DAC0832输出参考电压控制电压转换模块LM324输出电压大小,从而控制取样电阻上的电压大小以达到恒流的目的,同时将输出电流信号的值 送到液晶显示器LCD1602显示。文章最后对数控直流恒流源的主要性能参数进行了测定和总结,并对其发

4、展前景进行了展望。关键词 单片机(MCU); 数模转换器(DAC); 恒流源Design of numerical control DC constant-current source based on the 51 MCUAbstractThe method of this paper based on the 51 microcontroller core of the numerical controller DC constant-current source design theory and realization. The constant-current source has

5、some functions such as presenting current, stepping adjustment, display the current signals at the same time. This paper introduces a general designing plan of the system, which is mainly consisted of micro-controller module, constant-current control module, display module, keyboard module, power su

6、pply module. This system is based on the principle of single-chip microcomputer to control the unite STC89C51 to DAC0832 digital-to-analog converter chip reference voltage to control the output voltage of output voltage conversion module LM324, so we can control the voltage on sampling resistance to

7、 achieve the goal of making current constant. Finally, the main performance parameters for the numerical control DC constant-current source were determined and summarized, and the article also describes the development prospects.Keywords: microcontroller(MCU), Digital-to-Analog converter(DAC), const

8、ant-current source 第一章 绪论 第一章 绪论1.1 研究背景随着电子技术的发展、数字电路应用领域的扩展,现今社会,产品智能化、数字化已成为人们追求的一种趋势,设备的性能、价格、发展空间等备受人们的关注,尤其对电子设备的精密度和稳定度最为关注。性能好的电子设备,首先离不开稳定的电源,电源稳定度越高,设备和外围条件越优越,那么设备的寿命更长。基于此,人们对数控恒定电流器件的需求越来越迫切当今社会,数控恒压技术已经很成熟,但是恒流方面特别是数控恒流的技术才刚刚起步且有待发展,高性能的数控恒流器件的开发和应用存在巨大的发展空间。目前恒流电流源是科研、航天航空、半导体集成电路了生产领

9、域以及计量领域中一种很重要的电子设备。随着技术的发展,对恒流电流源的稳定性、精度等要求越来越高,而传统的模拟恒流源由于模拟电路的复杂性,将越来越难满足高稳定性的应用场合。随着数字电子技术的发展,在计量领域、电量和非电量测量的仪表、工业控制系统中应用数控直流恒流源。数控直流恒流源与传统稳压电流源相比,具有操作方便、输出电流稳定度高度特点。1.2 题目意义恒流源是一种能够向负载提供恒定电流的电源。恒流源的应用范围非常广泛,并且在许多情况下必不可少的。它既可以为各种放大电路提供偏置电流以稳定其静态工作点,又可以作为其有源负载,以提高放大倍数。并且在差动放大电路、脉冲产生电路中得到了广泛应用。例如通常

10、的充电器对蓄电池充电时,随着蓄电池端电压的逐渐升高,充电电流会相应减少。为了保证恒流充电,从而使劳动强度降低,生产效率得到提高。恒流源还被广泛用于测量电路中,例如电阻器阻值的测量和分级,电缆电阻的测量等,电流越稳定,测量就越准确。除此之外,现行扫描锯齿波的获得,有线通信远供电源,电泳、电解、电镀 第一章 绪论 等电化学加工装置电源,电子束加工机、离子注入机等电子光学设备中的供电电源也都必须应用恒流源。本文正是应社会发展的需求,研制出一种基于单片机的高性能的数控直流恒流源。本数控直流恒流源系统输出电流稳定,输出电流可在1000mA范围内设定,因而可实际应用于需要高稳定度小功率直流恒流源的领域。1

11、.3 国内外相关研究情况目前,我国电源产业与发达国家相比,存在着很大的差距和不足:在电源产品的质量、可靠性、开发投入、生产规模、工艺水平、先进检测设备、智能化、网络化、持续创新能力等方面的差距为10-15年,尤其是实现直流恒流源的智能化、网络化方面的研究不是很多。我国恒流源设备长期处于量限小、精度低的状态,国产仪器多为“稳压型”而非“恒流型”使得其应用场合受到一些限制。目前国内所能见到的恒流源大豆只有一个源,而无较高准确度输出指示,给使用带来不便,特别是用于计量领域,比如校验电流表,较理想的方案是能带有标准显示的恒流源。市售产品最大电流为30A,稳定度为0.01%,准确度0.05级即算最好,但

12、往往一个产品不能同时具备着几项指标。20年来未有突破性进展,如现在仍使用的YJ27,YJ10等YJ系列恒流源,属70年代产品,甚至硬件上是“分立器件”而无集成电路器件,近年来一些国内产家开发的新产品其性能指标也无实质性突破。所以,对数控直流恒流源的研究非常重要。1.4 课题的主要内容1.4.1 如何实现对电流的输出控制该系统以直流稳压电源和稳流电源为核心,结合单片机最小控制系统实现对输出电流在量程范围内步进可调,精度要求高。实现途径很多,可以用DAC的模拟输出控制电源的基准电压或取样电阻,或者用其他更有效的方法,因此如何选择简单有效的方法是本课题需要解决的首要问题。1.4.2 主要性能指标1、

13、输出电流范围0-1000mA。 第一章 绪论 2、输出直流能步进调节,由“+”、-“两个 按键来控制输出电流的大小,步进值为4mA。3、输出电流值由LCD液晶显示。4、设计该系统工作所需的辅助电源。1.5 论文的总体结构第一部分简要介绍课题的背景、意义、国内外研究现状,介绍本文的主要研究内容,包括实现的目标以及主要性能指标。第二部分提出了数控直流恒流源的总体设计思路和几种实现方案论证,以及相关系统实现的功能,对这些方案的可行性进行比较分析,选择了一种基于51单片机系统的数控直流恒流源的方案,并对该方案运用的基础知识和使用的器件作出扼要的介绍。第三部分模块化详细阐述了基于51单片机数控直流恒流源

14、的系统整体结构和设计图,包括单片机微控制模块、恒流控制模块、显示模块、键盘模块、电源模块。第四部分主要阐述了数控直流恒流源的软件系统的设计思路和软件设计流程。第五部分对数控直流恒流源的性能参数进行了测量和评估,以及对误差进行分析。第六部分对本数控直流恒流源给出了本课题的结论。 第二章 方案与设计基础知识 第二章 方案与设计基础知识2.1 方案设计与论证2.1.1 控制器方案选择方案一:通过编码开关来控制存储器的地址,根据地质输出对应的数字量送数模转换器(DAC)进行转换,再根据输出的电压量来控制电流的变化;同时,通过编码开关的BCD码送给数码管显示。此方案的优点是电路简单,但是数据量大且存储器

15、容量有限。方案二:采用STC89C51单片机作为整机的控制单元,通过改变DAC0832的输入数字量来改变输出电压值,从而使输出达林顿的基极电压发生变化,间接地改变输出电流的大小。此系统比较灵活,采用软件方法来解决电流的步进控制,使系统硬件更加简单,各项功能易于实现,能很好满足课题的要求。故选择此方案。2.1.2 恒流源方案选择方案一:采用传统的恒流三极管或恒流二极管,精度比较高,但这种电路的恒流范围很小,只有十几毫安,不能达到题目的要求。方案二:采用四端可调恒流源,通过改变外围电阻元件的参数,使电流达到可调的目的,该种器件的输出电流能够达到12000毫安。通常有两种方法来改变输出电流:一是手动

16、调节改变输出电流,这种方法不能满足课题的数控调节要求:二是通过数字电位器来改变电阻参数,虽然可达到数控的目的,但数字电位器的每一级步进电阻比较大,很难调节输出电流。方案三:压控恒流源,通过改变恒流源的外围电压来控制输出电流的大小。电压控制电路采用数控方式,利用单片机输出数字量,经DAC0832变成模拟量,再送到运算放大器LM324进行放大。当改变负载大小时,基本上不影响电流的输出。该方案是通过软件方法上来实现输出电流的稳定,易于功能的实现,便于操作,故选择此方案。 第二章 方案与设计基础知识 2.1.3 显示电路方案选择方案一:采用8为LED数码管,接线简单,成本低廉,配置简单灵活,编程容易,

17、对外界环境要求低,易于维护,易于实现。但是,普通数码管能显示的信息量有限,并且一般情况下要显示较多的信息所占用的系统I/O资源较多。方案二:采用液晶显示,液晶显示不仅可以显示字符、数字,还可以显示各种图形、曲线及文字,并且不会占用太多的系统I/O资源。考虑到自身未用过液晶显示器LCD1602,故采用此方案。2.2 设计基础知识(主要电子元件)2.2.1 主控芯片(MCU)1、 STC89C51简介STC89C51为8位单片机,程序存储器为4K,外部可扩展至64KB,内部RAM为128B,可扩展至64KB,4组可寻址的8位输入/输出口,即P0,P1,P2,P3。有40个引脚,32个外部双向输入/

18、输出(I/O)端口,同时内含2个外部中断口,2个16位可编程定时计数器,2个全双工串行通信口,可以按照常规方法通过串行通道进行编程。STC89C51将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。2、引脚说明 主要管脚有:XTAL1(19脚)XTAL2(18脚)为振荡器输入输出端口,外接12MHZ晶振。RST (9脚)为复位输入端口,外接电阻电容组成复位电路。VCC(40脚)和VSS(20脚)为供电端口,分别接+5V电源的正负端。P0P3为可编程通用I/O脚,其功能用途由软件定义,在本设计中,P2端口(2128脚)被定义为功能控制端口,输出

19、电源的数字信号量,P1.0(1脚)和P1.2(3脚)被定义为步进增减控制输入口。 第二章 方案与设计基础知识 2.2.2 液晶显示器(LCD1602)1、 LCD1602简介LCD1602可以在LCD显示屏上完整显示32个英文字符和日文等一些字符,适合显示英文文字信息量较小的地方。可以应用在计算器,频率计,信号发生器,时钟等产品上。LCD1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,如表1所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),

20、显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A” 第二章 方案与设计基础知识 1602液晶模块内部的控制器共有11条控制指令,如表2所示, 它的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平)指令1:清显示,指令码01H,光标复位到地址00H位置指令2:光标复位,光标返回到地址00H指令3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效 第二章 方案与设计基础知识 指令4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:

21、控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁指令5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符指令7:字符发生器RAM地址设置指令8:DDRAM地址设置指令9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。指令10:写数据指令11:读数据液晶显示模块是一个慢显示器件,所以在执行每条指令之

22、前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符,表3是1602的内部显示地址. 比如第二行第一个字符的地址是40H,那么是否直接写入40H就可以将光标定位在第二行第一个字符的位置呢?这样不行,因为写入显示地址时要求最高位D7恒定为高电平1所以实际写入的数据应该是01000000B(40H)+10000000B(80H)=11000000B(C0H)2、 引脚说明第1脚: VSS为地电源第2脚: VDD接5V正电源 第二章 方案与设计基础知识 第3脚: VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度

23、最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度第4脚: RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚: RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。第6脚: E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:D0D7为8位双向数据线。第15脚: BLA背景光源正极,接高电平第16脚: BLK背景光源负极,接地2.2.3 三端稳压集成电路7805电子产品中,常见的三端

24、稳压集成电路有正电压输出的78 系列和负电压输出的79系列。顾名思义,三端IC是指这种稳压用的集成电路,只有三条引脚输出,分别是输入端、接地端和输出端。它的样子象是普通的三极管,TO- 220 的标准封装。用78/79系列三端稳压IC来组成稳压电源所需的外围元件极少,电路内部还有过流、过热及调整管的保护电路,使用起来可靠、方便,而且价格便宜。该系列集成稳压IC型号中的78或79后面的数字代表该三端集成稳压电路的输出电压,如7806表示输出电压为正6V,7909表示输出电压为负9V。在78 * 、79 * 系列三端稳压器中最常应用的是TO-220 和TO-202 两种封装。这两种封装的图形以及引

25、脚序号、引脚功能如附图所示。 第二章 方案与设计基础知识 从正面看引脚从左向右按顺序标注,接入电路时脚电压高于脚,脚为输出位。如对于78*正压系列,脚高电位,脚接地,;对与79*负压系列,脚接地,脚接负电压,输出都是脚。78*系列的稳压集成块的极限输入电压是36V,最低输入电压为输出电压的3-4V以上。2.2.4 数模转换器DAC0832芯片1、 DAC0832简介DAC0832DAC0832是8分辨率的D/A转换集成芯片。与微处理器完全兼容。这个DA芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。D/A转换器由8位输入锁存器、8位DAC寄存器、8位D/A转换

26、电路及转换控制电路构成。A. 分辨率为8位;B. 电流稳定时间1us;C. 可单缓冲、双缓冲或直接数字输入;D. 只需在满量程下调整其线性度;E. 单一电源供电(+5V+15V);F. 低功耗,20mW。 第二章 方案与设计基础知识 2、 引脚说明* D0D7:8位数据输入线,TTL电平,有效时间应大于90ns(否则锁存器的数据会出错);* ILE:数据锁存允许控制信号输入线,高电平有效;* CS:片选信号输入线(选通数据锁存器),低电平有效; 第二章 方案与设计基础知识 * WR1:数据锁存器写选通输入线,负脉冲(脉宽应大于500ns)有效。由ILE、CS、WR1的逻辑组合产生LE1,当LE

27、1为高电平时,数据锁存器状态随输入数据线变换,LE1的负跳变时将输入数据锁存;* XFER:数据传输控制信号输入线,低电平有效,负脉冲(脉宽应大于500ns)有效;* WR2:DAC寄存器选通输入线,负脉冲(脉宽应大于500ns)有效。由WR2、XFER的逻辑组合产生LE2,当LE2为高电平时,DAC寄存器的输出随寄存器的输入而变化,LE2的负跳变时将数据锁存器的内容打入DAC寄存器并开始D/A转换。* IOUT1:电流输出端1,其值随DAC寄存器的内容线性变化;* IOUT2:电流输出端2,其值与IOUT1值之和为一常数;* Rfb:反馈信号输入线,改变Rfb端外接电阻值可调整转换满量程精度

28、;* Vcc:电源输入端,Vcc的范围为+5V+15V;* VREF:基准电压输入线,VREF的范围为-10V+10V;* AGND:模拟信号地,摸拟信号和基准电源的参考地* DGND:数字信号地,两种地线在基准电源处共地比较好2.2.5 运算放大器LM324芯片LM324系列器件为价格便宜的带有真差动输入的四运算放大器。与单电源应用场合的标准运算放大器相比,它们有一些显著优点。该四放大器可以工作在低到3.0伏或者高到32伏的电源下,静态电流为MC1741的静态电流的五分之一。共模输入范围包括负电源,因而消除了在许多应用场合中采用外部偏置元件的必要性。每一组运算放大器可用图1所示的符号来表示,

29、它有5个引出脚,其中“+”、“-”为两个信号输入端,“V+”、“V-”为正、负电源端,“Vo”为输出端。两个信号输入端中,Vi-(-)为反相输入端,表示运放输出端Vo的信号与该输入端的位相反;Vi+(+)为同相输入端,表示运放输出端Vo的信号与该输入端的相位相同。LM324的引脚排列见图。 第二章 方案与设计基础知识 2.2.6 达林顿管TIP1221、 特性 晶体管类型:功率达林顿电压, Vceo:100V功耗, Pd:65W集电极直流电流:5A直流电流增益 hFE:1000封装类型:TO-220针脚数:3功耗:65W温度:25C2、 引脚说明 第二章 方案与设计基础知识 第1脚:B,基极第

30、2脚:C,集电极第3脚:E,发射极 第三章 系统整体结构及硬件实现 第三章 系统整体结构及硬件实现3.1 系统整体框图系统总体设计方案主要由微控制模块、恒流控制模块、显示模块、键盘模块、电源模块五部分构成。3.2 系统模块电路设计3.2.1 单片机控制模块单片机部分即为MCU模块,整个控制都是依靠单片机完成,负责控制与协调其他各个模块工作,并进行数字信号处理。在整个数控直流恒流源系统中,主控器是系统的控制中心,其工作效率的高低关系到系统效率的高低以及系统运行的稳定性。而51系列单片机具有成本低,稳定性好,切运行速度基本能满足该系统的要求。从功能和价位以及本课题要求来看,选择51系列的STC89

31、C51作为本方案的控制核心。P1口接液晶显示器LCD1602作为输出数据显示传输口,同时P3.5,P3.6,P3.7作为液晶LCD的控制端口;P2口接DAC0832作为输出数据传输 第三章 系统整体结构及硬件实现 口;P1.0,P1.2接两个独立键盘作为输入数据传输口;XTAL1(19脚)XTAL2(18脚)为振荡器输入输出端口,外接12MHZ晶振。RST (9脚)为复位输入端口,外接电阻电容组成复位电路。VCC(40脚)和VSS(20脚)为供电端口,分别接+5V电源的正负端。 第三章 系统整体结构及硬件实现 3.2.2 恒流控制模块(电压电流转换模块)在本数控直流恒流源中,采用了运算放大器加

32、达林顿管组成的恒流源电路,运算放大器采用LM324,达林顿管采用TIP122,同时利用D/A转换器DAC0832作为电压输入控制。因而本电压电流转换模块主要由稳压控制模块和恒流源模块组成。稳压控制模块设计主要是用DAC0832输出的参考电压去控制LM324输出大小变化,其中数模转换器DAC0832的基准电压Vref来自三端稳压集成电路7805的输出端口。控制器STC89C51的P2口与DAC0832的数据口直接相连,DAC0832的/CS,/WR1,/WR2和/XREF接地,8脚接参考电压,电路如图所示:DAC0832的输出电流转换为电压的公式为:Vout=-(bn-1*2n-1+bn-2*2

33、n-2+b*2+b0*20)-BVref2n恒流源模块是由达林顿管TIP122、取样电阻以及负载组成,如图所示:R2是负载电阻,R3是取样电阻,采用大功率精密电阻,阻值为5欧姆,故此采样电阻的功率可以由P=I2*R算出。根据运算放大器的虚短和虚断的电路特性以及电路的分析可得出,运算放大器的两输入口电压相等,均等于Vout。所以输出的负载电流I=IC=IE=V0/R3=Vout/R3=BVref2nR3=B28=B/256 经过调节,该电压电流转换模块的输出电流分辨率为1A/256=0.004A=4mA,也就是说DAC输入数据端每增加1,电流步进增加4mA。将恒压控制模块和恒流源模块合并组成整体

34、的恒流控制模块如下图所示: 第三章 系统整体结构及硬件实现 3.2.3 显示模块显示的方式有很多,主要分为两类:LED显示和LCD显示。前者显示亮度高,制作成本低,适合做远距离显示,但是其耗电量大,所用的端口随显示的数据位数增加而增加。如果采用动态扫描方式显示,则需占用处理器的时间,若是采用静态显示则需要增加锁存器,耗费硬件制作的时间。而LCD显示更为清晰、直观,不仅可以显示字符、数字,还可以显示各种图形、曲线及文字,并且不会占用太多的系统I/O资源。并且考虑到自身未用过液晶显示器LCD1602,故采用LCD显示。LCD最常用的就是1602液晶模块,LCD1602可以在LCD显示屏上完整显示3

35、2个英文字符和日文等一些字符,可清晰显示出电流和电压单位。在设计过程中通过单片机编程控制第4脚RS(数据/命令选择端),第5脚R/W(读写选择端),第6脚E(使能端),从而实现显示效果。其显示运行原理如下:写指令: RS=L,RW=L,D0D7=指令码,E=HL 第三章 系统整体结构及硬件实现 写数据: RS=H,RW=L,D0D7=数据,E=HL写操作的时序如下图所示:读忙状态: RS=L,RW=H, E=HL读数据: RL=H,RW=H, E=HL读操作的时序如下图所示:整个显示模块电路原理如下图所示: 第三章 系统整体结构及硬件实现 3.2.4 键盘模块系统中键盘模块设计两个按键KEY1

36、、KEY2,如图所示,分别由单片机P1.0、P1.2口接10K电阻输入。KEY1为电流“+”,KEY2为电流“-”,按一下KEY1,当前电流增加4mA,按一下KEY2,当前电流减小4mA。 第三章 系统整体结构及硬件实现 3.2.5 电源模块 在数控直流恒流源中,对供电电源的要求很高,需要大功率的电源来供电。而单纯采用一般的线性稳压器件很难完成该部分的功能。随着开关电源技术的飞速发展,开关电源的工作效率越来越高,同时能提供高功率大电流的输出。在本系统中,主电源由开关电源MD35-D12提供DC12V电压,作为单片机和其他芯片电源的二级电源由主电源经三端稳压器7805得到DC+5V电压。 第四章

37、 系统的软件设计 第四章 系统的软件设计4.1 软件设计思路当给系统上电,立刻进行初始化,分别是对端口初始化,D/A初始化以及LCD1602显示器初始化,然后系统默认电压和电流。基本思路是:扫描按键D/A转换,显示电流数值扫描按键,按此循环。4.2 系统软件流程4.2.1 主程序模块流程图如图4-1所示,负责检查扫描键盘功能号和各子程序的模块接口,程序运行初始化后,开始检测是否有键按下,若有则进入按键功能子程序,控制器运算后输出新的数值给DA数模转换器,同时液晶LCD1602显示新的数值。 第四章 系统的软件设计 4.2.2 步进增子程序模块第五章 系统测试与误差分析5.1 软件测试5.1.1

38、 测试软件程序编译器keil uvision2程序烧录器STC-ISP V355.1.2 编译结果在编写完C语言后,在keil uvision2界面下,进行调试,结果如下图所示:通过提示与尝试,发现在编写语言时多处用汉语输入法中的“;”代替英文输入法中的“;” ,通过打开文本文档进行查找并全部替换,再次进行调试,直到调试没有错误和警告。编译成功的结果如下图所示:通过上述简单的测试,证明此次设计的程序基本上正确。然后,将程序烧录到单片机STC89C51中,并接到系统电路中查看系统电路的运行状况。在运行中发现,LCD1602不能显示字符数据,猜想是编程中对显示器的时序编程有误,通过不断修改,知道系

39、统正常运行。5.2 系统整体测试5.2.1 测试工具数字万用表5.2.2 测试结果显示电流值(A)理论码值(bit)实测电流值(A)误差(A)10000011001982200001100101964300010010112946400011001003928500011111101490106001001011058416700101011116782280011001000775259001110000186832100011111010961395.2.3 误差分析由测试结果可知:电流值小时,输出电流更接近给定电流值;当电流值较大时,由于系统散热性性能不够优良而导致恒流源的性能下降,引起

40、误差增大。误差存在的原因主要是采样电阻的制作误差以及系统工作时采样电阻发热,阻值变化引起的误差。但总体看来,该电流源还有有较好的精度特性。结论经过几十天的艰苦奋斗,我最终完成了毕业设计的基本要求。在大学的最后一个学期里,我学到了很多的知识和技能。通过本次毕业设计,我掌握了做科学研究的基本方法和思路,为今后的工作打下了坚实的基础。首先,我学会了对相关文献的检索。随着计算机的普及以及网络技术的发展,对文献的检索,收集资料的形式也变得越来越丰富。我们一方面可以利用学校图书馆资源,另一方面可以利用网络来检索资源,例如中国知网CNKI、IEEE、万方数据库、百度文库、豆丁文库等数据库系统。其次,通过这次

41、毕业设计,培养了我的动手能力,使我进一步了解毕业设计的基本知识。巩固了我的知识架构体系,强化了我对大学期间所学到的基础课以及专业课的认识和理解,为今后的工作打下理论基础。最后,通过本次毕业设计,使我懂得在遇到困惑和不解时要及时与老师和其他同学沟通,这样才能更迅速地解决设计中遇到的问题,提供工作效率。总之,这次毕业设计不是一次简简单单地完成一个课题。它不仅让我锻炼了动手操作能力和分析解决问题的能力,巩固了我的专业知识,还让我学到了很多东西,为我今后的工作打下基础。致谢大学四年即将画上一个句号了,毕业设计是我在学校交的最后一份答卷。在论文完成之际,感受收获喜悦的同时,心中充满了更是感激之情。首先感

42、谢学校给我们提供的条件使我们有了一个可以对大学四年的知识进行温习总结并付诸实践的机会。在此次毕业设计过程中,特别要感谢我的毕业实际指导老师卫克!感谢您在这段日子里对我亲切的关怀和悉心的指导。卫老师在我遇到难题时,不但给予我技术上的帮助,更教会我诸多检查及解决问题的方法。卫老师渊博的知识以及对待学生的耐心和责任感,不仅让我对专业知识有了更深的理解,还教会了我们今后面对工作生活的态度。借此机会,我也感谢大学四年期间所有指导过我的老师,感谢他们对我无私的教诲和帮助,感谢他们的谆谆教导。在此同时,我也要感谢一直陪伴在我身边给予我精神支持和行动支持的同学们,正是由于你们的帮助和支持,我才能克服一个又一个

43、的困难,并且让我从你们身上学到了很多知识。参考文献1 康华光,陈大钦. 电子技术基础模拟部分(第四版).北京:高等教育出版社,1999.62 童诗白,华成英. 模拟电子技术基础. 北京:高等教育出版社,2006,13 李群英,张世军,黄建. 微型计算机与接口技术(第二版). 北京:电子工业出版社,2007.124 刘文涛. 单片机语言C51典型应用设计. 北京:人民邮电出版社,2006.55 于永,戴佳,常江. 51单片机实例精讲. 北京:电子工业出版社,2007.46 曹凤. 微型数控技术及其应用. 四川:电子科技大学出版社,2002.87 邹红. 数字电路及逻辑设计. 北京:人民邮电出版社

44、,2008.38 张毅刚,彭喜元,姜守达,乔立岩.新编MCS-51单片机应用设计()第二版.哈尔滨:哈尔滨工业大学出版社,2006.109 刘守义单片机应用技术西安:西安电子科技大学出版社,200210 Power Integration.Inc.Topswitch-GX(top242-249)datasheetsR,200011 Power Integration.Inc.National semiconductor datasheetsR,200512 Jun-Lian Zhang and Jian-Xun Jin. Analysis of DC power Transmission Us

45、ing High T-c Superconducting CablesJ. Journal of Electronic Science and Technology of China,2008.(2)附录:系统源程序(汇编) RS EQU P3.6;确定具体硬件的连接方式 RW EQU P3.5;确定具体硬件的连接方式 E EQU P3.4;确定具体硬件的连接方式 ORG 0000H ;程序开始 LJMP BEGIN ;跳转到BEGIN处执行程序 ORG 0030H ;数据存放地址BEGIN: MOV P2,#00H;P2口输出置0 MOV R1,#00H;R1存储P2口的输出值 MOV R2

46、,#00H;R2存储显示器后两位的十进制数 MOV R3,#00H;R3存储显示器第一位的十进制数 MOV A,#01H;清屏并光标复位 ACALL ENABLE;调用写入命令子程序 MOV A,#38H ;设置显示模式:8位1行5x10点阵 ACALL ENABLE ; MOV A,#0fH ;显示器开、光标开、光标允许闪烁 ACALL ENABLE ; MOV A,#06H ;文字不动,光标自动右移 ACALL ENABLE ; MOV A,#80H ;写入显示起始地址 ACALL ENABLE ; MOV A,#30H; ACALL WRITE;调用写入数据子程序 MOV A,#30H

47、;数字0的代码 ACALL WRITE; MOV A,#30H ;数字0的代码 ACALL WRITE; MOV A,#30H ;数字0的代码 ACALL WRITE; MOV A,#2aH ;符号的代码 ACALL WRITE; MOV A,#34H ;数字4的代码 ACALL WRITE; MOV A,#6dH ;字母m的代码 ACALL WRITE; MOV A,#41H ;字母A的代码 ACALL WRITE; MOV A,#80H ;写入显示起始地址 ACALL ENABLE ;调用写入命令子程序 SCAN: MOV P0,#0FFH ;送扫描信号 MOV A,P0 ;读按键状态 A

48、NL A,#18H ;屏蔽除读取位外地其他位 MOV 27H,A ;保存键盘状态 ACALL D10 ;调用演示10ms子程序,消抖 MOV A,P0 ;再取键盘状态值 ANL A,#18H; CJNE A,27H,PASS ;两次结果不一样,说明抖动引起,转PASS CJNE A,#10H,KEY2 ;K1键未按下,转KEY2 AJMP PKEY1;是K1键按下,跳转键KEY1处理处理子程序KEY2: CJNE A,#08H,PASS ;K1键未按下,转PASS AJMP PKEY2;是K2键按下,跳转键KEY2处理处理子程序PASS: ACALL D125 ;调用延时125ms子程序 SJ

49、MP SCAN ;循环扫描键盘信号 D10: MOV R7,#10 ; D1:MOV R6,#250 ; DJNZ R6,$ ; DJNZ R7,D1 ; RET ;PKEY1: INC R1 ; 按下KEY1,P2口输出步进增加 MOV P2,R1 ; MOV A,R1 ; CJNE A,#00H,LCD1; LJMP BEGIN ;/若按下KEY1键后,P2口输出变为0,程序跳转到开始,显示输出0mA/ LCD1:MOV A,R2 ; INC A ; DA A ;转换成十进制数 MOV R2,A ; MOV A,R3 ; ADDC A,#00H;十位向百位进位 MOV R3,A ; CLR

50、 C ;进位CY清零 MOV A,#01H;清屏并光标复位 ACALL ENABLE;调用写入命令子程序 MOV A,#38H ;设置显示模式:8位1行5x10点阵 ACALL ENABLE ; MOV A,#0fH ;显示器开、光标开、光标允许闪烁 ACALL ENABLE ; MOV A,#06H ;文字不动,光标自动右移 ACALL ENABLE ; MOV A,#80H ;写入显示起始地址 ACALL ENABLE ; MOV A,R3 ; ORL A,#30H;生成百位数在显示器中的字符代码 MOV P1,A ; ACALL WRITE ; MOV A,R2 ; SWAP A ;高低

51、半字节交换 ANL A,#0FH ; ORL A,#30H ;生成十位数在显示器中的字符代码 MOV P1,A ; ACALL WRITE ; MOV A,R2 ; ANL A,#0FH ; ORL A,#30H ;生成个位数在显示器中的字符代码 MOV P1,A ; ACALL WRITE ; MOV A,#2aH ;符号的代码 ACALL WRITE; MOV A,#34H ;数字4的代码 ACALL WRITE; MOV A,#6dH ;字母m的代码 ACALL WRITE; MOV A,#41H ;字母A的代码 ACALL WRITE; MOV A,#80H ;写入显示起始地址 ACA

52、LL ENABLE ;调用写入命令子程序 ACALL D125 ;调用延时125ms子程序 LJMP SCAN ;循环扫描键盘信号 PKEY2: DEC R1 ; MOV P2,R1 ; MOV A,R1 ; LCD2:MOV A,R2 ; DEC A ; DA A ; MOV R2,A ; MOV A,R3 ; SUBB A,#00H; MOV R3,A ; CLR C ; MOV A,#01H;清屏并光标复位 ACALL ENABLE;调用写入命令子程序 MOV A,#38H ;设置显示模式:8位1行5x10点阵 ACALL ENABLE ; MOV A,#0fH ;显示器开、光标开、光标

53、允许闪烁 ACALL ENABLE ; MOV A,#06H ;文字不动,光标自动右移 ACALL ENABLE ; MOV A,#80H ;写入显示起始地址 ACALL ENABLE ; MOV A,R3 ; ORL A,#30H; MOV P1,A ; ACALL WRITE ; MOV A,R2 ; SWAP A ; ANL A,#0FH ; ORL A,#30H ; MOV P1,A ; ACALL WRITE ; MOV A,R2 ; ANL A,#0FH ; ORL A,#30H ; MOV P1,A ; ACALL WRITE ; MOV A,#2aH ;符号的代码 ACALL

54、WRITE; MOV A,#34H ;数字4的代码 ACALL WRITE; MOV A,#6dH ;字母m的代码 ACALL WRITE; MOV A,#41H ;字母A的代码 ACALL WRITE; MOV A,#80H ;写入显示起始地址 ACALL ENABLE ;调用写入命令子程序 ACALL D125 ;调用延时125ms子程序 LJMP SCAN ;循环扫描键盘信号 ;-写液晶数据的子程序-ENABLE: MOV P1, A ;将累加器A中的命令送到P0口做输出数据 CLR RS ;写入控制命令,RS低电平为命令 CLR RW ;读写控制端,RW,低电平为写,就是写命令 CLR E ;使能端,E发生电平跳变就开始写入命令 ACALL DELAY ;调用延时子程序,也就是下面写的判断液晶模块是否处于忙状态 RET ;-写行字符的子程序-WRITE: MOV P1, A ;将累加器A中的数据送到P0口做输出数据 SETB RS ;写入显示数据,RS高电平为数据 CLR RW ;读写控制端,RW低电平为写数据 CLR E ;使能端E,低电平 ACALL DELAY ;判断液晶模块是否忙? SETB E ;使能端,E发生电平跳变完成,写入数据完成 RET;-查看液晶忙碌信号的子程序-DELAY: MOV P

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!