微机原理课程设计温度采集系统

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

一.内容摘要(一)、实验目的:通过设计一个数据采集系统,加深了对微机工作原理的理解,经过初步的应用设计,使书本知识转化成实践能力。由此得到以下目的:1.熟悉微机系统的硬件设计方法;2.掌握I/O的扩展方法;3.熟悉模拟电路的一般设计方法;4.掌握A/D芯片的性能和应用;5.熟悉8088汇编语言的编程方法;6.初步掌握汇编语言程序的调试;7.应用Protel99画出电路图。(二).设计内容:以8088CPU系统为核心设计一个温度采集系统并在三位LED显示器上显示当前温度。(三).设计要求:1.画出原理图;2.说明工作原理;3.编写程序;(四).工作原理1.设计框图2.芯片清单及器件CPU8088ADC0809接口芯片8255温度传感器AD59074LS138译码器74LS273段码锁存器DM7407N8282锁存器晶振运算放大器数码管三个电容电阻若干。3.部分器件功能说明(1)温度传感器温度是最普通最基本的物理量,用电测法测量温度时,首先要通过温度传感器将温度转换成电量,温度传感器有好多种方式,这里选择AD590,它是一种半导体感受式的,由测温电阻、二极管和集成电路器件组成。AD590是一种单片集成的两端式温度敏感电流源,它有金属壳,小型的扁平封装芯片和不锈钢等几种封装形式,实验平台利用IC温度传感器AD590作为测温器,AD590是一种精度和线性度较好的双端集成温度传感器,其输出电流与绝对温度有关,对于电源电压从5-10V变化只引起1A最大电流的变化或1摄氏度等效误差。上图给出了用于获得正比于绝对温度的输出电流的基本温度敏感电路,当温度有10℃的变化时输出电压变化为20mV,即该电路M点电压随温度变化为2mV/℃。将温度传感器输出的小信号跟随放大19.2倍左右后,送至8位A/D转换器转换成数字量。(2).A/D转换模数转换采用ADC0809,它是芯片输出端具有可控的三态门,这种芯片的输出端可以直接和系统总线相连,由读信号控制三态门,转换结束后,CPU执行一条输入指令,从而产生读信号,将数据从A/D转换器取出。ADC0809是典型的8位8通道逐次逼近式A/D转换器,CMOS工艺,可实现8路模拟信号的分时采集,片内有8路模拟选通开关,以及相应的通道地址锁存译码电路,其转换时间为100µs左右。ADC0809内部结构如图所示,图中多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用一个A/D转换,地址锁存与译码电路完成对A、B、C3个地址位进行锁存和译码,其译码输出用于通道选择。8位A/D转换器是逐次逼近式,由控制与时序电路、逐次逼近寄存器、树状开关以及256R电阻阶梯网络等组成。输出器用于存放和输出转换得到的数字量。下面具体说一下A/D转换的原理。因为所选的AD0809所转换的电压范围不大,这样一来,当所采集的温度是0℃时,所转换的电压量是0V,通过A/D转换后所对应的数字量是00000000。当采集的温度是255℃时,所转换的电压量是10V,通过A/D转换后所对应的数字量是11111111。这样看来,从A/D输出的数字量和显示的温度是一一对应的。假如数字量是00000011时,通过8255A编程就可在显示器上显示3℃。(3).8255并行接口A/D转换与8255A当温度通过AD590后,连续的物理量转换为连续的电压量,电压信号输入到8路模拟量开关地址锁存与译码8位A/D转换器三态输出锁存器STARTCLKEOCVccGNDABCALEVrefVref(+)(-)IN0︱︱IN7D0︱︱D7八路模拟量输入八路模拟量输出A/D的模拟信号输入端。当工作时,CPU用输出指令将PC0置零,使B/C端得到一个低电平从而启动转换。此后用输入指令不断读端口PC4~PC7测试并判断PC4是否为零。如果PC4为零则说明完成一次A/D转换。此时在CPU的读周期作用下它向8255A发出一个读信号。之后便从A端口读数据;在写周期的作用下CPU向8255A发出写信号,此后数据就会从B端口输出。B端口连接着LED,它们在PC3~PC1的控制下显示当前温度。8255A方式0的工作特点:方式0也叫基本输入输出方式。在这种方式下,端口A和端口B可以通过方式选择字规定为输入口或者输出口,端口C分为两个4位端口,高4位一个端口,低4位一个端口。这两个四位端口也可由方式选择字规定为输入口或输出口。方式0的使用场合有两种,一种是同步传送,另一种是查询式传送。这里采用查询方式。查询式传输时,需要有应答信号。但是,在方式0情况下,没有规定固定的应答信号,所以,这时将端口A和端口B作为数据端口,把端口C的4个数位(高4或低4均可)一些控制信号,而把端口C的另外4个数位规定为输入口,用来读入外设的状态。这样,就利用端口C配合了端口A和端口B的输入输出操作。(4).8282地址锁存器当系统中所连的存储器和外设较多时,需要增加数据总线的驱动能力,这时,要用2片8286/8287作为总线收发器。8282的选通信号输入端STB和CPU的ALE端相连。以第一个锁存器为例,8282的DI7到DI0的输出DO7到DO0就是系统地址总线的低7位。OE非为输出允许信号,当OE非为0时,8282的输出信号DO7到DO0有效;OE非为1时,DO7到DO0变为高阻抗。在不带DMA控制器的8086/8088单处理系统中,将OE非接地就行了。(5).8284时钟信号发生器8284和CPU连接除了提供频率恒定的时钟信号外,还对准备好信号和复位信号进行同步。(6)LED由于输出的电压量范围是0~5V即转换为数字量后为0~FF之间。所以,要使温度表示范围为0~85℃,需把0~FF除以3。经过CPU未经处理过的数值是以ASCII码的方式显示在电脑屏幕上的,还需将ASCII码转换成十进制显示。为了便于读数。在LED灯上的显示将设计为8421码的方式显示。转换方法在程序中有所注明。(五).流程图(见下页)(六).程序PORTAEQU020H;定义端口地址PORTBEQU021HPORTCEQU022HPORTDEQU023HDATASEGMENTTABLEDB40HDB4FHDB24HDB30HDB19HDB12HDB02HDB78HDB00HDB10HBUFDA1DB?BUFDA2DB?BUFDA3DB?DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVAL,98HOUTPORTD,AL;8255的初始化;*****************************MOVAL,01OUTPORTC,ALMOVAL,00OUTPORTC,AL;PC0为0,启动A/D转换FIND:INAL,PORTCTESTAL,010HJNZFIND;读PC4的值,如为1则继续查询MOVAL,01OUTPORTC,AL;使PC0为1,撤消启动信号INAL,PORTA;读取转换数据;******************************MOVCL,100;计算百位,十位,个位DIVCLMOVBUFDA1,ALXORAL,ALMOVCL,10MOVBL,AHMOVAL,BLMOVAH,0DIVCLMOVBUFDA2,ALMOVBUFDA3,AH;******************************DISPLAY:MOVBX,OFFSETTABLEMOVAL,[DI+0]XLAT;换码MOVDX,PORTBOUTDX,ALMOVCX,30H;延迟程序DELAY:LOOPDELAYRET;**********************************MOVCX,30HDISPLAY1:MOVAL,06HOUTPORTD,ALMOVAL,05HOUTPORTD,ALMOVAL,03HOUTPORTD,ALMOVDI,OFFSETBUFDA1CALLDISPLAY;使LED0工作MOVAL,07HOUTPORTD,ALMOVAL,04HOUTPORTD,ALMOVAL,03HOUTPORTD,ALMOVDI,OFFSETBUFDA2CALLDISPLAY;使LED1工作MOVAL,07HOUTPORTD,ALMOVAL,05HOUTPORTD,ALMOVAL,02HOUTPORTD,ALMOVDI,OFFSETBUFDA3CALLDISPLAY;使LED2工作LOOPDISPLAY1;延迟;***********************************MOVAH,4CHINT21HCODEENDSENDSTART八.参考文献:电子技术常用器件应用手册,第二版,陈汝全主编,机械工业出版社,2001年7月微型计算机技术及应用,第三版,戴梅萼、史嘉权编著,清华大学出版社,2003年11月IBM-PC汇编语言程序设计,沈美明、温冬婵编著,清华大学出版社,1998年8月结束语经过近二周的设计,在老师的指导下本组人顺利完成了课程设计,通过这次设计使我们受益匪浅。本设计中包括了模拟电路、数字电子技术、计算机接口技术等多领域知识这次设计是对大学三年知识系统化、深层次化。通过这次设计学会了分析问题、处理问题的方法,可以说达到了举一反三的目的。为以后工作、学习都打下了比较坚实的基础。在此次设计过程中,老师给予了我们精心的辅导和指点,帮助我解决许多难点,疑点,使我对理论知识与实践知识达到有机了结合。在此我们要向老师表示最衷心的感谢!另外,同学的支持和帮助,谨在此一并感谢!

1 / 9
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功