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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

微机原理与接口技术 实验报告.docx

1、微机原理与接口技术 实验报告微机原理与接口技术实验报告学院:计算机与通信工程学院专业:计算机科学与技术班级:学号:姓名: 实验一 8259中断控制器应用实验一、实验目的 1.掌握PC机中断处理系统的基本原理。 2. 掌握可编程中断控制器8259的应用编程方法。 二、实验内容 1PC机内中断实验。使用单次脉冲模拟中断产生。验证中断处理程序,在显示器屏幕上显示一行预设定的字符串。 2PC机内中断嵌套实验。使用单次脉冲模拟两个中断源的中断产生,填写中断处理程序,体会中断嵌套的过程。 3扩展多中断源查询方式应用实验。利用实验平台上8259控制器作为中断扩展源,编写程序对8259控制器的中断请求进行处理

2、。三、实验步骤 1.实验1-1:PC机内中断应用实验(1)按接线图连好接线,调用程序源代码8259-1.asm,观察实验现象,屏幕显示结果截图如下:(2)自设计实验。改变接线方式,将单次脉冲连到USB核心板上的IRQ10插孔上,参考本实验代码,编程实现IRQ10中断。(注意:考虑PC机内中断级联的方式,参看前面的原理说明),代码如下:DATA SEGMENT MESS DB IRQ10 ,0DH,0AH, $DATA ENDSCODE SEGMENT ASSUME CS:CODE, DS:DATASTART: MOV AX, CS MOV DS, AX MOV DX,OFFSET INT10

3、MOV AX,2572H ;设置IRQ10对应的中断向量 INT 21H IN AL,21H ;读取中断屏蔽寄存器 AND AL,0F3H ;开放IRQ3中断和从片 OUT 21H,AL IN AL,0A1H ;从片的中断屏蔽寄存器 AND AL,0FBH ;开放IRQ10中断 OUT 0A1H,AL MOV CX,10 STIWAIT: JMP WAITINT10: MOV AX, DATA ;中断服务程序 MOV DS, AX MOV DX, OFFSET MESS MOV AH, 09 ;在屏幕上显示每次中断的提示信息 INT 21H MOV AL, 20H ; 发出EOI结束中断到PC

4、内主片的地址20H OUT 20H, AL LOOP NEXT IN AL, 21H ;读中断屏蔽寄存器,获取中断屏蔽字 OR AL, 08H ;关闭IRQ3中断 OUT 21H, AL ;将中断屏蔽字送到中断屏蔽寄存器 STI ;置中断标志位 MOV AH, 4CH ;返回DOS INT 21HNEXT: IRET ;中断返回CODE ENDS END START调用程序代码,观察实验现象,屏幕显示截图如下: 2.实验1-2:PC机内中断嵌套实验 实验要求: (1)按接线图连好接线,调用程序源代码8259-2.asm,做如下操作,观察屏幕显示结果并分析产生该现象的原因: A 按下连接IRQ的

5、单次脉冲按键,屏幕上会显示10个3,在屏幕上10次显示未结束之前,按下连接IRQ10的单次脉冲按键,观察现象;按下IRQ时屏幕上会显示10个3,此时按下IRQ10,会直接在屏幕上显示10个10,然后结束后再显示剩余的3B 按下连接IRQ10的单次脉冲按键,屏幕上会显示10个10,在屏幕上10次显示未结束之前,按下连接IRQ3的单次脉冲按键,观察现象。 在屏幕上显示10个10的过程中按下IRQ无反应,等到10个10全部显示完毕后才再显示10个3出现这种现象的原因是IRQ10的中断优先级高于IRQ3 屏幕截图:(2)程序所有代码及注释:DATA SEGMENTDATA ENDSCODE SEGME

6、NT ASSUME CS:CODE ,DS:DATASTART: .386 CLI MOV AX,CS MOV DS,AX MOV DX,OFFSET INT10 ;采用间接修改法,设置中断向量 MOV AX,2572H ;设置IRQ10对应的中断向量 INT 21H MOV DX,OFFSET INT3 ;采用间接修改法,设置中断向量 MOV AX,250BH ;设置IRQ3对应的中断向量 INT 21H IN AL,21H ;读中断屏蔽寄存器,21H是该寄存器的端口号 AND AL,0F3H ;开放中断,允许从片和IRQ3 OUT 21H,AL IN AL,0A1H ;读中断屏蔽寄存器,0

7、A1H是该寄存器的端口 AND AL,0FBH ;开放中断IRQ10 OUT 0A1H,AL MOV CX,10 ;记中断循环次数为10次 STIWAIT: JMP WAITINT10: CLI ;中断服务程序 PUSHAD PUSHFD MOV CX,10 ;记中断循环次数为10次NEXT10_1: MOV DX,31H MOV AH,02H ;输出DL INT 21H MOV DX,30H MOV AH,02H ;输出DL INT 21H MOV DX,20H ;发出EOI结束中断到PC内主片的地址20H MOV AH,02H ;输出DL,3 INT 21H CALL DELAY1 ;等待

8、 LOOP NEXT10_1 MOV DX,0DH MOV AH,02H ;输出DL, INT 21H MOV DX,0AH ;发出EOI结束中断到PC内从片占用的是0A0H端口 MOV AH,02H ;输出DL,发生中断后输出10 INT 21H MOV AL,20H ;将中断屏蔽字送到中断屏蔽寄存器 OUT 0A0H,AL ;从片 OUT 20H,AL ;主片 POPFD ;关中断,出栈,返回 POPAD STI IRETINT3: CLI ;中断服务程序 PUSHAD PUSHFD MOV CX,10 ;记中断循环次数为10次NEXT3_1: MOV DX,33H MOV AH,02H

9、;输出DL INT 21H MOV DX,20H ;发出EOI结束中断到PC内主片的地址20H MOV AH,02H ;输出DL,3 INT 21H CALL DELAY1 ;等待 LOOP NEXT3_1 MOV DX,0DH MOV AH,02H ;输出DL, INT 21H MOV DX,0AH ;发出EOI结束中断到PC内从片占用的是0A0H端口 MOV AH,02H ;发生中断输出DL,10 INT 21H MOV AL,20H OUT 20H,AL ;将中断屏蔽字送到中断屏蔽寄存器 OUT 0A0H,AL POPFD ;出栈,关中断,返回 POPAD STI IRETDELAY1

10、PROC ;控制等待部分 PUSHAD PUSHFD MOV CX,0FHDELAY_LOOP1: MOV BX,0FFFFHDELAY_LOOP2: DEC BX NOP JNZ DELAY_LOOP2 LOOP DELAY_LOOP1 POPFD POPAD RETDELAY1 ENDPCODE ENDS END START 3.实验1-3:扩展多中断应用实验调用程序源码文件8259-3.asm,在程序源代码中划横线的位置,请按照所学8259工作原理填写并验证,然后将所填内容写在实验报告中,并分析所填数据的形成原理。屏幕截图:程序代码及与案例说明:;*; 8259中断查询方式应用实验;请根

11、据所学原理推断横线处需填写的源代码;*I8259_1 EQU 2B0H ; 8259的ICW1端口地址I8259_2 EQU 2B1H ; 8259的ICW2端口地址I8259_3 EQU 2B1H ; 8259的ICW3端口地址,ICW3,ICW4,OCW1都写入奇地址中I8259_4 EQU 2B1H ; 8259的ICW4端口地址O8259_1 EQU 2B1H ; 8259的OCW1端口地址O8259_2 EQU 2B0H ; 8259的OCW2端口地址,OCW2,OCW3写入偶地址O8259_3 EQU 2B0H ; 8259的OCW3端口地址DATA SEGMENT MES1 DB

12、 YOU CAN PLAY A KEY ON THE KEYBOARD!,0DH, 0AH, 24H MES2 DD MES1 MESS1 DB HELLO! THIS IS INTERRUPT * 0 *!,0DH,0AH,$ MESS2 DB HELLO! THIS IS INTERRUPT * 1 *!,0DH,0AH,$ MESS3 DB HELLO! THIS IS INTERRUPT * 2 *!,0DH,0AH,$ MESS4 DB HELLO! THIS IS INTERRUPT * 3 *!,0DH,0AH,$ MESS5 DB HELLO! THIS IS INTERRUP

13、T * 4 *!,0DH,0AH,$ MESS6 DB HELLO! THIS IS INTERRUPT * 5 *!,0DH,0AH,$ MESS7 DB HELLO! THIS IS INTERRUPT * 6 *!,0DH,0AH,$ MESS8 DB HELLO! THIS IS INTERRUPT * 7 *!,0DH,0AH,$DATA ENDSSTACKS SEGMENT DB 100 DUP(?)STACKS ENDSSTACK1 SEGMENT STACK DW 256 DUP(?)STACK1 ENDSCODE SEGMENT ASSUME CS:CODE, DS:DATA

14、, SS:STACKS, ES:DATA.386START: MOV AX,DATA MOV DS, AX MOV ES, AX MOV AX, STACKS MOV SS, AX MOV DX, I8259_1 ;初始化8259的ICW1 MOV AL, 13H ;边沿触发、单片8259、需要ICW4,查表得到控制字 OUT DX,AL MOV DX,I8259_2 ;初始化8259的ICW2 MOV AL,0B0H OUT DX,AL MOV AL,03H OUT DX,AL MOV DX, O8259_1 ;初始化8259的中断屏蔽操作命令字 MOV AL, 000H ;打开屏蔽位,将全

15、部屏蔽位打开 OUT DX,AL QUERY: MOV AH,1 ;判断是否有按键按下 INT 16H JNZ QUIT ;有按键则退出 MOV DX,O8259_3 ;向8259发送查询命令 MOV AL,6CH ;01101100 OUT DX,AL IN AL,DX ;读出查询字 TEST AL,80H ;判断中断是否已响应,响应后对应位置0 JZ QUERY ;没有响应则继续查询 AND AL,07H CMP AL,00H JE IR0ISR ;若为IR0请求,跳到IR0处理程序 CMP AL,01H JE IR1ISR ;若为IR1请求,跳到IR1处理程序 CMP AL,02H JE

16、 IR2ISR ;若为IR2请求,跳到IR2处理程序 CMP AL,03H JE IR3ISR ;若为IR3请求,跳到IR3处理程序 CMP AL,04H JE IR4ISR ;若为IR4请求,跳到IR4处理程序 CMP AL,05H JE IR5ISR ;若为IR5请求,跳到IR5处理程序 CMP AL,06H JE IR6ISR ;若为IR6请求,跳到IR6处理程序 CMP AL,07H JE IR7ISR ;若为IR7请求,跳到IR7处理程序 JMP QUERYIR0ISR: MOV AX,DATA MOV DS,AX MOV DX,OFFSET MESS1 ;显示提示信息 MOV AH

17、,09 INT 21H JMP EOIIR1ISR: MOV AX,DATA MOV DS,AX MOV DX,OFFSET MESS2 ;显示提示信息 MOV AH,09 INT 21H JMP EOIIR2ISR: MOV AX,DATA MOV DS,AX MOV DX,OFFSET MESS3 ;显示提示信息 MOV AH,09 INT 21H JMP EOIIR3ISR: MOV AX,DATA MOV DS,AX MOV DX,OFFSET MESS4 ;显示提示信息 MOV AH,09 INT 21H JMP EOIIR4ISR: MOV AX,DATA MOV DS,AX MO

18、V DX,OFFSET MESS5 ;显示提示信息 MOV AH,09 INT 21H JMP EOIIR5ISR: MOV AX,DATA MOV DS,AX MOV DX,OFFSET MESS6 ;显示提示信息 MOV AH,09 INT 21H JMP EOIIR6ISR: MOV AX,DATA MOV DS,AX MOV DX,OFFSET MESS7 ;显示提示信息 MOV AH,09 INT 21H JMP EOIIR7ISR: MOV AX,DATA MOV DS,AX MOV DX,OFFSET MESS8 ;显示提示信息 MOV AH,09 INT 21HEOI: MOV

19、 DX,O8259_2 ;向8259发送中断结束命令 MOV AL, 20H ;00100000 OUT DX, AL JMP QUERYQUIT: MOV AX,4C00H ;结束程序退出 INT 21HCODE ENDS END START实验二 8254定时/计数器应用实验一、实验目的 1. 掌握 8254 的工作方式及应用编程。 2. 掌握 8254 典型应用电路的接法。 二、实验内容 1计数应用实验。应用8254的计数功能,用开关模拟计数,使每当按照计数初值的次数按动单次脉冲后,观察LED的变化。 2. 自设计实验。参考实验一的程序, 编写程序,以1MHz为时钟源,应用8254的定时

20、功能,将其分频为1Hz。以LED灯作为输出显示。三、实验步骤 1.实验2-1:计数器应用实验程序代码填补:IO8254_MODE EQU 283H ;8254控制寄存器端口地址IO8254_COUNT0 EQU 280H ;8254计数器0端口地址 STACK1 SEGMENT STACK DW 256 DUP(?)STACK1 ENDSCODE SEGMENT ASSUME CS:CODESTART: MOV DX, IO8254_MODE ;初始化8254工作方式 MOV AL,16H ;计数器0,方式3,填入控制字:00010110 OUT DX, AL MOV DX, IO8254_C

21、OUNT0 ;装入计数初值 MOV AL,04H ;初值为4,04H OUT DX,AL MOV AX,4C00H ;返回到DOS INT 21H CODE ENDS END START此时按两次后灯亮,再按两次后灯灭。如果令计数器0工作在方式0,其实验现象为:按五次后灯变亮,之后不在熄灭。 2.实验2-2:自设计实验 实验要求: 参考实验一的程序和接线,自行设计接线图以及程序代码,实现,以1MHz为时钟源,应用8254的定时功能,将其分频为1Hz。以LED灯作为输出显示。使用计数器0和计数器1两个计数器,设置其均工作于方式3,计数初值为1000,通过两个计数器级联,1000*1000=106

22、达到分频的目的。程序代码如下:IO8254_MODE EQU 283H ;8254控制寄存器端口地址IO8254_COUNT0 EQU 280H ;8254计数器0端口地址IO8254_COUNT1 EQU 281H ;8254计数器1端口地址 STACK1 SEGMENT STACK DW 256 DUP(?)STACK1 ENDSCODE SEGMENT ASSUME CS:CODESTART: MOV DX, IO8254_MODE ;初始化8254工作方式 MOV AL,37H ;计数器0,方式3 00110111 MOV DX,IO8254_COUNT0 ;装入计数初值 MOV AX

23、,03E8H ;1000D=0000 0011 1110 1000B=03E8H MOV AL,03H OUT DX,AL MOV AL,AH OUT DX,AL MOV DX, IO8254_MODE ;初始化8254工作方式 MOV AL,76H ;计数器1, 方式3 01110110 OUT DX, AL MOV DX,IO8254_COUNT1 ;装入计数初值 MOV AX,03E8H ;1000D=0000 0011 1110 1000B=03E8H MOV AL,03H OUT DX,AL MOV AL,AH OUT DX,AL MOV AX,4C00H ;返回到DOS INT 2

24、1HCODE ENDS END START接线图如下:实验三 8255并口控制器应用实验一、实验目的 1. 掌握 8255 的工作方式及应用编程。2. 掌握 8255 典型应用电路的接法。 二、实验内容 1. 基本输入输出实验。编写程序,自行设定A、B、C三个口中某一个口为输入,某一个为输出,完成拨动开关到数据灯的数据传输。要求只要开关拨动,数据灯的显示就改变。 2. 自设计实验。自行设计能实现A口工作在方式一输入,B口工作在方式一输出的电路并完成程序的编制和在实验箱上的验证,要求,利用控制信号控制数据的输入。三、实验步骤1.实验3-1:可编程并行接口8255方式0应用实验编写程序,自行设定A

25、、B、C三个口中某一个口为输入,某一个为输出,完成拨动开关到数据灯的数据传输。要求只要开关拨动,数据灯的显示就改变。根据原理补全代码中缺失的部分,根据自己的设计,补全接线图,并将代码和对应的接线图写在实验报告中。 说明:运行源程序8255.asm,按接线图接线,实现并行数据传输功能。设定B口为输入,接到开关上,A口为输出接到LED灯上。程序源代码:IO8255_MODE EQU 28BHIO8255_A EQU 288HIO8255_B EQU 289HIO8255_C EQU 28AHCODE SEGMENT ASSUME CS: CODESTART: MOV DX, IO8255_MODE

26、 ;8255初始化 MOV AL, 90H ;B口输入,A口输出 10010000 OUT DX, ALINOUT: MOV DX, IO8255_B ;读入数据 IN AL,DX MOV DX,IO8255_A ;输出数据 OUT DX,AL MOV DL,0FFH ;判断是否有按键 MOV AH, 06H INT 21H JZ INOUT ;若无,则继续 MOV AH,4CH ;否则返回 INT 21HCODE ENDS END START接线图如下:2.实验3-2:自设计试验自行设计完成本实验,要求,8255A口工作在方式一输入,B口工作在方式一输出,利用方式一的控制信号,使数据从输入到

27、输出人为可控。在实验报告中画出接线图,并说明设计的原理,给出对应的程序代码。实现方案:方式一的控制信号即为PC2和PC4,将PC2和PC4分别接到高低电平,控制A输入,观察B输出的改变。程序源代码:IO8255_MODE EQU 28BHIO8255_A EQU 288HIO8255_B EQU 289HIO8255_C EQU 28AHCODE SEGMENT ASSUME CS: CODESTART: MOV DX, IO8255_MODE ;8255初始化 MOV AL, 0B4H ;A口方式一输入,B口方式一输出,10110100 OUT DX, ALINOUT: MOV DX, IO

28、8255_A ;读入数据 IN AL,DX MOV DX,IO8255_B ;输出数据 OUT DX,AL MOV DL,0FFH ;判断是否有按键 MOV AH, 06H INT 21H JZ INOUT ;若无,则继续 MOV AH,4CH ;否则返回 INT 21HCODE ENDS END START实验结果:只有PC4和PC2均为低电平时,改变A的输入,B才会有变化。实验四 8251串口控制器应用实验一、实验目的 (1)掌握8251的工作方式及应用。 (2)学习PC机串口的操作方法。 二、实验内容 与PC串口通讯应用实验。编写程序完成PC机串口与实验装置串口的通讯,由PC机串口1发数

29、,实验装置串口接收。3、实验步骤从键盘输入一个字符,将其ASCII码加 1 后发送出去,再接收回来在屏幕上显示,实现自发自收。 说明: 1)运行源程序8251.asm,按接线图接线,实现串行数据传输功能。 2)图示电路8251的控制口地址为2B9H,数据口地址为2B8H。 3)8254计数器的计数初值=时钟频率/(波特率波特率因子),这里的时钟频率接1MHz,波特率若选1200,波特率因子若选16,则计数器初值为52。 4)收发采用查询方式。屏幕显示结果截图:实验六 键盘扫描及显示实验(综合)一、实验目的 1. 学习按键扫描的原理及电路接法。 2. 掌握利用8255完成按键扫描及显示。 二、实验内容 1连接8255与键盘扫描单元,验证按键扫描功能,使得从4X4键盘上按下的键能够在数码管上一一对应显示。

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

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