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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

微机原理与系统设计实验6.docx

1、微机原理与系统设计实验6微机原理与系统设计实验指导书电子科学与技术福州大学物理与信息工程学院目 录实验一 数据传送程序 1实验二 数据运算程序 2实验三 键盘、显示器操作程序 3实验四 8255接口实验 5实验五 8253音频接口实验 6实验六 0832小直流机转速实验 9实验七 综合实验 11附:DEBUG主要命令 12实验一 数据传送程序一、实验目的:1、掌握传送类程序的基本设计框架; 2、掌握程序汇编、连接、调试的全过程; 3、掌握汇编程序Debug的使用及观察方式。二、实验内容 已知有一个以“”为标志结束的字符串存于以地址string1开始的内存中,编程将上述字符串存于以地址strin

2、g2开始的内存中。三 实验步骤 用masm.exe实现正确编译,用link.exe实现正确连接,用debug.exe实现对程序的跟踪、调试、观察。 用debug.exe对程序调试、观察 -N C:JKJKCAI2000STR.EXE -L ;调入文件 -T ;单步运行 -T30 ;运行 -D DS:0000 ;看结果 -Q ;退出 四、编程提示由于字符串未知不能用计数方式,要使用“”来控制循环的退出。参考程序(有部分错误,需要修改) DATA SEGMENTSTRING1 DB MNOPQXYZ $STRING2 DB 50 DUP(?)DATA ENDSCOEG SEGMENTASSUME

3、DS:DATA,CS:COEGSTART:MOV AX, DATA MOV DS.AX LEA SI,STRING1 LEA DI.STRING2 NEXT: CMP BYTE PTR SI ,$JZ JSPMOV AL,SIMOV DI,ALINC SIINC DIJMP NEXT JSP:MOV AH,4CH INT 21HCOEG ENDS END START五 思考问题 1 单步运行的结果如何查看。 2 Debug各常用指令T,D,Q,G,L,N的用法。 3 各段寄存器的内容及指针的内容如何看。 4 内存的查看及表示含义, 字符串查看的方法。 5 结果正确与否,如何验证? 6 每一指令

4、的具体用途?实验二 数据运算程序一、实验目的:1、掌握运算类程序的基本设计框架; 2、掌握汇编程序调试和验证方法; 3、掌握Debug的使用及观察方式。二、实验内容 从内存num开始的单元中存放8个同学的某门课的考试成绩,试编写程序求出该门课的总成绩及平均成绩。 三、实验步骤: 用debug.exe对程序调试、观察。 -N C:JKJKCAI2000STR.EXE -L ;调入文件 -T -T30 (G 0000 0030) ;运行 -D DS:0000H ;看结果 -Q ;退出 四、编程提示由于循环次数已知,可用mov cx,08h;loop sum 方式循环。注意: 除法运算、移位运算、累

5、加和的进位等.参考程序DATA SEGMENTnum Dw 1,2,3,4,5,6,7,8sum dw ?ave dw ? DATA ENDSSTACK SEGENTSTACK ENDS COEG SEGMENTASSUME DS:DATA,SS:STACK, CS:COEGSTART:MOV AX, DATA MOV DS.AX LEA SI,NUM MOV CX,08H MOV AX,0HLOP:ADD AX,SIINC SIINC SILOOP LOPMOV SUM,AXSHR AX.1SHR AX,1SHR AX,1MOV AVE ,AX MOV AH,4CH INT 21HCOSEG

6、 ENDS END START五 思考要求 1 如何验证结果的正确及运行过程中的错误。 2 比较字节与字的存储。 3 修改程序,求出最大值,放入内存。 4 内存的查看及表示含义,数的查看。 实验三 键盘、显示器操作程序一、实验目的:1、掌握EXE文件的执行; 2、掌握汇编程序的DOS功能调用; 3、掌握汇编程序的键盘和显示器的使用。二、实验内容 从键盘上输入5个字符如ABCDE,每组中间用空格分割后加括号输出。 三、实验步骤:执行exe程序,直接观察结果。四、编程提示 验证结果的正确(通读程序,对程序修改,需要增加指令后,才能看到结果,然后再按要求修改程序)DATA SEGMENTNUM DB

7、 ,$DATA ENDSSTACK SEGMENTSTACK ENDS COSEG SEGMENTASSUME DS:DATA, SS:STACK, CS:COSEGSTART:MOV AX, DATA MOV DS,AX LEA SI,NUM INC SI MOV CX,05HLOP: MOV AH,01HINT 21H MOV SI,ALINC SIMOV SI,20HINC SILOOP LOPDEC SIMOV SI,LEA DX,NUMMOV AH,4CHINT 21HCOSEG ENDS END START 五 问题思考 1比较前两次程序运行如何看结果。 2 理解程序中内存分配的意

8、思。 3 结果正确与否? 实验四 8255接口实验一、实验目的:1、掌握汇编程序的接口8255原理及使用方法 2、掌握接口实验箱的使用方法。 3、掌握实验平台对外部接口的控制观察方式。二、实验内容 通过实验箱外接8255芯片用键盘控制小灯,让小灯显示,设定8255的PA口为开关量输入,PB口为开关量输出,要求能随时将PA口的开关状态通过PB口的发光二极管显示出来。 三、实验步骤:1、查看实验箱的内的组成部件, 连线实验箱电路,理解外接电路。2、程序跟踪,观察每步结果,理解过程。 3、修改程序,达到要求。四 实验电路及连线将K1-K8用连线连至8255的PA0-PA7,将DL1-DL8用连线连至

9、8255的PB0-PB7,8255CS用连线连至译码处的200H-207H这个插孔。五 编程提示1在Debug下使用IN ,OUT指令对外部接口操作,验证硬件的连接。. -O 200,39-O 201,FF2注意8255的各个端口的地址及初始化操作3编程验证结果的正确。参考程序(部分有错,地址错误) DATA SEGMENTDATA ENDSSTACK SEGMENT STACKSTA DW 50 DUP(?)TOP EQU LENGTH STASTACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACKSTART: MOV DX,

10、209H ;设置为A口输入,B口输出 MOV AL,90H OUT DX,AL BG: MOV DX,208H ;将A口状态从B口输出 IN AL,DX MOV DX,202H OUT DX,AL JMP BG CODE ENDS六 问题思考 1 理解程序的意思及调试方法 2 修改程序,使K1-K8中的K1 键合上时,其余键打开时,退出程序。 3 输入使小灯循环亮的程序。注意延时子程序的调用。实验五 8253音频接口实验一、实验目的:1、掌握了解定时器8253的硬件连接方法及时序关系。掌握8253的各种模式编程及原理 2、了解如何利用PC机内部电路产生音乐的方法.3、了解音乐产生的基本原理。二

11、、实验内容 通过计算机的内部电路的8253定时芯片时芯片及8255芯片,编程使计算机的数字键1,2,3,8等作为电子琴按键产生相应的音阶。 三、实验原理1、对于音乐的每个音阶都有确定的频率,能产生不同的音符。2、利用PC机内部的8253定时芯片产生一个方波的数据,就可以发出不同的声音。利用PC机内部的8255芯片可以控制8253是否工作。不同频率的区别,可通过调节8253转换器输出数据的时间间隔,例如:发频率为261.1HZ,周期为 1/261.1 = 3.83ms,输出数据的时间间隔为 3.83ms/32 = 0.12ms。按下某键后发音时间的长短可以由发出的方波的个数多少来控制四、实验步骤

12、:1、看懂电路,理解电路连接原理。2、理解程序,了解不同按键的代码 3、修改程序,使键盘控制音乐达到要求。五、实验电路六 编程提示data segmentFreq dw 131,147,165,175,196,220,247,262 dw 262,294,330,349,392,440,492,524 dw 524,588,660,698,784,880,988,1048data endscode segmentassume cs:code,ds:datastgo:mov ax,datamov ds,axloop0:mov si,0loop1:mov ah,0int 16hcmp al,1bh

13、je donecmp al,2chje loop0cmp al,2ehjne next1mov si,16jmp loop1next1:cmp al,2fh jne next2 mov si,32 jmp loop1next2:sub al,30h jz next3 dec alcmp al,8jae loop1mov bl,almov bh,0shl bx,1mov cx,freqbxsimov al,0b6hout 43h,al;PC8253地址mov dx,12hmov ax,3280hdiv cxout 42h,al; PC8253地址mov al,ahout 42h,al;in al

14、,61hor al,3out 61h,al;PC8255地址jmp loop1next3:in al,61h;PC8255地址 and al,0fch out 61h,al jmp loop1done:mov ah,4ch int 21hcode endsend stgo七 问题 1 哪些按键能影响音乐,如何影响。 2 对照硬件,理解整个软件过程。3 修改程序,使ASD等按键发出1,2,3的声音。实验六 0832小直流机转速实验一、实验目的:1、掌握 0832性能及编程方法 2、掌握接口实验箱的使用方法。 3、掌握直流电机的控制方法。二、实验内容 通过实验箱外接0832芯片及直流电机,利用08

15、32输出一串脉冲,经放大后驱动小直流电机,利用开关K1-K5控制改变脉冲的电平及持续时间,达到使电机加速减速的目的。 三、实验原理小直流电机的转速是由输出脉冲的占空比决定,正向占空比越大,转速越快,反之越慢。再本实验中模拟量的输出为双级性,当输出数字输出数字为0H时,输出为0,当输出数字大于0H时,输出为正,本实验的输入数字量只有2个(0H,FFH),通过不同的延迟时间,达到改变小电机转速目的。四 实验步骤:1、 按要求连接实验箱电路,理解外接电路。2、测试不同输出电压时直流电机的转速,达到要求。 五 实验电路及连线用导线将0832片选信号CS接至138译码200H-207H,将Aout接直流

16、电机的输入端.将8255的片选信号CS接至208H-20FH,将PA0-PA5接K0-K5.六、编程提示Port1 equ 290h Port2 equ 28bhport3 equ 28ahdata segmentbuf1 dw ?buf2 dw?data endscode segmentassume cs:codestart:mov dx,port2mov al,8bhout da,almov al,80hmov dx,port1out dx,almov ah,1int 16hje intkmov ah,4chint 21hintk:mov dx,port3in al,dxtest al,0

17、1h jnz k0test al,02h jnz k1test al,04h jnz k2test al,08h jnz k3test al,10h jnz k4test al,20h jnz k5jmp lllk0:mov buf1,0400h mov buf2,0330hdelay: mov cx,buf1delay1:loop delay1mov al,0ffhmov dx,port1out da,almov cx,buf2delay2:loop delay2 jmp lllk1: mov buf1,0400h mov buf2,0400hjmp delayk2: mov buf1,04

18、00h mov buf2,0500hjmp delayk3:mov buf1,0400h mov buf2,0600hjmp delayk4: mov buf1,0400h mov buf2,0700hjmp delayk5 mov buf1,0400h mov buf2,0800hjmp delaycode endsend start 七 提问题 1,理解程序的意思及调试方法 2,修改程序,使转速加快或减速. 实验七 综合实验一、实验目的:1、灵活利用所学的知识,编写出具有一定功能的程序 2、深入利用接口实验箱的各种器件设计程序。 3、应用计算机的键盘、显示器和声音交互的功能。二、实验内容

19、通过实验箱及计算机的键盘或显示器,利用所学的程序,编写出具有一定功能的综合实验的内容。实验内容必须包含硬件控制。 三、实验要求(1)设计具体的实验内容(2)硬件连接(3)软件实现(4)结果验证(5)书写设计报告(包括目的,内容,硬件,软件,结果,使用器件等) 附:DEBUG主要命令 DEBUG是为汇编语言设计的一种高度工具,它通过单步、设置断点等方式为汇编语言程序员提供了非常有效的调试手段。 一、DEBUG程序的调用 在DOS的提示符下,可键入命令: C:DEBUG D:PATHFILENAME.EXTPARM1PARM2 其中,文件名是被调试文件的名字。如用户键入文件,则DEBUG将指定的文

20、件装入存储器中,用户可对其进行调试。如果未键入文件名,则用户可以用当前存储器的内容工作,或者用DEBUG命令N和L把需要的文件装入存储器后再进行调试。命令中的D指定驱动器PATH为路径,PARM1和PARM2则为运行被调试文件时所需要的命令参数。 在DEBUG程序调入后,将出现提示符,此时就可用DEBUG命令来调试程序。 二、DEBUG的主要命令 1、显示存储单元的命令D(DUMP),格式为: _Daddress或_Drange 例如,按指定范围显示存储单元内容的方法为: -d100 120 18E4:0100 c7 06 04 02 38 01 c7 06-06 02 00 02 c7 06

21、 08 02 G.8.G.G. 18E$:0110 02 02 bb 04 02 e8 02 00-CD 20 50 51 56 57 8B 37 .;.h.M PQVW. 18E4:0120 8B 其中0100至0120是DEBUG显示的单元内容,左边用十六进制表示每个字节,右边用ASCII字符表示每个字节,表示不可显示的字符。这里没有指定段地址,D命令自动显示DS段的内容。如果只指定首地址,则显示从首地址开始的80个字节的内容。如果完全没有指定地址,则显示上一个D命令显示的最后一个单元后的内容。 2、修改存储单元内容的命令有两种。 输入命令E(ENTER),有两种格式如下:第一种格式可以用

22、给定的内容表来替代指定范围的存储单元内容。命令格式为: -E address list 例如,-E DS:100 F3XYZ8D 其中F3,X,Y,Z和各占一个字节,该命令可以用这五个字节来替代存储单元DS:0100到0104的原先的内容。 第二种格式则是采用逐个单元相继修改的方法。命令格式为: -E address 例如,-E DS:100 则可能显示为: 18E4:0100 89.- 如果需要把该单元的内容修改为78,则用户可以直接键入78,再按空格键可接着显示下一个单元的内容,如下: 18E4:0100 89.78 1B.- 这样,用户可以不断修改相继单元的内容,直到用ENTER键结束该

23、命令为止。 填写命令F(FILL),其格式为: -F range list 例如:-F 4BA:0100 5 F3XYZ8D 使04BA:01000104单元包含指定的五个字节的内容。如果list中的字节数超过指定的范围,则忽略超过的项;如果list的字节数小于指定的范围,则重复使用list填入,直到填满指定的所有单元为止。 3)检查和修改寄存器内容的命令R(register),它有三种格式如下: 显示CPU内所有寄存器内容和标志位状态,其格式为: -R 例如,-r AX=0000 BX=0000 CX=010A DX=0000 SP=FFFE BP=0000 SI=0000 DI=0000

24、DS=18E4 ES=18E4 SS=18E4 CS=18E4 IP=0100 NV UP DI PL NZ NA PO NC 18E4:0100 C70604023801 MOV WORD PTR 0204,0138 DS:0204=0000 显示和修改某个寄存器内容,其格式为: -R register name 例如,键入 -R AX 系统将响应如下: AX F1F4:即AX寄存器的当前内容为F1F4,如不修改则按ENTER键,否则,可键入欲修改的内容,如: -R bxBX 0369:059F 则把BX寄存器的内容修改为059F。 显示和修改标志位状态,命令格式为: -RF系统将响应,如:

25、 OV DN EI NG ZR AC PE CY- 此时,如不修改其内容可按ENTER键,否则,可键入欲修改的内容,如: OV DN EI NG ZR AC PE CY-PONZDINV 即可,可见键入的顺序可以是任意的。 4)运行命令G,其格式为: -G=address1address2address3 其中,地址1指定了运行的起始地址,如不指定则从当前的CS:IP开始运行。后面的地址均为断点地址,当指令执行到断点时,就停止执行并显示当前所有寄存器及标志位的内容,和下一条将要执行的指令。 5)跟踪命令T(Trace),有两种格式: 逐条指令跟踪 -T =address 从指定地址起执行一条指

26、令后停下来,显示所有寄存器内容及标志位的值。如未指定地址则从当前的CS:IP开始执行。 多条指令跟踪 -T =addressvalue 从指定地址起执行n条指令后停下来,n由value指定。 6)汇编命令A(Assemble),其格式为: -Aaddress 该命令允许键入汇编语言语句,并能把它们汇编成机器代码,相继地存放在从指定地址开始的存储区中。必须注意:DEBUG把键入的数字均看成十六进制数,所以如要键入十进制数,则其后应加以说明,如100D。 7)反汇编命令U(Unassemble)有两种格式。 从指定地址开始,反汇编32个字节,其格式为: -Uaddress 例如: -u100 18

27、E4:0100 C70604023801 MOV WORD PTR0204,0138 18E4:0106 C70606020002 MOV WORD PTR0206,0200 18E4:010C C70606020202 MOV WORD PTR0208,0202 18E4:0112 BBO4O2 MOV BX,0204 18E4:0115 E80200 CALL 011A 18E4:0118 CD20 INT 20 18E4:011A 50 PUSH AX 18E4:011B 51 PUSH CX 18E4:011C 56 PUSH SI 18E4:011D 57 PUSH DI 18E4:

28、011E 8B37 MOV SI,BX 如果地址被省略,则从上一个U命令的最后一条指令的下一个单元开始显示32个字节。 对指定范围内的存储单元进行反汇编,格式为: -Urange 例如: -u100 10c 18E4:0100 C70604023801 MOV WORD PTR0204,0138 18E4:0106 C70606020002 MOV WORD PTR0206,0200 18E4:010C C70606020202 MOV WORD PTR0208,0202 或 -u100 112 18E4:0100 C70604023801 MOV WORD PTR0204,0138 18E4:0106 C70606020002 MOV WORD PTR0206,0200 18E4:010C C70606020202 MOV WORD PTR0208,0202 可见这两种格式是等效的。 8)命名命令N(Name),其格式为: -N filespecs filespecs 命令把两个文件标识符格式化在CS:5CH和CS:6CH的两个文件控制块中,以便在其后用L或W命令把文件装入存盘。filespecs的格式可以是: d:path filename.ext 例如, -N myprog -L -

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

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