ImageVerifierCode 换一换
格式:DOC , 页数:24 ,大小:294KB ,
资源ID:4292911      下载积分:8 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4292911.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     索取发票    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【人****来】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【人****来】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(单片机控制的水箱液位检测装置.doc)为本站上传会员【人****来】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

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

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

2、装置达到了设计要求,可以对水箱液位进行检测。利用本设计方法构成的检测装置性能稳定并且操作方便,克服了传统人工水位检测耗时耗力、检测结果误差大的缺点,满足现代工业对液位检测的要求,可以广泛应用在民用或工业中。关键词:MPX10DP;8051;ADC0804;液位检测Single-chip Microcomputer Control of Tank Liquid Level Detection DeviceABSTRACTThis design is a tank liquid level detection device controlled by single-chip microcomput

3、er. 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

4、 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 s

5、ignal 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

6、 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

7、detection目录1引言1 1.1水位检测系统的发展状况1 1.2本课题主要研究内容及方法1 2系统硬件设计2 2.1系统硬件功能整体概述2 2.2核心芯片选择2 2.2.18051单片机2 2.2.2差压传感器MPX10DP3 2.2.3A/D转换芯片ADC08044 2.3信号检测与放大电路设计5 2.4A/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 3.4显示程序设计13 3.5中断

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

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

10、机为核心芯片的水箱液位检测装置,在实际的生产中得到了广泛的应用。1.2本课题主要研究内容及方法本设计以8051单片机为核心芯片,并且利用其与相关硬件的连接来实现水位的检测控制系统。在用差压传感器MPX10DP测量液位的基础上,使 CPU循环检测传感器的输出状态,并用七段LED数码管显示出液位值。另外,还可以利用此基本原理对水箱的液位进行控制。通过输入给定值,将所测得的数据与给定值进行比较,进而根据比较结果控制水箱的进出水操作。还可以装设报警装置,在水箱中的液位过高或过低时实现自动报警,进而实现对液位的自动控制。经过对本课题的反复研究以及对相关资料的分析,在对液位检测技术以及液位检测系统现状综合

11、认识的基础上,决定采用8051作为核心处理器来完成设计。本设计主要完成以下工作:基于8051的液位检测设计方案。差压传感器的压力检测与转换。对微弱电压信号的放大,以及对电路的调理。A/D转换芯片、显示芯片与单片机的接口电路设计。软件设计,完成对主要程序模块的设计。2系统硬件设计2.1系统硬件功能整体概述本系统主要实现对水箱液位的检测与显示。主要依据硬件与软件的相互协调工作来完成系统功能。其中,硬件部分对传感器信号进行采集与处理,并且在数码管中显示液位信息;软件部分支撑硬件,对采集的液位信息进行处理及显示。本系统最终拟定以8051作为核心控制芯片,主要利用压差传感器、ADC0804转换芯片和七段

12、数码管来实现对水箱液位的检测和显示。采用压敏元件成X型的差压传感器将水箱液位的压力信号转换为微弱的电压信号,经过放大、调零处理后由8位逐次逼近型A/D转换器件ADC0804对该电压信号进行模数转换,进而可以把转换结果,即水箱液位信息传送到单片机8051芯片中进行数据处理。经由单片机转换过的数据再进一步传送到七段数码管中进行液位值的显示。系统框图如图2-1所示。图2-1系统框图信号采集信号处理模/数转换数据处理液位显示 2.2核心芯片选择2.2.18051单片机单片机是一个单芯片的微型计算机。单片机的优势在于实时控制能力强,并且可靠性高。本系统中采用的8051单片机就是由CPU系统部分,存储器系

13、统部分以及I/O口和其他功能单元部分组成的2。8051的主要特性与MCS-51 兼容4K字节可编程闪烁存储器 寿命:1000写/擦循环数据保留时间:10年全静态工作:0Hz-24MHz三级程序存储器锁定128*8位内部RAM32可编程I/O线 两个16位定时器/计数器5个中断源可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路8051引脚如图2-2所示。图2-2 8051引脚图电源及时钟引脚Vcc:电源接入引脚Vss:接地引脚XTAL1:晶体振荡器接入引脚,在采用外部振荡器时,该引脚接地。XTAL2:与XTAL2同为晶体振荡器接入引脚,不同的是当采用外部振荡器时,该引脚作为外部振荡信号的

14、接入引脚。控制线引脚RST/VPD:复位信号输入引脚/备用电源输入引脚/ALE:编程脉冲输入引脚/地址锁存允许信号输出引脚/VPP:内外存储器选择引脚/片内EPROM编程电压输入引脚:外部程序存储器选通信号输出引脚并行I/O引脚P0口:一般I/O口引脚或数据/低位地址总线复用引脚P1口:一般I/O口引脚P2口:一般I/O口引脚或高位地址总线引脚P3口:一般I/O口引脚或第二功能引脚2.2.2差压传感器MPX10DP差压传感器在本设计中起到了对信号进行采集的作用。它将水箱液位中的压力信息在器件内部利用某种特定的规律转为电压信号,便于信号的测量与处理。本设计中采用的MPX10DP传感器是双端口差压

15、无补偿硅压阻式传感器3。与传统的硅压阻式传感器不同的地方在于:硅压阻式传感器采用惠斯登电桥,容易引起测量误差,不好进行调整;而MPX10DP采用的不是电桥结构,是一个独立的X型电阻元件,可以很好地克服传统硅压阻式传感器的缺点,并且线性度好,能够很好的应用到系统中10。MPX10DP在25时的工作参数如表2-1所示。表2-1 MPX10DP工作参数表特点符号最小值典型值最大值单位差压范围POP0-10Kpa电源电压Vs-3.06.0Vdc电源电流Io-6.0-mAdc满量程输出VFss203550mV零位输出Voff02035mV灵敏度V/P-3.5-mV/Kpa线性度-1.0-1.0%VFss

16、压力迟滞-0.1-%VFss温度迟滞-0.5-%VFss输入阻抗Zin400-550输出阻抗Zout750-1250响应时间tR-1.0-Ms2.2.3A/D转换芯片ADC0804A/D转换芯片的主要任务是进行模数转换,就是把模拟信号转换成为数字信号。其中,A/D转换芯片主要有积分型、逐次逼近型、并行比较型/串并行型、-调制型、电容阵列逐次比较型及压频变换型4。该系统中选用逐次逼近型的ADC0804芯片。ADC0804引脚如图2-3所示。图2-3 ADC0804引脚图ADC0804的分辨率为8位, 总误差为1LSB,转换时间100s , 单一电源5VDC, 基准电压5V或2.5V,也可接可调模

17、拟电压。:片选信号。低电平有效,高电平时芯片不工作。:外部读数据控制信号。此信号低电平时ADC0804把转换完成的数据加载到DB口。:外部写数据控制信号。此信号的上升沿可以启动ADC0804的A/D转换过程。CLK IN:时钟输入引脚。ADC0804使用RC振荡器作为A/D时钟,CLK IN是振动 的输入端。转换结束输出信号。ADC0804完成一次A/D转换后,此引脚输出一个低脉冲。对单片机可以称为中断触发信号。Vin(+):输入信号电压的正极。Vin(-):输入信号电压的负极。可以连接到电源地。AGND:模拟电源的地线。Vref/2:参考电源输入端。参考电源取输入信号电压的二分之一。例如输入

18、信号电压是0V5V时,参考电源取2.5V;输入信号电压是0V4V时,参考电源取2.0V。DGND:数字电源的地线。DB7DB0:数字信号输出口,连接单片机的数据总线。CLK R:时钟输入端。VCC:5V电源引脚。2.3信号检测与放大电路设计本设计中所用的MPX10DP差压传感器的输出为微弱的电压或电流信号,输出的电压信号是毫伏级的。显然这样的信号不能直接被单片机接收,必须经过放大电路进行信号放大,然后再经过A/D转换才能输入到单片机中。在设计信号放大电路时,首先要考虑到的一个问题就是压力传感器存在零位输出,即在液位为零时,传感器输出电压一般不为零,而为一个电压信号。为了得到准确的液位值,必须对

19、信号进行处理。为了消除这部分的影响,可以采用软件调零和硬件调零两种方法。本设计采用的是硬件调零,在电路设计上采用高输入电阻的差分比例运算放大电路。如图2-4所示。由表2-1可知,对于MPX10DP型传感器,其灵敏度为3.5mv/kpa,再根据P=gh(是水的密度1.0103/m3 ,g是重力加速度9.8N/kg ,h 是液位高度,单位是米)计算可知,被测水箱液位每增加1cm传感器的输出电压增加0.35mv。而ADC0804是八位A/D转换器,即每输入约19.6mv(5v/255)模拟量,转换后数字量加1(十进制)。所以要使被测水箱液位每增加1cm,通过A/D转换数字量增加1,就需要使用放大电路

20、实现信号放大。如图2-4中所示的用两级电路实现差分比例运算。MPX10DP图2-4 信号检测与放大电路在图2-4中,第一级为同相比例电路,其前部分为调零电路5,该部分的电压输出做为第一级电路的同相输入端输入,经放大器OPA1输出电压为U01 =(1+R5/R4) UI1。第二级电路为差分电路,利用叠加原理,输出电压为U0=(-R7/R6)U01+(1+R7/R6)UI2,当R4=R7,R5=R6时,输出电压为U0=(1+R7/R6)(UI2-UI1) (其中 UI1 和UI2 分别为两级放大器的同相输入端输入,UI2为传感器所采集的电压信号)。从电路的组成可以看出,无论对于UI2还是UI1均可

21、认为输入电阻为无穷大,本次设计取R3=R5=R6=R8=10K,R4=R7=550K,此电路的放大倍数为:R7/R6=550/10=55。根据性能指标,知道MPX10DP型压力传感器的零位输出典型值为20mV,最大值是35mV.用两个电阻和一个滑动变阻器对+5V电压进行分压,以得到20mV35mV电压,作为零位输出补偿,接入端UI1电压范围为:5R2/(R0+R1+R2) UI1 5(R1+R2)/(R0+R1+R2),据该计算式就可以得到期望的补偿电压值。必须说明一点,R0和R2应该选择合适的阻值,使得滑动端滑动时所得电压在20mV35mV范围内变化,通过计算取R2=15,R1=35,R0=

22、4950,便于调零操作。2.4A/D转换电路微型计算机处理的数据只能是数字量,所以数据在进入计算机之前,必须经过A/D转换器把模拟量转换成数字量6。本设计中的A/D转换电路如图2-5所示。图2-5 A/D转换电路把8051的P0口作为双向的通用I/O口与ADC0804的数字信号输出口的DB口相连,此时单片机中的P0口用作接口电路的数据总线。这一系列连线的目的是把经过A/D转换的数据输入到单片机中,并且存放到累加器中。ADC0804的片选信号/CS与8051的P2.0口相连,有地址选中的作用。在CS处于低电平时,ADC0804芯片工作。ADC0804的外部读控制信号/RD与8051的/RD连接。

23、这里单片机中的/RD引脚作为8051中P3.7口的第二功能使用:片外数据存储器“读”选通控制信号。当CS=0,RD=0时,读出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随即对单片机提出中断申请。

24、对ADC0804本身来说,两个时钟信号CLK R与CLK IN之间利用串联电容与电阻的手段构成RC振荡电路,作为A/D转换进行的时钟信号。另外,数字电源与模拟电源的接地线分别接地。Vin(+)与Vin(-)作为输入信号的正极连接到放大电路的输出信号端,负极接地。2.5显示电路的设计这部分设计主要完成的功能是通过数码管显示当前检测值,本设计采用共阳极七段数码管作为显示器件。图2-6显示电路 8051的P1.0P1.7口作为通用的8位双向I/O端口通过与74LS273中D1D8口的分别连接向74LS273中输入数据,再由74LS273中的Q1Q8与各显示器的数据总线连接,从而使得数据送进显示器。这

25、些数据是单片机通过对ADC0804进行外部读指令得出初步液位信息,再经由单片机内部对数据进行处理与控制得到的。单片机的P3.0口和P3.1口分别与两个PNP三极管相连,在分别连接到数码管的位选通端。这样,就可以通过单片机对P3.0和P3.1口的控制来实现对数码管现实与关闭的选择。例如,在P3.0输出低电平时,T1截止,数码管DPY1不显示数据;在P3.0输出高电平时,T1导通,电源电压加到数码管DYP1上,DYP1则对数据进行相应的显示。 2.6单片机外围电路的设计要使单片机正常工作,只有其与主要硬件的连接电路是远远不够的,还要有外围电路的设计。在本系统中单片机的外围电路有:复位电路、时钟电路

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

27、机的时钟电路单片机的时钟电路有内部自震荡电路和外部时钟电路两种。内部的自振荡电路是根据8051单片机内部反相放大器与石英晶体和两个电容构成的,XTAL1和XTAL2分别作为放大器的输入端与输出端,电容起到了快速起振和稳定频率的作用,如图2-8(a)所示。外部时钟电路是将外部的时钟脉冲与XTAL1相连,XTAL2悬空,如图2-8(b)所示。在本设计中,采用外接石英晶体的方法,所用晶振频率为12MHz,所选择电容为30pF7。XTAL28051XTAL1GND外部时钟信号悬空空XTAL28051XTAL1GND (a) (b)图2-8 单片机的时钟电路2.7+5V稳压电源的设计在本设计中,为了使+

28、5V电源电压输出稳定,采用由变压器、桥式整流和压器三部分构成的稳压电路。其中稳压器使用了78M05三端稳压器,使220V交流电转换成系统所需要的电压。利用变压器的降压功能将220V交流电压降为8V左右的交流电压,以方便为桥式整流电路提供电源。这样,经过整流电路的交流电就被转化为了脉动直流电8。这时脉动直流电压通过滤波电路,使其变为了平滑输出的直流电压。为了使电压稳定的输出,进而增加了稳压措施,即78M05稳压器。原理电路如图2-9所示。图2-9 稳压电源电路设计 3系统软件设计3.1软件功能概述在完成了对系统硬件的设计后,就要求有一个功能完善并且稳定的软件来指导协调硬件的内部操作,对硬件起到指

29、导作用,使硬件系统的作用发挥到最大化,同时还要考虑到未来硬件设计的更新升级等。系统软件有监控和执行的功能。在本设计中,系统软件设计主要分为主程序设计、延时程序设计、外部中断程序设计和显示程序设计等9。主程序完成各器件的初始化,并且调用各个相应的子程序模块设计;延时程序空使得单片机每隔一段时间对A/D转换采样一次并进行处理;显示程序即为把采集程序模块存储的数据送到相应数码管进行显示。3.2主程序设计主程序首先要完成初始化工作,另外还要对信号进行采集、处理以及显示。流程图如图3-1所示。初始化程序程序的初始化工作就是对硬件各个芯片的初始状态进行规定,由硬件电路的设计要求等进行系统的分配及定义。在本

30、设计中,首先是对各寄存器进行清零工作,R2用于保存液位高度的十位数字,R3用于保存液位高度的个位数字。因为本设计采用动态显示,就要进行动态扫描,利用软件进行延时,十位和个位的显示都分别延时1ms,通过给寄存器R0和R1赋初值,进行记数减1,从而保证定时1秒后,重新启动A/D转换。本设计中的初始化程序定义如下。MOV R2,#00H ;寄存器R2和R3清零,用于存放液位十位及个位MOV R3,#00HMOV R0,#0AH ;R0装入计数值MOV R1,#32H ;R1装入计数值 SETB IT0 ;选择边沿触发方式SETB EX0 ;允许外部中断SETB EA ;开放总中断主程序部分本设计拟采

31、用1S的时间间隔进行重复采样工作以及A/D转换工作。当=0,=0时,ADC0804开始进行A/D转换, 启动转换地址为FEH。当转换结束时,端变成低电平,随之8051的端变成低电平,向单片机提出中断申请。中断得到响应后,便进行存储器读操作,读出A/D转换结果,然后进入显示子程序,分时显示当前液位值的十位及个位数字11。设计程序如下所示。MAIN:MOV R2,#00HMOV R3,#00H ;寄存器R2及R3清零MOV R0,#0AH ;R0装入计数值MOV R1,#32H ;R1装入计数值SETB IT0 ;选择边沿触发方式SETB EX0 ;允许外部中断SETB EA ;开放总中断MOV

32、DPTR,#0FEH ;建立A/D转换器地址指针MOV P0,#0FFH ;向P0口写1MOVX DPTR,A ;启动A/D转换Cpu开中断取下一次采样值重启A/D转换Cpu开中断启动A/D转换数据处理初始化置中断触发方式允许外部中断0定时完成了吗?显示液位值YN图3-1 主程序流程图 3.3延时程序设计延时程序主要是利用空执行来占用CPU的处理时间,使每隔1s读取一次液位信息,进行A/D转换,送入单片机处理并且送入数码管中进行显示。利用延时程序不仅可以监控系统中软件和硬件的协调以及正常的工作,并且因为液位的变化较为缓慢,基本可以实现对液位的即时测量。延时程序设计如下9。DELAY: ;延时1

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

34、装初值,为下一次采样值的显示做准备,否则跳转至DISPLAY,继续显示液位值。显示程序的设计如下。DISPLAY: SETB P3.0 ;位选码为液位高度的十位数字MOV DPTR,#TAB ;指向换码表首址MOV A,R2 MOVC A,A+DPTR ;取出显示码MOV P1,A ;从P1口输出显示码LCALL DELAY ;调用延时程序,延时1msSETB P3.1 ;位选码为液位高度的个位数字MOV DPTR,#TAB ;指向换码表首址MOV A,R3MOVC A,A+DPTR ;取出显示码 MOV P1,A ;从P1口输出显示码LCALL DELAY ;延时1msDJNZ R0,DIS

35、PLAY ;判断R0是否减至0,未减至0则跳转至DISPLAYDJNZ R1,DONE ;判断R1是否减至0,未减至0则跳转至DONE LJMP DISPLAY 都显示完了吗?延时1ms返回显示码送P1口取出显示数据求显示码显示区地址TAB表首地址给DPTR显示子程序 NY 图3-2 显示流程图3.5中断程序设计当转换结束后,ADC0804的引脚由高电平变为低电平,8051单片机的端与ADC0804的端相连,随之8051的端变成低电平,向CPU提出中断申请,执行中断服务子程序。CPU总中断关闭,压栈保存现场数据。读取A/D转换结果,通过指令 MOVX A,DPTR实现。处理数据得出液位高度的十

36、位及个位数字并分别保存到寄存器R2和R3中。恢复现场,开放CPU总中断,中断子程序返回。具体程序如下。PUSH PSWPUSH ACCMOVX A,DPTRATOD:MOV B,#0AHDIV ABMOV R2,A ;保存当前液位的十位数字MOV R3,B ;保存当前液位的个位数字POP ACCPOP PSW ;恢复现场RETI ;中断返回中断服务子程序保护现场读A/D转换结果恢复现场返回保存液位值图3-3 外部中断0子程序4结论 本设计完成了单片机控制的水箱液位检测装置。本装置的硬件电路是由信号采集、信号处理、模数转换、数据处理、数据显示五个部分组成的。利用差压传感器MPX10DP采集水箱液

37、位的压力信号,在传感器内部转化成为微弱的电压信号后经过信号调零、放大送入8位逐次逼近型模数转换模块ADC0804中进行信号转换,后送入单片机进行信号处理,经由数码管显示出当前液位值。该装置开发简单,便于维护,价格低廉。在现实生活中,当对液位的精度要求不是很高时,可以应用此检测装置。单片机控制的水箱液位检测装置是一个实践性很强的课题,要使系统产品化,能够经受实际应用中的严格考验,还要进行很多细致的工作。该系统在设计上存在一些问题,如显示精度相对较低。对于检测精度要求较高的场合,可以通过增加显示位和选择更高转换位数的A/D转换器的方法加以改进。在软件调零设计中,MPX10DP压力传感器的满量程输出

38、和灵敏度均采用典型值进行计算处理,若其值有偏差都会对整个装置的检测精度产生影响,带来检测误差。另外,该装置只实现了液位检测及显示功能,未设置越限报警装置,对于液位过低或过高的情况不能实现及时报警及对液位进行控制调整,因此该装置功能较单一。由于水平有限,设计的比较粗糙,硬件设计和软件设计方面都还有待于完善。参考文献1李华MCS-51系列单片机实用接口技术北京:航空航天大学出版社,1993:781012 潘新民,王燕芳微型计算机控制技术M北京:电子工业出版社,2003:47933 王家桢,王俊杰传感器与变送器M北京:清华大学出版社,1996:671154 王永山,杨宏五,杨婵娟等微型计算机原理与应

39、用M西安:西安电子科技大学出版社,1999:1681815 童诗白,华成英模拟电子技术基础M高等教育出版社,2001:3103306 何立民单片机应用技术选编M北京:北京航空航天大学出版社,2000:5455507 孙涵芳,徐爱卿MCS-51/96系列单片机原理及应用M北京:北京航空航天大学出版社,1996:498 8 吴立新实用电子技术手册M北京:机械工业出版社,2002:941119周泽魁控制仪表与计算机控制装置M北京:化学工业出版社,2002:8011110 王化祥,张淑英传感器原理及应用M天津:天津大学出版社,1992:9711311 P.F.ListerSingle-Chip Mic

40、rocomputersMGranada Publishing Ltd.1984:150附录附录1电路原理图18 附录2程序清单ORG0000HLJMP MAIN ;主程序ORG0003HLJMP INTER ;外部中断0服务子程序ORG0200HMAIN:MOV R2,#00HMOV 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口写1MOVX DPTR,A ;启动A/D转换HERE: AJMP HERE ;模拟住程序DISPLAY: SETB P3.0 ;位选码为液位高度的十位数字MOV DPTR,#TAB ;指向TAB表首地址MOV A,R2 MOVC A,A+DPTR ;取出显示码MOV P1,A ;从P1口输出显示码LCALL DELAY ;延时1msSETB P3.1 ;位选码为液位高度的个位数字MOV DPTR,#TAB ;指向TAB表首地址MOV A,R3

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服