毕业设计天然气压力监控系统设计_第1页
毕业设计天然气压力监控系统设计_第2页
毕业设计天然气压力监控系统设计_第3页
毕业设计天然气压力监控系统设计_第4页
毕业设计天然气压力监控系统设计_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

1、1天然气压力监控系统的概念设计 本课题设计的天然气压力监控系统是通过调节天然气压力储气罐进气管道的流量使存气罐中的压力稳定在200pa-800pa之间,从而能使天然气通过储气罐的出气管稳定的供给给用户使用。在压力值大于上限值或者小于下线值时,系统能发出声光报警并控制步进电机转动实现自动监控,同时也有人性化的人工手动控制。2天然气压力监控系统总体方案设计此天然气压力监控系统来来源于生产实际,设计要求既满足用户要求又使系统简单、经济、稳定、可靠。本课题打算分四个模块进行解决:压力数据采集与存储模块、数据显示模块、声光报警与步进电机驱动模块、人工控制模块。系统硬件电路原理框图如下:8051单片机压力

2、传感器i/o扩展芯片8155ad转换电路差动放大器led显示屏声光报警步进电机的驱动人工控制系统硬件电路原理框图本系统中,通过扩散硅压力传感器将压力非电量转换为微弱的电信号,通过信号放大电路,将微弱的电信号转化为a/d能转化的阈值,使输入的模拟信号的电压为0-5v,压力传感器的量程为0-1000mpa。然后将模拟信号转化成数字信号传送给8051单片机进行数据的处理;通过比较设定在8051单片机内的上、下限压力值参数,来决定是否应启动相应的报警与控制程序。当前压力值超过设定的上限值时,系统会进行声光报警,并控制步进电机转动使天然气储气罐进气管的阀口关小,从而达到自动调节储气罐中压力的目的。整个过

3、程中的压力值变化会通过led显示屏显示出来,便于记录与生产管理。软件方面,我们使用汇编语言对8051单片机进行程序设计,用proteus搭建仿真系统,用keil c51进行程序汇编。分为压力数据采集与存储模块、数据显示模块、声光报警与步进电机驱动模块、人工控制模块、这四大模块进行编写。除了实现所要求的控制功能外,还要进行数据转换,即将所采集到的数据转换为十进制数(bcd码)进行显示,符合人们所使用十进制数的习惯,同时还要将压力值参数换成二进制数,便于8051单片机处理。2.3天然气压力监控系统的硬件电路设计根据总体方案设计,本监控系统的硬件电路可划为:数据采集功能模块、数据显示功能模块、声光报

4、警模块、步进电机驱动模块以及电路图五个部分。 2.3.1数据采集功能模块压力传感器采用扩散硅压力传感器,在信号的调理电路中用仪表放大器,共模干扰、零漂、温漂的抑制,保证采集数据的精度和可靠度。模数转换采用adc0809,将信号预处理电路传送过来的调理信号进行模数转换才传送至8051单片机中进行各种处理。adc0809各脚功能如下:lsb-msb:8位数字量输出引脚。in0-in7:8位模拟量输入引脚。vcc:+5v工作电压。gnd:地。ref(+):参考电压正端。ref(-):参考电压负端。start:a/d转换启动信号输入端。ale:地址锁存允许信号输入端。(以上两种信号用于启动a/d转换)

5、eoc:转换结束信号输出引脚,开始转换时为低电平,当转换结束时为高电平。oe:输出允许控制端,用以打开三态数据输出锁存器。clk:时钟信号输入端(一般为500khz)。a、b、c:地址输入线。 2.3.2数据显示模块显示屏采用四位一体led数码管,由于8051单片机的i/o接口有限,为了节约i/o口,我们采用8155芯片对单片机的i/o口进行扩展,将8051单片机的p0与8155的ad口做数据总线相连,8155的a口做led数码管的段选信号线,b口做led数码管的位选信号线。8155各引脚功能说明如下:rst:复位信号输入端,高电平有效。复位后,3个i/o口均为输入方式。ad0ad7:三态的地

6、址/数据总线。与单片机的低8位地址/数据总线(p0口)相连。单片机与8155之间的地址、数据、命令与状态信息都是通过这个总线口传送的。rd:读选通信号,控制对8155的读操作,低电平有效。wr:写选通信号,控制对8155的写操作,低电平有效。ce:片选信号线,低电平有效。io/m :8155的ram存储器或i/o口选择线。当io/m 0时,则选择8155的片内ram,ad0ad7上地址为8155中ram单元的地址(00hffh);当io/m 1时,选择 8155的i/o口,ad0ad7上的地址为8155 i/o口的地址。ale:地址锁存信号。8155内部设有地址锁存器,在ale的下降沿将单片机

7、p0口输出的低8位地址信息及 ,io/ 的状态都锁存到8155内部锁存器。因此,p0口输出的低8位地址信号不需外接锁存器。pa0pa7:8位通用i/o口,其输入、输出的流向可由程序控制。pb0pb7:8位通用i/o口,功能同a口。pc0pc5:有两个作用,既可作为通用的i/o口,也可作为pa口和pb口的控制信号线,这些可通过程序控制。timer in:定时/计数器脉冲输入端。timer out:定时/计数器输出端。vcc:5v电源。 2.3.3声光报警模块声光报警电路采用lm386驱动的蜂鸣器与发光二极管,从某一i/o单调输出一信号控制lm386驱动蜂鸣器和发光二极管进行声光报警,避免采用音乐

8、报警以防止外界各种铃声信号的干扰,同时便于晚上能对报警地点进行准确快速的定位。 2.3.4步进电机的驱动模块 此处步进电机采用三相六拍的驱动方式,步进电机的主要功能是根据存储罐中的压力状况,来进行正反转的控制。当存储罐中的压力低于设计的下限值时,步进电机进行正转,控制阀门开大;当存储罐中的压力高于设计的上限值时,步进电机进行反转,控制阀门关小,使得存气罐中的压力处于正常压力的范围之内。2.3.5电路图2.4天然气压力监控系统的软件设计 软件设计是测控系统的主要内容和重点,设计人员不仅要能够从事硬件设计,同时还必须掌握测控软建的设计,通常,软件设计是先画出软件的流程图,然后根据流程图用汇编语言或

9、者高级语言进行编程。本课题的程序打算分为数据采集与存储、数据显示、声光报警与电机驱动、人工手动四个模块进行设计。在程序的编写中我们应该按照这设计的四大模块由上至下的进行编写,一一实现控制的要求。程序的编译器我们选择keil c51软件,电路仿真我们选择proteus软件进行仿真电路的搭建。2.4.1 keil c51的介绍keil c51集成开发环境主要由菜单栏、工具栏、源文件编辑窗口、工程窗口和输出窗口五部分组成。工具栏为一组快捷工具图标,主要包括基本文件工具栏、建造工具栏和调试工具栏,基本文件工具栏包括新建、打开、拷贝、粘贴等基本操作。建造工具栏主要包括文件编译、目标文件编译连接、所有目标

10、文件编译连接、目标选项和一个目标选择窗口。调试工具栏位于最后,主要包括一些仿真调试源程序的基本操作,如单步、复位、全速运行等。在工具栏下面,默认有三个窗口。左边的工程窗口包含一个工程的目标(target)、组(group)和项目文件。右边为源文件编辑窗口,编辑窗口实质上就是一个文件编辑器,我们可以在这里对源文件进行编辑、修改、粘贴等。下边的为输出窗口,源文件编译之后的结果显示在输出窗口中,会出现通过或错误(包括错误类型及行号)的提示。如果通过则会生成“hex”格式的目标文件,用于仿真或烧录芯片。mcs-51单片机软件keil c51开发过程为:1.建立一个工程项目,选择芯片,确定选项;2.建立

11、汇编源文件或c源文件;3.用项目管理器生成各种应用文件;4.检查并修改源文件中的错误;5.编译连接通过后进行软件模拟仿真或硬件在线仿真;6.编程操作;7.应用。2.4.2proteus软件的介绍proteus软件是它不仅具有其它eda工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。它从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到pcb设计,真正实现了从概念到产品的完整设计。是目前将电路仿真软件、pcb设计软件和虚拟模型仿真软件三合一的

12、设计平台,其处理器模型支持8051、hc11、pic10/12/16/18/24/30/dspic33、avr、arm、8086和msp430等,2010年即将增加cortex和dsp系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持iar、keil和mplab等多种编译器。proteus软件具有的功能:原理布图;pcb自动或人工布线;spice电路仿真。2.4.3程序设计流程图(1)自动监控程序流程图开始初始化启动adc0809采集数据,转换数据并储存在led数码管上显示数据判断采集的数据是否大于设定的上限值或小于设计的下限值。大于声光报警声光报警电动机正转电动机反转小于(2)中

13、断程序流程图(手动控制控制)将累加器a 、累加器b、程序状态字psw、30h-34h单元压栈进行保护。外部中断0低电平电动机a相得电、延时电动机b相得电、延时电动机a相失电、延时电动机b相失电、延时电动机a相得电、延时清零a、b相电动机c相的电、延时将30h-34h单元、程序状态字psw 、累加器b、累加器a出栈恢复现场。中断返回将累加器a 、累加器b、程序状态字psw、30h-34h单元压栈进行保护。外部中断1低电平电动机c、a相得电、延时电动机a相失电、延时电动机b相得电、延时电动机a相得电、延时电动机b相失电、延时清零a相电动机c相失电、延时将30h-34h单元、程序状态字psw 、累加

14、器b、累加器a出栈恢复现场。中断返回2.4.4 源程序 org 0000 ljmp main start equ p2.5 eoc equ p2.6 beep_led equ 2.3 org 4000main: sebt ea 开中断 sebt ex0 开外部中断0 sebt ex1 开外部中断1 clr it0 选择外部中断低电平触发方式 mov a #0ffh 将p1口置1 mov p1 a loop1: sebt start 启动adc0809 jnb eoc $ 等待转换完成 mov a p1 读取数据 mov 34h 初始数值存于34h单元 mov b #4 将数据化为实际的大小 m

15、ul ab mov r1 a 低八位暂存r1 mov a b 进行高八位的bcd转换 mov b #25 mul ab mov b #100 div ab mov 30h a 千位数存30h单元 mov a b mov b #10 div ab mov 31h a 百位数存31h单元 mov 32h b 十位数存32h单元 mov a r1 进行低八位数的bcd mov b #100 bcd转换,读百位数 div ab add a 31h 低八位数与高八位数的百位数相加 mov 31h a 相加结果存入31h mov a b bcd转换,读十位数 mov b #10 div ab add a

16、32h 低八位数与高八位数的十位数相加 mov 32h a 结果存入32h mov 33h b 个位数存入33h loop2: mov a 30h 数据显示模块 da a 读千位数,进行十进制转换 mov dptr #tab 寻千位数的段码号 movc a a+dptr mov dpta #7f01h dp指针指向段选地址 movx dptr a 送入段选码 mov dpta #7f02h dp指针指向位选地址 mov a #07h movx dptr a 送入位选码 acall delay 延时0.2s mov a 31h da a mov dptr #tab movc a a+dptr m

17、ov dpta #7f01h dp指针指向段选地址 movx dptr a 送入段选码 mov dpta #7f02h dp指针指向位选地址 mov a #0bh movx dptr a 送入位选码 acall delay 延时0.2s mov a 32h da a mov dptr #tab movc a a+dptr mov dpta #7f01h dp指针指向段选地址 movx dptr a 送入段选码 mov dpta #7f02h dp指针指向位选地址 mov a #0dh movx dptr a 送入位选码 acall delay 延时0.2s mov a 33h da a mov

18、 dptr #tab movc a a+dptr mov dpta #7f01h dp指针指向段选地址 movx dptr a 送入段选码 mov dpta #7f02h dp指针指向位选地址 mov a #0eh movx dptr a 送入位选码 acall delay 延时0.2s mov r0 #20h 持续显示一段时间 djnz r0 loop2 loop3: mov a #32h 设定下限值32h 表示200pa clr cy 清零进位标志 subb a 34h 比较初始值是否小于200 jc loop5 小于200则跳转电机反转程序 mov a #8ch 设定下限值32h 表示8

19、00pa clr cy subb a 34h jnc loop4 大于800则跳转电机正转程序 clr beep_led 关闭蜂鸣器和发光二极管 ljmp main 跳转主程序继续检测 loop4: setb beep_led 启动蜂鸣器和点亮led setb p2.0 电机a相得电(a) acall delay 延时0.2s setb p2.1 电机b相得电(ab) acall delay 延时0.2s clr p2.0 电机a相失电(b) acall delay 延时0.2s setb p2.2 电机c相得电(bc) acall delay clr p2.1 电机b相失电(c) acall

20、 delay setb p2.0 电机a相得电(ca) acall delay clr p2.2 电机c相失电 clr p2.0 电机a相失电 ljmp main 跳转主程序继续检测 loop5: setb beep_led setb p2.2 电机c相得电 setb p2.0 电机a相得电(ca) acall delay clr p2.0 电机a相失电(c) acall delay setb p2.1 电机b相得电(bc) acall delay clr p2.2 电机c相失电(b) acall delay setb p2.0 电机a相得电(ab) acall delay clr p2.1

21、电机b相失电(a) acall delay待添加的隐藏文字内容3 clr p2.0 电机a相失电 ljmp main 跳转主程序继续检测 org 0003int0; puss acc puss psw puss b puss 30h puss 31h puss 32h puss 33h puss 34h setb p2.0 acall delay setb p2.1 acall delay clr p2.0 acall delay setb p2.2 acall delay clr p2.1 acall delay setb p2.0 acall delay clr p2.2 clr p2.0 pop 34h pop 33h pop 32h pop 31h pop 30h pop b pop psw pop acc reit org 0013int1: puss acc puss psw puss b puss 30h puss 31h puss 32h puss 33h puss 34h setb p2.2 setb p2.0 acall delay clr p2.0 acall delay setb p2.1 acall delay clr p2.2 acall delay setb p2.0 acall delay clr

温馨提示

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

评论

0/150

提交评论