《微机原理应用实验任务书(共22页).doc》由会员分享,可在线阅读,更多相关《微机原理应用实验任务书(共22页).doc(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上微机原理应用实验一 循环程序设计实验1、 实验目的1. 加深对循环结构的理解。2. 掌握循环结构的程序设计方法。3. 熟练掌握调试循环程序的方法。2、 实验设备装有DOS系统和MASM5.0的微机一台或TDN86/88微机原理实验教学系统一台。3、 实验内容及步骤1. 编制程序使S=1+23+34+4+N(N+1),直到N(N+1)项大于200为止。实验流程如图1.1所示。2. 求某个数据区内负数的个数设数据区的第一单元存放区内单元数据的个数,从第二单元开始存放数据,在区内最后一个单元存放结果。为统计数据区内负数的个数,需要逐个判断区内的每一个数据,然后将所有数据中凡
2、是符号位为1的个数累加起来,即得区内所包含负数的个数。实验流程如图1.2所示。实验步骤:(1) 编制实验程序。(2) 输入程序并检查无误,经汇编、连接后装入系统。(3) E3000输入数据如下: 3000=06(数据个数) 3001=12、88、82、90、22、33。(4) G=0000:2000,运行实验程序。(5) D=3007,显示结果03。4、 思考题修改实验内容2,使其能分别求出数据区中正数、零和负数的个数。二 子程序设计实验1、 实验目的1. 学习子程序的定义和调用方法。2. 子程序、子程序的嵌套和递归子程序的结构。3. 掌握子程序的程序设计、编制及调用。2、 实验设备装有DOS
3、系统和MASM5.0的微机一台或TDN86/88微机原理实验教学系统一台。3、 实验内容及步骤1. 求无符号字节序列中的最大值和最小值设有一无符号字节序列,其存储首地址为3000H,字节数08H。利用子程序的方法编程求出该序列中的最大值和最小值。主程序流程图如图2.1所示,子程序流程图如图2.2所示。图2.1最大值和最小值主程序流程图 图2.2 最大值和最小值子程序流程图实验步骤:(1) 编写出相应的程序。(2) 输入实验程序并检查无误,经汇编、连接后装入系统。(3) E3000,输入8个字节的数据:D9 07 8B C5 EB 04 9D F9。(4) G=0000:2000,运行实验程序。
4、(5) RAX,显示结果,AX=F904,AH中为最大值,AL中为最小值。程序说明:该程序使用BH和BL暂存线现行的最大值和最小值,开始时初始化成首字节的内容,然后进入循环操作,从字节序列中逐个取出一个字节的内容与BH和BL比较,若取出的字节内容比BH的内容大或比BL的内容小,则修改之。当循环操作结束时,将BH送AH,将BL送AL。作为返回值,并回复BX原先内容。2. 求N!利用子程序的嵌套和子程序的递归调用,实现N!的运算。根据阶乘运算,有下列公式:N!=N(N-1)!=N(N-1)(N-2)!=0!=1由此我们可以想到,欲求N的阶乘,并且用以递归子程序来实现,每次递归调用时应将调用参数减1
5、,即求N-1的阶乘,并且当调用参数为0时应停止递归调用,且有0!=1的中间结果。最后将每次调用的参数相乘得到最后结果;因每次递归调用时参数都送人栈中,当N为0二程序开始返回时,应按嵌套的方式逐层取出响应的调用参数。N放在3000H一3001H单元中,N!的结果放在3010H起的单元中,N在OHFH间取数,且3000H中放低位。实验步骤:(1)依据设计思想给出程序流程图,并编出相关程序。(2)输入程序并检查无误,经汇编、连接后装入系统。(3)在0一F之间随意取一数放入3000H一3001H单元中,运行程序,验证结果。4、 思考题1 若求有符号字节型序列中的最大值和最小值,如何修改实验内容l的程序
6、?2 于程序执行完毕后要返回程序调用,它返回调用程序的什么地方,是靠什么指令、什么方法返回的?3 若N=3,请画出实验内容2的程序运行时的堆栈变化情况,并加以解释。 三 8259应用实验一、实验目的 1认识80868088系统的中断特性。 2掌握8259中断控制器的工作原理。 3掌握8259可编程中断控制器的应用编程。 4学习掌握8259级连方式的使用方法。5学习在接口实验单元上连接实验电路的方法。二、实验设备TDN8688微机原理教学实验系统一台,排线、导线若干。三、实验内容及步骤 (一)系统中的8259芯片1. 8259A可编程中断控制器介绍中断控制器8259A是Intel公司专为控制优先
7、级中断而设计开发的芯片。它将中断源优先级排队、辨别中断源并将提供中断矢量的电路集成在一个芯片中,因此在不附加任何电路的情况下,对8259A进行编程,就可以管理8级中断,并且优先模式和中断请求方式,即中断结构可以由用户编程来设定。同时,通过多片8259A的级连,能构成多达64级的矢量中断系统。8259A的内部结构和引脚如图3.1所示。8259A的编程,就是根据应用需要将初始化命令字ICWl一ICW4和操作命令字OCWl一OCW3分别写入初始化命令寄存器组和操作命令寄存器组。写初始化命令字ICW的流程如图3.2所示,ICWl一ICW4各命令字格式如表3.1所示。OCWl一OCW3各命令字格式如图3
8、.3所示。2. 系统中的8259A芯片系统中放入8259A芯片工作于单片方式,用户可扩展接成级联方式。其在系统中的如图3.4所示。图中的圈点表示此为排针形式引出脚(注:以下线路中的圈点均为排针形式引出脚,以后不再另作说明)。系统启动时,8259A被初始化,其初始化是通过系统中的初始化程序设置初始化命令字ICW来实现的。系统初始化时,规定0#和4#中断源分别提供给实时钟和与PC联机的串口通信,用户可以使用其余的中断源。在进入监控后,只有4#中断源处于开启状态,其他中断源都被屏蔽了。中断矢量地址与中断号之间的关系如表3.2所示。3. 接口实验单元中的级联实验用8259A芯片除系统中的8259A芯片
9、外,在接口实验单元中专门提供了另一片8259A芯片,以便进行8259级联实验。其线路如图3.5所示。4.接口实验单元中的R-S触发器电路(2) 实验内容1. 8259应用实验(1)按图3.7所示实验线路编写程序,使每次响应外部中断IRQ7时,显示字符“7”,中断10次后,程序退出。实验程序流程如图3.8所示。实验步骤:(1) 按图3.7所示连接实验线路。(2) 输入程序并检查无误,经汇编、连接后装入系统。(3) G=0000:2000运行程序。(注意:程序中8259中断矢量地址为绝对地址,已定义为段址CS=0000H,偏移量地址IP=2000H,装载时一定按此填入CS与IP地址。后面实验不再重
10、述)。(4) 重复按KK2微动开关,显示屏上应显示“7”来响应,直到按10次后,系统处于停机状态,按CTRL+C返回监控。 28259应用实验(2)按图3.9所示实验线路,编写程序,完成下面的要求:当无中断请求时,执行主程序,延时显示“main”,若有中断请求,则执行其中断服务程序,显示该中断号“6”或“7”;若正在执行较低级的中断服务程序,则允许比它优先级高的中断被响应(1RQ6IRQ7)。主程序在执行过程中,每显示一个“main”,空一格。实验步骤(1) 画出以上程序流程图。(2) 按图3.9所示连接实验电路。(3) 编写程序并输入,检查无误,经汇编、连接后装入系统。(4) G=0000:
11、2000,运行实验程序,则连续显示main,先后按动微动开关KKl和KK2来模拟中断请求信号,记录请求顺序及显示结果。38259级连实验本实验旨在掌握8259级连方案的硬件接线及编程。它是以系统中的8259作为主片,外接另一片8259作为从片,构成8259级连方式的中断实验线路,如图3.10所示,其中规定主片的IRQ7上连接一片从片,从片上的IRQ7接外中断申请电路(R-S单脉冲触发器),并规定从片的中断矢量编号为30H一37H,其命令寄存器组编址为00和01。实验步骤:(1) 画出以上程序的流程图。(2) 按图3.10所示连接实验线路,其中INTA连接必须在开机上电之后。(3) 编写程序并输
12、入,检查无误,经汇编、连接后装入系统。(4) G=0000:2000,运行实验程序,并通过按动KK1向从片申请中断,每按动一次KK1,显示屏上显示一个字符“7”,表明CPU响应了一次中断。4、 思考题在8259应用实验(2)中,若先按动KK2,再按动KK1(此时尚未显示“7”),显示结果会是什么并说明原因。四 8255并行接口应用实验一、实验目的 1学习并掌握8255的各种工作方式及其应用。 2学习在系统接口实验单元上构造实验电路。二、实验设备 TDN8688微机原理教学实验系统一台,排线、导线若干。3、 实验内容及步骤(一)系统中的8255芯片18255可编程并行接口芯片介绍8255可编程外
13、围接口芯片是Intel公司生产的通用并行IO接口芯片,它的内部结构及引脚如图4.1所示。8255芯片具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:方式0-基本输入绷出方式;方式1一选通输入输出方式;方式2一双向选通工作方式。8255工作方式控制字和C口按位置位复位控制字格式如图4.2所示。2. 系统中的8255芯片8255的数据线、片选信号线、读写控制线等分别与系统总线相连,其A、B、C三个端口以排针形式引出,供8255实验使用,其线路如图4.3所示,端口地址如表4.1所示。3. 接口实验单元中的开关和发光二极管电路在系统中,接口实验单元中的开关和发光二极管电路如图4
14、.4所示。(二)8255接口应用实验1. 8255接口应用实验(1)按图4.5所示实验线路编写程序,使8255端口A工作在方式0并作为输出口,端口B工作在方式0并作为输入口。用一组开关信号接入端口B,端口A输出线接至一组发光二极管上,然后通过对8255芯片编程来实现输入/输出功能。实验步骤:(1) 按图4.5所示接线。(2) 输入程序并检查无误,经汇编、连接后装入系统。(3) 运行程序,拨动开关组,观察发光二极管的显示结果。2. 8255接口应用实验(2)按图4.6所示接线,编写程序,使8255端口A工作在方式0并作为输出口,端口B工作于方式1并作为输入口,则端口C的PC2成为选通信号输入端S
15、TBB,PC0成为中断请求信号输出端INTRB。当B口数据就绪后,通过发STBB信号来请求CPU读取端口B的数据并送端口A输出显示。实验步骤:(1) 按图4.6所示连接实验线路。(2) 输入源程序并检查无误后,经汇编、连接后装入系统。(3) 运行实验程序,然后拨动开关组K0-K7,准备好后,按动拨动开关KK1,观察发光二极管组应与开关组信号对应。4、 思考题在8255接口应用实验(1)中,当拨动开关K1闭合时,D0D7顺时针显示,否则逆时针显示。请编写程序。五 8253定时/计数器应用实验1、 实验目的1熟悉8253在系统中的典型接法。2掌握8253的工作方式及应用编程。二、实验设备TDN86
16、88微机原理实验教学系统一台,排线、导线若干。3、 实验内容及步骤(1) 系统中的8253芯片 1. 8253可编程定时/计数器介绍8253可编程定时计数器是Intel公司生产的通用外围芯片之一。它有3个独立的16位计数器,计数频率范围为0MHz一2MHz。它所有的计数方式和操作方式都通过编程控制。其内部结构及引脚如图5.1所示,控制字格式如图5.2所示。8253的功能:(1)延时终端;(2)可编程频率发生器;(3)事件计数器; (4)倍频器; (5)实时时钟; (6)数字单稳; (7)复杂的电机控制器。8253的工作方式:(1)方式0:计数结束中断; (2)方式1:可编程频率发生器; (3)
17、方式2:频率发生器; (4)方式3:方波频率发生器; (5)方式4:软件触发的选通信号; (6)方式5:硬件触发的选通信号。2. 系统中的8253芯片系统中装有一片8253芯片,其线路如图5.3所示。系统中,8253的0#通道输出线与8259的0#中断请求线连接,作为实时中断信号。1#通道入口接18432MHz的信号源,输出接8251的收发时钟端,供串行通信使用,这里的1#计数器仅当作个分频器使用。2#通道以排针形式引出,开放给用户使用,系统中的8253端口地址如表5.1所示。(二)8253计数器应用实验1. 8253计数器应用实验(1)设定8253的2#通道工作方式位方式0,用于时间计数,当
18、计数值为5时,发出中断请求信号,显示“M”。其实验线路如图5.4所示。程序流程图如图5.5所示。实验步骤:(1) 按图5.4所示接线。(2) 根据流程图编写程序并输入,检查无误,经汇编、连接后装入系统。(3) 在0000:003CH单元填入IRQ7中断矢量,即0000:003C 12 20 00 00。(4) 运行程序,并按动KKI,观察是否每按6次,屏幕上显示一个“M”字符。28253定时器应用实验(2)利用8253的0#通道来定时中断(IRQ0),循环显示“0”一“9”十个数。实验步骤:(1) 按图5.6所示接线。(2) 根据图5.7所示流程图编写输入程序并输入,经汇编、连接后装入系统。(
19、3) 运行程序,显示屏上应连续逐行显示“0”一“9”十个数,直到用“RESET”复位开关来中断。(4) 修改8253的0#时间常数,再运行程序,观察显示的快慢程度。3. 电子发声实验(3)系统的OPCLK(1.1625MHz)作为音乐节拍,由表格查出每个音符对应的时间常数送给计数器2(工作在方式3:方波频率发生器),以确定音调,驱动扬声器产生音乐。实验接线图如图5.8所示。实验步骤:(1) 按图5.8所示接线,并检查无误。(2) 编写程序并输入,经汇编、连接后装入系统。(3) G=2000运行程序,即可听到扬声器发出音乐声。4、 思考题在将计数初值赋给8253后,马上就可以启动并进行定时或计数
20、吗? 六 A/D转换实验1、 实验目的1. 学习掌握模/数信号转换基本原理。2. 掌握ADC0809芯片的使用方法。2、 实验设备TDN8688微机原理教学实验系统一台,排线若干。3、 实验内容及步骤1. ADC0809芯片介绍ADC0809包括一个8位的逐次逼近型的ADC部分,并提供一个8通道的模拟多路开关和联合寻址逻辑。用它可直接输入8个单端的模拟信号,分时进行A/D转换,在多点巡回检测和过程控制等应用领域中使用非常广泛。其主要技术指标为:分辨率:8位单电源:+5V总的不可调误差:1LSB转换时间:取决于时钟频率模拟输入范围:单极性05V时钟频率范围:10kHz一1280kHzADC0809的内部结构和引脚如图6.1所示,地址信号与选中通道的关系如表6.1所示。2. 系统中的ADC0809实验单元线路实验步骤:(1) 画出程序流程图,并按图6.3实验线路接线。(2) 编写程序并输入,检查无误,运行程序。(3) 调节W电位器,显示屏上显示ADC0809:IN0 XX。(4) 用万用表测出输出电压,并记录显示屏上的相应数据。做出转换图,即VD-VA。(5) 求0809芯片的整量化误差。4、 思考题若改用EOC信号来申请中断读A/D值,程序如何设计?专心-专注-专业