《电磁流量计设计毕业论文.doc》由会员分享,可在线阅读,更多相关《电磁流量计设计毕业论文.doc(40页珍藏版)》请在三一办公上搜索。
1、 编号 毕业论文题 目电磁流量计设计摘 要本课题研究的内容主要是利用电磁感应原理对各种液体如石油、水等的流量进行检测与控制。主要由流量传感器采集流量信号,然后经过A/D转换器将连续的模拟信号转化为离散信号后传给单片机运算,单片机在软件系统的控制下,根据预先的设置和预期的控制要求,将控制命令发送到步进电机,然后通过步进电机来精确控制阀门的开关,实现对流量的精确控制,并通过显示单元实时显示。在设计过程中,从总体方案、单元电路、元器件选择和设计等都进行了细致的介绍。关键词:流量计 电磁感应 A/D转换器 AbstractThe content of this research is mainly u
2、sing the electromagnetic induction principle to all kinds of liquid such as oil, water flow test and control. Mainly by flow sensor to collect traffic signal, and then, after A/D converter will be continuous analog signal into A discrete signal to the single chip microcomputer after operation, under
3、 the control of single-chip microcomputer in the software system, according to the control requirements of setting and expected in advance, will control commands sent to the stepper motor, and then through the stepper motor to precisely control the switch of the valve, realize the precise control of
4、 traffic, and through the display unit in real time. In the design process, from the overall plan, the unit circuit, components selection and design and so on all has carried on the detailed introduction.Keywords: Flowmeter Electromagnetic induction A/D converter 目 录摘 要IABSTRACTII第一章 绪论11.1 课题研究背景11
5、.2 课题内容11.3 研究意义1第二章 系统总体设计32.1 总体设计32.2 主要元器件3第三章 系统硬件电路的设计53.1 传感器电路53.2 信号处理电路53.3 A/D转换电路63.4 驱动电路83.5 显示电路93.6 键盘电路9第四章 系统软件设计114.1 软件总体结构设计114.2 主程序设计114.3 流量控制子程序124.4 中断服务子程序134.4.1 设定值输入程序134.4.2 A/D中断子程序134.4.3 定时器中断子程序154.4.4 数码管显示子程序154.4.5 步进电机控制程序16第五章 总结与展望175.1 总结175.2 展望17致 谢19参考文献2
6、1附录1 系统硬件电路23附录2 程序源代码25第一章 绪论1.1 课题研究背景在我国,石油化工业是国民经济的支柱产业之一,所以对油井产量进行准确、及时的计量,对掌握油藏状况,制定生产方案,具有重要的指导意义;为了使高粘度的石油得到开采,就得在开采过程中直接加入降粘剂,如果加少了,石油抽不上来,加多了又造成经济浪费,由于石油是重要的能源,无论是从节约能源的角度,还是从经济性角度来看,对于流量的精确控制都是十分必要的,所产生的经济效益也是十分明显的。在自来水的监测与流量控制中,应用高精度的流量计与控制仪表也是必须的,所带来的经济效益是十分巨大且显而易见的。1.2 课题内容无论是在石油的开采、计量
7、及运输过程中,还是在自来水的监测与控制中,对于流量都要求一定的精确计量和控制。因此,本课题就是针对这一具体实际要求,通过对当前一些相关领域的分析和研究,设计出了一种基于AT89C51单片机的电磁流量计。电磁流量计是基于法拉第电磁感应原理研制出的一种测量导电液体体积流量的仪表。根据法拉第电磁感应定律,导电体在磁场中作切割磁力线运动时,导体中产生感应电压,该电动势的大小与导体在磁场中做垂直于磁场运动的速度成正比,由此再根据管径,介质的不同,转换成流量。电磁流量计无节流部件,因此压力损失小, 节能效果好,量程范围宽,适合于各种有悬浮物固体粒子的污水、煤浆的测量以及腐蚀性介质的测量。同时电磁流量计也有
8、以下一些不足之处:不能测较高温度流量;不能测气体、蒸汽以及含有大量气泡的液体;易受外界电磁干扰,造成输出精度受影响。1.3 研究意义开展石油化工过程流程模拟、先进控制与过程优化技术的研究与应用具有十分重要的现实意义,是当前国内外石油化工界广泛关注的一个话题。自动化技术可以提高计量准确度、数据可靠性和及时性,为优化生产运行、核算经济效益、强化生产调度和有效监控生产过程,进一步降低泵站工业噪声污染,改善职工工作条件,减轻劳动强度,避免职业伤害,延长设备使用寿命以及企业节能降耗工作起到积极作用。第二章 系统总体设计2.1 总体设计在硬件电路部分,采用AT89C51单片机,外扩EPROM存储器,构成单
9、片机控制系统的主体部分。通过电磁流量传感器,AD转换器进行输入,通过控制步进电机带动阀门来控制输出。一些其他的功能,如设定值输入,数码管显示则通过扩展I/O接口芯片8155来完成相应的功能。系统软件设计部分,分别对键盘设定值输入,步进电机控制,AD转换控制,数码管显示等程序进行了设计,并且设计了主程序。图2-1 系统结构框图系统的工作原理是流量传感器采集到流量信息,通过变换器,转化为电信号,经AD转换器将模拟电信号转化为数字信号,传给单片机,单片机软件系统根据事先的设定值对采集的信息进行处理,输出离散的控制信号来控制阀门的动作,从而调节流量,实现流量的精确控制。2.2 主要元器件流量传感器部分
10、采用的是电容式电磁流量计传感器,电容式电磁流量计采用了电容耦合的方式来检测流量信号。AD转换部分本设计选用的是ADC0809 ,ADC0809是一种8位逐次逼近式A/D转换器,可以和微机直接接口,可以与ADC0808相互代换。内部结构由八路模拟开关、地址锁存与译码器、比较器、256电阻阶梯、树状开关、逐次逼近式寄存器SAR、控制电路和三态输出锁存器等组成。单片机部分本设计采用MCS-51系列中的AT89C51,AT89C51有40条引脚,共分为电源线、时钟、控制线和端口线四类。控制部分采用由步进电机带动的控制阀。显示部分采用结构简单、价格便宜的8段共阳型LED用来显示控制过程和运算结果。为了以
11、后方便扩展,本系统采用8155来连接显示部分。8155是Intel公司研制的通用I/O接口芯片。MCS-51和8155相连不仅可为外设提供两个8位I/O端口(A口和B口)和一个6位I/O端口(C口),而且也可为CPU提供一个256字节的RAM存储器和一个14位定时器/计数器。因此,8155广泛应用于MCS-51系统中。键盘种类很多,本设计采用的是作为人机接口使用的最方便的键盘是十进制输入,BCD码输出的BCD码键盘。第三章 系统硬件电路的设计3.1 传感器电路目前常用的流量计传感器主要有插入式电磁流量计传感器、电磁式流量传感器、插入式正逆流涡轮流量传感器、电容式电磁流量计传感器等。本文采用电容
12、式电磁流量计传感器。电容式电磁流量计采用了电容耦合的方式来检测流量信号,具有电极与被测流体不接触的特点,因而从根本上解决了电极表面附着、腐蚀、摩擦、液体渗漏等问题。而且对传统接触式电磁流量计难以测量的低电导率液体如酒精等也能进行测量,拓展了电磁流量计的适用范围,在造纸、石油、化工、冶炼等行业有着良好的应用前景。图3-1 电容式电磁流量计传感器结构设计的传感器结构如图所示,包括测量管、励磁线圈、检测电极、屏蔽电极和屏蔽罩。检测电极紧贴于管壁外,被屏蔽电极罩住,并以等电位驱动技术减小杂散电容的影响。同时为了减小电极上的涡流影响,将检测电极做成了梳状。最外层屏蔽罩接地,有利于屏蔽外界干扰。考虑到检测
13、电极上感应信号比较微弱,将前置放大器置于传感器内尽可能贴近电极的地方,以减小信号在传输中的衰减及干扰。为避免铁磁材料的磁滞现象,采用了空心线圈励磁。3.2 信号处理电路信号处理模块主要电路如图所示,高输入阻抗的前置放大器从高内阻的信号源中检出电压信号,完成阻抗转换。高共模抑制比的仪表放大器对信号进行差动放大,抑制共模干扰。然后经过旋转电容滤波器滤波,实现与参考信号的互相关处理,并与励磁电流保持严格同步。最后由整流采样电路对旋转电容滤波器电容上的电压信号进行整流采样,经A/D转换后送入单片机。图3-2 信号处理电路原理图3.3 A/D转换电路ADC0809是一种8位逐次逼近式A/D转换器,可以和
14、微机直接接口,可以与ADC0808相互代换。内部结构由八路模拟开关、地址锁存与译码器、比较器、256电阻阶梯、树状开关、逐次逼近式寄存器SAR、控制电路和三态输出锁存器等组成。图3-3 ADC0809引脚图AT89C51属于MCS-51系列单片机。有40条引脚,共分为电源线、时钟、控制线和端口线四类。图3-4 AT89C51引脚图AT89C51和ADC接口必须弄清和处理好三个问题:要给START线送一个100ns宽的起动正脉冲;获取EOC线上的状态信息,因为它是A/D转换的结束标志;要给“三态输出锁存器”分配一个端口地址,也就是给OE线上送一个地址译码器输出信号。图3-5 ADC0809与单片
15、机的接口AT89C51和ADC接口通常可以采用查询和中断两种方式。采用查询法传送数据时,AT89C51应对EOC线查询它的状态:若它为低电平,表示A/D转换正在进行,则AT89C51应当继续查询;若查询到EOC变为高电平,则就给OE线一个高电平,以便2-12-6线上提取A/D转换后的数字量。采用中断方式传送数据时,EOC线作为CPU的中断请求输入线。CPU响应中断后,应在中断服务程序中使OE线变为高电平,以提取A/D转换后的数字量。3.4 驱动电路图3-6 AT89C51与步进电机接口电路步进电机是一种将电脉冲转换成相应角位移或线位移的电磁机械装置,也是一种能把输出机械位移增量和输入数字脉冲对
16、应的驱动器件。具有快速启停能力,只要电机的负荷不超过它所能提供的动态转矩,就能通过输入脉冲来控制它在一瞬间启动和停止。步进电机是否旋转是由控制绕组中输入脉冲的有无来控制的,每步转过的角度和方向是由三相控制绕组中的通电方式决定的。因此,步进电机的控制是要求单片机软件产生按一定规律变化的时序脉冲,然后通过接口和驱动放大电路来驱动步进电机控制绕组工作。由于89C51的P1口负载只能驱动三个标准的LSTTL输入门,因此需要通过7406驱动器去驱动达林顿复合功率放大器,使步进电机能够正常控制控制阀门。控制阀是自动控制系统中非常重要的一个环节,起到调节流体流量,克服干扰来保证被控变量达到给定的工艺指标的作
17、用。控制阀的阀部分由阀的内件和阀体组成,阀的内件包括阀芯、阀杆、填料函和上阀盖等。常用的控制阀有普通型、散热片型、长颈型上阀盖及密封结构等形式,本控制系统采用由步进电机带动的控制阀。3.5 显示电路LED是发光二极管的简称。有共阴和共阳两种。在本设计中,选用管结构简单、价格便宜的8段共阳型LED用来显示控制过程和运算结果。8155是Intel公司研制的通用I/O接口芯片。AT89C51和8155相连不仅可为外设提供两个8位I/O端口(A口和B口)和一个6位I/O端口(C口),而且也可为CPU提供一个256字节的RAM存储器和一个14位定时器/计数器。AT89C51对LED管的显示可以分为静态和
18、动态两种。静态显示的特点是各LED管能稳定地同时显示各自字形;动态显示是指各LED轮流一遍一遍显示各自字符,人们因视觉惰性而看到的是各LED似乎在同时显示不同字形。当显示器位数较少时,采用静态显示的方法是适合的。当位数较多时,用静态显示所需的I/O太多,一般采用动态显示方法。本设计采用动态显示。图3-7 LED接口电路图3-7示出了89C51通过8155对LED的接口电路。图中,B口和所有LED的a、b、c、d、e、f、g、SP引线相连,各LED控制端G和8155C口相连,故B口为字形口和C口为字位口,因此CPU可以通过C口控制各LED是否点亮。3.6 键盘电路键盘种类很多,作为人机接口使用的
19、最方便的键盘是十进制输入,BCD码输出的BCD码键盘。这种键盘为四片BCD码键盘拼接的4位十进制输入键盘组。每片键盘具有09十个位置,每个位置都有相应的数字显示,代表键盘输入的十进制数。因此,每片键盘可代表一位十进制数。需要几位十进制数可选择几片BCD码键盘拼接。BCD码键盘后面有5个接点,其中A为输入控制线,另外4根是BCD码输出信号线。键盘拨到不同位置时,输入控制线A分别与4根BCD码输出线中的某根或某几根接通。其接通的BCD码输出线状态正好与键盘知识的十进制数相一致。+5VA8421A8421A8421A8421AT89C51P1.3P1.2P1.1P1.0P1.7P1.6P1.5P1.
20、4图3-8 AT89C51与键盘的接口电路图3-8是AT89C51通过P1.0P1.3与单片BCD码键盘的接口电路。单片BCD码键盘可以与任何一个4位I/O口或扩展I/O口相连,以输入BCD码,A端接+5V。为了使输出端在不与控制端A相连时有确定的电平,常将8,4,2,1输出端通过电阻拉低。第四章 系统软件设计4.1 软件总体结构设计该控制系统的软件设计可以分为三部分:一、主程序部分。该部分完成存储器分区、数据定义和系统的初始化等,以及调用各个子程序,完成主要的控制功能;二、流量控制程序。通过PID控制算法,编写出相应的流量控制子程序,实现对流量的控制,达到预期的控制要求;三、各子程序。各个子
21、程序完成具体的实现方法,主要包括:设定值输入、数码管显示、步进电机控制、AD转换中断、T0定时器中断、采样中断等。由此我们可以得出系统的总体设计框图,如下图所示。最小系统: ORG 0000H ;汇编程序开头 LJMP SETUP ;跳过中断入口地址区 、 ;中断入口地址区 ORG 0030H SETUP: 、 ;初始化区 MAIN: 、 ;主程序 LJMP MAIN ;主程序一般是反复循环执行程序 、 ;子程序和中断服务程序区 END ;汇编程序结束4.2 主程序设计主程序部分,主要完成存储器分配、系统初始化和系统整体控制等,并通过调用各子程序段,实现软件的总体设计功能。图4-1 主程序流程
22、图系统初始化程序的功能是对8155和89C51进行初始化,使D/A输出为0,步进电机处于停机状态,将RAM中的标志位和工作单元置为初始状态,提示符CPUREADY写入缓冲器。更新显示器子程序的功能是将显示缓冲器的内容,分别转化为段数据,输出到8155。显示器012的显示数据缓冲器分别为73H7FH单元。当系统处于停机状态时,显示器04显示参数,显示器57显示参数地址,所以73H77H作为数据缓冲器,78H7AH作为地址缓冲器,在运行状态时,73H77H作为瞬时流量缓冲器,78H7FH作为累计流量缓冲器。4.3 流量控制子程序在流量测试的基础上,把流量设定值和实际测试得到的瞬时流量送单片机进行比
23、较计算出误差,采用数字PID调节算法,计算输出到AD0809中。程序的入口参数:参数均为3字节的浮点数,分别将它们存放在RAM单元中。低字节存放浮点数的阶数和符号,其中符号存放在最高位,阶数以补码的形式存放在另7位中。尾数以原码的形式存放在另2个字节中。本程序占用资源:A,B,R0R7,CY,F0。流量控制子程序见附录1主程序。4.4 中断服务子程序4.4.1 设定值输入程序本程序将4位BCD码按千、百、十、个依次存放在89C51片内RAM的30H33H单元中,每个地址单元的高4位为0,低4位为BCD码。RDS:MOV R0,#30H;初始化,存放单元首址MOV R2,#7FH;P1口高4位置
24、控制字及低4位置输入方式MOV R3,#04H;读入4个BCD码MOV A,R2LOOP:MOV P1,A;P1口送控制字及低4位置输入方式MOV A,P1;读如BCD码ANL A,#0FH;屏蔽高4位MOV R0,A;送入存储单元INC R0;指向下个存储单元MOV A,R2;准备下一片键盘的控制端置0RR A;MOV R2,A;DJNZ R3,LOOP;未读完返回RET;读完结束4.4.2 A/D中断子程序A/D中断子程序流程图如下所示:图4-2 A/D中断子程序程序见附录1主程序。4.4.3 定时器中断子程序图4-3 定时器T0中断程序见附录1主程序。4.4.4 数码管显示子程序图4-4
25、 数码管显示子程序在单片机内部RAM的20H和21H单元中有四位十六进制数(20H中为高两位),将其自左到右显示出来的程序。相应程序见附录1主程序:4.4.5 步进电机控制程序步进电机控制程序是利用程序延时来控制电机的通电时间(即形成控制脉冲)以达到正转、反转、启动和停止的。这种控制的缺点是CPU因执行延时程序而降低了效率。为了提高CPU的使用效率,也可采用单片机内部定时/计数器编制上述程序。具体程序见附录1主程序。第五章 总结与展望5.1 总结毕业设计是我三年大学中规模最大、难度最大,要求也最严格的设计。我在完成毕业设计的几个月时间里,有百思不得其解的疑难困惑,也有茅塞顿开的恍然大悟;有一筹
26、莫展的原地打转,也有一日千里的顺风疾驰;有失败的痛苦遗憾,也有成功的兴奋喜悦,从中我学到了很多知识,收获了很多体会,这里面的酸甜苦辣都是我人生难得的财富。5.2 展望通过这次系统的毕业设计,我觉得不论从理论知识还是从实际操纵中都学到了不少知识,归纳起来主要有以下几个方面:1、经过这次毕业设计,我接触了更多平时没有接触过的元器件以及获得相关的知识经验,同时我也发现自己在这方面很多不足之处。体会到理论知识对实践有很大的指导作用,它让我知道,只有在正确的理论指引下,才能设计出合乎实际需要的硬件电路。2、学会了高效率的查阅资料、运用工具书、利用网络查找资料。我发现,在我们所使用的书籍上有一些知识在实际
27、应用中其实并不是十分理想,各种参数都需要自己去调整。偶尔还会碰到资料错误的现象,这就要求我们应更加注重实践环节。3、在毕业设计中,我们应当注意重点与细节的关系。很多时候正是一些细节的处理,决定了整体功能的实现效果。4、需要对自己有信心,做事有恒心有耐心。失败不可怕,只要不趴下,昂首向前走,希望总会有成功的一天。5、同组同学相互包容,彼此合作,取长补短,才能铸就最后的成功。6、可以这样说毕业设计是对大学所学知识的一次运用和检阅,同时对自学能力提出很高的要求,所以平时的学习离开思考,就是严重的错误,我们学习不应该有偏科现象,各方面的知识都应该要接触,这样做才能为毕业设计打下基础。致 谢在论文完成之
28、际,我首先向关心帮助和指导我的指导老师朱彩霞表示衷心的感谢并致以崇高的敬意!在论文工作中,遇到了关于毕业设计论文的选题审题以及论文的编写问题,一直得到朱彩霞老师的亲切关怀和悉心指导,使我找到了论文编写的前进方向,为我的论文的编写铺下了坚实的道路。朱彩霞老师以其渊博的学识、严谨的治学态度、求实的工作作风和他敏捷的思维给我留下了深刻的印象,我将终生难忘。再一次向他表示衷心的感谢,感谢他为学生营造的浓郁学术氛围,以及学习、生活上的无私帮助! 值此论文完成之际,谨向朱彩霞老师致以最崇高的谢意!在学校的学习生活即将结束,回顾两年多来的学习经历,面对现在的收获,我感到无限欣慰。为此,我向热心帮助过我的所有
29、老师和同学表示由衷的感谢!特别感谢我的师兄季广全对我的学习和生活所提供的大力支持和关心!还要感谢一直关心帮助我成长的室友王玉香、陈子璇等!感谢你们一路风雨相伴,是你们给了我们隐形的翅膀,即使没有风,我们也能飞翔!”在我即将完成学业之际,我深深地感谢我的家人给予我的全力支持!最后,衷心地感谢在百忙之中评阅论文和参加答辩的各位专家、教授!参考文献1.柳玉松,周仲虎. 化工装置常用流量计原理及选型使用探讨贵州工业大学学报(自然科学版),2008.52.徐江海. 单片机实用教程.北京:机械工业出版社.2011.12.61673.董高峰. 谈电磁流量计的选用. 技术论文.石化自动化.2010-04-05
30、4.卢国峰,王保良,杨丽明,罗元国,黄志尧,李海青. 电容式电磁流量计信号处理新方法研究. 传感技术学报, 2008 年9 月.第21 卷第9 期5.钱欣,尹树春,曹登场. 智能插入式电磁流量计的研制.承德石油高等专科学校学报. 2008年9月.第10卷第3期6.王尚宏,隋韶阳,郭永涛. 低电压微功耗电磁流量计测量原理分析.上海计量测试.2009年第36卷第2期.33347.刘可昌,李霞,李斌. 永磁式电磁流量传感器及其信号处理.8.全国工业过程测量和控制标委会.JB/T9248-1999电磁流量计.北京:机械工业出版社,20089.建设部标准定额研究所.CJ/T 3017-1993潜水电磁流
31、量计.北京:中国标准出版社,201010.张志良.单片机原理与控制技术.2008年第2版.北京:机械工业出版社. 2007.3. 293211.马中元, 刘克金. 电磁流量计低电导率流体测量问题的讨论J . 自动化仪表, 2008 , 21 (5) :57附录1 系统硬件电路附录2 程序源代码ORG 0000H LJMP SETUP ORG 000BHLJMP INET0PORG 001BHLJMP INET1P ORG 0030H SETUP: MOV 70H,#0 MOV 71H,#1 MOV 72H,#2 MOV 73H,#3 MAIN: LCALL DIS LJMP MAIN DIS:
32、 MOV DPTR,#TAB MOV A,70H MOVC A,A+DPTR MOV P0,A CLR P2.0 LCALL DEL SETB P2.0 MOV A,71H MOVC A,A+DPTR MOV P0,A CLR P2.1 LCALL DEL SETB P2.1 MOV A,72H MOVC A,A+DPTR MOV P0,A CLR P2.2 LCALL DEL SETB P2.2 MOV A,73H MOVC A,A+DPTR MOV P0,A CLR P2.3 LCALL DEL SETB P2.3 RET TAB : DB 0C0H, 0F9H, 0A4H, 0B0H,
33、99H, 92H, 82H, 0F8H, 80H, 90H DEL : MOV R7,#80H DJNZ R7,$ RET END PID1:MOV R0,#52HMOV R1,#49HLCALL FSUBMOV R1,#46HLCALL FSTRMOV R1,#4CHMOV R2,#06HLCALL LPDMMOV R0,#46HMOV R1,#4CHLCALL FMULMOV R1,#4FHLCALL FSTRMOV R1,#4FHMOV R2,#09HLCALL LPDMMOV R0,#43HMOV R1,#4FHLCALL FMULMOV R1,#4FHLCALL FSTRMOV R0
34、,#4CHMOV R1,#4FHLCALL FADDMOV R1,#4CHLCALL FSTRMOV R1,#4FHMOV R2,#0CHLCALL LPDMMOV R0,#40HMOV R1,#4FHLCALL FMULMOV R1,#4FHLCALL FSTRMOV R1,#4FHMOV R0,#4CHLCALL FADDMOV R1,#4CHLCALL FSTRMOV 40H,43HMOV 41H,44HMOV 42H,45HMOV 43H,46HMOV 44H,47HMOV 45H,48HMOV A,4CHMOV C,A.7MOV F0,CJB A.6,PIDJ12ANL A,#3FH
35、MOV R7,APIDJ13:CLR CMOV A,4EHRLC AMOV 4EH,AMOV A,4DHRLC AMOV 4DH,ADJNZ R7,PIDJ13AJMP PIDJ14PIDJ12:CPL AINC AANL A,#3FHMOV R7,APIDJ15:CLR CMOV A,4DHRRC AMOV 4DH,AMOV A,4EHRRC AMOV 4EH,ADJNZ R7,PIDJ15PIDJ14:JB F0,POUT1POUT0:CLR ACJNZ A,4EH,POUT00CJNZ A,4DH,POUT00RETPOUT00:MOV A,55HCJNZ A,#00 H,POUT01M
36、OV A,#08HPOUT01:DEC AMOV 55H,AADD A,#3DHMOVC A,A+PCMOV P1,AMOV R7,#08HDL0:DJNZ R7,DL0DEC 4EHCLR ACJNZ A,4EH,POUT00CJNZ A,4DH,POUT02RETPOUT02:DEC 4DHAJMP POUT00POUT1:CLR ACJNZ A,4EH,POUT10CJNZ A,4DH,POUT10RETPOUT10:MOV A,55HCJNZ A,#07H,POUT11MOV A,#0FFHPOUT11:INC AMOV 55H,AADD A,#14HMOVC A,A+PCMOV P1
37、,AMOV R7,#80HDL1:DJNZ R7,DL1DEC 4EHCLR ACJNZ A,4EH,POUT10CJNZ A,4DH,POUT12RETPOUT12:DEC 4DHAJMP POUT10MDATA:DB 01H,05H,04H,06H,02H,0AH,08H,09HLPDM: MOV R7,#03HLPDM0:MOV A,R2MOVC A,A+PCMOV R1,AINC R2INC R1DJNZ R7,LPDM0RETRDS:MOV R0,#30H;MOV R2,#7FH; MOV A,R2LOOP:MOV P1,AMOV A,P1ANL A,#0FHMOV R0,AINC
38、R0 MOV A,R2RR A;MOV R2,A;DJNZ R3,LOOPRET INT0: PUSH ACC PUSH DPH PUSH DPL PUSH PSW SETB PSW.3 MOV DPTR,#0DF01H MOVX A,DPTR MOV R2, A ANL A, #0F0H JNZ ND5 MOV A,R2 JNB 02H, D51 MOV C, ACC.0 MOV 30H, C MOV C, ACC.7 MOV 37H,CAJMP D14D51:MOV C,ACC.0 MOV 48H,C MOV C,ACC.7 MOV 4FH,C AJMP D14ND5: MOV A,R2
39、JNB ACC.7,ND4 JNB 02H,D41 ANL A, #0FH SWAP A MOV 25H,AAJMP D14D41: ANL A,#0FH SWAP A MOV 28H, A AJMP D14ND4: JNB ACC.6, ND3 JNB 02H,D31 MOV R1, #25H ANL A,#0FH XCHP A,R1 AJMP D14D31: MOV R1, #28H ANL A,#0FH XCHD A,R1 AJMP D14ND3: JNB ACC.5, ND2 JNB 02H, D21 ANL A, #0FH SWAP A MOV 24H, A AJMP D14D21:
40、 ANL A, #0FH SWAP A MOV 24H,A AJMP D14ND2: JNB 02H,D11 ANL A,#0FH MOV R,#24H XCHD A,R1 CLR 02H MOV DPTR,#0DFF3H MOV A, #30H MOVX DPTR, AADS1:SETB P1.6 CLR P1.6 AJMP D14 D11: ANL A,#0FH MOV R1,#27H XCHD A,R1 MOV 2AH,24H MOV 2BH,25H MOV 2CH,26HMOV 2DH,27HMOV 2EH,28H MOV 2FH,29H SETB 03H D14: POP PSW POP DPL POP