毕业设计(论文)基于PROTUES的数控直流源的仿真方法

上传人:1666****666 文档编号:36965194 上传时间:2021-11-01 格式:DOC 页数:36 大小:892.53KB
收藏 版权申诉 举报 下载
毕业设计(论文)基于PROTUES的数控直流源的仿真方法_第1页
第1页 / 共36页
毕业设计(论文)基于PROTUES的数控直流源的仿真方法_第2页
第2页 / 共36页
毕业设计(论文)基于PROTUES的数控直流源的仿真方法_第3页
第3页 / 共36页
资源描述:

《毕业设计(论文)基于PROTUES的数控直流源的仿真方法》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于PROTUES的数控直流源的仿真方法(36页珍藏版)》请在装配图网上搜索。

1、东北电力大学本科毕业设计论文3333摘 要近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此越来越广泛地应用各个领域。本系统以 AT89S51 单片机作为系统的核心,由D/A数字模拟转换模块、按键、LED串口显示模块等模块组成一个数控电源。具体介绍应用Proteus的ISIS软件进行单片机系统的数控电源设计与仿真的实现方法。本系统由单片机程控输出数字信号,经过D/A转换器(AD0832)输出模拟量,再经过运算放大器隔离放大,控制输出功率管的基极,随着功率管基极电压的变化而输出不同的电

2、压。仿真结果表明,本系统实际应用于需要高稳定度小功率恒压源的领域。关键词:单片机;数控电源;D/A;直流电源;Proteus; AbstractIn recent years, with computers in the infiltration and the development of large-scale integrated circuits. SCM application is steadily deepening, as it has strong function, small size, low power dissipation, low prices, reliabl

3、e, easy to use features, it is particularly suited to and control of the system, increasingly widely used in various fields.The AT89S51 SCM is the heart of the NC Power,which is made up of Digital-analog converter module,key module and LED display module.Describes the application of Proteuss ISIS so

4、ftware of the numerical control power source to achieve the design and simulation methods in details. This system consists of microcontroller program output digital signal, through D/A converter (AD0832) output analog amplifier, through isolating amplifier output power, control of base, with the pow

5、er to change the passive tube voltage output of different voltage. Test results show that this system application in need of high stability of small power constant-voltage source fields.Key words:Microcontroller ;numerical control power source;D/A;direct-current power supply Proteus;目 录摘 要IAbstractI

6、I第一章 绪论11.1课题背景和研究意义11.2 本文研究内容1第二章 整体方案设计与主要器件选择和介绍32.1 整体方案论证32.2 整体方案设计32.3单片机的选择32.4 89S51芯片内部结构简介52.5 数模转换器D/A的选择与介绍82.6 可调稳压芯片的选择与介绍9第三章 数控直流源的硬件设计103.1 最小系统设计103.2 DAC0832及其外围电路113.3 D/A 转换的计算113.4 LED数码管显示模块123.5 键盘控制电路143.6 稳压输出电路设计153.7数控直流源的整体原理图16第四章 数控直流源的软件设计174.1 开发工具介绍174.2系统软件设计流程图1

7、84.3 主程序和中断程序设计19第五章 系统仿真215.1 PROTUES软件介绍215.2 PROTEUS软件的强大功能215.3 用PROTEUS绘制电路图225.4 PROTEUS和KEIL编译器的结合使用225.5 数控直流源系统PROTUES仿真24第六章 调试与功能说明256.1系统性能测试与功能说明256.2系统数据分析256.3软件调试问题及解决25结 论26致 谢27参考文献、资料索引28附录一:源程序29第一章 绪论1.1课题背景和研究意义 单片机技术作为计算机技术的一个分支,广泛地应用于工业控制、智能仪器仪表、电机一体化产品、家用电器等各个领域。“单片机原理及应用”是工

8、科类一门重要的专业课,是电子信息与电器类专业学生必须要掌握的一门基本技术。学生在课程设计、毕业设计及社会实践中会广泛应用到单片机知识。如何在较短的时间掌握单片机知识解决实际问题的能力?针对这一课题,以Proteus软件作为单片机应用系统的设计和仿真平台,强调了在应用中学单片机,实现了从产品概念到设计完成全过程训练,克服了传统单片机系统设计中没有物理原型就无法对系统进行测试、没有系统硬件就很难对软件进行调试的不足。几乎所有的电子设备都需要稳定的直流电源,因此直流稳压电源的应用非常的广泛。 直流稳压电源的电路形式有很多种,有串联型、开关型、集成电路、稳压管直流稳压电源等等。在电子设备中,直流稳压电

9、源的故障率是最高的(长期工作在大电流和大电压下,电子元器件很容易损坏)但在直流稳压电源中,通过整流、滤波电路所获得的直流电源的电压往往是不稳定的。输出电压在电网电压波动或负载电流变化时也会随之有所改变。电子设备电源电压的不稳定,将会引起很多问题。设计出质量优良的直流稳压电源,才能满足各种电子线路的要求。因此,直流稳压电源的研究就颇为重要。目前产生直流稳压电源的方法大致分为两种:一种是模拟方法,另一种是数字方法。前者的电路均采用模拟电路控制,而后者则是通过数字电路进行自动控制。直流稳压电源朝着数字化方向发展。因此对于数控恒压源的研究是必要的。随着科学技术飞速发展,对电源可靠性、输出精度和稳定性要

10、求越来越高,利用D/ A 转换器的高分辨率和单片机的自动检测技术设计程控电源就显示出其优越性。程控电源既能方便输入和选择预设电压值又具有较高精度和稳定性,而且可以任意设定输出电压或电流,所有功能由面板上的键盘控制单片机实现,给电路实验带来极大的方便,提高了工作效率。电源采用数字控制,具有以下明显优点:1)易于采用先进的控制方法和智能控制策略,使电源模块的智能化程度更高,性能更完美。2)控制灵活,系统升级方便,甚至可以在线修改控制算法,而不必改动硬件线路。3)控制系统的可靠性提高,易于标准化,可以针对不同的系统(或不同型号的产品),采用统一的控制板,而只是对控制软件做一些调整即可。1.2 本文研

11、究内容综上所述,为更好的应用Proteus软件来完成系统的仿真和设计,本文将以应用广泛的数控直流源为例,介绍应用Proteus来做系统仿真的具体方法。本文所要研究内容包括以下几个方面:1. 数控直流源的硬件设计;2. 数控直流源的软件设计;3. 系统仿真;4. 调试与功能说明; 通过Proteus软件的仿真,可以反复实现软硬件的调试以达到系统稳定,这是一个系统的研究方法,可以把此方法应用到其他设计系统的研究。第二章 整体方案设计与主要器件选择和介绍2.1 整体方案论证方案一:采用各类数字电路来组成键盘控制系统,进行信号处理,如选用CPLD等可编程逻辑器件。本方案电路复杂,灵活性不高,效率低,不

12、利于系统的扩展,对信号处理比较困难。方案二:采用AT89S52单片机作为整机的控制单元,通过改变DAC0832的输入数字量来改变输出电压值,从而使输出功率管的基极电压发生变化,间接地改变输出电压的大小。为了能够使系统具备检测实际输出电压值的大小,可以将输出电压经过ADC0832进行模数转换,间接用单片机实时对电压进行采样,然后进行数据处理及显示。此系统比较灵活,采用软件方法来解决数据的预置以及电压的步进控制,使系统硬件更加简洁,各类功能易于实现,能很好地满足题目的要求。2.2 整体方案设计 图2-1 整体方案设计图2.3单片机的选择单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机

13、种。单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中央处理器、存储器和I/O接口电路等。因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。单片机经过1、2、3、3代的发展,正朝着多功能、高性能、低电压、低功耗、低价格、大存储容量、强I/O功能及较好的结构兼容性方向发展。其发展趋势不外乎以下几个方面:1、多功能 单片机中尽可能地把所需要的存储器和I/O口都集成在一块芯片上,使得单片机可以实现更多的功能。比如A/D、PWM、PCA(可编程计数器阵列)、WDT(监视定时器-看家狗)、高速

14、I/O口及计数器的捕获/比较逻辑等。有的单片机针对某一个应用领域,集成了相关的控制设备,以减少应用系统的芯片数量。例如,有的芯片以51内核为核心,集成了USB控制器、SMART CARD接口、MP3解码器、CAN或者I*I*C总线控制器等,LED、LCD或VFD显示驱动器也开始集成在8位单片机中。2、高效率和高性能为了提高执行速度和执行效率,单片机开始使用RISC、流水线和DSP的设计技术,使单片机的性能有了明显的提高,表现为:单片机的时钟频率得到提高;同样频率的单片机运行效率也有了很大的提升;由于集成度的提高,单片机的寻址能力、片内ROM(FLASH)和RAM的容量都突破了以往的数量和限制。

15、由于系统资源和系统复杂程度的增加,开始使用高级语言(如C语言)来开发单片机的程序。使用高级语言可以降低开发 难度,缩短开发周期,增强软件的可读性和可移植性,便于改进和扩充功能。3、低电压和低功耗单片机的嵌入式应用决定了低电压和低功耗的特性十分重要。由于CMOS等工艺的大量采用,很多单片机可以在更低的电压下工作(1.2V或0.9V),功耗已经降低到uA级。这些特性使得单片机系统可以在更小电源的支持下工作更长的时间。4、低价格单片机应用面广,使用数量大,带来的直接好处就是成本的降低。目前世界各大公司为了提高竞争力,在提高单片机性能的同时,十分注意降低其产品的价格。下面大致介绍一下单片机的主要应用领

16、域和特点。(1)家用电器领域 用单片机控制系统取代传统的模拟和数字控制电路,使家用电器(如洗衣机、空调、冰箱、微波炉、和电视机等)功能更完善,更加智能化和易于使用。(2)办公自动化领域 单片机作为嵌入式系统广泛应用于现代办公设备,如计算机的键盘、磁盘驱动、打印机、复印机、电话机和传真机等。(3)商业应用领域 商业应用系统部分与家用和办公应用系统相似,但更加注重设备的稳定性、可靠性和安全性。商用系统中广泛使用的电子计量仪器、收款机、条形码阅读器、安全监测系统、空气调节系统和冷冻保鲜系统等,都采用了单片机构成的专用系统。与通用计算机相比,这些系统由于比较封闭,可以更有效地防止病毒和电磁干扰等,可靠

17、性更高。(4)工业自动化 在工业控制和机电一体化控制系统中,除了采用工控计算机外,很多都是以单片机为核心的单片机和多机系统。(5)智能仪表与集成智能传感器 目前在各种电气测量仪表中普遍采用了单片机应用系统来代替传统的测量系统,使得测量系统具有存储、数据处理、查询及联网等智能功能。将单片机和传感器相结合,可以构成新一代的智能传感器。它将传感器变换后的物理量作进一步的变化和处理,使其成为数字信号,可以远距离传输并与计算机接口。(6)现代交通与航空航天领域通常应用于电子综合显示系统、动力监控系统、自动驾驶系统、通信系统以及运行监视系统等。这些领域对体积、功耗、稳定性和实时性的要求往往比商用系统还要高

18、,因此采用单片机系统更加重要。目前,我国生产很多型号的单片机,在此,我们采用型号为STC89C51单片机,T89S51 是一个低功耗,高性能CMOS 8位单片机,片内含8k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。AT89S51是一个低功耗高性能单片机,40个引脚,8k B

19、ytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM),5个中断优先级2层中断嵌套中断,看门狗(WDT)电路,片内时钟振荡器。32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,AT89S51可以按照常规方法进行编程,也可以在线编程。此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLC

20、C等三种封装形式,以适应不同产品的需求。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。2.4 89S51芯片内部结构简介中央处理器:中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。数据存储器(内部RAM):数据存储器用于存放变化的数据。AT89S51中数据存储器的地址空间为256个RAM单元,但其中能作为数据存储器供用户使用的仅有前面128个,后128个被专用寄存器占用。程序存储器(内部ROM):程序存储器

21、用于存放程序和固定不变的常数等。通常采用只读存储器,且其又多种类型,在89系列单片机中全部采用闪存。AT89S51内部配置了4KB闪存。定时/计数器(ROM):定时/计数器用于实现定时和计数功能。AT89S51共有2个16位定时/计数器。并行输入输出(I/O)口:8051共有4组8位I/O口(P0、 P1、P2或P3),用于对外部数据的传输。每个口都由1个锁存器和一个驱动器组成。它们主要用于实现与外部设备中数据的并行输入与输出,有些I/O口还有其他功能。全双工串行口:A89S51内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。

22、时钟电路:时钟电路的作用是产生单片机工作所需要的时钟脉冲序列。中断系统:中断系统的作用主要是对外部或内部的终端请求进行管理与处理。AT89S51共有5个中断源,其中又2个外部中断源和3个内部中断源。 图2-1 AT89S51系列单片机的内部结构示意图AT89S51 引脚图如图所示:图2-2 AT89S51 引脚VCC:电源电压GND:地P0口:P0口是一组8位漏极开路型双向I0口,也即地址数据总线复用口。作为输出口用时,每位能驱动8个TTL逻辑门电路,对端口写“l”可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻

23、。P1口:Pl 是一个带内部上拉电阻的8位双向IO口,Pl的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“l”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。Flash编程和程序校验期间,Pl接收低8位地址。表2-1 具有第二功能的P1口引脚端口引脚第二功能:P1.5MOSI(用于ISP编程)P1.6MOSI(用于ISP编程)P1.7MOSI(用于ISP编程)P2 口:P2 是一个带有内部上拉电阻的8 位双向IO 口,P2 的输出缓冲级可驱动(吸收或输出电流)4 个TTL逻辑门电路

24、。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVXDPTR指令)时,P2口送出高8位地址数据。在访问8 位地址的外部数据存储器(如执行MOVXRi 指令)时,P2 口线上的内容(也即特殊功能寄存器(SFR)区中P2寄存器的内容),在整个访问期间不改变。Flash编程或校验时,P2亦接收高位地址和其它控制信号。P3 口:P3 口是一组带有内部上拉电阻的8 位双向I0 口。P3 口输出缓冲级可驱动(吸收或输出电流)4 个TTL

25、逻辑门电路。对P3口写入“l”时,它们被内部上拉电阻拉高并可作为输入端口。作输入端时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。P3口除了作为一般的I0口线外,更重要的用途是它的第二功能,如下表所示:表2-2 具有第二功能的P3口引脚端口引脚第二功能:P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2/INT0(外中断0)P3.3/ INT1(外中断1)P3.4T0(定时计数器0外部输入)P3.5T1(定时计数器1外部输入)P3.6/ WR(外部数据存储器写选通)P3.7/ RD外部数据存储器读选通)P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。RST

26、:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。WDT 溢出将使该引脚输出高电平,设置SFR AUXR的DISRT0 位(地址8EH)可打开或关闭该功能。DISRT0位缺省为RESET输出高电平打开状态。ALE:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。即使不访问外部存储器,ALE 仍以时钟振荡频率的16 输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对F1ash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄

27、存器(SFR)区中的8EH 单元的D0 位置位,可禁止ALE 操作。该位置位后,只有一条M0VX和M0VC指令ALE才会被激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE无效。程序储存允许()输出是外部程序存储器的读选通信号,当AT89S51 由外部程序存储器取指令(或数据)时,每个机器周期两次有效,即输出两个脉冲。当访问外部数据存储器,没有两次有效的信号。VPP:外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000HFFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接VCC端),CPU则执行

28、内部程序存储器中的指令。F1ash存储器编程时,该引脚加上+12V的编程电压Vpp。XTAL1:振荡器反相放大器及内部时钟发生器的输入端。2.5 数模转换器D/A的选择与介绍 方案一:采用MX7541是高速高精度12位数字/模拟转换器芯片,功耗低,而且其线性失真可低达0.012%,特别适合于精密模拟数据的获得和控制。方案二:采用DAC0832,DAC0832是一种常用的8位的数字/模拟转换芯片。本系统是基于51单片机的数控电源的设计, 8位的单片机,而MX7541是12位数字输入的,因此须用锁存器。而此数控电源要求单步1V,215V,DAC0832完全可以达到,故选择常用的DAC0832。DA

29、C0832引脚图如图 :图2-3 DAC0832引脚图DAC0832是8位分辨率D/A转换集成芯片,与处理器完全兼容,其价格低廉,接口简单,转换控制容易等优点,在单片机应用系统中得到了广泛的应用。管脚定义:DI0DI7:数据输入线,TLL电平。ILE:数据锁存允许控制信号输入线,高电平有效。CS:片选信号输入线,低电平有效。WR1:为输入寄存器的写选通信号。XFER:数据传送控制信号输入线,低电平有效。WR2:为DAC寄存器写选通输入线。Iout1:电流输出线。当输入全为1时Iout1最大。Iout2: 电流输出线。其值与Iout1之和为一常数。Rfb:反馈信号输入线,芯片内部有反馈电阻.Vc

30、c:电源输入线 (+5v+15v)2.6 可调稳压芯片的选择与介绍三端可调稳压芯片有多种,其中最常见的有LM317、LM337、LM318、LM196等几种,LM317用于正电压调整,LM337用于负电压调整。本系统的输出电压范围215.0V为正电压输出,固排除LM337,对于LM317又有如下各种型号,它们的输出电流与电压的对照表如表2-3: 表2-3 常见稳压输出电流和电压范围芯片型号输出电流(A)输出电压(V)LM317L0.11.2537LM317T0.51.2537LM3171.51.2537LM31851.2537LM196101.2515根据设计要求输出电压范围215.0V,输出

31、电流500mA,以上有多种型都可以满足要求,再根据成本和现有材料,我选择了LM317T三端可调稳压芯片。第三章 数控直流源的硬件设计3.1 最小系统设计51单片机的最小系统电路图:图3-1 最小系统设计图说明: 复位电路:由电容串联电阻构成,由图并结合电容电压不能突变的性质,可以知道,当系统一上电,RST脚将会出现高电平,并且,这个高电平持续的时间由电路的RC值来决定.典型的51单片机当RST脚的高电平持续两个机器周期以上就将复位,所以,适当组合RC的取值就可以保证可靠的复位.一般教科书推荐C 取10u,R取8.2K.当然也有其他取法的,原则就要让RC组合可以在RST脚上产生不少于2个机周期的

32、高电平;时钟电路:MCS-51内部有一个用于构成振荡器的高增益反相器放大器,该高增益反相器的输入端为芯片引脚XTAL1,输出引脚XTAL2。这两个引脚跨接石英晶体振荡器和微调电容,就构成一个稳定的自激振荡器,电路中的电容C1和C2典型值通常为30pF左右。晶振的频率范围为1.2MHz12MHz之间,本设计用的是12MHz的。单片机:一片AT89S51/52或其他51系列兼容单片机; 注意:对于31脚(EA/Vpp),当接高电平时,单片机在复位后从内部ROM的0000H开始执行;当接低电平时,复位后直接从外部ROM的0000H开始执行; 电源部分:接+5伏特的电压。3.2 DAC0832及其外围

33、电路本系统是基于单片机的数控电源的设计,而MX7541 是 12 位数字 输入的 , 因此须用锁存器。而此数控电源要求单步1V, 215 .0V只需区分14个点,DAC0832完全可以达到,故选择常用的DAC0832。当其与单片机进行相连时,电路也 简单,只需把单片机的数据线与DAC0832的输入端直接相连即可,程序也很简单,只需向其送数据即可。其各个引脚的连接及外围图:图3-2 D/A模块电路3.3 D/A 转换的计算 D/A转换器(DAC)输入的是数字量,经转换输出的是模拟量。DAC的技术指标很多,如:分辨率、满刻度误差、线性度、绝对精度、相对精度、建立时间、输入/输出特性等。 分辨率:D

34、AC的分辨率反映了它的输出模拟电压的最小变化量。其定义为输出满刻度电压与 的比值,其中 n 为DAC的位数。如:8位DAC的满刻度输出电压为5V,则其分辨率为 ;10位DAC的分辨率为 。可见,DAC的位数越高,分辨率越小。 建立时间:是描述DAC转换速度快慢的参数。其定义为从输入数字量变化到输出达到终值误差1/2LSB(最低有效位)所需的时间。高速DAC的建立时间可达1us。 接口形式:在DAC输入/输出特性之一。包括输入数字量的形式,十六进制式BCD,输入是否带有锁存器等。 DAC0832为8位D/A转换器。单电源供电,范围为+5V +15V,基准电压范围为10V。电流的建立时间为1us。

35、CMOS工艺功耗20 mw。 输入设有两级缓冲锁存器。 电压的计算方式: 设计要求数控电压步进为1V,因此要准确选择D/A的参考电压 ,如上图用一个精密电阻进行调节,计算方法如下: ,数字量取0 256,n取16, 取8V,即数字量每步进16,模拟量0.5V,要达到步进1V,必须放大2倍,用运放即可 。运算放大器的原理如下图:图3-3 运算放大电路输出的电压V,再从Vi输入,经过电容C10滤波再输入, , , , 输出的Vo值的大小为输入Vi的 倍,只需调节可调电阻R3的阻值达到所需的电压放大倍数即可,输出的电压Vo通过电压跟随,再用于控制LM317T的输出。3.4 LED数码管显示模块 数码

36、管LED串口显示模块通常有两种显示方法:动态显示和静态显示。 动态显示:连接方法是将每个二极管的同名端连在一起,而每个显示器的 公共极COM各自独立的接受I/O线控制,CPU向字段输出端口输出字型码,所有显示器接受到相同的字符,而要使用哪个显示器要取决于他们的COM的电平,而这段是由I/O端控制的,由单片机输出。动态扫描时连续的动态扫描,只是肉眼暂留现象,乃发光二极管的余辉效应,给人的感觉是一组稳定的显示数据。 静态显示: 静态显示显示效果好,但是功耗大,但不占用端口,只需两个串口线输出,变成较为简单。而且采用静态显示需要的驱动器件多,硬件成本相对更高。 比较以上两种方案,方案一硬件简单程序复

37、杂,方案二硬件复杂程序简单,考虑到实惠和对自己的编程锻炼,选择方案动态显示。动态扫描 方法是用其接口电路把所有显示器的8个笔画字段(ag和dp)同名端连在一起,而每个显示器的公共极COM各自独立的接受I/O线控制。CPU向字段输出端口输出字型码时,所有显示器接受到相同的字型码,但究竟使用哪个显示,则取决于公共极COM端,而这一端是由/WR和/RD控制的,由单片机决定何时显示哪一位。动态扫描用分时的方法去轮流控制各个显示的COM端,时各个显示器轮流亮。在轮流点亮扫描过程中,每为显示器的点亮时间极为短暂,但由于人的视觉暂留现象及发光二极管的于辉效应,给人的印象就时一组稳定的显示数据。 显示电路解析

38、图: 图3-4 数码管显示电路 7段数码管可以包括小数点的09的数字和部分的英文字母,为了获得不同的字符,数码管各段所加的电平也不同,编码也不一样。本设计采用的是两位共阳极数码管7SEG-MPX2-CA,字段和编码的关系如下表1: 表3-1 数码管编码表十六进制数 hgfedcba 显示代码 0 11000000 0xc0 1 11111001 0xf9 2 10100100 0xa4 3 10110000 0xb0 4 10011001 0x99 5 10010010 0x92 6 10000010 0x82 7 11111000 0xd8 8 10000000 0x80 9 1001000

39、0 0x90 . 01111111 0x80 3.5 键盘控制电路该设计需要设定电压,用四个按键来实现。其中K1、K2为固定电压的输入,分别是+5V和+10V电压的输入按钮,K3、K4分别为+,-键,对电压值进行加和减计算。四个按键统一接到一个四输入与门,只要有一个按键按下,四输入与门就会输出一个低电平到外部中断请求0,产生中断,进入中断控制程序。下图3-5是按键硬件连接图。 图3-5 按键控制电路的硬件连接图当用手按下一个键时,如图3-8所示,往往按键在闭合位置和断开位置之间跳几下才稳定到闭合状态的情况;在释放一个键时,也回会出现类似的情况。这就是抖动。抖动的持续时间随键盘材料和操作员而异,

40、不过通常总是不大于15ms。很容易想到,抖动问题不解决就会引起对闭合键的识别。用软件方法可以很容易地解决抖动问题,这就是通过延迟15ms来等待抖动消失,这之后,在读入键盘码。键按下前沿抖动后沿抖动闭合稳定图3-6 按键抖动信号波形3.6 稳压输出电路设计 电路图如下: 图3-7 输出电源电路图220V市电经变压器变压(降压),二极管桥式整流,电容滤波后送入LM317第三脚(输入端),第二脚输出稳压的直流电压。第一脚为调整端,调整端电压Ui与输出端电压Uo之间为1.25的基准电压。输出的基本公式为: U0=1.25+Ui; 3.7数控直流源的整体原理图将以上设计的各个部分联系起来。用PROTUE

41、S软件,根据要求画出数控直流源的原理图如下所示。图3-8 数控直流源原理图在此有必要介绍一下数控直流源的工作原理。工作原理 : 本系统以 AT89S51 单片机作为系统的核心,由D/A数字模拟转换模块、按键、LED串口显示模块等模块组成一个数控电源。该系统实现了 输出电压:范围 2 15 .0 V,步进1V,纹波不大于10mV;输出电流:500mA;输出电压值由数码管显示;由“”、“”两键控制输出电压步进增减 。输入模块的按键按下之后,对单片机就有了一个输入,单片机将输入的数字一方面给显示模块,让它们在数码管中显示出来;另一部分输给DAC0832,让它转化为模拟量电流输出,通过运算放大器将这模

42、拟量转化为相应的电压,这电压经过放大后控制LM317的控制端,从而实现输出电压的控制。第四章 数控直流源的软件设计系统的软件设计也是工具系统功能的设计。单片机软件的设计主要包括执行软件(完成各种实质性功能)的设计和监控软件的设计。单片机的软件设计通常要考虑以下几个方面的问题:(1)根据软件功能要求,将系统软件划分为若干个相对独立的部分,设计出合理的总体结构,使软件开发清晰、简洁和流程合理;(2)培养良好的编程风格,如考虑结构化程序设计、实行模块化、子程序化。既便于调试、链接,又便于移植和修改;(3)建立正确的数学模型,通过仿真提高系统的性能,并选取合适的参数;(4)绘制程序流程图;(5)合理分

43、配系统资源;(6)为程序加入注释,提高可读性,实施软件工程;(7)注意软件的抗干扰设计,提高系统的可靠性。4.1 开发工具介绍 单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可

44、看出。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果你使用C语言编程,那么Keil几乎就是你的不二之选(目前在国内你只能买到该软件、而你买的仿真机也很可能只支持该软件),即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功

45、倍。Keil C51开发系统基本知识Keil C51开发系统基本知识 1. 系统概述 Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。 Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。下面详细介绍Keil

46、 C51开发系统各部分功能和使用。 2. Keil C51单片机软件开发系统的整体结构 C51工具包的整体结构,如图(1)所示,其中uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及A51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进

47、行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。 使用独立的Keil仿真器时,注意事项 * 仿真器标配11.0592MHz的晶振,但用户可以在仿真器上的晶振插孔中换插其他频率的晶振。 * 仿真器上的复位按钮只复位仿真芯片,不复位目标系统。 * 仿真芯片的31脚(/EA)已接至高电平,所以仿真时只能使用片内ROM,不能使用片外ROM;但仿真器外引插针中的31脚并不与仿真芯片的31脚相连,故该仿真器仍可插入到扩展有外部ROM(其CPU的/EA引脚接至低电平)的目标系统中使用。4.2系统软件设计流程图这次的数控直流源设计用到很多子程序,包括主程序,延时程

48、序,电压显示程序,键盘处理程序和D/A转换程序。方便设计需要可先总括出整个程序的流程图,然后在逐步完善各个流程图。本文主要介绍整体流程图,子程序流程图从略。整个程序的的流程图如下所示开始初始化设置显示输入值响应中断键盘处理D/A转换返回主函数图4-1 整体程序流程图4.3 主程序和中断程序设计根据软件设计流程图可以编写主程序和其他子程序,主程序和中断程序如下,其他子程序见附录一。主函数:void main(void)P0 = 0xff;P1 = 0xff;P2 = 0xff;P3 = 0xff;EA=1;EX0=1;IT0=1;voltage=2;while(1)display();中断函数:

49、void innt() interrupt 0 using 1 key(); DAC(); getbuff();在这里,我们有必要介绍一下单片机的中断系统,以利于我们的学习。中断技术在单片系统中有着十分重要的作用,它不仅可以提高单片机CPU的效率,也可以对突发事件处理。所谓中断就是当CPU正在执行程序A时,发生了另一个急需处理的事件B,这是CPU暂停当前执行的程序A,立即转去执行处理事件B的程序,处理完事件B后,再返回到程序A继续执行,这个过程被叫做中断。关于中断的概念有下列几个名词:(1)程序A称为主程序,(2)处理事件B的程序称为中断服务程序,(3)主程序中转向中断服务程序的地方称为断点,

50、(4)引起中断的原因即事件B称为中断源,(5)转去执行中断服务程序称为中断响应。关于中断的概念可以打个如下的比喻。领导(CPU)在自己的房间办公(执行主程序),下属(外设)有问题打电话来请示(中断源),领导停下正在进行的工作,通过电话给下属做指示(执行中断服务程序),指示完后,领导挂断电话,继续做自己的工作(返回主程序继续执行)。中断是一个过程,当中央处理器CPU在处理某件事情时,外部又发生了另一紧急事件,请求CPU暂停当前的工作而去迅速处理该紧急事件。处理结束后,再回到原来被中断的地方,继续原来的工作。引起中断的原因或发出中断请求的来源,称为中断源。单片机一般允许有多个中断源,当几个中断源同

51、时向CPU请求中断时,就存在CPU优先响应哪一个中断请求源的问题(优先级问题),一般根据中断源的轻重缓急排队,优先处理最紧急事件的中断请求,于是便规定每一个中断源都有一个中断优先级别,并且CPU总是响应级别最高的中断请求。当CPU正在处理一个中断源请求的时候,又发生了另一个优先级比它高的中断源请求,如果CPU能够暂时中止对原来中断处理程序的执行,转而去处理优先级更高的中断源请求,待处理完以后,再继续执行原来的低级中断处理程序,这样的过程称为中断嵌套。 第五章 系统仿真5.1 PROTUES软件介绍PROTEUS嵌入式系统仿真与开发平台是由英国公司开发的EDA工具软件,是目前世界上最先进最完整的

52、嵌入式系统设计和仿真平台,Proteus软件有十多年的历史,在全球广泛使用,除了其具有和其它EDA工具一样的原理布图、PCB自动或人工布线及电路仿真的功能外,其革命性的功能是,他的电路仿真是互动的,针对微处理器的应用,还可以直接在基于原理图的虚拟原型上编程,并实现软件源码级的实时调试,如有显示及输出,还能看到运行后输入输出的效果,配合系统配置的虚拟仪器如示波器、逻辑分析仪等。总之,该软件是一款集单片机和SPICE分析于一身的仿真软件, Proteus为我们建立了完备的电子设计开发环境。真正实现了在没有目标原形时就可对系统进行调试,测试和验证,PROTEUS软件大大提高了企业的开发效率,降低了开

53、发风险。5.2 PROTEUS软件的强大功能Proteus组合了高级原理布图、混合模式SPICE仿真,PCB设计以及自动布线来实现一个完整的电子设计系统。此系统受益于15年来的持续开发,被电子世界在其对PCB设计系统的比较文章中评为最好产品“The Route to PCB CAD”。Proteus 产品系列也包含了我们革命性的VSM技术,用户可以对基于微控制器的设计连同所有的周围电子器件一起仿真。用户甚至可以实时采用诸如LED/LCD、键盘、RS232终端等动态外设模型来对设计进行交互仿真。其功能模块:个易用而又功能强大的ISIS原理布图工具;PROSPICE混合模型SPICE仿真; ARE

54、S PCB设计.PROSPICE 仿真器的一个扩展PROTEUS VSM:便于包括所有相关的器件的基于微处理器设计的协同仿真。此外,还可以结合微控制器软件使用动态的键盘,开关,按钮,LED甚至LCD显示CPU模型. (1)支持许多通用的微控制器,如PIC,AVR,HC11以及8051.(2)交互的装置模型包括:LED和LCD显示,RS232终端,通用键盘,(3)强大的调试工具,包括寄存器和存储器,断点和单步模式(4)IAR C-SPY 和Keil uVision2等开发工具的源层调试(5)应用特殊模型的DLL界面-提供有关元件库的全部文件 Proteus与其它单片机仿真软件不同的是,它不仅能仿

55、真单片机CPU的工作情况,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。因此在仿真和程序调试时,关心的不再是某些语句执行时单片机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。对于这样的仿真实验,从某种意义上讲,是弥补了实验和工程应用间脱节的矛盾和现象。所以说PROTUES是一种十分优秀的软件。5.3 用PROTEUS绘制电路图运行PROTEUS VSM 的ISIS 后出现如(图3-1) 所示的界面, 点状的栅格区域为绘图区。左侧的上方为电路图概览区, 下方是元器件列表区。单击P后出现(图3-2) 所示的Pick Device添加元器件的对话框,

56、输入所要添加的器件名称, 则该器件就会出现在右侧, 单击OK 按钮, 完成一个元器件的添加。重复以上过程, 添加好电路中所需的元器件。概览区元器件列表区绘图区图 5-1运行PROTEUS VSM 的ISIS 后出现的界面5.4 PROTEUS和KEIL编译器的结合使用Proteus在设计时已经注意到和单片机各种编译程序的整合了,如它可以和Keil ,Wave6000等编译模拟软件结合使用。由于Keil使用方便,具备强大的软件仿真和硬件仿真功能。把Proteus和Keil结合起来调试硬件就方便多了,本设计就是采用“Proteus+Keil”的仿真方法,具体步骤如下:1、假若KeilC与Prote

57、us均已正确安装在C:Program Files的目录里,把C:Program FilesLabcenter ElectronicsProteus 7 ProfessionalMODELSVDM51.dll(可能没有这个文件,网上均有下载)复制到C:Program FileskeilCC51BIN目录中。2、用记事本打开C:Program FileskeilCC51TOOLS.INI文件(这里的TOOLS.INI文件可能不在c51目录下,但一定在keil的安装目录下,找一找),在C51栏目下加入:TDRV5=BINVDM51.DLL (Proteus VSM Monitor-51 Driver

58、)其中“TDRV5”中的“5”要根据实际情况写,不要和原来的重复。(步骤1和2只需在初次使用设置。)3、进入KeilC Vision2开发集成环境,创建一个新项目(Project),并为该项目选定合适的单片机CPU器件(如:Atmel公司的AT89C51)。并为该项目加入KeilC源程序。4、单击“Project菜单/Options for Target”选项或者点击工具栏的“option for ta rget”按钮 ,弹出窗口,点击“Debug”按钮,出现如图所示页面。在出现的对话框里在右栏上部的下拉菜单里选中“Proteus VSM Monitor一51 Driver”。并且还要点击一下

59、“Use”前面表明选中的小圆点。再点击“Setting”按钮,设置通信接口,在“Host”后面添上“127.0.0.1”,如果使用的不是同一台电脑,则需要在这里添上另一台电脑的IP地址(另一台电脑也应安装Proteus)。在“Port”后面添加“8000”。设置好的情形如图所示,点击“OK”按钮即可。最后将工程编译,进入调试状态,并运行。5、Proteus的设置进入Proteus的ISIS,鼠标左键点击菜单“Debug”, 选中“use romote debuger monitor”,如图所示。此后,便可实现KeilC与Proteus连接调试。将程序(HEX文件)载入单片机了。首先双击单片机图

60、标,系统同样会弹出“Edit Component”对话框,如下图。在这个对话框中我们点击“Program files”框右侧的,来打开选择程序代码窗口,选中相应的HEX文件后返回,这时,按钮左侧的框中就填入了相应的HEX文件,我们点击对话框的“OK”按钮,回到文档,程序文件就添加完毕了。 图5-2装载好程序,我们就可以进行仿真了。 5.5 数控直流源系统PROTUES仿真用PROTUES软件,根据数控直流源的原理图,画出仿真图,得到的图如下所示。图5-3数控直流源的PROTES仿真单击仿真运行开始按钮 ,我们能清楚地观察到每一个引脚的电频变化,红色代表高电频,蓝色代表低电频。在LED显示器上,

61、就可以显示数控直流源的输出电压了。按动键盘控制键能分别能控制输出电压。第六章 调试与功能说明单片机应用系统的调试包括硬件和软件两部分,但是他们并不能完全分开。一般的方法是排除明显的硬件故障,再进行综合调试,排除可能的软/硬件故障。6.1系统性能测试与功能说明点击开始运行按钮,默认状态显示输出电压2V,通过K1,K2,K3,K4分别实现设定输出电压5V,10V,电压+1,电压-1功能。最高输出电压为15V,最低输出电压为2V.实现了预期的效果。6.2系统数据分析系统的设计电路相对简单,硬件制作基本完成,我用ISIS Profressional软件已仿真出来,效果非常的好。已经在输出的精度和稳定性基本达到要求,输出的电压范围为2- +15v,步进为1v,又预设两个定值电压+10v和+5v。实验结果为下表:表6-1仿真数据结果理论值(V)2345678实际值(V)2.013.014.005.016.007.008.00理论值(V)9101112131415实际值(V)9.009.9911.0012.0013.0014.0014.8由上表的电压实测值与显示值对比值,可见该电源相对误差小于1%,按下“+”、“”键时,单步变化1V的精度也基本符合要求。6.3软件调试问题及解决软件程序的调

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