微机原理及接口技术《微机原理与接口技术》实验报告姓名:学号:班级:专业:电气工程及其自动化学院:电气与信息工程学院微机原理及接口技术1目录实验一数据传送..................................2实验二算术运算..................................4实验三代码转换..................................6实验四程序的基本结构............................91、分支程序....................................92、循环程序...................................123、子程序.....................................15实验五中断实验(8259).........................18实验六并行接口实验(8255).....................24实验七定时器/计数器实验(8235)................29实验八D/A接口实验..............................34实验九A/D接口实验..............................37实验十串行通信实验.............................40微机原理及接口技术2实验一数据传送一、实验目的1.掌握与数据有关的不同寻址方式。2.继续熟悉实验操作软件的环境及使用方法。二、实验设备PC微机一台、TD-PIT+或TD-PIT++实验系统一套。三、实验内容本实验要求将数据段中的一个字符串传送到附加段中,并输出附加段中的目标字符串到屏幕上。四、实验步骤(1)运行Tdpit集成操作软件,编写实验程序。(2)编译连接无误后,进入调试环境,进行程序的调试。按F8键单步运行程序,执行完MOVDS,AX语句后,观察DS寄存器中出现的段地址。如图1-1所示可以看出DS数据段中MSR源数据串HELLO,WORLD!$。图1-1进入调试环境(3)继续单步运行程序,执行MOVES,AX语句后,可以看数据段出现的段地址,用同样的方法可以查看ES:0000的数据。数据传输还没开始进微机原理及接口技术3行,此时ES段的数据为空,如图1-1所示。继续单步运行程序如图1-2可以看出数据正在逐渐的进入ES段中。图1-2DS源数据段数据(4)直到数据传输完毕,可以看到ES数据段中目的数据串MSD已经被写入了数据串HELLO,WORLD!$。如图1-3所示。图1-3根据ES值查看附加段的数据微机原理及接口技术4实验二算术运算一、实验目的1.掌握运算类指令编程及调试方法。2.掌握运算类指令对各状态标志位的影响及测试方法。二、实验设备PC微机一台、TD-PIT+或TD-PIT++实验系统一套。三、实验内容及说明80x86指令系统提供了实现加、减、乘、除运算的基本指令,可对表2-4-1所示的数据类型进行算术运算。表2-1数据类型算术运算表二进制双精度加法运算本实验要求计算X+Y=Z,将结果Z输出到屏幕,其中X=001565A0H,Y=0021B79EH。实验利用累加器AX,先求低十六位和,并存入低址存储单元,后求高16位和,再存入高址存储单元。由于低位和可能向高位有进位,因而高位字相加语句需用ADC指令,则低位相加有进位时,CF=1,高位字相加时,同时加上CF中的1。在8086以上微机中可以直接使用32位寄存器和32位加法指令完成本实验的功能。四、实验步骤(1)运行Tdpit集成操作软件,按各实验要求编写实验程序。(2)分别对实验程序进行编译、链接。微机原理及接口技术5(3)使用运行功能运行程序,观察运行结果。(4)使用调试功能调试程序,观察在调试过程中,各运算指令执行后,各寄存器、标志位及数据区内容的变化。如图2-1所示图2-1运行后的结果图微机原理及接口技术6实验三代码转换一、实验目的掌握不同的进制数及编码相互转换的程序设计方法二、实验设备PC微机一台,TD-PIT+或TD-PIT++实验系统一套三、实验内容及说明计算机输入设备输入的信息一般是由ASCII码或BCD码表示的数据或字符,CPU一般均用二进制数进行计算或其他信息处理,处理结果的输出又必须依照外设的要求变为ASCII码、BCD码或七段显示码等。因此,在应用软件中各类数制的转换和代码的转换是必不可少的。计算机与外设间的数码对应关系如图3-1所示。数码转换关系如图3-2所示。图3-1计算机与外设间的数码对应关系微机原理及接口技术7图3-2数码转换关系ASCII码表示的十进制数转换为二进制数十进制数可以表示为:Dn×10n+Dn-1×10n-1+…+D0×100=Di×10i其中Di代表十进制数1、2、3…9、0。上式可以转换为:∑Di×10i=((…(Dn×10+Dn-1)×10)+Dn-2)×10+…+D1)×10+D0由上式可归纳十进制数转换为二进制的方法:从十进制数的最高位Dn开始作乘10加次位的操作,依次类推,则可求出二进制数结果。本实验要求将缓冲区中的一个五位十进制数00012的ASCII码转换成二进制数,并将转换结果按位显示在屏幕上。转换过程的参考流程如图3-3所示。图3-3十进制ASCII转换为二进制数参考流程四、实验步骤(1)运行Tdpit集成操作软件,按照各实验要求分别编写实验程序。(2)对实验程序进行编译、链接。微机原理及接口技术8(3)使用运行功能执行程序,观察运行结果。如下图3-4所示图3-4ASCII码表示的十进制数转换为二进制数运行结果(4)使用调试功能调试程序,观察在调试过程中,程序指令执行之后各寄存器及数据区的内容。如图3-5所示可以看出AX,BX,CX,DX,SI,DI在执行程序以后的它们中所存的内容。数据区的内容如图3-4所示图3-5寄存器的内容微机原理及接口技术9实验四程序的基本结构1、分支程序一、实验目的掌握分支程序的设计方法。二、实验仪器PC微机一台、PITTD实验器材一台三、实验内容及说明程序有顺序、循环、分支和子程序四种结构形式分支结构的示意图如图4-1-1所示。本实验要求通过求无符号字节序列中的最大值和最小值来反映分支程序的结构形式。图4-1-1分支结构示意图实验可以使用BH,BL作为暂存现行的最大值和最小值,且在程序的初始,将BH和BL初始化为首字节的内容,然后进入循环操作。在循环操作中,依次从字节序列中逐个取出一个字节的内容与BH,BL进行比较,若取出的字节内容比BH的内容大或比BL中的内容小,则修改之。当循环结束操作时,将BH,BL分别送屏幕显示。参考实验流程如图4-1-2所示。微机原理及接口技术10图4-1-2分支程序试验流程图四、实验步骤(1)运行Tdpit软件,选择文件菜单编写实验程序;提供8字节的数据:0D9H,07H,8BH,0C5H,0EBH,04H,9DH,0F9H。(2)使用编译菜单中的编译和连接对实验程序进行汇编、连接。(3)使用编译菜单中的运行,运行程序,运行结果如图4-1-3所示图4-1-3运行分支程序结果微机原理及接口技术11由图可知,该程序运行结果为:在给出的8个字节中,最大的为F9,最小的为04,该程序为找最大最小值。(4)调试并观察寄存器中的数据,结果如下图4-1-4:图4-1-4调试结果如上图中圈出部分所示,寄存器中的内容为前两个字符0D9和07。微机原理及接口技术122、循环程序一、实验目的掌握循环程序的设计方法。三、实验仪器PC微机一台、PITTD实验器材一台三、实验内容及说明本实验要求通过求某数据区内负数的个数来表现循环程序的结构形式。要求实验程序在数据区中存放一组数据,为统计负数的个数,逐个判断区内的数据,然后将所有数据中凡是符号位为1的数据的个数累加起来,即得到区内所包含负数的个数。循环程序的结构示意如图1所示。图4-2-1循环结构示意图四、实验步骤(1)运行Tdpit软件,选择文件菜单编写实验程序。提供10字节的数据:12H,88H,82H,89H,33H,90H,01H,10H,0BDH,01H。(2)使用编译菜单中的编译和连接对实验程序进行汇编、连接。(3)使用编译菜单中的运行,运行程序,观察运行结果如下图4-2-2所示:微机原理及接口技术13图4-2-2循环程序运行结果由图4-2-2,运行得出的结果为:负数的个数为5。(4)调试并观察寄存器中的数据,结果如下图4-2-3和图4-2-4。图4-2-3循环程序调试结果图1由图4-2-3所示,寄存器DS中所存内容为程序中给出的十个字节的数据:12H,88H,82H,89H,33H,90H,01H,10H,0BDH,01H,而上面的圈中EBX中为目前为止找到的负数的个数为1个。微机原理及接口技术14图4-2-4循环程序调试结果图2由图4-2-4所示,为程序运行结束后的结果,EBS中结果为5,说明总的负数个数为5个。微机原理及接口技术153、子程序一、实验目的掌握循环程序的设计方法。二、实验仪器PC微机一台、PITTD实验器材一台三、实验内容及说明在汇编程序设计中,用户通常会将常用的具有特定功能的程序段编制成子程序使用。一般过程定义伪操作的格式如下:procedurenamePROCAttribute…procedurenameENDP其中Attribute是指类型属性,可以是NEAR或FAR,调用程序和过程在同一个代码段中使用NEAR属性,不在同一个代码段中,使用FAR。(1)数据移动实验本实验要求将指定数据区的数据搬移到另一个数据区,并通过子程序调用的方法将搬移的数据显示在屏幕上。图4-3-1源数据块和目标数据块在存储器中的位置示意和目标数据块在存储中的位置可能有三种情况,如图1所示。对于两个数据块分离的情况,数据的传送从数据块的首地址开始,或者从数据块的末地址开始均可。但对于有部分重叠的情况,则要加以分析,否则重叠部分会因搬移而遭到破坏。所以搬移过程可以通过以下两个方式完成:当源数据块首地址目标块微机原理及接口技术16首址时,从数据块的首地址开始传送数据;当源数据块首地址目标块首址时,从数据块的末地址开始传送数据。四、实验步骤(1)运行Tddebug软件,选择Edit菜单编写实验程序。提供16字节的数据:11H,22H,33H,44H,55H,66H,77H,88H,99H,0AAH,0BBH,0CCH,0DDH,0EEH,0FFH,00H;(2)使用Compile菜单中的Compile和Link对实验程序进行汇编、连接;(3)使用Rmrun菜单中的Run,运行程序,查询数据传输的正确性,Run后的结果如下图4-3-2所示:图4-3-2子程序运行结果由图4-3-2所示,运行子程序后输出结果为“HELLO,WORLD”,完成了数据的传送。(4)调试并观察寄存器中的数据,结果如下:图4-3-3(1)寄存器DS中的值图4-3-3(2)寄存器ES中的值微机原理及接口技术17由上图4-3-3(1)和图4-3-3(2)可知,原来存在DS中的数据经过数据传送传送到了ES中,完成了数据传送。图4-3-4子程序调试结果由图4-3-3所示,程序中的数据存在DS中,分别观察DS、ES中的内容,结果如下图4-3-4所示微机原理及接口技术18实验五中断实验(8259)一、实验目的1.掌握8259中断控制器的工作原理。2.掌握系统总线上PCI_INTR中断请求的应用编程方法。二、实验设备PC机一台,TD-PIT+或TD-PIT++实验装置一套。三、实验内容(1)利用实验平台上的8259控制器,通过查询中断源方法,设计一个查询中断应用实验,处理IR0和IR1发出的中断请求。(2)利用系统总线上中断请求信号INTR,设计一个单中断应用。使用单次脉冲模拟中断产生。编写中断处理程序,在显示器屏幕上显示一个字符。(3)利用实验平台上8259控制器对系统总线上的中断线INTR进行扩展。编写程序对8259控制器的IR0和IR1中断请求进