




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
微机原理综合性实验报告微机原理系列实验 综合设计实验报告目录目录2摘要 3第一部分 设计目的及要求3一、实验目的3二、实验总体要求3二、硬件概括4二、软件编制4第二部分 方案设计与分析4一、温度数据采集5二、模拟放大6三、A/D转换6四、延时等待8五、数制转换10第三部分 硬件连接图12一、硬件框图12二、硬件引脚图13第四部分 程序流程框图、清单14一、软件流程图14二、程序清单16第五部分 实验数据分析19第六部分 实验过程总结18第七部分 参考资料及感谢21摘 要本次设计实现的功能为:通过温度传感器AD590采集温度,然后将收集到的温度转换为电流,并通过模拟电路将电流转化为电压信号,通过运算放大器电路将电压放大输入到ADC0809芯片的IN输入口,并通过PC机的程序控制采集电压信号将其通过ADC0809芯片转化为数字信号,然后将数字信号输入到8255芯片的输入口,并将数字信号转化为十进制实际温度后显示在PC机屏幕上。同时将此十进制信号通过74LS245以八个LED显示。第一部分 设计目的与要求一、 实验目的:微机原理实验是微机原理及应用课程的单列系列实验,按照实验大纲,此设计实验让学生设计一个简单的数据采集系统,通过训练使学生加深对微机工作原理的理解,通过初步的应用设计,是书本知识转化为为学生的实践能力。通过设计、分析与调试,总体达到一下目的:1、 熟悉微机系统的硬件设计方法2、 掌握I/O的扩展方法3、 熟悉模拟电路的一般设计方法4、 掌握A/D芯片的性能和应用5、 进一步熟悉8086汇编语言的编程方法和技巧6、 掌握微机系统DOS功能调用的使用方法7、 掌握汇编语言程序调试的全过程二、 实验总体要求 通过现有的ADEK-PC实验系统上若干独立模块,组成一个多路温度信号(085)的数据测量采集系统。温度传感器AD590的分辨率为1Ua/k。A/D转换器的数据分辨率8bit,将采集的数字量显示在PC机的CRT屏幕上,同时用8个LED发光二极管的状态表示数字量的大小。三、 硬件设计概要 围绕总体要求,首先合理选择现成的硬件模块资源,其中包括ADC0809芯片、8255芯片以及74LS245(LED),译码等功能模块,其次选择AD590(测温IC传感器),运算放大器等模拟电路。对这些芯片的性能和使用方法要有足够的了解,再次基础上画出原理图。 四、 软件编制要求 (1)、按8086汇编语言程序规格格式进行编制源程序;(2)、8255扩展口工作在基本输入输出方式;(3)、对0809的EOC引脚可采用查询方式,以便读取转换结果;(4)、将其中一路采集数据送到LED发光二极管上进行显示;(5)、将二路或多路采取数据送到CRT上显示(二进制、十六进制、十进制均可)第二部分 方案设计说明与分析设计前,先联系实验教程与实验指导书对实验所涉及的芯片及实验要求做一个总体的了解,对实验硬件图做定性分析,硬件图上各个芯片的连线。然后结合硬件进行大概的软件编程,然后在微机上进行逐步调制。本实验涉及到温度采集系统,实现电流电压转换以及电压放大的模拟电路,模数转换系统,数据的转换与输出。一、 温度数据采集温度数据采集主要通过集成恒流型的测温器件AD590,将采集到的温度转化为电流信号,然后通过模拟电路将电流信号转化为电压信号。AD590介绍以及特性参数如下: AD590是集成恒流型的测温器件,这类器件主要用于精确测温。它们具有测温误差小,动态电阻高,响应速度快,微功耗,传输距离远,体积小等优点。适合远距离测温和控温,不需要进行非线性型校正。 AD590是美国HARRIS公司生产的采用激光修正的精密集成温度传感器。AD590有三种封装形式:TO52封装,陶瓷封装(测温范围50150),TO90封装(测温范围为070)。采用TO-52封装的AD590产品的主要技术指标如下表所示。该器件的外形与小功率晶体管相仿,共有三个管脚:1正极,2负极,3接管壳。使用时将管壳接地,可起到屏蔽作用。AD590M的测温范围均为50150,最大非线性误差0.3,响应时间仅20us,重复性误差低至0.05,功耗约为2mw。AD590系列产品主要性能技术指标如下:型号AD590IAD590JAD590KAD590LAD590M单位最大非线性误差0.31.50.80.40.3最大标定误差(25)10.05.02.50.10.5额定温度系数1.0Ua/K额定输出电流298.2(25)uA长期温度漂移0.1/月响应时间20us壳与管脚的绝缘10G等效并联电容100pF工作电压范围V二、 模拟放大电路 模拟放大电路电路图如图一。图中AD590测温器件AD590,输出的是电流信号,经过一个电阻R1后电流信号转换为电压信号,第一个运放是电压跟随器,将电压Vi传递到第二个运放,即VO1=Vi,。第二个运放主要起放大电压信号作用,通过调整两个可变电阻的阻值可以调节运放输出的电压,电容主要用于稳定输出电压波形,而稳压管主要用于稳定输入电压使运放输出电压不高于5.6V保证ADC0809芯片的安全正常工作。 AD590的分辨率为1uA/k,当采集温度为0时,AD590输出的电流为273uA,则经过电阻R1将其转化为电压IR1,经过第一个运放将电压传递到第二个电压,欲保证最后输出的电压为0V,则通过变阻器P2调节Vi2处的电压为0V,这样P2被固定下来;当温度为85时,欲保证输出为5V,通过调节变阻器P1。第一个运放的增益为1,第二个运放的增益为VO/V3=(R5+P1+R3)/R3。 图一: 模拟放大电路三、 A/D转换 当用计算机构成数据采集系统时,所要采集的外部信号是连续变化的模拟量。但是计算机只能处理不连续的数字量。因此必须用模数转换器即A/D转换器A/D转换电路主要使用的是ADC0809芯片进行转换,它是8位逐次逼近式转换器。转换电路图如图二,其中IN0-7口全部接放大电路中U3运放的输出口6,在0809开始工作后,运放的模拟量将传入0809的IN口并经过0809的转化成为数字量从D0-7端输出。CPU通过查询PC7的状态,当EOC为高电平时说明转换结束了,由于EOC与输出使能端相连,转换结束时OE也变高,使ADC的输出缓冲器打开,数据出现在A口上,可由IN指令读入CPU。图二: A/D转换硬件电路 ADC0809芯片简介如下:A/D 转换器大致有三类:一是双积分A/D 转换器,优点是精度高,抗干扰性好,价格便宜,但速度慢;二是逐次逼近法A/D转换器,精度,速度,价格适中;三是并行A/D转换器,速度快,价格也昂贵。ADC0809属于第二类,是八位A/D转换器,每采集一次一般需要100us。转换结束后自动产生EOC信号,将其与8255的PB7口连接,就可供CPU查询了。0809主要引脚功能:IN0IN7 八通道模拟量输入端;D0D7 结果数据输出端;START 启动转换命令输入端,加高电平即开始转换;EOC 转换结束指示脚,平时为高电平,转换时变为低电平,转换完成返回高电平。OE 输出使能端,加高电平打开输出缓冲器三态门,读出数据。C/B/A 通道号选择输入端,CBA编码000111对应IN0IN7。ALE 通道号锁存控制端。高电平时CBA输入引脚上通道号选择码锁定,通常在使用时将其与START和ALE连在一起,可以在启动时自动锁定通道号。CLK 0809需要外接时,可从此接入。REF(+),REF(-) 参考电压输入脚,在通常状况下将REF(-)接模拟地,参考电压从REF(+)引出。当RET(+)=5V时,输入范围为05V。ADC0809的工作过程1、选择当前转换的通道,通过I/O地址由IOW读入数据则通过与非门START端产生脉冲跳变,即0809启动。执行OUT指令启动各通道转换时将包括在端口地址中的通道号送给ADC0809。3、启动后,通过查询EOC端值确定转换是否结束。EOC变低,经过64个时钟周期后,转换结束,EOC变高。4、转换结束后,可通过执行IN指令,设法在OE脚上形成一个高电平脉冲,打开输出缓冲器的三态门,让转换后的数字量出现在数据总线上,并被读入累加器中。四、 延时等待中断延时主要通过软件控制来实现,其中可以通过检测0809的EOC端口的电平高低来判断是否转换完成,如果EOC出现高电平表示转换完成则可以进行数制转换和数据输出显示工作,如出现低电平表示转换未完成则需继续进行延迟等待。延时程序:DELAY: MOV BX,200H LL:MOV CX,0FFFFH L:LOOP L DEC BX JNZ LL 延时时间为200H0FFFFH个指令周期。五、 8255芯片将0809芯片的EOC端接入 另外在此处8255芯片与数据总线相连,将PC机转换好的十进制数据从D0D7输入然后从PA0PA7输出显示在LED上,起到数据传输的功能。在此实验中,先将8255初始化,将D7D0分别置为10001001设置PC口为输入端,PA以及PB口为输出端,且使A、B口工作在方式0状态,8255芯片简介如下:8255芯片主要部分和有关引脚的功能:1、数据端口A、B、C:三个端口均为8位数据输入输出端口,可通过24根输入输出线与外设进行数据交换或通信联络。在结构和功能上三者可以作为缓冲器,但是只有A端可以作为输出输入数据锁存器,C端无锁存功能但是被分为四位端口时每个端口有一个四位输出锁存器,而B端只能作为数据输入缓冲器。2、数据总线缓冲器:此缓冲器通过D0D7接受CPU送来的数据或控制字。 图三: 8255芯片引脚图 3、读/写控制逻辑:RESET复位信号,高电平有效,有效时将8255控制寄存器内容清零同时将所有的端口都置为输入方式。 片选信号,低电平有效。有效时芯片才可正常工作。 读信号,低电平有效。 写信号,低电平有效。A0A1端口选择新靠。00选中A口;01选中B口;10选中C口;11选中控制字寄存器端口。4、8255A控制字(如图四)此次实验中8255工作在方式0(基本输入输出方式)。这种方式下,AB口可作为8位端口,C口高四位和低四位可作为两个4位的端口。此次只使用了C口作为输入端,A作为输出端。实验中,8255的PA0端,PB0端,PC0端,D0端所对应的地址分别为218H,219H,21AH,21BH。如想实现上述工作状态,只需要在开始启动时对8255进行初始化,即将21BH数据所对用的内存单元置为89H即可。对应D0D7的数据为10001001。此时即可实现工作方式0.1=输入0=输出00=方式001=方式11x=方式2B口I/OB口方式C口高四位I/OA口I/OA口方式D7=1 标志位77C口低四位I/OD7D6D1D5D0D4D2D31=输入0=输出1=输入0=输出0=方式01=方式11=输入0=输出图四:8255A控制字列表六、 数制转换数制转换部分主要是通过软件实现的,转换过程中注意的几个事项为:1、 因为AD590所能测量的最高温度为85摄氏度,而在0809端对应的输出数字量却为FFH,如将此FFH直接转换为十进制输出显示,则得到的将不是实际的温度值,因此需要对得到的数字量进行调整,使之最终为实际温度值。不难发现,85对应的十六进制数为55H,恰好是FFH的三分之一,因此我们只要将得到的数字量除以三,得到的便是所要的实际数值。为了更加的精确可以进行四舍五入得到一个更加贴近的值,这只需要判断除运算后的余数,若为1则舍去,若为2则将得到的实际数值加一即可。2、 将得到的实际数值进行十六进制到十进制的转换,转换后需要将其转化为ASC码然后才能正确的输出,因为转换为十进制之后可能的数字位只可能为09期间一个,所以只需要+30H,而不需要在进行进一步的溢出判断。3、 数值转化的过程中需要注意在除法运算后得到的实际值(即商)是存储在AL中的,需要进行一定的移位保证先输出十位再输出个位。数据输出分为两部分:一部分是在PC机CRT上显示所有从0809的IN0IN7端采集到的温度信号;另一部分PC机将IN7端采集到的信号转换为十进制后通过8255输入到74LS245中,在八个LED上显示,其中LED的高四位显示十位数字,低四位显示个位数字。在外部数据显示中需要注意的是74LS245是低电平触发LED发光的,所以要在得到的十进制数的基础上进行一次取反运算在LED上得到的才是正确的温度数值(LED亮代表1,暗代表0)。图五: LED第三部分 硬件连接图一、硬件框图如下:放大器 ADC 08098255 CPU LEDAD590传感器DBBCBAB二、硬件连接图如下:在ADEK-PC实验系统主要的硬件连线如下:ADC0809:IN0IN7均连到SW1中轴;CS连接220227;EOC连接8255的PC7。8255A:CS连接21821F,PA0PA7分别连接LS245的DL1DL8。第四部分 程序流程框图、清单一、 软件流程图显示提示信息设置控制字查询是否转换完成启动A/D转换器从外设读入数据数据转换处理屏幕上显示数据8个通道数据是否都采集YRNYN程序初始化将第8路通道的转换结果在LED灯上显示程序结束返回DOS开始将商左移四位转化为十位数据转换显示子程序流程图:数据进入ALAL除以3进行数值温度转换转换值除以10将个位转化位ASC显示在屏幕上在屏幕上显示空格结束将10位转化位ASC码显示在屏幕上二、 程序清单DATA SEGMENT ;数据段定义MESS DB CHANNEL 1 2 3 4 5 6 7 8,0DH,0AH,$DATA ENDSSTACK SEGMENT PARA STACK STACK ;堆栈段定义STW DW 20 DUP(?) ;分配20个字堆栈段存储空间 TOP EQU LENGTH STWSTACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACKSTART: MOV AX,DATA MOV DS,AX MOV AX,STACK MOV SS,AX MOV AX,TOP MOV SP,AX LEA DX,MESS MOV AH,09H INT 21H MOV DX,21BH ;控制口地址 MOV AL,89H ;初始化8255,C口作输入,A口作输出 OUT DX,AL ;写入控制字 MOV CX,08H MOV DX,220H ;DX指向ADC通道0 A: PUSH CX PUSH DX ;入栈保存通道口 MOV AL,03H OUT DX,AL ;启动0809 DELAY: MOV BX,200H ;延时等待 LL:MOV CX,0FFFFH L:LOOP L DEC BX JNZ LL MOV DX,21AH NO_EOC:IN AL,DX ;读入C口内容 TEST AL,80H ;查PC7口,EOC信号 JZ NO_EOC ;PC7=0,转换未结束等待 RESULT: POP DX ;PC7=1,转换结束,DX出栈 IN AL,DX ;读入DX口数据到累加器 PUSH DX MOV AH,00H MOV BL,03H DIV BL ;AL内值除3 CMP AH,01H ;比较四舍五入 JBE TS ;余数为1转移,四舍 ADD AL,01H ;余数为2商加1,五入 TS: MOV AH,00H MOV BL,0AH DIV BL MOV BX,AX ADD AL,30H ;将十位转化为ASC码 MOV DL,AL MOV AH,02H INT 21H ;DOS功能调用显示十位 MOV AL,BH ADD AL,30H ;将十位转化为ASC码 MOV DL,AL MOV AH,02H INT 21H ;DOS功能调用显示个位 MOV DL,20H MOV AH,02H INT 21H ;DOS功能调用显示空格 POP DX INC DX ;DX指向下一通道 POP CX DEC CX CMP CX,00H JNZ A ;转换8个通道 MOV AX,BX AND AL,0FH ;AL内值高位清0 MOV CL,04H SHL AL,CL ;左移4位变成十位 AND AH,0FH ADD AL,AH NOT AL ;取反,LED低电平点亮 MOV DX,218H ;DX指向8255A口 OUT DX,AL ;AL值写入A口,点亮LED MOV AX,4C00H ;返回DOS INT 21H CODE ENDS END START第五部分 实验数据分析一、实验过程:由于时间关系不能实现AD590采集,我用的是用中心抽头模拟采集温度,将第一个中心抽头接IN0与IN7,第二个中心抽头接IN3与IN4,其他通道口采集随机数,则理论上讲IN0与IN7采集的数据一样,IN3与IN4采集的数据一样,从实验结构来看也却是如此,则证明数据采集成功。实验结果及数据分析IN0IN1IN2IN3IN4IN5IN6IN7采集温度3830363939515538测量电压2.2912.3812.3812.291计算温度38.940.540.538.9采集温度02529393934280测量电压0.0082.3832.3840.008计算温度0.1438.8138.810.14采集温度8585854748858585测量电压4.8342.4782.4784.832计算温度82.1442.1342.1382.14采集温度6659572727283066测量电压3.7161.5041.5033.714计算温度63.1725.5725.5763.17从实验数据结果来看,采集的温度与理论计算的温度比较,此次设计的采集电路在采集能力和精确度上还是比较高的。由于在采集之后采取了除3的数值转换进行过四舍五入,造成了数据上存在这一定的误差。第六部分 实验过程总结这次实验作为微机原理的综合设计实验,无论是在理论要求上还是在能力的要求上对学生来说都是很大的挑战。同时通过实验也可以对我们所学的微机只是进行巩固加深。另外通过实验也提高了我们的自学能力,比如这次实验在画电路图方面自学PROTEL,对这个软件也有了一定的认识。在此,我对此次实验进行一下个人的总结:1 在调试程序的过程中,在程序段定义时未在堆栈段中分配空间,在进行LINK操作时提示未分配空间以致结果不正确;另外,在采集通道口值时开始编制的程序是对一个通道口采集8次,在老师的指点下后发现这个问题,增加INC语句,采集完一次对通道口增1操作以达到采集8个通道口的目的;在LED灯显示数据时总是显示错误数据,在同学的指导下知道LED灯是低电平点亮,能
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农业银行2025本溪市秋招面试典型题目及参考答案
- 2025年3D打印的医疗应用
- 邮储银行2025南昌市秋招半结构化面试题库及参考答案
- 交通银行2025银川市秋招笔试创新题型专练及答案
- 邮储银行2025莆田市金融科技岗笔试题及答案
- 2025行业可持续发展路径研究
- 反担保协议正规版8篇
- 工商银行2025四平市秋招无领导模拟题角色攻略
- 班组岗位安全培训表模板课件
- 邮储银行2025鞍山市秋招群面模拟题及高分话术
- 广东工业大学年《电机学》期末试题及答案解析
- 解读《义务教育体育与健康课程标准(2022年版)》2022年体育与健康新课标专题PPT
- 2019版外研社高中英语必修三单词默写表
- 食堂合作协议范本食堂档口合作协议.doc
- 直接还原铁生产工艺
- 建筑识图题库及答案
- 《幂的运算》习题精选及答案
- 异质结TCO设备:RPD与PVD比较分析(2021年).doc
- PPT汇报评分表(共1页)
- ESD防静电培训教材.ppt
- 《春》复习课件
评论
0/150
提交评论