《单片机数控电流源设计说明.doc》由会员分享,可在线阅读,更多相关《单片机数控电流源设计说明.doc(30页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、. . . . 1绪论1.1电流源简介所谓恒流源就是输出电流极其稳定不随负载变化。为了保证电流不变,输出电压必须始终符合V=I*R。即负载需要多大电压,恒流源就必须输出多大电压,“无条件”予以满足。从外部看,就是Ro=。如果R,那么V。所以理想恒流源都不允许输出开路。对于实际电路,当R大到一定程度,电压输出能力就会不够,输出电流必然下降,不再恒定。在一般恒流电路多采用电流负反馈来恒定电流负反馈的作用就是“使之稳定”。通过时刻“检查”控制对象的状态,并进行调整。发现小了,就设法使之增大,发现大了,就设法使之减小。形象地说,电流负反馈电路则是采样输出电流,计算误差,据此调节自身状态,使输出电流稳定
2、,因而,输出特性接近恒流源。衡量“接近”程度的指标就是输出电阻R远大于零。一般希望Ro。(只能接近,不可能完全达到)1.2数控电流源的必要性作为常用的电子仪器在学校和研发和检测部门都有着相当广泛的应用,特别在电路原理实验和电子元件老化测试中都离不开电流源。随着电子技术的不断进步对电子仪器的要求不断提高,电源作为电路的动力源泉更是扮演着越来越重要的角色,不论是学校实验室还是维修中心都离不开实验电源,然而传统的电源不论是在控制精度还是输出特性上都无法满足要求。首先从精度上来看传统电流源的调整大多采用旋转电位器的方式,在调整时电流值主要从电位器的刻度读出,容易产生读数误差。从可操作性来看传统电流原电
3、位器上的刻度有限,不可能非常精细,仅仅靠电位器的几个刻度对操作者的技巧要求比较高,同时误差也比较大。传统的实验电源急待改进电源。1.3数控电流源的可行性由于单片机技术的不断发展和D/A,A/D元件的普与使得数控电源成为可能,数控电源不论是在控制精度还是在可操作性上都有传统电源无法比拟的优势,由于单片机的平民化,使得数控电源与传统电源的成本日益接近。另外,SMT技术也是飞速发展,使得数控电源体积和重量都大大减小,为其在特殊领域的应用奠定了基础。2 数控电流源硬件系统总体设计2.1传统电流源的设计方案电源作为常用的实验仪器,在电子领域有着非常广泛的应用,传统的电流源的控制部分一般采用模拟电路,即用
4、电位器对基准电压源进行分压,再进行电压电流转化,其电路设计简单,制造成本低廉,该电路原理框图如图2.1所示:电流表电压/电流变换放大电路基准电压源电位器图2.1传统电流源方案Figure 2.1 traditional current supply plan从框图我们不难发现传统的电流源方案存在着非常明显的缺点,首先,输出电流无法精确掌握。早期的电流源输出电流仅仅靠标在电位器或者指针表的读数读出,不仅读取很不方便.度数误差比较大,从实用的角度考虑,现在有些模拟电流源也使用了数字电流表作为电流显示,提高了其精确性.但是在可操作性方面依然存在一定的不足.另外用电位器产生参考电位的方法是不恰当的,在
5、电子元件中电位器是最容易产生噪声的,对干扰也最为敏感,而且在使用一段时间以后,电位器作为机械元件会出现磨损的情况,此时该电流源的输出电流将变得不稳定,噪声大幅度提高,如不更换电位器该电流源将无常使用。在可控升级方面传统的电流源方案电路一旦确定可更改的余地较小,可升级性能差。几乎不存在什么升级的可能2.2数控电流源方案 随着单片机的日益成熟,其稳定性不断提高,价格不断下降使得数控电流源成为可能,从原理图来看,数控电流源和传统电流源相似。不同的是数控电流源是由单片机控制的D/A提供参考电压,取代了传统电流源的电位器,使得不论是在控制精度还是使用寿命上都有很大的提高。另外单片机具有可编程性,可以进行
6、更为复杂的控制,如输出特定的波形,和电脑通讯,实现智能化控制等,这些功能都是传统电流源难于实现的。该电路原理框图如图2.2所示: 经过多年的发展,传统电流源的电流控制电路已经相当成熟,在用D/A替代了电位器以后,其性能有很大的提高。D/A变换缓冲电压/电流变换放大电路A/D变换MCU键盘LED显示器图2.2数控电流源原理图Figure 2.2 numerical control current supply schematic diagram2.3数控电流源的方案比较方案一:通过编码开关来控制存储器的地址;根据地址输出对应的数字量送数模(D/A)进行转换;再根据输出的电压量来控制电流的变化;同
7、时;通过四个编码开关的BCD码送给4511与数码管显示。此方案的优点是电路原理简单,缺点是数据量大且存储器存储容量有限,在实验过程中发现编码开关不稳定,所以不宜采用。其电路方框图 1 如图2.3所示:图2.3 方案一方框图Figure 2.3 a plan block diagram方案二:采用以89C52为核心的单片机系统来控制D/A的数据的输入并将其转换成模拟量输出同时单片机把输入的预值电流送数码管显示,再改变输出的电压量来控制电流的变化,此方案的优点是成本低,电路简单,可升级性强。所以在电路设计和制作中采用方案二。其电路方框图如图2.4所示:图2.4 方案二方框图Figure 2.4 p
8、lan 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电源原理稳压电源由电源变压器、整流电路、滤波电路和稳压电路组
9、成,如图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
10、 (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 。 由于为了保证电路的性能采用线性稳压、滤波方式,从电路的可靠性以与性价比考虑采用标准的
11、7812扩流输出方案。3.1.2电源方案确定待选方案 3 :方案一:采用线性恒流电路,该方案具有噪声干扰小,电路简单,工作稳定的特点,但是由于功率器件工作于线性状态功率损耗大,发热较大,在满足设计要求时在极限条件下功率管的消耗功率接近20W。方案二:采用开关恒流方式进行电流控制,由于功率管只工作于打开或者关闭状态,功率管损耗较低。发热量很小,但是由于开关管对强电流进行开关操作,干扰大大高于线性恒流源。结论:作为试验仪器,在一般情况下对仪器的体积要求相对小于对仪器性能的要求,而“干净”的电源对于电流源来说非常重要,所以在设计中采用线性电流源方案,并在其基础上加入有源虑波,使得电源更为“干净”所以
12、采用方案二。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.
13、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+端的电位差具有很高的稳定性,
14、可以作为参考电压源。因此,可以通过分压的方法来扩大它的量程。通过上面的电路可以测量最大值为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均可正常工作,基准电压的
15、围为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第一信号(输入),低电平有
16、效。该信号与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转换器的
17、特性之一是: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时,数据可以从输入端经两个寄存器直
18、接进入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,达到高精度控制的
19、目的,同时也使得软件修正成为可能。仿真电路如图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) 从图中我们可以看到该电路对于高频干扰具有较好的抑制性,这对提高电流源的输出性能具有一定的帮助
20、。3.3.电流输出模块利用图3.14所示的恒流源电路 ,运放的输出端通过三极管与反向输出端相连,构成负反馈电路,由于运放的同相输入端与反相输入端在理论上是虚短的,且运放的输入电阻无穷大,因此反相端和同相端的电位相等,即,又由于三极管的发射极与集电极电流仅相差微小的基极电流,可视为两者相等即。因此可以通过改变同相输入端的电压来调整输出电流的大小。但是在测试Ui对Io的控制比预期效果差,总是小于理论值。同时R2也是负反馈电阻,当电路电流受外界影响而减小的时候,R2的端电压也随之降低,三极管的Ibe也会上升。由于三极管的驱动电流较大,在试验中输出电流偏小,达不到要求精度,所以采用方案二,用场效应管代
21、替三极管输出,与三极管相比场效应管具有驱动电流小,电流噪声底,输出电流大的特点。仿真电路如图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电流输出原理图Fi
22、gure 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脚)连接到
23、简单的石英振荡晶体的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 89C
24、52 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
25、.2 pressed key disposal procedure flow chart4.2数值处理考虑到运算放大器的工作点偏差问题输出控制采用链表方式,调整电路使得在两个D/A均为最大输出时,输出电流为2000mA,然后递减粗调和细调D/A同时用高精度电流表检测电流,当调整到合适的电流时即将输出状态记录,并与输出电流相关联,从而修正D/A线性,运算放大器静态电流等问题造成的偏差,同时在加入温度探测电路以后可以方便的对温度影响进行补偿。系统具有良好的可升级性。键盘对单片机输入数据,(所要得到的电流值),单片机将得到的数据进行转化成D/A转换器AD0832所需要的数字信号。假设键盘输入的电流值
26、为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进行控制,在不同的环境下采用不同的链表,从而对元器件的非线性以与温度的影响进行高精度补偿。采用有源虑波的方法降低电源杂波,纯净的电
27、源供给为良好的输出性能提供了保障。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)偏差(
28、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
29、.1 active worry wave electric circuit5.4 纹波电流测试本设计要求纹波电流小于0.5毫安,根据恒流源模块电路,用低频交流毫伏表测采样电阻(康铜丝绕制而成,由于该电路为直流电路没交流成分,所以不会产生感抗)两端的电压,通过公式:纹波电流(Iw) = 纹波电压(Uw)/采样电阻(100欧)计算得出。5.5误差分析从上面的测试结果可以看出系统输出具有很高的准确性,这得益于有源虑波的所提供的高稳定电源,以与双D/A所带来的高分辨率的参考电压值,但是在电路设计初期没有充分考虑地线的干扰,对系统的控制精度产生了一定的不利影响,在今后的设计中需要进一步改进6. 结论因为
30、恒流源是一个电源阻非常大的电源。如果电源的电压能够随着负载的变化而变化,保持RL中的电流不发生变化,也可以实现恒流。本设计正是利用这个思路。实际上是可调压电压源,输出接负载后反馈到单片机。由单片机根据输出和给定值进行调整,保持RL中的电流恒定。在参考传统电流源以与普通数控电流源的基础上,在充分考虑性价比的同时极大的提高了数控电流源的准确性,在采用软件修正以后在使用普通元件的情况下电流源的性能也达到了比较高的水平,同时高分辨率的参考电压源也为系统的进一步扩展提供了一个良好的硬件平台。但是也因为由于时间、个人与技术的原因,本论文存在如下问题有待于进一步研究和改进。如:采用软件修正的缘故,该设计在软
31、件编写的时候需要测量大量的数据,给批量生产带来了一定的不便,在今后的设计中将考虑设计该款电流源的数据自动生成系统,以利于批量生产同时在条件允许的情况下,加入温度探头在不同的温度下采用不同的修正方案使得该系统的热稳定性将进一步提高。致 经过几个月的努力,本设计终于顺利完成。首先感我的指导老师胡俊海老师,他在整个设计中给了我们热诚耐心的指导,提出了许多宝贵的建议,在他的指导下解决了很多的困难。从设计的开题研究、开题报告、理论分析、论文写作,胡老师都给予了极为细微的指导。在学习上导师对我鼓励与支持,每当遇到困难时,导师总是给予热心的帮助和耐心的指导,使我得以顺利地完成论文。感朱凤武教授和喜武教授对论
32、文的热心指导并提出建设性的意见.感丛亮等同学给予的帮助与许多有益的建议。深深地感我亲爱的父母亲,他们给了我全面的关怀、鼓励,并帮助我解决生活上的困难,使我能够顺利完成学业。最后衷心的感在百忙之中评阅论文和出席答辩的各位专家、教授!参考文献1 华等编著MCS-51系列单片机实用接口技术:航空航天大学, 19932 立科,单片机通信技术与工程实践。:人民邮电,20053 凯等编著,MCS-51单片机综合系统与其设计开发。:科学,19964 朱宇光编著,单片机应用新技术教程。:电子工业,20005 余永权,89系列FLASH单片机原理与应用。:电子工业,20006 楼然苗,光飞,51系列单片机设计实
33、例。:航空航天大学,20037 东生,PROTEL 99SE电路设计技术入门与应用。:电子工业,20028 有顺编著,MCS-51/96系列单片机简明教程。:中国脊梁,19989 Bollinger JG, Duffre NA. Computer Control of Machines and Processes. Addison-WesleyPublishing Company,198910 Application Notes for 8Oc51-Based 8-Bit Microcontrollors.Philips. emiconductors,1993附 录总电路图附录2ORG0000
34、H JMPSTART;R7R6R5 定时器START:MOVSCON,#00HMOV23H,#00HMOV24H,#00HBACK: MOVA,24H;选择表单CJNEA,#00H,CLMOVDPTR,#DATAB0JMPTZCL:CJNEA,#01H,CL1MOVDPTR,#DATAB1JMPTZCL1:CJNEA,#02H,CL2MOVDPTR,#DATAB2JMPTZCL2:CJNEA,#03H,CL3MOVDPTR,#DATAB3JMPTZCL3:CJNEA,#04H,CL4MOVDPTR,#DATAB4JMPTZCL4:CJNEA,#05H,CL5MOVDPTR,#DATAB5JMP
35、TZCL5:CJNEA,#06H,CL6MOVDPTR,#DATAB6JMPTZCL6:CJNEA,#07H,CL7MOVDPTR,#DATAB7JMPTZCL7:CJNEA,#08H,CL8MOVDPTR,#DATAB8JMPTZCL8:CJNEA,#09H,STARTMOVDPTR,#DATAB9TZ: MOVA,23H;查低位表单数值MOVCA, A+DPTRMOV20H,A MOVA,24H;选择表单CJNEA,#00H,CHLMOVDPTR,#DAHTAB0JMPTHZCHL:CJNEA,#01H,CHL1MOVDPTR,#DAHTAB1JMPTHZCHL1:CJNEA,#02H,C
36、HL2MOVDPTR,#DAHTAB2JMPTHZCHL2:CJNEA,#03H,CHL3MOVDPTR,#DAHTAB3JMPTHZCHL3:CJNEA,#04H,CL4MOVDPTR,#DAHTAB4JMPTHZCHL4:CJNEA,#05H,CL5MOVDPTR,#DAHTAB5JMPTHZCHL5:CJNEA,#06H,CL6MOVDPTR,#DAHTAB6JMPTHZCHL6:CJNEA,#07H,CL7MOVDPTR,#DAHTAB7JMPTHZCHL7:CJNEA,#08H,CL8MOVDPTR,#DAHTAB8JMPTHZMOVDPTR,#DAHTAB9THZ:MOVA,23H
37、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
38、高位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,#10DIVABSWAP
39、AADDA,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:D
40、B03H,9FH,25H,0DH,99H,49H,41H,1FHDATAB6:DB03H,9FH,25H,0DH,99H,49H,41H,1FHDATAB7:DB03H,9FH,25H,0DH,99H,49H,41H,1FHDATAB8:DB03H,9FH,25H,0DH,99H,49H,41H,1FHDATAB9:DB03H,9FH,25H,0DH,99H,49H,41H,1FHDAHTAB0DB03H,9FH,25H,0DH,99H,49H,41H,1FHDAHTAB1:DB03H,9FH,25H,0DH,99H,49H,41H,1FHDAHTAB2:DB03H,9FH,25H,0DH,9
41、9H,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,1F
42、HEND附录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 sta
43、ndard 80C51 and 80C52 instruction set and pinot. The on-chip Flash allows theprogram 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 provide
44、s 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 allo