微机原理与接口技术课程设计-水位报警计.doc_第1页
微机原理与接口技术课程设计-水位报警计.doc_第2页
微机原理与接口技术课程设计-水位报警计.doc_第3页
微机原理与接口技术课程设计-水位报警计.doc_第4页
微机原理与接口技术课程设计-水位报警计.doc_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

1 目录目录 第一章第一章 设计背景设计背景 _3 第二章第二章 硬件设计硬件设计 _4 2.1 总体设计方案的确定总体设计方案的确定_4 2.1.1 设计方法设计方法 _4 2.2 硬件选择硬件选择_5 2.2.1 传感器的选择传感器的选择 _5 2.2.2 a/d 转换器的选择转换器的选择 _5 2.2.3 控制芯片的选择控制芯片的选择 _7 2.2.4 报警电路的设置报警电路的设置 _7 22.5 控制电路的设计控制电路的设计_8 2.2.6 显示电路的设计显示电路的设计 _9 第三章第三章 软件设计软件设计 _9 3.1 程序模块程序模块_9 3.2 程序流程图程序流程图_10 3.3 a/d8089 转换子程序转换子程序_10 3.4 报警子程序报警子程序_12 3.5 总程序总程序_13 第四章第四章 实验与调试实验与调试 _17 第五章第五章 设计总结设计总结 _18 2 第一章第一章 设计背景设计背景 随着计算机技术和现代通信技术的迅速发展,水位报警计已经从普通型发展到智能化, 而且水位报警计的功能日益趋向于完善。 水位报警计是近年来开发的一项新技术,它是传感器、硬件、软件等几项技术紧密结合 的产物,它的作用是观测和控制容器内的介质多少量,通过液面的高度来掌握体积的多少, 从而达到防止超装和掌握存液数量的目的,可用于很多地方进行工业控制。本次设计主要针 对水塔,水库等储水设备进行自动检测、自动报警等功能,其主要任务是保证储水设备的安 全、稳定、经济的运行,减轻工作人员的劳动强度,由于我国水位报警操作水平落后,工作 人员过多,但是现在水位报警计为水位控制开辟了广阔的前景。 对水位报警计研究,有利于满足人们日益增长的物质需求,通过将科学技术应用到水位 控制上从而使得人们真正体会到科技的发展给自己的现实生活所带来的方便和舒适。 因储水设备里的水位会不断变化,水位过低或过高都会出现各种情况发生。为了随时了 解储水设备内的水位,在储水设备上都装有水位计,水位计和储水设备构成一个连通器。通 过安装在储水设备里面的传感器和设计好的电路通过报警和控制来调控储水设备里面的水位。 目前国内外液位计的种类很多,有雷达液位计、磁性浮子液位计、石英管液位计、智能 雷达液位计、彩色石英管液位计和超声波液位计等等。而生产液位计的公司有美国罗斯蒙特 rosemount、德国 e+h、日本横河 yokogawa、德国西门子 siemens、瑞士 abb、德国 vega 等 等。这些只是常用而较热门的品牌。 对水位报警计研究,有利于满足人们日益增长的物质需求,通过将科学技术应用到水位 控制上从而使得人们真正体会到科技的发展给自己的现实生活所带来的方便和舒适。 3 第二章第二章 硬件设计硬件设计 2.1 总体设计方案的确定总体设计方案的确定 设计数据采集系统时在硬件方面的工作主要是根据系统要求,合理选好个单元器件及互 相连接,以及完成输入、输出的设计。而数据采集系统的软件设计是根据系统要实现的功能, 经接口对各个部分进行控制;对模拟多路输入通道的选择以保证选择正确的通道;在正确的 时刻取样和保持以使 adc 能正确完成转换;对输入的数字信息进行运算处理以及显示、记录 和传输,对信息格式可能还要做变换工作,这些基本上都是通过编程来实现。 基于上述的考虑本设计的整体思路如下:以 8086cpu 和 8255a 接口芯片为核心开始设计, 选用合适的液位传感器对储水设备中的液位参数进行报警把检测到的模拟信号转换成电信号。 本次设计采用的是变送器,它可以直接把液位信号转化成标准的电信号,而不需要放大、整 形、滤波等。对该电信号通过模数转换把模拟信号转换成数字信号。模数转换器 a/d 与 8255a 相连,输入到 8255a,由 8255a 对其进行监测和控制。在控制电路的控制下,最后经 过输出端口与显示电路相连通过所编的程序完成显示功能。 2.1.1 设计方法设计方法 硬件电路的设计,对传感器的选型,a/d 转换器,接口芯片的选型。为显示的驱动电路、 数码管的选型。 硬件设计大体可以分为 4 步:用传感器将非电量信号转换成电量信号,而在设计中选 用什么类型的传感器,从经济性,可靠性和准确性的方面考虑。用模/数转换器将模拟信 号转换成数字信号,然后传送到 8255a 里。是控制电路的设计,即对水位报警系统的控制。 显示、监控电路的设计。 硬件设计框图,如图 1 所示: 4 8255a 芯片 液位变送器 (传感器) a/d 转换器 报警电路 水位控制电 路 显示电路 图 1 2.2 硬件选择硬件选择 2.2.1 传感器的选择传感器的选择 首先要了解本次对于水位测量报警主要是位于水利方面的应用,例如水库,水塔等储水 设备。所以选择浮力式液位计,价格较低,简单易于操作,可用来远传和调节。适合用上述 所说的设备上面。 在本次设计中,准备选用液位传感器为 jby 系列 l 形普通投入式液位变送器。 作为此次设计所使用的传感器。 投入式静压式液位变送器是基于所测液体静压与该液体的高度成比例的原理,采用外国 先进的隔离型扩散硅敏感元件,利用压阻效应,将静压转换为电信号,再经过温度补偿和线 性修正,转化成标准电信号。jyb 系列 l 形普通投入式液位变送器适用于较多行业各种介质 的液位报警。精巧的结构,简单的调校和灵活的安装方式为用户轻松地使用提供了方便。 420ma、05v、010ma 等标准信号输出方式由用户根据需要任选。 用途与特点: 可广泛用于水厂,水库,水罐等场所、抗过载能力强、防浪涌电压,抗腐蚀性能优良, 具有过压过流保护,反向极性保护,稳定性高,抗干扰能力强,实用性强,安装简便。 2.2.2 a/d 转换器的选择转换器的选择 a/d 转换器的作用是把模拟量转化成数字量,以便于计算机进行处理。 5 随着超大规模集成电路技术的飞速发展,a/d 转换器的新设计思想和制造技术层出不穷。 为满足各种不同的检测及控制任务的需要,大量结构不同,性能不同的 a/d 转换芯片应运而 生。 通过在转换速度和抗干扰能力还有经济性等方面的比较,逐次比较型 a/d 转换器比较适 合。逐次比较型 a/d 转换器的工作原理就是将输入的模拟信号与不同的参考电压做多次比较, 使转换所得的数字量在数值上主次逼近输入模拟量的对应值。 逐次比较型 a/d 转换器完成一次转换所需要的时间与其位数和时钟脉冲频率有关,位数 越少,时钟频率越高,转换时间就越短。这种 a/d 转换器具有转换速度快、精度高的特点。 常用的集成逐次比较型 a/d 转换器有 adc0808/0809 系列(8)位、adc0804(8 位)和 ad7810(10 位)等。本设计采用 a/d 转换器 adc0809。 adc0809 是 cmos 单片型逐次逼近式 ad 转换器,由于输出级有 8 位三态输出锁存器, 因而 0809 的数据输出端可以直接与单片机的数据总线连接。 adc0809 芯片有 28 条引脚,采用双列直插式封装,如图 2 所示: 123456 a b c d 654321 d c b a t itle num berrevisionsize b date:14-may-2010sheet of file:f:proteladc0809概概.ddbdrawn by: in 2 28 in 1 27 in 0 26 adda 25 addb 24 addc 23 ale 22 d7 21 d6 20 d5 19 d4 18 d0 17 v ref(-) 16 d2 15 d1 14 gnd 13 v ref(+) 12 v cc 11 clock 10 oe 9 d3 8 eoc 7 st art 6 in 7 5 in 6 4 in 5 3 in 4 2 in 3 1 u? adc0809 图 2 在本设计中使用到 74ls373。74ls373 是一种带有三态门的 8d 锁存器,其引脚如图 3 所 示: 6 123456 a b c d 654321 d c b a t itle num berrevisionsize b date:18-may-2010sheet of file:f:protel74ls373.ddbdrawn by: d0 3 q0 2 d1 4 q1 5 d2 7 q2 6 d3 8 q3 9 d4 13 q4 12 d5 14 q5 15 d6 17 q6 16 d7 18 q7 19 oe 1 le 11 u? 74ls373 图 3 2.2.3 控制芯片的选择控制芯片的选择 本次设计才用 8255a 芯片,8255a 为可编程芯片,可用程序设定或改变其工作状态,可 直接与外设相连。 其引脚图如图 4 示 图图 4 2.2.4 报警电路的设置报警电路的设置 在储水设备系统发生故障或处于某种紧急状态时,系统能发出提醒人们警觉的报警信号 pa3 1 pa2 2 pa1 3 pa0 4 rd 5 cs 6 gnd 7 a1 8 a0 9 pc7 10 pc6 11 pc5 12 pc4 13 pc3 14 pc2 15 pc1 16 pc0 17 pb0 18 pb1 19 pb2 20 pb3 40 pb4 39 pb5 38 pb6 37 pb7 36 vcc 35 d7 34 d6 33 d5 32 d4 31 d3 30 d2 29 d1 28 d0 27 reset 26 wr 25 pa7 24 pa6 23 pa5 22 pa4 21 8255a 8255a 7 或者提示信号,常见的报警信号为声音报警。 具体电路设置如图 5 所示: 图 5 22.5 控制电路的设计控制电路的设计 控制电路在这里起到非常重要的作用,在水位报警中报警到水罐中水位的高度,当水位 高于警戒水位时,电动机停转,水泵停止对水罐供水;当水位低于警戒水位时,电动机起转, 水泵开始对水罐供水。 具体电路设置如图 6 所示: 8 图 6 2.2.6 显示电路的设计显示电路的设计 系统中经常用到 led 数码管作为显示输出设备。led 数码管显示器虽然显示信息简单, 但它具有显示清晰、亮度高、使用电压低、寿命长、接口方便等特点,基本上能满足单片机 应用系统的需要,所以在单片机应用系统中经常用到。 在设计中,所设计的液位报警计,显示电路是对液位和报警等的显示,它所需的精度要 求不是很高,而且从价格上综合考虑,应选用 led 数码管和 led 灯作为输出设备。 第三章第三章 软件设计软件设计 3.1 程序模块程序模块 软件的设计,采用汇编语言编程,这里面包含定时对检测电路数据采集,输出信号驱动 数码管显示等。 水位系统采用模块化程序结构,可以分成以下程序模块: 系统初始化程序主程序 main显示子程序 display 9 3.2 程序流程图程序流程图 如图 7 所示: 开始 程序初始化 水位过高吗 y n 显示正常水位灯 报警灯亮 蜂鸣器响 水位控制 图 7 3.3 a/d8089 转换子程序转换子程序 把传感器测得的数据输入进入 ad 转换器,把模拟信号转换为数字信号 ;- a/d 转换- code segment assume cs:code,ds:code,es:code org 3390h ad: jmp start zxk equ 0ffdch zwk equ 0ffddh led db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h db 88h,83h,0c6h,0a1h,86h,8eh,0ffh,0ch,0deh,0f3h buf db ?,?,?,?,?,? 10 adport equ 0ffe0h start: mov buf,00h ;display 0809 00 mov buf+1,08h mov buf+2,00h mov buf+3,09h ;display 0809 00 mov buf+4,00h mov buf+5,00h p5: mov al,00h ;in0 mov dx,adport out dx,al call dis mov dx,adport in al,dx mov dx,0ffe4h ;new add 138 y1 not al ;new add out dx,al ;new add not al ;new add call ads jmp p5 ads: mov ah,al and al,0fh mov buf+5,al and ah,0f0h mov cl,4 shr ah,cl mov buf+4,ah ret ;- dis: mov cl,20h mov bx,offset buf dis1: mov al,bx 11 push bx mov bx,offset led xlat pop bx mov dx,zxk out dx,al mov al,cl mov dx,zwk out dx,al push cx mov cx,0100h delay: loop $ pop cx cmp cl,01h jz exit inc bx shr cl,1 jmp dis1 exit: mov al,00h mov dx,zwk out dx,al ret - code ends end ad 3.4 报警子程序报警子程序 当水位过低或者过高的时候进行报警,应对水位进行控制,使得其水位一直处于一个正 常的水平。 ;-报警子程序- 12 code segment assume cs:code,ds:code org 3490h start: mov dx,0ffdbh mov al,88h out dx,al mov al,00h mov dx,0ffdah out dx,al waite: in al,dx test al,80h jz l2 mov al,01h out dx,al ;输出 pc0=1 l1:mov cx,0ffffh loop l1 l2: in al,dx test al,40h jz waite mov al,02h out dx,al jmp waite code ends end start 3.5 总程序总程序 实现水位测量,当过高或者过低的时候进行报警。 code segment assume cs:code,ds:code org 3390h 13 start: mov dx,0ffdbh mov al,80h out dx,al ads: mov dx,adport mov al,00h out dx,al mov cx,20 loop $ in al,dx mov ah,al push ax and al,0fh lea bx,table xlat mov dx,zxk out dx,al mov dx,zwk mov al,01h out dx,al mov cx,0100h loop $ mov cl,04h shr ah,cl mov al,ah xlat mov dx,zxk out dx,al mov dx,zwk mov al,02h out dx,al pop ax 14 cmp al,0ffh jae alert cmp al,00h jbe alert mov dx,0ffd8h mov al,0fdh out dx,al back: jmp ads alert: mov dx,0ffd8h mov al,0feh out dx,al call delay mov al,0ffh out dx,al call delay mov dx,0ffdbh mov al,00h out dx,al mov cx,0ffffh loop $ inc al out dx,al mov cx,0ffffh loop $ jmp back delay proc mov cx,0ffffh loop $ ret delay endp table db 15 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h db 88h,83h,0c6h,0a1h,86h,8eh,0ffh,0ch,0deh,0f3h zxk equ 0ffdch zwk equ 0ffddh adport equ 0ffe0h code ends end start 16 第四章第四章 实验与调试实验与调试 现有微机原理实验仪器箱及电脑一台,用其中的 ad 模数转换单元用作传感器的转换, 其中的数码显示管来显示现在的水位,用其中的音频驱动单元来代替报警器,用其中的 led 灯来代表正常水位的及非正常水位。通过试验箱中的 8086 与 8255a 连接起来进行实验。 实验电路图如图 7 所示: gnd 1 ad14 2 ad13 3 ad12 4 ad11 5 ad10 6 ad9 7 ad8 8 ad7 9 ad6 10 ad5 11 ad4 12 ad3 13 ad2 14 ad1 15 ad0 16 nm i 17 titr 18 clk 19 gnd 20 vcc 40 a15 39 a16/s3 38 a17/s4 37 a18/s5 36 a19/s6 35 bhe/s7 34 m n/m x 33 rd 32 hold(rd/gt0) 31 hlda(rq/gt1) 30 wr(lock) 29 m /io(s2) 28 dt/r(s1) 27 den(s0) 26 ale(qs0) 25 inta(qs1) 24 text 23 ready 22 reset 21 8086 8086 pa3 1 pa2 2 pa1 3 pa0 4 rd 5 cs 6 gnd 7 a1 8 a0 9 pc7 10 pc6 11 pc5 12 pc4 13 pc3 14 pc2 15 pc1 16 pc0 17 pb0 18 pb1 19 pb2 20 pb3 40 pb4 39 pb5 38 pb6 37 pb7 36 vcc 35 d7 34 d6 33 d5 32 d4 31 d3 30 d2 29 d1 28 d0 27 reset 26 wr 25 pa7 24 pa6 23 pa5 22 pa4 21 8255a 8255a a 1 b 2 c 3 g2a 4 g2b 5 g1 6 y7 7 gnd 8 y6 9 y5 10 y4 11 y3 12 y2 13 y1 14 y0 15 vcc 16 74ls138 74ls138 2 3 1 gnd gnd +5 in-0 in-1 in-2 in-3 in-4 in-5 in-6 in-7 ref(+) ref(-) d0 d1 d2 d3 d4 d5 d6 d7 eoc add-a add-b add-c ale oe start clock adc0809 vcc gnd 4.7k gnd vcc eoc ale 2 3 1 2 3 1 sc/ale wr rd y0 3.3k 5.6k npn buzzer vss vcc 概概 vccvcc 图 7 实验原理:在试验箱上按上图电路连接后,在计算机上用微机 8086 系统模拟运行后, 旋转 ad 转换器的旋钮,从左往右,当数码显示管上的数字过小(00)或过大(ff)的时候 led 亮红灯并启动音频单元,当数字在中间时,led 等亮绿灯,表示正常。 17 第五章第五章 设计总结设计总结及心得体会及心得体会 整个设计报告共分为五章,其中第一章主要讲述了本设计的主要方案和国内外发展状况; 第二章讲述了水位报警计的硬件设计,第三章主要讲述了水位报警计的所有软件设计与编程。 水位报警计的设计首先应该从选用传感器的类型入手,可以说,水位传感器的选材是整 个设计中比较重要的,在查阅资料时,可以知道水位报警计的传感器有很多种,到底选用哪 一种最适合对本设计报警水位,这就需要认真的分析,从水位传感器类别的选择到传感器类 型的选择,都要仔细。最终在本设计中选择了 jby 系列 l 形普通投入式液位变送器作为本设 计所使用的液位传感器。 通过查阅资料了解当前行业前沿的水位报警技术及产品发展状况。培养自己将所学的知 识与现实相联系的能力。对水位报警计研究,有利于满足人们日益增长的物质需求,通过将 科学技术应用到水位控制上从而使得人们真正体会到科技的发展给自己的现实生活所带来的 方便和舒适。 其次在硬件设计方面也需要下大工夫,从 a/d 转换器到报警电路的选型都要慎重,使其 性价比达到最佳水平。 最后就是软件方面的设计,对于编程是非常复杂的,对于结构化程序设计的方法有顺序 结构程序、分支结构程序和循环结构程序等。本设计采用模块化设计,然后进行调用子程序, 使其运行方式一目了然,应用到了分支结构程序,使编程井井有条。在编程的时候还有一点 就是要先画出程序流程图,这样在编程的时候就会事半功倍。经历了两周的课程设计,在这 短暂的时间里,它不仅仅使我学到了宝贵的专业知识,更重要的是它使我学到了怎样去独立 思考问题,解决问题,大大提高了我自己的动手能力和操作能力,为我今后的工作奠定坚实 的基础。 这次的设计的课题为水位报警计的设计,它不仅是必须完成的课目,其真正的目的 是我对整个课程的学习情况做一个总结,检验我对微机原理这门课程知识的掌握程度 在这次设计中,我特别感谢老师的帮助和各位同学支持与帮助使我能及时发现及改正设 计中的错误与不足。 在这次编写设计报告中,由于时间的紧促和编写者的专业知识的有限,再加上我们缺少实践经验, 对使得所写的论文的有很大的局限性,而且报告中难免有不妥之处,所以我恳请各位指导老师能够给予 批评指正。 18 附录附录 3.3 a/d8089 转换子程序转换子程序 把传感器测得的数据输入进入 ad 转换器,把模拟信号转换为数字信号 ;- a/d 转换- code segment assume cs:code,ds:code,es:code org 3390h ad: jmp start zxk equ 0ffdch zwk equ 0ffddh led db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h db 88h,83h,0c6h,0a1h,86h,8eh,0ffh,0ch,0deh,0f3h buf db ?,?,?,?,?,? adport equ 0ffe0h start: mov buf,00h ;display 0809 00 mov buf+1,08h mov buf+2,00h mov buf+3,09h ;display 0809 00 mov buf+4,00h mov buf+5,00h p5: mov al,00h ;in0 mov dx,adport out dx,al call dis mov dx,adport in al,dx mov dx,0ffe4h ;new add 138 y1 not al ;new add out dx,al ;new add 19 not al ;new add call ads jmp p5 ads: mov ah,al and al,0fh mov buf+5,al and ah,0f0h mov cl,4 shr ah,cl mov buf+4,ah ret ;- dis: mov cl,20h mov bx,offset buf dis1: mov al,bx push bx mov bx,offset led xlat pop bx mov dx,zxk out dx,al mov al,cl mov dx,zwk out dx,al push cx mov cx,0100h delay: loop $ pop cx cmp cl,01h jz exit inc bx 20 shr cl,1 jmp dis1 exit: mov al,00h mov dx,zwk out dx,al ret - code ends end ad 3.4 报警子程序报警子程序 当水位过低或者过高的时候进行报警,应对水位进行控制,使得其水位一直处于一个正 常的水平。 ;-报警子程序- code segment assume cs:code,ds:code org 3490h start: mov dx,0ffdbh mov al,88h o

温馨提示

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

评论

0/150

提交评论