基于8086的温度采集系统软硬件设计_第1页
基于8086的温度采集系统软硬件设计_第2页
基于8086的温度采集系统软硬件设计_第3页
基于8086的温度采集系统软硬件设计_第4页
基于8086的温度采集系统软硬件设计_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

1、目 录第一章 温度采集系统软硬件设计任务31.1 设计内容及要求31.2 课程设计的要求3第二章 总体设计方案42.1 设计思想4 2.2 总体设框图4第三章 硬件设计5 3.1 硬件设计概要53.1.1 8088主控模块5 3.1.2 并行接口模块63.1.3 a/d转换模块9 3.1.4 显示模块103.3 硬件电路设计系统原理图11第四章 软件设计124.1 程序流程图124.2 源程序及其说明14第五章 收获、体会17参考文献18 第一章 温度采集系统软硬件设计1.1实验目的为了实现计算机对生产过程及对象的控制,需要将对象的各种测量参数按照要求转换成数字信号送入计算机。经计算机运算处理

2、后再再转换成适合于对生产过程进行控制的量。所以在危机和生产过程之间,必须设置信息的变换和传递通道。而我们所做的模拟输入通道,主要功能就是随时间变化的模拟输入信号变成数字信号送入计算机,主要由ad590温度传感器,8088cpu,8255a, a/d转换器和led显示器等组成。本实验通过设计一个微机控制的温度采集系统,旨在使学生能做到以下几点:1了解微机控制的温度采集系统软硬件设计原理和方法。2进一步掌握并行接口芯片和模数转换的工作原理与使用方法。1.2实验设备l8088系列微机一台 2微机硬件实验平台。 3定时/计数器、并行接口芯片 4. adc0809 5. 8255并口控制器1.3实验内容

3、及要求以8088 cpu 为核心设计一个温度采集系统,系统可以实现一路温度的采集,在3位led显示器上显示当前温度。本设计所用器件主要有传感器,a/d转换器,8088cpu,可编程并行接口8255,led显示器等。首先传感器把所测的温度转换为电压,输入a/d转换器中进行转换,然后再把得到的二进制数经过cpu在led上显示出来。本设计共分以下几个模块:8088主控模块、a/d转换模块、并行接口模块、显示模块。1.4 模块分工 黄少潇负责主控8088模块,裴旭负责并行接口模块,郭福负责a/d转换模块,赵大庆负责显示模块。第二章 总体设计方案2.1 设计思想 在许多传统行业中,多路高温度采集系统是不

4、可或缺的。电厂,石化行业及制药厂等企业生产过程中,普遍存在着需要进行温度测量的场合。因为温度是生产过程和科学实验中普遍且重要的物理参数。在工业生产中,为了高效生产,必须对生产过程的主要参数,如温度,压力,速度等进行有效的检测并控制。其中温度检测在生产过程中占有相当大的比例。 而我们所做的课题正是以8088cpu为核心设计一个温度巡回监测系统(a/d采用adc0809).系统可实现温度信号的采集,在3位led显示器上显示当前的温度。经标度变换后送led显示器显示,只进行一路采集。 该系统主要用于温度检测,并在led上显示当前的温度值。当温度信号改变时,led显示的值也随之改变。2.2 原理框图温

5、度传感器led显示 8088控制器并行接口8255adc0809图 2.2 原理框图第三章 硬件设计3.1 硬件设计概要系统的主要功能是实现温度信号的采集,在3位led显示器上显示当前的温度。模拟现场一个点的温度巡回检测,温度范围0-51摄氏度。3.1.1 8088主控模块(1)8088的功能简介: intel8088cpu准是16位微处理器,它仍旧是属于16位微处理器,内含29000个晶体管,时钟频率为4.77mhz,地址总线为20位,可使用1mb内存。8088内部数据总线都是16位,外部数据总线是8位,而它的兄弟8086是16位。8088为40条引线、双列直插式封装。它们的40条引线排列。

6、8088有最小组态(单微处理器组成的小系统)和最大组态(多处理器系统)两种工作模式,大部分引脚在两种组态下功能是一样的,只有8根引脚的名称及功能不同(24脚31脚)。(2)原理图设计图 3.1.1 8088电路原理图 (3)8088管脚连接介绍 1. d0d7数据线连接8255a接口芯片的pa0pa7口;2. a0,a1地址线连接8255a地址线a0,a1;3. a2a19通过逻辑器和8255a的cs连接; 4. ior,iow连接8255a的wr,rd; 5. reset连接8255a的reset; 6. clk接为标准的4.77mhz; 7. 8088为最小模式下。3.1.2 并行接口模块

7、(1)8255a的功能简介1. 8255a内部结构8255a芯片是一个采用nmos工艺制造的40引脚双列直插式(dip)封装组件。8255a有3个8位数据端口,即a口、b口及c口,它们都可以分别作为输入口或输出口使用;a组控制与b组控制;读写控制逻辑;数据总路线缓冲器。2. 8255a主要的外部引脚图3.1.2a8255a引脚图pa7pa0:a口的8条io线。8条线只能同时作为输入或输出,不能分开使用,可设置成双向口,也只有a口允许这样做。pb7pb0:b口的8条io线。不可以设置成双向口,其它和a口一样。pc7pc0:c口的8条io线。不可以设置成双向口,但它可以分拆为两组即高4位和低4位,

8、这两组可以任意设置为输入或输出。除了作为独立的io线外,c口还经常为a口、b口服务,配合a口、b口作联络线使用。a1、a0:端口地址选择信号。用于选择8255a的3个数据端口和一个控制口。当a1a0=00时,选择端口a;为01时,选择端口b;为10,选择端口c;为11时,选择控制口。3. 8255a工作方式方式0:基本的输入输出方式。a口、b口、c口都可以工作在些方式下。方式1:选通输入输出方式(应答方式)。a口、b口工作在此方式下。方式2:双向传输方式。只有a口可以工作在此方式下。4. 8255a方式控制字格式d7d6、d5d4d3d2d1d01a口a口c口高4位b口b口c口低4位00 方式

9、001 方式11x 方式20 输出1 输入0 输出1 输入0方式01方式10 输出1 输入0 输出1 输入 表 1(2)原理图设计图 3.1.2 b 8255a系统原理图(3)8255a管脚连接介绍8255a的d0d7接8088的d0d7;a口pa0pa7接三片八段led显示器; b口接adc0809的八个数据口。c口的pc0pc2作为三片led的片选。c口的pc5pc7和adc0809的ale start、enable、eoc相连。当eoc为高电平时表示转换完成,cpu可以从数据口读数据。cpu通过8255a给start一个正脉冲,是adc0809开始工作。protel原理图中用网络标号连接

10、。(4)8255a的各个口地址 图 3.1.2c 8255a地址由原理图图 3.1.1,图 3.1.2 b和图 3.1.2c可知: 8255a的pa口地址为:0000h;pb口地址为:0001h;pc口地址为:0002h;控制口地址为:0003h。3.1.3 a/d转换模块(1) adc0809的功能简介adc0809是美国国家半导体公司生产的cmos工艺8通道,8位逐次逼近式a/d转换器。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行a/d转换。首先输入3位地址,并使ale=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器

11、。start上升沿将逐次逼近寄存器复位。下降沿启动 a/d转换,之后eoc输出信号变低,指示转换正在进行。直到a/d转换完成,eoc变为高电平,指示a/d转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当oe输入高电平 时,输出三态门打开,转换结果的数字量输出到数据总线上。(2)原理图设计图 3.1.3 adc0809与系统连接原理图(3)adc管脚连接介绍in0连接传感器,为模拟信号输入端。add-a,add-b,add-c全部接地,表示选中模拟信号输入端in0。eoc接8255a的pc7,当eoc为高电平时表示转换完成,cpu可以从数据口读数据。(4) ad590传感器电路 图3.

12、1.4 ad590传感器连接电路此电路可以将温度传感器输出的电流值,经过调整可以得到100mv/。3.1.4 显示模块(1)8段led管脚原理图(2)8段led与8255a的连接led的ah分别与8255a的pa0pa7相连。采用共阴极连接方法。用8255a的pc0、pc1、pc2分别控制3片led的选通。3.2 总硬件设计图 图 3.2 系统总原理图第四章 软件设计4.1 程序流程图 程序的主要功能是负责温度的转化,读出处理并实现在led上实时显示。 (1) 总流程图 数据采集采集成功?量化编码转化为非压缩bcd码显示led结束yn (2) 数据采集程序流程图 启动转换读入eoc值eoc=1

13、?n y转换完成读入量化信号恢复初始化(3)温度显示程序流程图 取操作数码型转换 位选led取led对应段码led段码输出延时4.2 源程序与相应注解data segment buf1 db ?buf2 db ?buf3 db ?buf4 db ?led db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fhdata endscode segment assume cs:code ds:datainit_8255 proc near ;初始化8255 mov dx,0003h mov al,8ah out dx,al retinit_8255 endpstart:

14、 mov ax,seg data mov ds,ax mov si,offset data lea di,buf1 lea si,led call init_8255again: mov dx,0002h mov al,08h out dx,al mov al,00h out dx,al nop mov dx,0002hcaiji :in al,dx test al,80h jz caiji mov dx,0001h in al, dx ;从b口读入adc0809的8位二进制数 and ax,00ffh mov bl,5 ;将8位二进制数转换位模拟量,即电压 div bl imul bl ;

15、将模拟电压转换成相应温度,al中放的是商,ah放的是余数 mov buf1,ah ;将余数放入buf1中 mov buf2 ah add buf1,buf2 ;生成温度的小数位 and ax,00ffh div ax ,0ah ;此时al中放的是商,即十位,ah中放的是余数,即个位数 mov buf3,al mov buf4,ah l1: lea si ,led add si,buf3 ;找到高位相应led段码mov dx,0002h mov al,01h ;选通pc0口使第一个led显示高位段码out dx,almov dx,0000h; mov al,siout dx,al ;显示相应的段

16、码call delayl2: lea si, led ;让si回到首地址add si,buf4 ;找到个位相应led段码 mov dx,0002hmov al,02hout dx,almov dx,0000h ;显示相应的段码mov al,siadd al,80h ;驱动个位和小数点out dx,alcall delayl3: lea si, led ;让si回到首地址 add si,buf1mov dx,0002h mov al,04h out dx,al mov dx,0000h mov al,si out dx,al call delayl4: jmp caiji ;循环检测温度 exi

17、t:mov ah,4ch int 21hdelay proc near mov cx,1000delay1:loop delay1 repcode endsend start 第五章 收获、体会通过本次课程设计掌握了微机系统的开发步骤,可编程并行接口接口芯片8255a,adc0809和led的用法,掌握了汇编,程序的设计。本次设计需要熟练掌握汇编语言,熟悉可编程并行接口接口芯片8255a,adc0809,内部结构、外部引脚和功能,熟悉led显示器的结构及译码方式。在编程方面,由于刚刚接触汇编语言,对汇编语言的逻辑算法的指令不是非常熟悉,所以在编程当中遇到很大的困难。比如在从adc0809中获取的操作数,转换成相应的温度值。这里需要很巧的逻辑运算,而汇编语言不像c语言那样可以直接将表达式写入便可直接计算,汇编里的除法还需考虑余数,进位等问题。经过我们的讨论和验证,最

温馨提示

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

评论

0/150

提交评论