基于单片机的数控电流源的设计毕业设计(论文)word格式.doc_第1页
基于单片机的数控电流源的设计毕业设计(论文)word格式.doc_第2页
基于单片机的数控电流源的设计毕业设计(论文)word格式.doc_第3页
基于单片机的数控电流源的设计毕业设计(论文)word格式.doc_第4页
基于单片机的数控电流源的设计毕业设计(论文)word格式.doc_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

吉林农业大学学士学位论文 基于单片机的数控电流源的设计1绪论1.1电流源简介所谓恒流源就是输出电流极其稳定不随负载变化。为了保证电流不变,输出电压必须始终符合V=I*R。即负载需要多大电压,恒流源就必须输出多大电压,“无条件”予以满足。从外部看,就是Ro=。如果R,那么V。所以理想恒流源都不允许输出开路。对于实际电路,当R大到一定程度,电压输出能力就会不够,输出电流必然下降,不再恒定。在一般恒流电路中大多采用电流负反馈来恒定电流负反馈的作用就是“使之稳定”。通过时刻“检查”控制对象的状态,并进行调整。发现小了,就设法使之增大,发现大了,就设法使之减小。形象地说,电流负反馈电路则是采样输出电流,计算误差,据此调节自身状态,使输出电流稳定,因而,输出特性接近恒流源。衡量“接近”程度的指标就是输出电阻R远大于零。一般希望Ro。(只能接近,不可能完全达到)1.2数控电流源的必要性作为常用的电子仪器在学校和研发和检测部门都有着相当广泛的应用,特别在电路原理实验和电子元件老化测试中都离不开电流源。随着电子技术的不断进步对电子仪器的要求不断提高,电源作为电路的动力源泉更是扮演着越来越重要的角色,不论是学校实验室还是维修中心都离不开实验电源,然而传统的电源不论是在控制精度还是输出特性上都无法满足要求。首先从精度上来看传统电流源的调整大多采用旋转电位器的方式,在调整时电流值主要从电位器的刻度读出,容易产生读数误差。从可操作性来看传统电流原电位器上的刻度有限,不可能非常精细,仅仅靠电位器的几个刻度对操作者的技巧要求比较高,同时误差也比较大。传统的实验电源急待改进电源。1.3数控电流源的可行性由于单片机技术的不断发展和D/A,A/D元件的普及使得数控电源成为可能,数控电源不论是在控制精度还是在可操作性上都有传统电源无法比拟的优势,由于单片机的平民化,使得数控电源与传统电源的成本日益接近。另外,SMT技术也是飞速发展,使得数控电源体积和重量都大大减小,为其在特殊领域的应用奠定了基础。2 数控电流源硬件系统总体设计2.1传统电流源的设计方案电源作为常用的实验仪器,在电子领域有着非常广泛的应用,传统的电流源的控制部分一般采用模拟电路,即用电位器对基准电压源进行分压,再进行电压电流转化,其电路设计简单,制造成本低廉,该电路原理框图如图2.1所示:电流表电压/电流变换放大电路基准电压源电位器 图2.1传统电流源方案Figure 2.1 traditional current supply plan从框图我们不难发现传统的电流源方案存在着非常明显的缺点,首先,输出电流无法精确掌握。早期的电流源输出电流仅仅靠标在电位器或者指针表的读数读出,不仅读取很不方便.度数误差比较大,从实用的角度考虑,现在有些模拟电流源也使用了数字电流表作为电流显示,提高了其精确性.但是在可操作性方面依然存在一定的不足.另外用电位器产生参考电位的方法是不恰当的,在电子元件中电位器是最容易产生噪声的,对干扰也最为敏感,而且在使用一段时间以后,电位器作为机械元件会出现磨损的情况,此时该电流源的输出电流将变得不稳定,噪声大幅度提高,如不更换电位器该电流源将无法正常使用。在可控升级方面传统的电流源方案电路一旦确定可更改的余地较小,可升级性能差。几乎不存在什么升级的可能2.2数控电流源方案 随着单片机的日益成熟,其稳定性不断提高,价格不断下降使得数控电流源成为可能,从原理图来看,数控电流源和传统电流源相似。不同的是数控电流源是由单片机控制的D/A提供参考电压,取代了传统电流源的电位器,使得不论是在控制精度还是使用寿命上都有很大的提高。另外单片机具有可编程性,可以进行更为复杂的控制,如输出特定的波形,和电脑通讯,实现智能化控制等,这些功能都是传统电流源难于实现的。该电路原理框图如图2.2所示: 经过多年的发展,传统电流源的电流控制电路已经相当成熟,在用D/A替代了电位器以后,其性能有很大的提高。D/A变换缓冲电压/电流变换放大电路A/D变换MCU键盘LED显示器图2.2数控电流源原理图Figure 2.2 numerical control current supply schematic diagram2.3数控电流源的方案比较方案一:通过编码开关来控制存储器的地址;根据地址输出对应的数字量送数模(D/A)进行转换;再根据输出的电压量来控制电流的变化;同时;通过四个编码开关的BCD码送给4511及数码管显示。此方案的优点是电路原理简单,缺点是数据量大且存储器存储容量有限,在实验过程中发现编码开关不稳定,所以不宜采用。其电路方框图 1 如图2.3所示:图2.3 方案一方框图Figure 2.3 a plan block diagram方案二:采用以89C52为核心的单片机系统来控制D/A的数据的输入并将其转换成模拟量输出同时单片机把输入的预值电流送数码管显示,再改变输出的电压量来控制电流的变化,此方案的优点是成本低,电路简单,可升级性强。所以在电路设计和制作中采用方案二。其电路方框图如图2.4所示:图2.4 方案二方框图Figure 2.4 plan two block diagrams2.4电流源的软件系统组成 相对来说本设计的软件系统较为简单,主流程图如图2.4 2 所示图2.5软件主流程图Figure 25 software main flow chart2.5本系统的特点在系统设计时充分考虑了系统的性价比,在电源模块采用了有源虑波,并且使用两个8位D/A来提高其分辨率,使得系统可以输出五万多个电流值,通过软件修正后可以非常准确的输出相应电流值,较以往的数控电流源大大提高。同时得益于有源虑波的引入,其输出纹波也大大减小。3 数控电流源硬件模块设计3.1电源模块3.1.1电源原理稳压电源由电源变压器、整流电路、滤波电路和稳压电路组成,如图3.1 4 图3.1 电源方框及波形图Figure 3.1 power source square and oscillograma 整流和滤波电路:整流作用是将交流电压U2变换成脉动电压U3。滤波电路一般由电容组成,其作用是脉动电压U3中的大部分纹波加以滤除,以得到较平滑的直流电压U4。b 稳压电路:由于得到的输出电压U4受负载、输入电压和温度的影响不稳定,为了得到更为稳定电压添加了稳压电路,从而得到稳定的电压U5。仿真电路图如图3.1所示下:图3.2电源仿真电路图(protel99)Figure 3.2 power source simulation circuit diagram (protel99)仿真结果图3.3 protel仿真结果 Figure 3.3 protel simulation result本设计共用到电源有三种:即5V +5V +21V。+5V其中+5 V给AD0832供电以及单片机(AT89C52)、数码显示(包括74LS595,CC7107)、键盘;-5V为AD0832参考电压。由于要求输出的电流最大值为2000mA,而且取样电阻为1欧所以要求AD0832输出的电压至少为2伏,通过计算-5伏的电压足够实现上述要求。提供的21V的电源用于LM358和 VCC 。 由于为了保证电路的性能采用线性稳压、滤波方式,从电路的可靠性以及性价比考虑采用标准的7812扩流输出方案。3.1.2电源方案确定待选方案 3 :方案一:采用线性恒流电路,该方案具有噪声干扰小,电路简单,工作稳定的特点,但是由于功率器件工作于线性状态功率损耗大,发热较大,在满足设计要求时在极限条件下功率管的消耗功率接近20W。方案二:采用开关恒流方式进行电流控制,由于功率管只工作于打开或者关闭状态,功率管损耗较低。发热量很小,但是由于开关管对强电流进行开关操作,干扰大大高于线性恒流源。结论:作为试验仪器,在一般情况下对仪器的体积要求相对小于对仪器性能的要求,而“干净”的电源对于电流源来说非常重要,所以在设计中采用线性电流源方案,并在其基础上加入有源虑波,使得电源更为“干净”所以采用方案二。3.1.3电源模块具体电路如图所示,+5V其中+5 V给AD0832供电以及单片机(AT89C52)、数码显示(包括74LS595,ICL7107)、键盘;-5V为AD0832参考电压。由于要求输出的电流最大值为2000mA,而且取样电阻为1欧所以要求AD0832输出的电压至少为2伏,通过计算-5伏的电压足够实现上述要求。提供的21V的电源用于LM358和 VCC . 由于为了保证电路的性能采用线性稳压、滤波方式,从电路的可靠性以及性价比考虑采用标准的7812扩流输出方案。图3.4 电源原理图Figure 3.4 power source schematic diagram3.1.4显示模块74LS595为串行输入并行输出的移位寄存器,可以作为静态显示器接口,接在89C52的串行口上用于数码的显示。数码显示模块如图所示。 图 3.5预值数码显示模块原理图Figure 3.5 pre-value numerical code display module schematic diagram实际电流显示利用CC7107A/D转换器组装成3.5位数字电压表, 该电路为CC7107,LED和若干无源元件组成的数字电压表电路。该电路采用标准的3.5位显示电路进行显示,其中最高位可以显示千位的 “1”和显示负号。此外,由于该电路的两个输入端即COM 与V+端的电位差具有很高的稳定性,可以作为参考电压源。因此,可以通过分压的方法来扩大它的量程。通过上面的电路可以测量最大值为2000mV的电压,而在本设计中的采样电阻为1k欧所以被测电压值即为被测电流值.图3.7 3.5位数字电压表原理图Figure 3.7 3.5 digital voltmeter schematic diagram3.2 D/A电路由于采用了粗调和细调分段控制使得系统,以及软件修正,使得电流输出精度大大提高,从成本和元件采购方面综合考虑,采用DAC0832电路作为D/A转化电路3.2.1 DAC0832简介DAC0832 5 是一个8位D/A转换器芯片,单电源供电,从+5V+15V均可正常工作,基准电压的范围为10V,电流建立时间为1s,CMOS工艺,低功耗20mA。其内部结构如图3.8所示,它由1个8位输入寄存器、1个8位DAC寄存器和1个8位D/A转换器组成和引脚排列如图所示。 图3.8 0832内部结构图 图3.9 DAC0832管脚图Figure 3.8 0832 interior structure drawing Figure 3.9 DAC0832 base pin chart该D/A转换器为20引脚双列直插式封装,各引脚含义如下:(1)D7D0转换数据输入。(2)CS片选信号(输入),低电平有效。(3)ILE数据锁存允许信号(输入),高电平有效。(4)WR1第一信号(输入),低电平有效。该信号与ILE 信号共同控制输入寄存器是数据直通方式还是数据锁存方式:当ILE=1和XFER=0时,为输入寄存器直通方式;当ILE=1和WR1 =1时,为输入寄存器锁存方式。(5)WR2 第2写信号(输入),低电平有效.该信号与信号合在一起控制DAC寄存器是数据直通方式还是数据锁存方式:当 WR2=0和XFER=0时,为DAC寄存器直通方式; 当WR2=1和XFER=0时,为DAC寄存器锁存方式。 (6)XFER数据传送控制信号(输入),低电平有效 。 (7)Iout2电流输出“1”。当数据为全“1”时,输出电流最大;为全“0”时输出电流最小。(8)Iout2电流输出“2”。DAC转换器的特性之一是:Iout1 +Iout2=常数。(9)Rfb 反馈电阻端即运算放大器的反馈电阻端,电阻(15K)已固化在芯片中。因为DAC0832是电流输出型D/A转换器,为得到电压的转换输出,使用时需在两个电流输出端接运算放大器,Rfb 即为运算放大器的反馈电阻,运算放大器的接法。(10)Vref基准电压,是外加高精度电压源,与芯片内的电 阻网络相连接,该电压可正可负,范围为-10V+10V.(11)DGND数字地(12)AGND模拟地DAC0832利用WR1 、 WR2 、ILE、XFER 控制信号可以构成三种不同的工作方式。1) 直通方式 WR1= WR2 =0时,数据可以从输入端经两个寄存器直接进入D/A转换器。2)单缓冲方式 两个寄存器之一始终处于直通,即WR1=0或WR2=0,另一个寄存器处于受控状态。3)双缓冲方式 两个寄存器均处于受控状态。这种工作方式适合于多模拟信号同时输出的应用场合。 3.2.2具体电路设计在设计中采用直通方式。电路图如3.10所示。图3.10 D/A转化电路Figure 3.10 D/A transformation electric circuit其中Vx、Vy分别为粗调和精调电压输出。3.2.3控制电压产生电路该电路由两个运算放大器组成 6 ,对Vx、Vy进行 Vout=Vx+0.005*Vy 运算,使得控制精度达到1/51200,达到高精度控制的目的,同时也使得软件修正成为可能。仿真电路如图3.12所示:图3.12 控制电压产生电路Figure 3.12 the control voltage produces the electric circuit其中U1a用于运算,U1b用于缓冲,及其滤波,V2为假定干扰源仿真结果入下图3.13所示:图3.13 控制电压产生电路仿真图(protel)Figure 3.13 the control voltage produces the circuit simulation chart (protel) 从图中我们可以看到该电路对于高频干扰具有较好的抑制性,这对提高电流源的输出性能具有一定的帮助。3.3.电流输出模块利用图3.14所示的恒流源电路 ,运放的输出端通过三极管与反向输出端相连,构成负反馈电路,由于运放的同相输入端与反相输入端在理论上是虚短的,且运放的输入电阻无穷大,因此反相端和同相端的电位相等,即,又由于三极管的发射极与集电极电流仅相差微小的基极电流,可视为两者相等即。因此可以通过改变同相输入端的电压来调整输出电流的大小。但是在测试Ui对Io的控制比预期效果差,总是小于理论值。同时R2也是负反馈电阻,当电路电流受外界影响而减小的时候,R2的端电压也随之降低,三极管的Ibe也会上升。由于三极管的驱动电流较大,在试验中输出电流偏小,达不到要求精度,所以采用方案二,用场效应管代替三极管输出,与三极管相比场效应管具有驱动电流小,电流噪声底,输出电流大的特点。仿真电路如图3.14所示。仿真波形图如图3.15所示。 图3.14恒流源电路原理图Figure 3.14 constant current electric circuit schematic diagram图3.14恒流源电路仿真波形图(protel99)Figure 3.14 constant current circuit simulation oscillogram (protel99)3.3.1具体电路图在protel仿真结果的基础上设计了电流输出模块,电路原理图如图2.15所示图3.15电流输出原理图Figure 3.15 electric current output schematic diagram3.4主控部分3.4.1 AT89C52单片机系统及外围电路在电路设计中我选择最常见的ATMEL公司的AT89C52单片机 9 。此单片机与MCS-51产品指令系统完全兼容,由8K字节可重擦写Flash闪速存储器,256*8字节内部RAM,32个可编程I/O口线,2个16位定时/计数器和6个中断源。并且该单片机经济实用,使用广泛。3.4.2单片机时钟脉冲电路AT89C52单片机的最高时钟脉冲频率已经达到了24MHz ,它内部已经具备了振荡电路,只要在AT89C52的两个引脚(即19、18脚)连接到简单的石英振荡晶体的2端即可,晶体的2个管脚也要用30pF的电容耦合到地。3.4.3复位电路89C52 7 的复位引脚(Reset)是第9脚,当此引脚连接高电平超过2个机器周期,即可产生复位的动作。以12MHz的时钟脉冲为例,每个时钟脉冲为1s,两个机器周期为2s,因此,在第9脚上连接一个4s的高电平脉冲,即可产生复位动作。最简单的就是只要一个电阻跟一个电容的复位电路,如图3.17所示。图3.17 通电瞬间复位电路Figure 3.17 circular telegram instantaneous reset circuit 图3.18 89C52的基本外部电路Figure 3.18 89C52 basic exterior electric circuit3.4.4主控部分具体电路图3.19主控电路原理图Figure 3.19 master control electric circuit schematic diagram4 数控电流源的软件系统设计4.1具体模块划分数据处理以及显示模块其具体流程图如4.1图所示:图4.1数据处理以及显示模块其具体流程图Figure 4.1 data processing as well as display module its specific flow chart按键处理程序模块如图4.2所示:图4.2按键处理程序流程图Figure 4.2 pressed key disposal procedure flow chart4.2数值处理考虑到运算放大器的工作点偏差问题输出控制采用链表方式,调整电路使得在两个D/A均为最大输出时,输出电流为2000mA,然后递减粗调和细调D/A同时用高精度电流表检测电流,当调整到合适的电流时即将输出状态记录,并与输出电流相关联,从而修正D/A线性,运算放大器静态电流等问题造成的偏差,同时在加入温度探测电路以后可以方便的对温度影响进行补偿。系统具有良好的可升级性。键盘对单片机输入数据,(所要得到的电流值),单片机将得到的数据进行转化成D/A转换器AD0832所需要的数字信号。假设键盘输入的电流值为I,由于AD0832为8位的D/A转换器,待转换的数字信号最大值为2 8-1=255,考虑到数值连续性问题细调D/A只采用200档,所以该系统最大分辨率为255*200=51000,在最大输出电流为2000mA时分辨率为2000/51000,小于0.1mA。采用软件修正后,使得最小步进为1mA,优于设计要求。5 系统测试5.1设计创新点鉴于市场上高位D/A价格高,并且购买困难,在电路设计中将采用,两个八位D/A经过运算得到高精度的电压输出,并采用查表的方式对D/A进行控制,在不同的环境下采用不同的链表,从而对元器件的非线性以及温度的影响进行高精度补偿。采用有源虑波的方法降低电源杂波,纯净的电源供给为良好的输出性能提供了保障。5.2系统性能检测1测试仪器双踪示波器,数字示波器,万用表 2指标测试输出电流范围:20mA-2000mA可以通过按键设置电流值,并且实际输出值与给定值之间的偏差=给1%+10mA。具有“+”“-”步进调整功能,步进电流10mA。本设计要求输出电流范围为1mA2000mA,根据图2.10恒流源模块可知,将模拟量转换为数字量送给模数转换电路;然后输出模拟量。下面列出部分电流值及其对应的理论和防真的数字量如表5.1所示表5.1 预值测量值Table 5.1 pre-value observed values电流值 (mA)防真值(mA)偏差(mA)显示值(mA)偏差(mA)11.0220.0222154.960.0461109.890.111112019.790.2121110099.90.11022500500050331000100001003315001499114961电流值 (mA)防真值(mA)偏差(mA)显示值(mA)偏差(mA)5.3减小纹波所采用的措施 由于电源电路存在纹波,必须尽量减小纹波系数,本设计采用措施有:电源大面积共地(注意大电流与小电流不能共地)在整流桥后加大电容虑波,本设计采用约为22000uF 为了进一步避免纹波电压对电路的干扰而产生的纹波电流,本设计又加入了有源滤波电路。电路如图5.1 图5.1有源虑波电路Figure 5.1 active worry wave electric circuit5.4 纹波电流测试本设计要求纹波电流小于0.5毫安,根据恒流源模块电路,用低频交流毫伏表测采样电阻(康铜丝绕制而成,由于该电路为直流电路没交流成分,所以不会产生感抗)两端的电压,通过公式:纹波电流(Iw) = 纹波电压(Uw)/采样电阻(100欧)计算得出。5.5误差分析从上面的测试结果可以看出系统输出具有很高的准确性,这得益于有源虑波的所提供的高稳定电源,以及双D/A所带来的高分辨率的参考电压值,但是在电路设计初期没有充分考虑地线的干扰,对系统的控制精度产生了一定的不利影响,在今后的设计中需要进一步改进6. 结论因为恒流源是一个电源内阻非常大的电源。如果电源的电压能够随着负载的变化而变化,保持RL中的电流不发生变化,也可以实现恒流。本设计正是利用这个思路。实际上是可调压电压源,输出接负载后反馈到单片机。由单片机根据输出和给定值进行调整,保持RL中的电流恒定。在参考传统电流源以及普通数控电流源的基础上,在充分考虑性价比的同时极大的提高了数控电流源的准确性,在采用软件修正以后在使用普通元件的情况下电流源的性能也达到了比较高的水平,同时高分辨率的参考电压源也为系统的进一步扩展提供了一个良好的硬件平台。但是也因为由于时间、个人及技术的原因,本论文存在如下问题有待于进一步研究和改进。如:采用软件修正的缘故,该设计在软件编写的时候需要测量大量的数据,给批量生产带来了一定的不便,在今后的设计中将考虑设计该款电流源的数据自动生成系统,以利于批量生产同时在条件允许的情况下,加入温度探头在不同的温度下采用不同的修正方案使得该系统的热稳定性将进一步提高。致 谢经过几个月的努力,本设计终于顺利完成。首先感谢我的指导老师胡俊海老师,他在整个设计中给了我们热诚耐心的指导,提出了许多宝贵的建议,在他的指导下解决了很多的困难。从设计的开题研究、开题报告、理论分析、论文写作,胡老师都给予了极为细微的指导。在学习上导师对我鼓励与支持,每当遇到困难时,导师总是给予热心的帮助和耐心的指导,使我得以顺利地完成论文。感谢朱凤武教授和李喜武教授对论文的热心指导并提出建设性的意见.感谢丛亮等同学给予的帮助及许多有益的建议。深深地感谢我亲爱的父母亲,他们给了我全面的关怀、鼓励,并帮助我解决生活上的困难,使我能够顺利完成学业。最后衷心的感谢在百忙之中评阅论文和出席答辩的各位专家、教授!参考文献1 李华等编著MCS-51系列单片机实用接口技术北京:北京航空航天大学出版社, 19932 张立科,单片机通信技术与工程实践。北京:人民邮电出版社,20053 张凯等编著,MCS-51单片机综合系统及其设计开发。北京:科学出版社,19964 朱宇光编著,单片机应用新技术教程。北京:电子工业出版社,20005 余永权,89系列FLASH单片机原理与应用。北京:电子工业出版社,20006 楼然苗,李光飞,51系列单片机设计实例。北京:北京航空航天大学出版社,20037 李东生,PROTEL 99SE电路设计技术入门与应用。北京:电子工业出版社,20028 张有顺编著,MCS-51/96系列单片机简明教程。北京:中国脊梁出版社,19989 Bollinger JG, Duffre NA. Computer Control of Machines and Processes. Addison-Wesley Publishing Company,198910 Application Notes for 8Oc51-Based 8-Bit Microcontrollors .Philips . emiconductors,1993附 录总电路图附录2ORG0000H JMPSTART;R7R6R5 定时器START: MOVSCON,#00H MOV23H,#00H MOV24H,#00HBACK: MOVA,24H;选择表单 CJNEA,#00H,CL MOVDPTR,#DATAB0 JMPTZCL: CJNEA,#01H,CL1 MOVDPTR,#DATAB1 JMPTZCL1: CJNEA,#02H,CL2 MOVDPTR,#DATAB2 JMPTZCL2:CJNEA,#03H,CL3 MOVDPTR,#DATAB3 JMPTZCL3:CJNEA,#04H,CL4 MOVDPTR,#DATAB4 JMPTZCL4:CJNEA,#05H,CL5 MOVDPTR,#DATAB5 JMPTZCL5:CJNEA,#06H,CL6 MOVDPTR,#DATAB6 JMPTZCL6:CJNEA,#07H,CL7 MOVDPTR,#DATAB7 JMPTZCL7:CJNEA,#08H,CL8 MOVDPTR,#DATAB8 JMP TZCL8:CJNEA,#09H,START MOVDPTR,#DATAB9TZ: MOVA,23H;查低位表单数值 MOVCA, A+DPTR MOV20H,A MOVA,24H;选择表单 CJNEA,#00H,CHL MOVDPTR,#DAHTAB0 JMP THZCHL:CJNEA,#01H,CHL1 MOVDPTR,#DAHTAB1 JMPTHZCHL1:CJNEA,#02H,CHL2 MOVDPTR,#DAHTAB2 JMPTHZCHL2:CJNEA,#03H,CHL3 MOVDPTR,#DAHTAB3 JMP THZCHL3:CJNEA,#04H,CL4 MOVDPTR,#DAHTAB4 JMPTHZCHL4:CJNEA,#05H,CL5 MOVDPTR,#DAHTAB5 JMPTHZCHL5:CJNEA,#06H,CL6 MOVDPTR,#DAHTAB6 JMPTHZCHL6:CJNEA,#07H,CL7 MOVDPTR,#DAHTAB7 JMPTHZCHL7:CJNEA,#08H,CL8 MOVDPTR,#DAHTAB8 JMP THZ MOVDPTR,#DAHTAB9THZ:MOVA,23H MOVCA,A+DPTRMOV21H,A;查高位表单数值CALLBCDCLRP1.7MOVA,20HCALLSENDMOVA,21HCALLSENDMOVA,26HMOVR4,#0F0H;R4ANLA,R4;屏蔽低四位RRARRARRARRAMOVR0,ACALLSEG;发21H低位MOVA,26HMOVR4,#0FHANLA,R4MOVR0,ACALLSEG;发20H高位MOVA,25HMOVR4,#0F0H;R4ANLA,R4;屏蔽低四位RRARRARRARRAMOVR0,ACALLSEG;发20H低位MOVA,25HMOVR4,#0FHANLA,R4MOVR0,ACALLSEG;发20H高位CALLDLMOVP1,#0FFHMOV22H,P1;22h键盘缓冲CALLDLMOVP1,#0FFHMOVA,P1CJNEA,22H,KEYL4CJNEA,#11111110B,KEYL1;按键处理CALLKEY1KEYL1:CJNEA,#11111101B,KEYL2CALLKEY2KEYL2:CJNEA,#11111011B,KEYL3CALLKEY3KEYL3:CJNEA,#11110111B,KEYL4CALLKEY4KEYL4:JMPBACKBCD:MOVA,23HMOVB,#10DIVABSWAPAADDA,BMOV25H,AMOVA,24HMOVB,#10DIVABSWAPAADDA,BMOV26H,ARETSEGTAB:DB03H,9FH,25H,0DH,99H,49H,41H,1FHDB01H,09H,11H,0C1H,63H,85H,61H,71HDATAB0:DB03H,9FH,25H,0DH,99H,49H,41H,1FHDATAB1:DB03H,9FH,25H,0DH,99H,49H,41H,1FHDATAB2:DB03H,9FH,25H,0DH,99H,49H,41H,1FHDATAB3:DB03H,9FH,25H,0DH,99H,49H,41H,1FHDATAB4:DB03H,9FH,25H,0DH,99H,49H,41H,1FHDATAB5:DB03H,9FH,25H,0DH,99H,49H,41H,1FHDATAB6:DB03H,9FH,25H,0DH,99H,49H,41H,1FHDATAB7:DB03H,9FH,25H,0DH,99H,49H,41H,1FHDATAB8: DB 03H,9FH,25H,0DH,99H,49H,41H,1FHDATAB9: DB 03H,9FH,25H,0DH,99H,49H,41H,1FHDAHTAB0 DB 03H,9FH,25H,0DH,99H,49H,41H,1FHDAHTAB1: DB03H,9FH,25H,0DH,99H,49H,41H,1FHDAHTAB2 :DB03H,9FH,25H,0DH,99H,49H,41H,1FHDAHTAB3 :DB03H,9FH,25H,0DH,99H,49H,41H,1FHDAHTAB4 :DB03H,9FH,25H,0DH,99H,49H,41H,1FHDAHTAB5 : DB03H,9FH,25H,0DH,99H,49H,41H,1FHDAHTAB6: DB03H,9FH,25H,0DH,99H,49H,41H,1FHDAHTAB7: DB03H,9FH,25H,0DH,99H,49H,41H,1FHDAHTAB8: DB03H,9FH,25H,0DH,99H,49H,41H,1FHDAHTAB9: DB03H,9FH,25H,0DH,99H,49H,41H,1FHEND附录3 英文文献AT89C52 Chip explainsThe AT89C52 is a low-power, high-performance CMOS 8-bit microcomputer with 8 Kbytes of Flash programmable and erasable read only memory (PEROM). The device is manufactured using Atmels high density nonvolatile memory technology and is compatible with the industry standard 80C51 and 80C52 instruction set and pinot. The on-chip Flash allows the program memory to be reprogrammed in-system or by a conventional onvolatile memory programmer. By combining a versatile 8-bit CPU with Flash on a monolithic chip, the Atmel AT89C52 is a powerful microcomputer, which provides a highly flexible and cost effective solution to many embedded control applications. The AT89C52 provides the following standard features: 8 Kbytes of Flash, 256 bytes of RAM, 32 I/O lines, three 16-bit timer/counters, a six-vector two-level interrupt architecture, a full duplex serial port, on-chip oscillator, and clock circuitry. In addition, the AT89C52 is designed with static logic for operation down to zero frequency and supports two software selectable power saving modes. The Idle Mode stops the CPU while allowing the RAM, timer/counters, serial port, and interrupt system to continue functioning. The Power Down Mode saves the RAM contents but freezes the oscillator, disabling all other chip functions until the next hardware reset.Pin DescriptionVCC Supply voltage.GND Ground. Port 0 is an 8-bit open drain bidirectional I/O port. As an output port, each pin can sink eight TTL inputs. When 1s are written to port 0 pins, the pins can be used as high-impedance inputs.Port 0 can also be configured to be the multiplexed low-order address/data bus during accesses to external program and data memory. In this mode, P0 has internal pullups.Port 0 also receives the code bytes during Flash programming and outputs the code bytes during program verification. External pullups are required during program verification. Port 1 is an 8-bit bidirectional I/O port with internal pullups. The Port 1 output buffers can sink/source four TTL inputs. When 1s are written to Port 1 pins, they are pulled high by the internal pullups and can be used as inputs. As inputs, Port 1 pins that are externally being pulled low will source current (IIL) because of the internal pullups. In addition, P1.0 and P1.1 can be configured to be the timer/counter 2 external count input (P1.0/T2) and the timer/counter 2 trigger input (P1.1/T2EX), respectively, as shown in the following table.Port 1 also receives the low-order address bytes during Flash programming and program verification. Port 2 is an 8-bit bidirectional I/O port with internal pullups. The Port 2 output buffers can sink/source four TTL inputs. When 1s are written to Port 2 pins, they are pulled high by the internal pullups and can be used as inputs. As inputs, Port 2 pins that are externally being pulled low will source current (IIL) because of the internal pullups. Port 2 emits the high-order address byte during fetches from external program memory and during accesses to external data memory that use 16-bit addresses (MOVX DPTR). In this application, Port 2 uses strong internal pullups when emitting 1s. During accesses to external data memory that use 8-bit addresses (MOVX RI), Port 2 emits the contents of the P2 Special Function Register. Port 2 also receives the high-order address bits and some control signals during Flash programming and verification. Port 3 is an 8-bit bidirectional I/O port with internal pullups. The Port 3 output buffers can sink/source four TTL inputs. When 1s are written to Port 3 pins, they are pulled high by the internal pullups and can be used as inputs. As inputs, Port 3 pins that are external

温馨提示

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

最新文档

评论

0/150

提交评论