ImageVerifierCode 换一换
格式:DOCX , 页数:57 ,大小:591.23KB ,
资源ID:30231198      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/30231198.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(微机原理与接口技术实验指导剖析.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

微机原理与接口技术实验指导剖析.docx

1、微机原理与接口技术实验指导剖析微机原理及接口技术实 验 指 导 书杨霞 周林英 编长安大学电子与控制工程学院2009年9月前 言本实验指导是为适应各大、中专院校开设微机原理及应用方面的课程需做大量软硬件实验的需要而编写的,供学生编程用。完成本实验指导中的实验,可使学生基本掌握8086/8088的结构原理、接口技术、程序设计技巧。手册中详细叙述了各实验的目的、内容,列出了接线图、程序框图和实验步骤。主要学习内容为80X86语言实验环境配置、汇编源语言格式、输出字符、循环结构、子程序调用,以及加减乘除等指令操作、通用接口芯片的接口编程与使用。所有实验都是相互独立的,次序上也没有固定的先后关系,在使

2、用本书进行教学时,教师可根据教学要求,选择相应实验。学习结束后,要求学生能够独立编写出综合加减乘除等指令,以及循环结构、子程序调用等程序控制程序、看懂一般接口芯片电路图。目 录实验一 清零程序 4实验二 拆字程序 6实验三 数据区移动 8实验四 多分支程序设计 10实验五 多字节减法运算 13实验六 显示程序 16实验七 8251串口实验 25实验八 步进电机控制 29附录一 汇编语言的存储模型 36附录二 8279键值显示程序 37实验一 清零程序一、实验目的 掌握8088汇编语言程序设计和调试方法。二、实验设备STAR系列实验仪一套、PC机一台。三、实验内容 把RAM区内4000H-40F

3、FH单元的内容清零 。四、程序框图五、源程序清单.MODEL TINY.STACK 100.DATA.CODE ORG 0100HSTART: MOV BX,4000H MOV AX,0000H MOV CX,80HL1: MOV BX,AX INC BX INC BX LOOP L1 JMP $ END START六、实验步骤 手动修改RAM区内4000H-40FFH的内容,连续或单步方式运行程序,检查4000-40FFH内容 执行程序前后的变化。七、思考1、把4000H-40FFH中的内容改成FF,如何修改程序。2、把4000H-40FFH中的内容改成00FF,如何修改程序。实验二 拆字程

4、序一、实验目的掌握汇编语言设计和调试方法。 二、实验设备STAR系列实验仪一套、PC机一台。三、实验内容 把4000H单元的内容拆开,高位送4001H低位,低位送4002H低位,4001H、4002H 的高位清零,一般本程序用于把数据送显示缓冲区时用。 四、程序框图五、源程序.MODEL TINY.STACK.DATA.CODESTART: MOV BX,4000HMOV AL,BXMOV AH,ALMOV CL,4SHR AH,CLINC BXMOV BX,AHAND AL,0FHINC BXMOV BX,ALJMP $六、实验步骤 手动修改4000H的内容,用连续或单步方式运行程序,检查4

5、000H-4002H中内容变化情况。七、思考1.如何用断点方式调试本程序。2.把4000H、4001H单元低位的内容合成一字送4002H单元。实验三 数据区移动一、实验目的掌握RAM中的数据操作。二、实验设备STAR系列实验仪一套、PC机一台。三、实验内容把4100H源RAM区首址内的16字节数据传送到4200H目标RAM区。四、设计思想 程序要求把内存中某一数据区(称为源数据块)传送到另一存储区(称为目的数据块)。源数据块和目的数据块在存储器中可能有三种情况,如下图: 对于两个数据块分离的情况,如图(a),数据的传送从数据块的首址开始,或者从数据块的末址开始均可。但对于有部分重叠的情况,则要

6、加以分析,否则重叠部分会因“搬移”而遭破坏。 可以得出以下结论:当源数据首址目的块首址时,从数据块首址开始传送数据。 当源数据块首址目的块首址时,从数据块末地址开始传送数据。五、程序框图六、源程序清单 .MODEL TINY.STACK.DATA.CODEORG 0100HSTART0: MOV CX,0010H MOV SI,4100H MOV DI,4200H CMP SI,DI JA A42 ADD SI,CX ADD DI,CXA41: DEC SI DEC DI MOV AL,SI MOV DI,AL LOOP A41 JMP $A42: MOV AL,SI MOV DI,AL IN

7、C SI INC DI LOOP A42 JMP $END START0七、实验步骤 调试运行3060程序,检查4100-410FH中内容是否和4200-420FH中内容完全一致。 八、思考1.把4200H源RAM区首址内的16字节数据传送到4100H目标RAM区。2.把4100H源RAM区首址内的16字节数据传送到410AH目标RAM区。实验四 多分支程序设计一、实验目的 掌握汇编语言的编程,熟悉程序散转的设计方法。二、实验设备STAR系列实验仪一套、PC机一台。三、实验内容 编写程序,根据接收到的键值,作不同的处理。四、设计思想多分支结构相当于一个多路开关,在程序设计中通常是根据某寄存器或

8、某单元的内容进行程序转移。在设计多分支转移程序时,如果分支太多,则平均转移速度太慢,本实验采用转移地址表实现多分支转移,可以提高平均转移速度。 五、程序框图六、实验步骤 1、连线说明:E5区 :CLKB2区:2ME5区 :CSA3区:CS5E5区 :A0A3区:A0E5区 :A、B、C、DG5区:A、B、C、D2、在G5区的键盘上输入1位数3、使用各种手段调试程序3、结果显示在G5区的数码管上七、源程序清单;调用GetKeyB返回键值,根据键值执行相应的程序.MODEL TINYEXTRNDisplay8:NEAR, GetKeyB:NEAR.STACK100.DATABUFFERDB8 DU

9、P(?).CODESTART:MOVAX,DATAMOVDS,AXMOVES,AXNOPSTART1:CALLGetKeyB;键值存放在AL中CMP AL,8JB START2XORAL,AL;大于7,作0处理START2:XORAH,AHMOVBX,AXSHLBX,1LEADI,Table_1JMPCS:DIBXTable_1: DWKey0, Key1, Key2, Key3, Key4, Key5, Key6, Key7Key0:MOVAL,1JMP KeyKey1:MOVAL,2JMPKeyKey2:MOV AL,3JMP KeyKey3:MOVAL,4JMPKeyKey4:MOV A

10、L,5JMP KeyKey5:MOVAL,6JMP KeyKey6:MOVAL,7JMPKeyKey7:MOVAL,8JMPKeyKey: MOV CX,8LEA DI,BUFFERREPSTOSBLEASI,BUFFERCALL Display8MOVCX,60000LOOP$;延时JMPSTART1END START实验五 多字节减法运算一、实验目的 掌握BCD码、补码,熟悉多文件、多模块汇编语言程序设计的方法。 二、实验设备STAR系列实验仪一套、PC机一台。三、实验内容 从键盘上输入4位被减数、减数,实现双字节BCD码(四位数)的减法,结果显示在数码管上;进一步熟悉使用断点、单步进入、

11、单步、运行到光标处、修改PC指针、全速运行等各种调试手段;熟悉查看特殊功能寄存器、CS段、DS段存贮器的各种方法。四、程序框图五、实验步骤 1、连线说明:E5区 :CLKB2区:2ME5区 :CSA3区:CS5E5区 :A0A3区:A0E5区 :A、B、C、DG5区:A、B、C、D2、在G5区的键盘上输入4位被减数、减数3、结果显示在G5区的数码管上六、源程序清单 .MODEL TINY .STACK 100 .DATA Result DB 5 DUP(?) minuend DW 88H,44H,66H,00H,99H ;被减数N1 = $-minuend ;被减数长度subtrahend D

12、W 22H,55H,88H ;减数N2 = $-subtrahend ;减数长度 .CODE START: MOV AX,DATA MOV DS,AX MOV ES,AX PUSH DS XOR AX,AX PUSH AX STD ;清方向标志 ;显示被减数 ; LEA SI,minuend ; ADD SI,N1-1 ; MOV CX,N1 ; CALL EX21 ; CALL PP2 ; ;显示减数 ; LEA SI,subtrahend ; ADD SI,N2-1 ; MOV CX,N2 ; CALL EX21 ; CALL PP2 ;计算结果 CALL EX22 ;显示结果 LEA S

13、I,minuend ADD SI,N1-1 MOV CX,N1 CALL EX21 jmp $;模块名称:EX21;功 能:显示运算结果;入口参数:;出口参数:EX21 PROC near PUSH AX PUSH DXF: LODSB LEA BX,Result ADD BX,CX MOV BX,AL ;用十六进制数显示一个字节的内容 ; MOV DL, ;显示一个空格符 ; MOV AH,2 ; ; INT 21H ; LOOP F POP DX POP AX RETEX21 ENDP ;模块名称:EX22;功 能:进行多字节减法运算;入口参数:;出口参数:相减的那结果存在EX22 PRO

14、C near LEA SI,minuend LEA DI,subtrahend MOV BX,N1 MOV CX,N2 CLCMM: MOV AL,DI SBB SI,AL INC DI INC SI DEC BX LOOP MMM1: JZ EXIT22 ;因LOOP指令对标志位无影响,所以此处的转移是对DEC BX而言。 ;处理被减数的位数多于减数的位数的情况 JNC EXIT22 ;无借位则直接退出 SBB BYTE PTR SI,0 ;影响CF标志位 INC SI ;不影响CF标志位 DEC BX ;不影响CF标志位,影响ZF标志位 JMP M1EXIT22: RETEX22 ENDP

15、 END start.MODELTINYEXTRNDisplay8:NEAR, GetBCDKey:NEAREXTRNF1:BYTE.STACK100.DATABUFFERDB8 DUP(?)minuendDW1 DUP(?) ;被减数subtrahendDW1 DUP(?);减数.CODESTART:MOVAX,DATAMOVDS,AXMOV ES,AXNOPMOV F1,0 ;先清除显示,再接收键输入START1:LEADI,minuendMOVCX,4 ;按键次数CALLGetBCDKey;得到双字节十进制数(被减数)MOV F1,1 ;接收到第一个键,才清除显示LEADI,subtra

16、hendMOVCX,4 ;按键次数CALL GetBCDKey;得到双字节十进制数(减数)MOV AX,minuendMOVBX,subtrahendMOVDL,10HCMP AX,BXJNBSTART2XCHGAX,BXMOV DL,11H;负数START2:SUBAL,BL;低位DASXCHGAL,AHSBBAL,BH;高位DASXCHGAL,AHCLDLEADI,BUFFER;存放显示结果CALL B1toB2;低位MOVAL,AHCALL B1toB2;高位MOVAL,10H;最高三位消隐STOSBSTOSBSTOSBSTOSBLEASI,BUFFER+3MOVCX,3CALL Bla

17、ckDisplay;将高位0消隐LEASI,BUFFERCALLDisplay8JMPSTART1;将一个字节压缩BCD码转换成二个字节非压缩BCD码B1toB2PROC NEARPUSH AXAND AL,0FHSTOSBPOPAXANDAL,0F0HROR AL,4STOSBRETB1toB2ENDPBlackDisplay PROC NEAR;将高位0消隐BlackDisplay1:MOVAL,SI CMPAL,0JNZ ExitMOV AL,10HMOVSI,ALDEC SILOOPBlackDisplay1Exit:CLDMOVSI+1,DLRETBlackDisplay ENDPE

18、ND START七、思考从键盘上输入4位被加数、加数,实现双字节BCD码(四位数)的加法,结果显示在数码管上。实验六 显示程序一、实验目的 1、熟悉8255的功能,理解LED显示原理及控制方法;2、学会使用LED点阵液晶显示字体和图形;3、认真预习本节实验内容,可尝试自行编写程序,做好实验准备工作,填写实验报告。二、实验设备STAR系列实验仪一套、PC机一台。三、实验内容 1、编写程序,用8255的PA、PB口控制LED的位选和段选,(1)编写程序,控制8位数码管跑马灯形式显示0;(2)编写程序,控制8位数码管静态显示指定字符1-8;(3)编写程序,控制8位数码管动态循环显示8位字符;2、按图

19、连接线路,运行程序,观察实验结果。四、实验原理图五、实验步骤1、主机连线说明:B4区:CS(8255)A3区:CS1B4区:A0、A1A3区:A0、A1B4区:JP56、JP53G5区:JP 41、 JP 422、运行程序,验证显示结果。六:源程序(1) 控制8位数码管依次显示0;.MODEL TINY.STACK 100.DATAIO8255_Con EQU 0F003H ;CS3IO8255_A EQU 0F000H ;AIO8255_B EQU 0F001H ;BLED_TAB: DB 03FH,06H,05BH,04FH,66H,6DH,7DH,07H DB 07FH,6FH,77H,

20、7CH,39H,05EH,79H,71H .CODESTART: MOV AX,DATA MOV DS,AX MOV ES,AX MOV DX,IO8255_Con MOV AL,80H ;方式0,A,B,C均为输出 OUT DX,AL MOV AL,0FEH ;8255 PC输出 MOV CX,8GOON: MOV DX,IO8255_A ;位选 OUT DX,AL ROL AL,1 MOV AH,AL MOV DX,IO8255_B MOV AL,03FH OUT DX,AL MOV AL,AH ;0FFH-8255 PA CALL Delay JMP GOONDelay PROC NEA

21、R PUSH CX MOV CX,20000Delay1: LOOP Delay1 POP CX RET ENDP END START (2) 编写程序,控制8位数码管依次显示任意指定字符(0-F);.MODEL TINY.STACK 100.MODEL TINY.STACK 100.DATAIO8255_Con EQU 0F003H ;CS3IO8255_A EQU 0F000H ;AIO8255_B EQU 0F001H ;BF1 DB 0LED_TAB: DB 03FH,06H,05BH,04FH,66H,6DH,7DH,07H DB 07FH,6FH,77H,7CH,39H,05EH,

22、79H,71H .CODESTART: MOV AX,DATA MOV DS,AX MOV ES,AX; MOV F1,0 MOV DX,IO8255_Con MOV AL,80H ;方式0,A,B,C均为输出 OUT DX,AL MOV AL,0FEH ;8255 PC输出 MOV CX,8GOON: MOV DX,IO8255_B ;段选 MOV BX, LED_TAB ;装入表头 PUSH AX MOV AL,F1 XLAT ;AL放字形码 OUT DX,AL POP AX MOV AL,AH MOV DX,IO8255_A ;位选 OUT DX,AL ROL AL,1 MOV AH,A

23、L INC F1 ;0FFH-8255 PA CALL Delay JMP GOONDelay PROC NEAR PUSH CX MOV CX,800Delay1: LOOP Delay1 POP CX RET ENDP END START(3) 编写程序,控制8位数码管同时显示0、1、F:.MODEL TINY.STACK 100.MODEL TINY.STACK 100.DATAIO8255_Con EQU 0F003H ;CS3IO8255_A EQU 0F000H ;AIO8255_B EQU 0F001H ;BLED_TAB: DB 03FH,06H,05BH,04FH,66H,6

24、DH,7DH,07H DB 07FH,6FH,77H,7CH,39H,05EH,79H,71H F1 DB 0 .CODESTART: MOV AX,DATA MOV DS,AX MOV ES,AX MOV DX,IO8255_Con MOV AL,80H ;方式0,A,B,C均为输出 OUT DX,AL MOV AX,0FEFEH ;8255 PC输出 MOV CX,1600 LEA BX,LED_TABGOON: MOV AL,F1 XLAT MOV DX,IO8255_B ;段选 OUT DX,AL MOV AL,AH MOV DX,IO8255_A ;位选 OUT DX,AL ROL

25、AL,1 MOV AH,AL CALL DL500ms LOOP GOON ;8段数码管显示当前值 MOV CX,1600 ;8段数码管显示完成,则显示下个字符 MOV AL,AH ; CALL DL3S INC F1 CMP F1,10H ;是否显示完了 JZ EXIT JMP GOONDL500ms PROC NEAR PUSH CX MOV CX,400DL500ms1: LOOP DL500ms1 POP CX RETDL500ms ENDPEXIT: END START七、思考 (4)编写程序,控制8位数码管显示当前日期以及时间;实验七 8251串口实验 一、实验目的与要求了解825

26、1的内部结构、工作原理;了解8251与8088的接口逻辑;掌握对8251的初始化编程方法,学会使用8251实现设备之间的串行通信。复习本节实验内容,可尝试自行编写程序,做好实验准备工作,填写实验报告。二、实验设备STAR系列实验仪一套、PC机一台三、实验内容1、编制程序:实现8251A与PC机的串行通讯,使用8253作分频器提供8251的收发时钟。2、连接线路,从微机接收一批数据,接收完毕,再将它们回送给微机。四、程序框图初始化8251:接收10个字节数据子程序:发送了10个字节数据子程序:五、实验原理图六、实验步骤1、连线说明:C5区:CS(8253)、A0、A1A3区:CS5、A0、A1C5区:CLK0

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1