单片机控制的水箱液位检测装置

更新时间:2024-03-09 15:54:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

单片机控制的水箱液位检测装置

摘 要

本设计是由单片机控制的水箱液位检测装置,可以对水箱液位进行检测与显示。本文介绍了8051单片机、MPX10DP差压传感器、模数转换芯片ADC0804的整体功能,并且完成了硬件电路的设计。硬件部分利用差压传感器MPX10DP对被测水箱中的液位信息进行采集,将采集到的压力信号转换成微弱的电压信号,再对此电压信号进行调零、放大处理后送入模数转换模块ADC0804进行信号转换,将转换后得到的数字信号送入8051单片机进行数据处理,由单片机把处理完成的数据送到数码管中进行显示,这样就完成了对水箱的液位检测。

本设计中的液位检测装置达到了设计要求,可以对水箱液位进行检测。利用本设计方法构成的检测装置性能稳定并且操作方便,克服了传统人工水位检测耗时耗力、检测结果误差大的缺点,满足现代工业对液位检测的要求,可以广泛应用在民用或工业中。

关键词:MPX10DP;8051;ADC0804;液位检测

Single-chip Microcomputer Control of Tank Liquid Level Detection

Device ABSTRACT

This design is a tank liquid level detection device controlled by single-chip microcomputer. This design can detect and display the water tank liquid level.8051 single-chip microcomputer plays an important role in this paper,including MPX10DP pressure difference transducer,and ADC0804 chip, in addition,this paper completed the design of hardware circuit as well.Hardware part make use of MPX10DP to gather liquid level information of the water tank under test,and then convert this pressure signal into voltage signal.After putting the voltage signal into zero and amplify,log on this signal into ADC0804 to have a transform.Finally, 8051 single-chip microcomputer deal with the figure signal and then put it into nixie tube to display data analysis.This system completes the water tank liquid level detection.

This design of water tank liquid level detection device reached the design requires,can carry out on tank liquid level.A device using this method to detect tank liquid level not only have a stable performance but also easy to use,it has overcomed traditional manual water level detection time-consuming and the accuracy of the results.Device like this satisfies modern industry requires and can be widely used in civil or industrial.

Keywords: MPX10DP;8051;ADC0804;Liquid level detection

目 录

1 引言 ................................................. 1

1.1 水位检测系统的发展状况 .................................. 1 1.2 本课题主要研究内容及方法 ................................ 1

2 系统硬件设计 ......................................... 2

2.1 系统硬件功能整体概述 .................................... 2 2.2 核心芯片选择 ............................................ 2 2.2.1 8051单片机 ........................................... 2 2.2.2 差压传感器MPX10DP .................................... 3 2.2.3 A/D转换芯片ADC0804 ................................... 4 2.3 信号检测与放大电路设计 .................................. 5 2.4 A/D转换电路 ............................................ 6 2.5 显示电路的设计 .......................................... 8 2.6 单片机外围电路设计 ...................................... 8 2.6.1 单片机的复位电路 ...................................... 9 2.6.2 单片机的时钟电路 ...................................... 9 2.7 +5V稳压电源的设计 ..................................... 10

3 系统软件设计 ........................................ 11

3.1 软件功能概述 ........................................... 11 3.2 主程序设计 ............................................. 11 3.3 延时程序设计 ........................................... 13

河北大学工商学院2013届本科生毕业论文(设计)

3.4 显示程序设计 ........................................... 13 3.5 中断程序设计 ........................................... 14

4 结论 ................................................ 16 参考文献 ............................................... 17 致谢 ................................................... 18 附录 ................................................... 19

1 引言

1.1 水位检测系统的发展状况

在人类的生活环境中,液位检测贯彻在生产与生活的始终。现代液位检测技术飞速发展,在工业领域中有着举足轻重的地位,尤其是在类似石油化工行业中。现代液位检测系统的发展基于电子技术、传感技术、以及计算机技术在当今社会中的快速发展。传统的水位监测控制是人为控制。这样的控制方式不仅耗费人力物力,并且工作效率和测量值的准确度较低,无法适应现代水位监测的需求。而单片机液位检测系统控制精度高,性能稳定可靠,人为操作方便并且造价低,把单片机的这些特点应用到液位检测系统中可以加强人机交互能力,使系统的可靠性得到提高[1]。

本设计采用差压传感器MPX10DP在不同液位下检测到的压力信号不同这一特点,将压力信号进一步转化为电压信号,经由调零放大、A/D转换等步骤,送入单片机进行处理,对水位检测进行高精度的自动化控制,避免了在现场进行人工的检测操作。这样不仅使人们更容易获得液位信息,并且控制方便,系统稳定性能好。单片机不仅有体积小、安装方便、功能较齐全等优点,而且有很高的性价比,同时还可以在单片机控制系统中加入数字显示模块,使得系统具有很强的可视性,更加适用于在工业生产中的应用[1]。另外,单片机的应用有助于发现可能存在的故障,通过微机实现液位检测系统的自动控制与调节,保证设备工作在安全经济的运行状态。本文是采用8051单片机为核心芯片的水箱液位检测装置,在实际的生产中得到了广泛的应用。

1.2 本课题主要研究内容及方法

本设计以8051单片机为核心芯片,并且利用其与相关硬件的连接来实现水位的检测控制系统。在用差压传感器MPX10DP测量液位的基础上,使 CPU循环检测传感器的输出状态,并用七段LED数码管显示出液位值。另外,还可以利用此基本原理对水箱的液位进行控制。通过输入给定值,将所测得的数据与给定值进行比较,进而根据比较结果控制水箱的进出水操作。还可以装设报警装置,在水箱中的液位过高或过低时实现自动报警,进而实现对液位的自动控制。

经过对本课题的反复研究以及对相关资料的分析,在对液位检测技术以及液位检测系统现状综合认识的基础上,决定采用8051作为核心处理器来完成设计。本设计主要完成以下工作:

⑴基于8051的液位检测设计方案。 ⑵差压传感器的压力检测与转换。

⑶对微弱电压信号的放大,以及对电路的调理。 ⑷A/D转换芯片、显示芯片与单片机的接口电路设计。 ⑸软件设计,完成对主要程序模块的设计。

1

河北大学工商学院2013届本科生毕业论文(设计)

出补偿,接入端UI1电压范围为:5R2/(R0+R1+R2)< UI1 <5(R1+R2)/(R0+R1+R2),据该计算式就可以得到期望的补偿电压值。必须说明一点,R0和R2应该选择合适的阻值,使得滑动端滑动时所得电压在20mV~35mV范围内变化,通过计算取R2=15Ω,R1=35Ω,R0=4950Ω,便于调零操作。

2.4 A/D转换电路

微型计算机处理的数据只能是数字量,所以数据在进入计算机之前,必须经过A/D转换器把模拟量转换成数字量[6]。本设计中的A/D转换电路如图2-5所示。

1+520234D76Vin(+)8CC1A-GNDVccREFVin(-)ADC08049R8lsbDB0DB1DB2DB3DB4DB5DB6msbDB7INTR18171615141312115123123456781312151431P10P11P12P13P14P15P16P17INT1INT0T1T0EA/VPX1X2RESETRDWRP00P01P02P03P04P05P06P07P20P21P22P23P24P25P26P2739383736353433322122232425262728DVref/28051C194150pF10KCLK-RCLK-INU1CSRDWR30pF74ls04C3C2CYS12MHz191891716B30pFC4RXDTXDALE/PPSEN10113029B+510μFR274ls04A200ΩR18.2K4A123 图2-5 A/D转换电路

⑴把8051的P0口作为双向的通用I/O口与ADC0804的数字信号输出口的DB口相连,此时单片机中的P0口用作接口电路的数据总线。这一系列连线的目的是把经过A/D转换的数据输入到单片机中,并且存放到累加器中。

⑵ADC0804的片选信号/CS与8051的P2.0口相连,有地址选中的作用。在CS处于低电平时,ADC0804芯片工作。

⑶ADC0804的外部读控制信号/RD与8051的/RD连接。这里单片机中的/RD引脚作为8051中P3.7口的第二功能使用:片外数据存储器“读”选通控制信号。当CS=0,RD=0

7

河北大学工商学院2013届本科生毕业论文(设计)

时,读出A/D转换结果。

⑷ADC0804的外部写数据控制信号/WR与8051的/WR相连接。这里单片机的/WR引脚功能与/RD类似,应用了单片机中P3口的第二引脚功能。这里P3.6口作为片外数据存储器“写”选通控制信号。即当CS=0,WR=0时,启动A/D转换。

⑸ADC0804的转换结束输出信号/INTR与8051中的外部中断/INT0连接。在ADC0804进行完一次A/D转换时,INTR就会输出一个低电平信号到8051的INT0即外部中断0引脚,INT0随即对单片机提出中断申请。

⑹对ADC0804本身来说,两个时钟信号CLK R与CLK IN之间利用串联电容与电阻的手段构成RC振荡电路,作为A/D转换进行的时钟信号。另外,数字电源与模拟电源的接地线分别接地。Vin(+)与Vin(-)作为输入信号的正极连接到放大电路的输出信号端,负极接地。

2.5 显示电路的设计

这部分设计主要完成的功能是通过数码管显示当前检测值,本设计采用共阳极七段数码管作为显示器件。

1123456781312C15143119189B1716P10P11P12P13P14P15P16P17INT1INT0T1T0EA/VPX1X2RESETRDWRRXDTXDALE/PPSEN101130298051P00P01P02P03P04P05P06P07P20P21P22P23P24P25P26P272393837363534333221222324252627283347813141718111+5VC12345678DPYaabcfbgdeecdfdpgdpDPY112345678DPYaabcfbgdeecdfdpgdpDPY2D1D2D3D4D5D6D7D8CLKCLRQ1Q2Q3Q4Q5Q6Q7Q82569121516191234567841615141312D11109D74LS273BT1AT2A12+5V34 图2-6 显示电路

⑴8051的P1.0~P1.7口作为通用的8位双向I/O端口通过与74LS273中D1~D8口

8

河北大学工商学院2013届本科生毕业论文(设计)

的分别连接向74LS273中输入数据,再由74LS273中的Q1~Q8与各显示器的数据总线连接,从而使得数据送进显示器。这些数据是单片机通过对ADC0804进行外部读指令得出初步液位信息,再经由单片机内部对数据进行处理与控制得到的。

⑵单片机的P3.0口和P3.1口分别与两个PNP三极管相连,在分别连接到数码管的位选通端。这样,就可以通过单片机对P3.0和P3.1口的控制来实现对数码管现实与关闭的选择。例如,在P3.0输出低电平时,T1截止,数码管DPY1不显示数据;在P3.0输出高电平时,T1导通,电源电压加到数码管DYP1上,DYP1则对数据进行相应的显示。

2.6 单片机外围电路的设计

要使单片机正常工作,只有其与主要硬件的连接电路是远远不够的,还要有外围电路的设计。在本系统中单片机的外围电路有:复位电路、时钟电路还有稳压电源电路。

2.6.1 单片机的复位电路

不论是哪个系列的单片机,在实际应用的过程中都要考虑到复位电路的设计。一般的复位电路有两种:上电复位电路和上电和按键都有效的复位[4]。在本设计中,采用上电和按键都有效的复位电路。电路原理如图2-7所示。在上电的瞬间,RST获得高电平信号,电容C开始进行充电。在电容进行充电的过程中,RST的高电平信号逐渐降低,最终恢复到低电平状态。只要电容的充电过程时间超过两个机器周期,即对单片机进行复位工作;或者再按下复位键K的瞬间,RST随即获得高电平,到松开K,RST恢复低电平,亦可以实现对单片机的复位操作[7]。

RST 8051 图2-7 单片机的复位电路

2.6.2 单片机的时钟电路

单片机的时钟电路有内部自震荡电路和外部时钟电路两种。内部的自振荡电路是根据8051单片机内部反相放大器与石英晶体和两个电容构成的,XTAL1和XTAL2分别作为放大器的输入端与输出端,电容起到了快速起振和稳定频率的作用,如图2-8(a)所示。外部时钟电路是将外部的时钟脉冲与XTAL1相连,XTAL2悬空,如图2-8(b)所示。在本设计中,采用

9

河北大学工商学院2013届本科生毕业论文(设计)

外接石英晶体的方法,所用晶振频率为12MHz,所选择电容为30pF[7]。

XTAL2 悬空 XTAL2 8051 XTAL1 GND 外部时钟信号 8051 XTAL1 GND

(a) (b)

图2-8 单片机的时钟电路

2.7 +5V稳压电源的设计

在本设计中,为了使+5V电源电压输出稳定,采用由变压器、桥式整流和压器三部分构成的稳压电路。其中稳压器使用了78M05三端稳压器,使220V交流电转换成系统所需要的电压。利用变压器的降压功能将220V交流电压降为8V左右的交流电压,以方便为桥式整流电路提供电源。这样,经过整流电路的交流电就被转化为了脉动直流电[8]。这时脉动直流电压通过滤波电路,使其变为了平滑输出的直流电压。为了使电压稳定的输出,进而增加了稳压措施,即78M05稳压器。原理电路如图2-9所示。

1D213VinGND478M05+5V2 DC3CB~220vC12200μF~8vC20.1μFC31000μFRLBA123 4A 图2-9 稳压电源电路设计

10

河北大学工商学院2013届本科生毕业论文(设计)

3 系统软件设计

3.1 软件功能概述

在完成了对系统硬件的设计后,就要求有一个功能完善并且稳定的软件来指导协调硬件的内部操作,对硬件起到指导作用,使硬件系统的作用发挥到最大化,同时还要考虑到未来硬件设计的更新升级等。系统软件有监控和执行的功能。在本设计中,系统软件设计主要分为主程序设计、延时程序设计、外部中断程序设计和显示程序设计等[9]。主程序完成各器件的初始化,并且调用各个相应的子程序模块设计;延时程序空使得单片机每隔一段时间对A/D转换采样一次并进行处理;显示程序即为把采集程序模块存储的数据送到相应数码管进行显示。

3.2 主程序设计

主程序首先要完成初始化工作,另外还要对信号进行采集、处理以及显示。流程图如图3-1所示。

⑴初始化程序

程序的初始化工作就是对硬件各个芯片的初始状态进行规定,由硬件电路的设计要求等进行系统的分配及定义。在本设计中,首先是对各寄存器进行清零工作,R2用于保存液位高度的十位数字,R3用于保存液位高度的个位数字。因为本设计采用动态显示,就要进行动态扫描,利用软件进行延时,十位和个位的显示都分别延时1ms,通过给寄存器R0和R1赋初值,进行记数减1,从而保证定时1秒后,重新启动A/D转换。本设计中的初始化程序定义如下。

MOV R2,#00H ;寄存器R2和R3清零,用于存放液位十位及个位 MOV R3,#00H

MOV R0,#0AH ;R0装入计数值 MOV R1,#32H ;R1装入计数值 SETB IT0 ;选择边沿触发方式 SETB EX0 ;允许外部中断 SETB EA ;开放总中断 ⑵主程序部分

本设计拟采用1S的时间间隔进行重复采样工作以及A/D转换工作。当WR=0,CS=0时,ADC0804开始进行A/D转换, 启动转换地址为FEH。当转换结束时,INTR端变成低电平,随之8051的INT0端变成低电平,向单片机提出中断申请。中断得到响应后,便进行存储器读操作,读出A/D转换结果,然后进入显示子程序,分时显示当前液位值的十位及个位数字[11]。设计程序如下所示。

MAIN:

11

河北大学工商学院2013届本科生毕业论文(设计)

MOV R2,#00H

MOV R3,#00H ;寄存器R2及R3清零 MOV R0,#0AH ;R0装入计数值 MOV R1,#32H ;R1装入计数值 SETB IT0 ;选择边沿触发方式 SETB EX0 ;允许外部中断 SETB EA ;开放总中断

MOV DPTR,#0FEH ;建立A/D转换器地址指针 MOV P0,#0FFH ;向P0口写1 MOVX @DPTR,A ;启动A/D转换

12

初始化 置中断触发方式 允许外部中断0 Cpu开中断 启动A/D转换 数据处理 取下一次采样值 Y 定时完成了吗? 重启A/D转换 N Cpu开中断 显示液位值 河北大学工商学院2013届本科生毕业论文(设计)

图3-1 主程序流程图

3.3 延时程序设计

延时程序主要是利用空执行来占用CPU的处理时间,使每隔1s读取一次液位信息,进行A/D转换,送入单片机处理并且送入数码管中进行显示。利用延时程序不仅可以监控系统中软件和硬件的协调以及正常的工作,并且因为液位的变化较为缓慢,基本可以实现对液位的即时测量。延时程序设计如下[9]。

DELAY: ;延时1ms子程序 MOV R7,#20 DE1: MOV R6,#50 DE2: DJNZ R6,DE2 DJNZ R7,DE1 RET

3.4 显示程序设计

显示子程序主要完成对水箱液位值的最终显示。本系统采用七段LED数码管显示,程序设计先对十位数进行显示,经过1ms的延时后个位显示,再经1ms的延时返回,流程图如图3-2所示。而对数码管位选信号的控制是通过查表法实现的。用指令MOVC A,@A+DPTR,由P1口输出段码。为保证数码管显示时间及使数码管能够充分点亮,每一位输出显示后要有一定的延时,通过调用延时子程序来实现。同时实现判断定时1秒是否到(即R0和R1是否都减至0),1秒到时则跳转至DONE子程序,重装初值,为下一次采样值的显示做准备,否则跳转至DISPLAY,继续显示液位值。显示程序的设计如下。

DISPLAY:

SETB P3.0 ;位选码为液位高度的十位数字 MOV DPTR,#TAB ;指向换码表首址 MOV A,R2

MOVC A,@A+DPTR ;取出显示码 MOV P1,A ;从P1口输出显示码 LCALL DELAY ;调用延时程序,延时1ms SETB P3.1 ;位选码为液位高度的个位数字 MOV DPTR,#TAB ;指向换码表首址 MOV A,R3

MOVC A,@A+DPTR ;取出显示码 MOV P1,A ;从P1口输出显示码 LCALL DELAY ;延时1ms

DJNZ R0,DISPLAY ;判断R0是否减至0,未减至0则跳转至DISPLAY

13

河北大学工商学院2013届本科生毕业论文(设计)

DJNZ R1,DONE ;判断R1是否减至0,未减至0则跳转至DONE LJMP DISPLAY

Y

图3-2 显示流程图

返回 延时1ms 求显示码 取出显示数据 TAB表首地址给DPTR 显示区地址 显示子程序 显示码送P1口 N 都显示完了吗? 3.5 中断程序设计

当转换结束后,ADC0804的INTR引脚由高电平变为低电平,8051单片机的INT0端与ADC0804的INTR端相连,随之8051的INT0端变成低电平,向CPU提出中断申请,执行中

14

河北大学工商学院2013届本科生毕业论文(设计)

断服务子程序。CPU总中断关闭,压栈保存现场数据。读取A/D转换结果,通过指令 MOVX A,@DPTR实现。处理数据得出液位高度的十位及个位数字并分别保存到寄存器R2和R3中。恢复现场,开放CPU总中断,中断子程序返回。具体程序如下。

PUSH PSW PUSH ACC MOVX A,@DPTR ATOD: MOV B,#0AH DIV AB

MOV R2,A MOV R3,B POP ACC

POP PSW RETI

;保存当前液位的十位数字 ;保存当前液位的个位数字 ;恢复现场 ;中断返回

中断服务子程序 保护现场 读A/D转换结果 保存液位值 恢复现场 返回 图3-3 外部中断0子程序

15

河北大学工商学院2013届本科生毕业论文(设计)

4 结论

本设计完成了单片机控制的水箱液位检测装置。本装置的硬件电路是由信号采集、信号处理、模数转换、数据处理、数据显示五个部分组成的。利用差压传感器MPX10DP采集水箱液位的压力信号,在传感器内部转化成为微弱的电压信号后经过信号调零、放大送入8位逐次逼近型模数转换模块ADC0804中进行信号转换,后送入单片机进行信号处理,经由数码管显示出当前液位值。该装置开发简单,便于维护,价格低廉。在现实生活中,当对液位的精度要求不是很高时,可以应用此检测装置。

单片机控制的水箱液位检测装置是一个实践性很强的课题,要使系统产品化,能够经受实际应用中的严格考验,还要进行很多细致的工作。该系统在设计上存在一些问题,如显示精度相对较低。对于检测精度要求较高的场合,可以通过增加显示位和选择更高转换位数的A/D转换器的方法加以改进。在软件调零设计中,MPX10DP压力传感器的满量程输出和灵敏度均采用典型值进行计算处理,若其值有偏差都会对整个装置的检测精度产生影响,带来检测误差。另外,该装置只实现了液位检测及显示功能,未设置越限报警装置,对于液位过低或过高的情况不能实现及时报警及对液位进行控制调整,因此该装置功能较单一。

由于水平有限,设计的比较粗糙,硬件设计和软件设计方面都还有待于完善。

16

河北大学工商学院2013届本科生毕业论文(设计)

参考文献

[1] 李华.MCS-51系列单片机实用接口技术.北京:航空航天大学出版社,1993:78~101 [2] 潘新民,王燕芳.微型计算机控制技术.[M]北京:电子工业出版社,2003:47~93 [3] 王家桢,王俊杰.传感器与变送器.[M]北京:清华大学出版社,1996:67~115

[4] 王永山,杨宏五,杨婵娟等.微型计算机原理与应用.[M]西安:西安电子科技大学出版社,

1999:168~181

[5] 童诗白,华成英.模拟电子技术基础.[M]高等教育出版社,2001:310~330 [6] 何立民.单片机应用技术选编.[M]北京:北京航空航天大学出版社,2000:545~550 [7] 孙涵芳,徐爱卿.MCS-51/96系列单片机原理及应用.[M]北京:北京航空航天大学出版社,

1996:4~98

[8] 吴立新.实用电子技术手册.[M]北京:机械工业出版社,2002:94~111 [9] 周泽魁.控制仪表与计算机控制装置.[M]北京:化学工业出版社,2002:80~111 [10] 王化祥,张淑英.传感器原理及应用.[M]天津:天津大学出版社,1992:97~113 [11] P.F.Lister.Single-Chip Microcomputers.[M]Granada Publishing Ltd..1984:1~50

17

1234+5VD20D7Vin(-)74LS273

附录1 电路原理图

VccREF6Vin(+)12345678P10P11P12P13P14P15P16P17INT1INT08051DS?DPYagdbcdp+5VDS?DPYagdbcdpCT1T0EA/VPX1X2RESET111CLKCLRP00P01P02P03P04P05P06P0713123938373635343332347813141718D1D2D3D4D5D6D7D8Q1Q2Q3Q4Q5Q6Q7Q8256912151619123456781615141312111098A-GNDADC08049151431lsbDB0DB1DB2DB3DB4DB5DB6msbDB71817161514131211Vref/2CC1INTR5R819CLK-R150pFC230pFCYS12MHz91716C4RDWR10113029191810K4+5CLK-INCSRDWR123P20P21P22P23P24P25P26P272122232425262728

附 录

河北大学工商学院2013届本科生毕业论文(设计)

18 C330pFRXDTXDALE/PPSEN+5VR9200ΩR108.2K10μF+5V23R0R5R712345678abcfdeefgdpDPY112345678abcfdeefgdpBDPY2BR4R1R3A1R6A2T1T2R23vmpx10dpR8AVccA14

附录2 程序清单

ORG 0000H

LJMP MAIN ;主程序 ORG 0003H LJMP INTER ;外部中断0服务子程序

ORG 0200H

MAIN:

MOV R2,#00H

MOV R3,#00H MOV R0,#0AH MOV R1,#32H SETB IT0 SETB EX0 SETB EA MOV DPTR,#0FEH MOV P0,#0FFH MOVX @DPTR,A HERE: AJMP HERE DISPLAY:

SETB P3.0 MOV DPTR,#TAB MOV A,R2

MOVC A,@A+DPTR MOV P1,A LCALL DELAY SETB P3.1 MOV DPTR,#TAB MOV A,R3

MOVC A,@A+DPTR MOV P1,A LCALL DELAY DJNZ R0,DISPLAY DJNZ R1,DONE LJMP DISPLAY

;寄存器R2及R3清零 ;R0装入计数值 ;R1装入计数值 ;选择边沿触发方式 ;允许外部中断 ;开放总中断

;建立A/D转换器地址指针 ;向P0口写1 ;启动A/D转换

;模拟住程序 ;位选码为液位高度的十位数字;指向TAB表首地址 ;取出显示码 ;从P1口输出显示码 ;延时1ms

;位选码为液位高度的个位数字;指向TAB表首地址 ;取出显示码 ;从P1口输出显示码 ;延时1ms

19

河北大学工商学院2013届本科生毕业论文(设计)

DELAY: ;延时1ms子程序

MOV R7,#20

DE1: MOV R6,#50 DE2: DJNZ R6,DE2

DJNZ R7,DE1 RET

DONE:

MOV R0,#0AH MOV R1,#32H MOV DPTR,#0FEH

MOVX @DPTR,A SETB EA RETI INTER:

PUSH PSW

PUSH ACC MOVX A,@DPTR

ATOD: MOV B,#0AH

DIV AB

MOV R2,A MOV R3,B POP ACC

POP PSW RETI TAB:

DB C0H DB F9H DB A4H DB B0H DB 99H DB 92H DB 82H DB F8H DB 80H DB 90H

;重新给R0赋计数值 ;重新给R1赋计数值 ;重新启动A/D转换 ;开放总中断 ;中断返回

;保护现场 ;保存当前液位的十位数字;保存当前液位的个位数字;恢复现场 ;中断返回

;对应于字符0 ;对应于字符1 ;对应于字符2 ;对应于字符3 ;对应于字符4 ;对应于字符5 ;对应于字符6 ;对应于字符7 ;对应于字符8 ;对应于字符9

20

本文来源:https://www.bwwdw.com/article/ahua.html

Top