微机原理与接口技术实验报告汇总

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

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

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

资源描述

1第1页共87页实验报告课程名称微机原理与接口技术专业计科班级五班姓名胡益学号10030507指导教师朱红伟实验成绩2第2页共87页目录实验一系统认识实验.............................................................................................................3实验二数码转换编程及程序调试.......................................................................................8实验三运算类编程实验.....................................................................................................12实验四分支程序设计实验...............................................................................................17实验五分支程序设计实验2..............................................................................................23实验六循环程序设计.........................................................................................................31实验七子程序设计.............................................................................................................39实验八显示程序实验.........................................................................................................45实验九中断特性及8259应用编程实验.............................................................................49实验十8255并行接口应用实验..........................................................................................55实验十一8253定时/计数器应用实验...............................................................................60实验十二8253定时器应用实验........................................................................................66实验十三A/D转换实验.......................................................................................................72实验十四D/A转换实验.....................................................................................................77实验十五8255键盘及显示接口实验................................................................................81实验十六步进电机实验.....................................................................................................853第3页共87页实验一系统认识实验一实验目的掌握TDN86/51或TDN86、88教学系统的基本操作。二实验设备TDN86/51或TDN86、88教学实验系统一台三实验内容及步骤1.使用串行通讯电缆将实验系统与PC微机相连。2.打开实验环境WMD86.3.输入源代码:STACKSEGMENTSTACK;DW64DUP(?);STACKENDSCODESEGMENT;ASSUMECS:CODESTART:MOVDI,3500H;MOVCX,0010H;MOVAX,0000HA1:MOV[DI],AL;INCDI;LOOPA1;A2:JMPA2CODEENDS;ENDSTART;4.进行端口测试。5.进行汇编、链接。6.调试无误,并载入程序。四实验结果1.输入U2000命令进行反汇编,检查程序是否正确装入。如图(4-1)4第4页共87页图(4-1)检查程序是否正确装入2.当发现源程序输入错误或需调试,输入指令A来修改,如修改2000句MOVDI,3500。如图(4-2)图(4-2)修改2000句3.对程序进行连续运行。结果如图(4-3)5第5页共87页图(4-3)连续运行6第6页共87页4.内存单元内容显示,结果如图(4-4)图(4-4)内存单元内容5.内存单元内容的修改,如图(4-5)图(4-5)修改单元内容7第7页共87页五思考与总结通过本次实验,使我对TDN86/88教学系统的基本操作有了一定的了解,对实验有了更深的认识,更了解了自己所学的知识应该如何应用。期间也遇到了不少困难,不过在老师和同学帮助之下都解决了问题顺利完成了实验。8第8页共87页实验二数码转换编程及程序调试一实验目的1.掌握不同进制数及编码相互转换的程序设计方法,加深对数码转换的理解。2.熟悉键盘使用方法。3.熟悉调试程序的方法。二实验设备TDN86/51或TDN86/88教学实验系统一台三实验内容及步骤1.连接计算机与外设2输入程序并检查无误,经汇编、连接后装入程序。STACKSEGMENTSTACKDW64DUP(?)STACKENDSCODESEGMENTASSUMECS:CODESTART:MOVCX,0004H;设置循环次数MOVDI,3500H;将立即数3500传送给DI寄存器MOVDX,[DI];将[3500]单元的内容传送给Dx寄存器203BA1:MOVAX,DX;将DX寄存器的内容传送给Ax寄存器AX=203BANDAX,000FH;与操作。作用是:高12位全部屏蔽掉,只保留原来的低四位。结果存放在AX中。AX=000BHCMPAL,0AH;和10比较JBA2;JMPifBelow如果AL小于10,那么跳转到A2;加上30,转换为对应的ASCII码,结果存放在ALADDAL,07H;意味着AL是大于等于10的,为A-F范围内的数,先加上7,结果存放在AL。A2:ADDAL,30H;继续加30,结果存放在AL;以下是存放结果的程序MOV[DI+0AH],AL;将结果传送到[3500+A],即[350A]单元第一次循环的时候存放的是最地位的ASCII码INCDI;DI加1,变为35019第9页共87页PUSHCX;将CX的内容压入堆栈,目的是为了保存CX的原始内容MOVCL,04H;将立即数04传送给CL寄存器SHRDX,CL;将DX寄存器右移CL位。也就是右移4位。DX内容由203B变为0203POPCX;恢复CX的内容。LOOPA1;循环A1,直到CX为0CODEENDSENDSTART3.在3500-3501H单元中存入四位十六进制数203B,即:E3500↙,并输入3B、20。4.D350A↙,输入数字与结果ASCⅡ码对应顺序相反。5.反复调试几组数据,考察程序的正确性。四实验结果1.在3500-3501单元中存入四位十六进制数203B。如图(4-1)图4-1存入十六进制数10第10页共87页2.运行程序。如图(4-2)图4-2G=0000:2000运行程序3.显示结果.如图(4-3)图4-3结果11第11页共87页五思考与总结1.在十六进制数转换为ASCII码时,存转换结果后,为什么要把DX向右移四次?答:对存放空间的要求,因为对于十六进制每四个ASCII码从右往左数是4个一次,算十六进制的一个位次,因此十六进制转换成ASCII码要把DX向右移四次。2.自己的实验感受本次实验是将十六进制数转换为ASCII码。首先经过CPU处理后的十六进制数存放于起始地址为3500H的内存单元中,把它们转换成ASCII码后,再分别存入起始地址为350AH的内存单元中。12第12页共87页实验三运算类编程实验一实验目的1.掌握使用运算类指令编程及调试方法。2.掌握运算类指令对各状态标志位的影响及其测试方法二实验设备TDN86/51或TDN86/88教学实验系统一台三实验内容及步骤1.连接计算机与外设2.输入程序并检查无误,经汇编、连接后装入程序。STACKSEGMENTSTACKDW64DUP(?)STACKENDSDATASEGMENTXLDW?XHDW?YLDW?YHDW?ZLDW?ZHDW?DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVAX,XLADDAX,YLMOVZL,AXMOVAX,XHADCAX,YHMOVZH,AXA1:JMPA1CODEENDSENDSTART13第13页共87页3.用U0000:2000查看MOVAX,XXXX(DATA)语句,即得到数据段段地址CS:XXXX用E命令EXXXX:0000↙给XL,XH,YL,YH赋值存入二进制数A0651500和9EB72100。4.G=0000:2000↙,运行以上程序。5.DXXXX:0008↙,显示计算结果。6.反复调试几组数据,考察程序的正确性。14第14页共87页四实验结果1.查看MOVAX,XXXX语句,地道段地址。如图(4-1)图4-1段地址2.给XL,XH,YL,YH赋值二进制数。如图(4-2)图4-2赋值数15第15页共87页3.运行程序并查看结果。如图(4-3)图4-3实验结果显示16第16页共87页五思考与总结本次实验我们做得是运算类编程实验中二进制双精度加法运算。双精度运算,是利用累加器AX,先求低十六位和,并存入低址单元,后求高16位和,再存入高址存储单元。由于低位和可能向高位有进位,因而高位字相加语句需用ADC指令,则低位相加有进位时,CF=1,高位字相加时,同时加上CF中的1。这次实验有很多细节需要注意,在不注意的情况之下我们出了很多错误,后来在老师的指导帮助下完成了实验。17第17页共87页实验四分支程序设计实验一实验目的1.掌握分支程序的结构。2.掌握分支程序的设计、调试方法。二实验设备TDN86/51或TDN86/88教学实验系统一台三实验内容及步骤1.内容:设计一数据块间的搬移程序设计思想:程序要求把内存中一数据区(称为源数据块)传送到另一存储区(称为目的数据块)。注意:当源数据块首址目的块首址时,从数据块首地址开始传送数据。当源数据块首址目的块首址时,从数据块末地址开始传送数据。2.实验步骤:(1)编写实验程序。(2)输入程序:STACKSEGMENTSTACKDW64DUP(?)STACKENDSCODESEGMENTASSUMECS:CODESTART:MOVCX,0010H;将0010H传送给CX,CX=16MOVSI,3100H;将3100H传送给SI,SI=3100HMOVDI,3200H;将3200H传送给DI,DI=3200H18第18页共87页CMPSI,

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

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

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

×
保存成功