版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、微机原理与接口技术实验报告学院:计算机与通信工程学院专业:计算机科学与技术班级:学号: 姓名:实验一 8259 中断控制器应用实验一、实验目的1. 掌握 PC 机中断处理系统的基本原理。2. 掌握可编程中断控制器 8259 的应用编程方法。二、实验内容1 PC机内中断实验。使用单次脉冲模拟中断产生。验证中断处理程序,在显示器屏幕上 显示一行预设定的字符串。2 PC 机内中断嵌套实验。使用单次脉冲模拟两个中断源的中断产生,填写中断处理程序, 体会中断嵌套的过程。3扩展多中断源查询方式应用实验。利用实验平台上8259 控制器作为中断扩展源,编写程序对 8259 控制器的中断请求进行处理。三、实验步
2、骤1. 实验 1-1 : PC机内中断应用实验(1)按接线图连好接线,调用程序源代码,观察实验现象,屏幕显示结果截图如下:(2)自设计实验。 改变接线方式, 将单次脉冲连到 USB核心板上的 IRQ10 插孔上,参考本 实验代码, 编程实现 IRQ10中断。(注意: 考虑 PC机内中断级联的方式, 参看前面的原理说明) 代码如下:DATA SEGMENTMESS DB 'IRQ10 ',0DH,0AH, '$'DATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATASTART: MOV AX, CSMOV DS, AXMOV DX
3、,OFFSET INT10MOV AX,2572H设置 IRQ10 对应的中断向量INT 21HIN AL,21H; 读取中断屏蔽寄存器AND AL,0F3H ;开放 IRQ3 中断和从片OUT 21H,ALIN AL,0A1H; 从片的中断屏蔽寄存器AND AL,0FBH ;开放 IRQ10 中断OUT 0A1H,ALMOV CX,10STIWAIT: JMP WAITINT10: MOV AX, DATA;中断服务程序MOV DS, AXMOV DX, OFFSET MESSMOV AH, 09;在屏幕上显示每次中断的提示信息INT 21HMOV AL, 20H ;发出 EOI 结束中断到
4、 PC内主片的地址 20HOUT 20H, ALLOOP NEXTIN AL, 21H;读中断屏蔽寄存器,获取中断屏蔽字OR AL, 08H ;关闭 IRQ3 中断OUT 21H, AL ;将中断屏蔽字送到中断屏蔽寄存器STI ;置中断标志位MOV AH, 4CH;返回 DOSINT 21HNEXT: IRET ; 中断返回CODE ENDSEND START调用程序代码,观察实验现象,屏幕显示截图如下:2. 实验 1-2 : PC机内中断嵌套实验实验要求: (1)按接线图连好接线,调用程序源代码,做如下操作,观察屏幕显示结果并分析产生该现象 的原因: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 SEG
6、MENTDATA ENDSCODE SEGMENTASSUME CS:CODE ,DS:DATASTART: .386CLIMOV AX,CSMOV DS,AXMOV DX,OFFSET INT10 ;采用间接修改法,设置中断向量MOV AX,2572H ;设置 IRQ10 对应的中断向量INT 21HMOV DX,OFFSET INT3 ;采用间接修改法,设置中断向量MOV AX,250BH ;设置 IRQ3 对应的中断向量INT 21HIN AL,21H ;读中断屏蔽寄存器, 21H 是该寄存器的端口号AND AL,0F3H ;开放中断,允许从片和 IRQ3OUT 21H,ALIN AL,
7、0A1H ;读中断屏蔽寄存器, 0A1H 是该寄存器的端口AND AL,0FBH ;开放中断 IRQ10OUT 0A1H,ALMOV CX,10 ;记中断循环次数为 10 次STIWAIT: JMP WAITINT10: CLI ;中断服务程序PUSHADPUSHFDMOV CX,10; 记中断循环次数为 10 次NEXT10_1:MOV DX,31HMOV AH,02H ;输出 DLINT 21HMOV DX,30HMOV AH,02H ;输出 DLINT 21HMOV DX,20H;发出 EOI 结束中断到 PC 内主片的地址 20HMOV AH,02H ;输出 DL,3INT 21HCA
8、LL DELAY1; 等待LOOP NEXT10_1MOV DX,0DHMOV AH,02H ;输出 DL, 'INT 21HMOV DX,0AH; 发出 EOI 结束中断到 PC 内从片占用的是 0A0H端口MOV AH,02H ;输出 DL,发生中断后输出 10INT 21HMOV AL,20H; 将中断屏蔽字送到中断屏蔽寄存器OUT 0A0H,AL; 从片OUT 20H,AL; 主片POPFD关中断,出栈,返回POPADSTIIRETINT3: CLI ;中断服务程序PUSHADPUSHFDMOV CX,10; 记中断循环次数为 10 次NEXT3_1:MOV DX,33HMOV
9、 AH,02H ;输出 DLINT 21HMOV DX,20H;发出 EOI 结束中断到 PC 内主片的地址 20HMOV AH,02H ;输出 DL, 3INT 21HCALL DELAY1; 等待LOOP NEXT3_1MOV DX,0DHMOV AH,02H ;输出 DL, 'INT 21HMOV DX,0AH;发出 EOI 结束中断到 PC内从片占用的是 0A0H端口MOV AH,02H ;发生中断输出 DL, 10INT 21HMOV AL,20HOUT 20H,AL ; 将中断屏蔽字送到中断屏蔽寄存器OUT 0A0H,ALPOPFD ; 出栈,关中断,返回POPADSTII
10、RETDELAY1 PROC ; 控制等待部分PUSHADPUSHFDMOV CX,0FHDELAY_LOOP1:MOV BX,0FFFFHDELAY_LOOP2:DEC BXNOPJNZ DELAY_LOOP2LOOP DELAY_LOOP1POPFDPOPADRETDELAY1 ENDPCODE ENDSEND START3. 实验 1-3 :扩展多中断应用实验8259 工作原理填写并验证,然调用程序源码文件,在程序源代码中划横线的位置,请按照所学后将所填内容写在实验报告中,并分析所填数据的形成原理。屏幕截图:程序代码及与案例说明:; 8259 中断查询方式应用实验; 请根据所学原理推断横
11、线处需填写的源代码I8259_1EQU2B0H; 8259的 ICW1 端口地址I8259_2EQU2B1H; 8259的 ICW2 端口地址I8259_3EQU2B1H; 8259的 ICW3 端口地址,ICW3,ICW4,OCW1都写入奇地址中I8259_4EQU2B1H; 8259的 ICW4 端口地址O8259_1EQU2B1H; 8259的 OCW1端口地址O8259_2EQU2B0H; 8259的 OCW2端口地址,OCW,2 OCW3写入偶地址O8259_3EQU2B0H; 8259的 OCW3端口地址DATA SEGMENTMES1 DB 'YOU CAN PLAY A
12、 KEY ON THE KEYBOARD!',0DH, 0AH, 24HMES2 DD MES1MESS1 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
13、 * 3 *!',0DH,0AH,'$'MESS5 DB 'HELLO! THIS IS INTERRUPT* 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,
14、9;$'DATA ENDSSTACKS SEGMENTDB 100 DUP(?)STACKS ENDSSTACK1 SEGMENT STACKDW 256 DUP(?)STACK1 ENDSCODE SEGMENTASSUME CS:CODE, DS:DATA, SS:STACKS, ES:DATA.386START: MOV AX,DATAMOV DS, AXMOV ES, AXMOV AX, STACKSMOV SS, AXMOV DX, I8259_1MOV AL, 13HOUT DX,AL初始化 8259 的 ICW1边沿触发、单片 8259、需要ICW4,查表得到控制字MOV
15、 DX,I8259_2初始化 8259 的 ICW2MOV AL,0B0HOUT DX,ALMOV AL,03HOUT DX,ALMOV DX, O8259_1 ;MOV AL, 000H ;OUT DX,ALQUERY: MOV AH,1;INT 16HJNZ QUIT ;MOV DX,O8259_3 ;MOV AL,6CH ;01101100OUT DX,ALIN AL,DX ;TEST AL,80H ;JZ QUERY ;AND AL,07H初始化 8259 的中断屏蔽操作命令字打开屏蔽位,将全部屏蔽位打开判断是否有按键按下有按键则退出向 8259 发送查询命令读出查询字判断中断是否已响
16、应,响应后对应位置 0没有响应则继续查询CMP AL,00HJE IR0ISR ; 若为 IR0 请求,跳到 IR0 处理程序CMP AL,01HJE IR1ISR;若为 IR1 请求,跳到 IR1 处理程序CMP AL,02HJE IR2ISR;若为 IR2 请求,跳到 IR2 处理程序CMP AL,03HJE IR3ISR ;CMP AL,04HJE IR4ISR;CMP AL,05HJE IR5ISR;CMP AL,06HJE IR6ISR;CMP AL,07HJE IR7ISR;JMP QUERYIR0ISR: MOV AX,DATAMOV DS,AXMOV DX,OFFSET MES
17、S1MOV AH,09INT 21HJMP EOIIR1ISR: MOV AX,DATAMOV DS,AXMOV DX,OFFSET MESS2MOV AH,09INT 21HJMP EOIIR2ISR: MOV AX,DATAMOV DS,AX若为 IR3 请求,跳到 IR3 处理程序若为 IR4 请求,跳到 IR4 处理程序若为 IR5 请求,跳到 IR5 处理程序若为 IR6 请求,跳到 IR6 处理程序若为 IR7 请求,跳到 IR7 处理程序显示提示信息显示提示信息MOV DX,OFFSET MESS3显示提示信息MOV AH,09INT 21HJMP EOIIR3ISR: MOV
18、AX,DATAMOV DS,AXMOV DX,OFFSET MESS4MOV AH,09INT 21HJMP EOIIR4ISR: MOV AX,DATAMOV DS,AXMOV DX,OFFSET MESS5MOV AH,09INT 21HJMP EOIIR5ISR: MOV AX,DATAMOV DS,AXMOV DX,OFFSET MESS6MOV AH,09INT 21HJMP EOIIR6ISR: MOV AX,DATAMOV DS,AXMOV DX,OFFSET MESS7MOV AH,09显示提示信息显示提示信息显示提示信息显示提示信息INT 21HJMP EOIIR7ISR:
19、MOV AX,DATAMOV DS,AXMOV DX,OFFSET MESS8 ; 显示提示信息MOV AH,09INT 21HEOI:MOV DX,O8259_2 ; 向 8259 发送中断结束命令MOV AL, 20H;00100000OUT DX, ALJMP QUERYQUIT: MOV AX,4C00H ; 结束程序退出INT 21HCODE ENDSEND START实验二 8254 定时/ 计数器应用实验一、实验目的1. 掌握 8254 的工作方式及应用编程。2. 掌握 8254 典型应用电路的接法。二、实验内容1 计数应用实验。应用 8254 的计数功能,用开关模拟计数,使每当
20、按照计数初值的次数 按动单次脉冲后,观察 LED的变化。2. 自设计实验。参考实验一的程序,编写程序,以 1MHz为时钟源,应用 8254 的定时功能,将其分频为三、实验步骤1. 实验 2-1 : 程序代码填补: IO8254_MODE EQU 283H IO8254_COUNT0 EQU 280HSTACK1 SEGMENT STACKDW 256 DUP(?)STACK1 ENDSCODE SEGMENTASSUME CS:CODESTART: MOV DX, IO8254_MODEMOV AL,16H ;OUT DX, ALMOV DX, IO8254_COUNT0MOV AL,04H
21、;OUT DX,ALMOV AX,4C00H ;INT 21H1Hz。以 LED灯作为输出显示。计数器应用实验;8254;8254控制寄存器端口地址 计数器 0 端口地址初始化 8254 工作方式计数器 0,方式 3,填入控制字装入计数初值初值为 4,04H返回到 DOS00010110CODE ENDSEND START此时按两次后灯亮,再按两次后灯灭。 如果令计数器 0工作在方式 0,其实验现象为:按五次后灯变亮,之后不在熄灭。2. 实验 2-2 :自设计实验实验要求:参考实验一的程序和接线, 自行设计接线图以及程序代码, 实现, 以 1MHz为时钟源, 应用 8254 的定时功能,将其分
22、频为 1Hz。以 LED灯作为输出显示。使用计数器 0 和计数器 1 两个计数器,设置其均工作于方式3,计数初值为 1000,通过两个计数器级联, 1000*1000=106 达到分频的目的。程序代码如下:IO8254_MODEEQU283H;8254控制寄存器端口地址IO8254_COUNT0EQU280H;8254计数器 0 端口地址IO8254_COUNT1EQU281H;8254计数器 1 端口地址STACK1 SEGMENT STACKDW 256 DUP(?)STACK1 ENDSCODE SEGMENTASSUME CS:CODESTART: MOV DX, IO8254_MOD
23、E ; 初始化 8254 工作方式MOV AL,37H; 计数器 0,方式 3 00110111MOV DX,IO8254_COUNT0; 装入计数初值MOV AX,03E8H ;1000D=0000 0011 1110 1000B=03E8HMOV AL,03HOUT DX,ALMOV AL,AHOUT DX,ALMOV DX, IO8254_MODE ; 初始化 8254 工作方式MOV AL,76H ; 计数器 1, 方式 3 01110110OUT DX, ALMOV DX,IO8254_COUNT1 ; 装入计数初值MOV AX,03E8H;1000D=0000 0011 1110
24、1000B=03E8HMOV AL,03HOUT DX,ALMOV AL,AHOUT DX,ALMOV AX,4C00H ; 返回到 DOSINT 21HCODE ENDSEND START接线图如下:实验三 8255 并口控制器应用实验一、实验目的1. 掌握 8255 的工作方式及应用编程。2. 掌握 8255 典型应用电路的接法。二、实验内容1. 基本输入输出实验。编写程序,自行设定A、B、C 三个口中某一个口为输入,某一个为输出,完成拨动开关到数据灯的数据传输。要求只要开关拨动,数据灯的显示就改变。2. 自设计实验。自行设计能实现 A 口工作在方式一输入, B 口工作在方式一输出的电路并
25、 完成程序的编制和在实验箱上的验证,要求,利用控制信号控制数据的输入。三、实验步骤1. 实验 3-1 :可编程并行接口 8255 方式 0 应用实验编写程序,自行设定 A、B、C 三个口中某一个口为输入,某一个为输出,完成拨动开关到数据 灯的数据传输。要求只要开关拨动,数据灯的显示就改变。根据原理补全代码中缺失的部分, 根据自己的设计,补全接线图,并将代码和对应的接线图写在实验报告中。说明:运行源程序,按接线图接线,实现并行数据传输功能。设定 B 口为输入,接到开关上, A 口为输出接到 LED灯上。程序源代码:IO8255_MODE EQU 28BHIO8255AEQU288HIO8255B
26、EQU289HIO8255CEQU28AHCODE SEGMENTASSUME CS: CODESTART: MOV DX, IO8255_MODE;8255 初始化MOV AL, 90H;B 口输入, A 口输出OUT DX, ALINOUT: MOV DX, IO8255_B ; 读入数据IN AL,DXMOV DX,IO8255_A ; 输出数据OUT DX,ALMOV DL,0FFH ; 判断是否有按键MOV AH, 06HINT 21HJZ INOUT ; 若无, 则继续MOV AH,4CH ; 否则返回INT 21HCODE ENDSEND START接线图如下:2. 实验 3-2
27、 :自设计试验自行设计完成本实验,要求, 8255A 口工作在方式一输入, B口工作在方式一输出,利用方式一 的控制信号,使数据从输入到输出人为可控。在实验报告中画出接线图,并说明设计的原理, 给出对应的程序代码。实现方案:方式一的控制信号即为PC2和 PC4,将 PC2和 PC4分别接到高低电平,控制 A 输入,观察 B 输出的改变。程序源代码:IO8255_MODE EQU 28BHIO8255AEQU288HIO8255BEQU289HIO8255CEQU28AHCODE SEGMENTASSUME CS: CODESTART: MOV DX, IO8255_MODE;8255 初始化MOV AL
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年大学大四(动物医学)动物疫病检疫检验综合测试题及答案
- 2026年内江卫生与健康职业学院单招职业倾向性测试题库及答案详解(真题汇编)
- 2026年博尔塔拉职业技术学院单招职业技能测试题库附参考答案详解ab卷
- 2025-2026学年静女诗经教案
- 2026年内蒙古机电职业技术学院单招综合素质考试题库带答案详解(典型题)
- 西安铁路职业技术学院专业实训企业运营模拟实践2024-2025学年第二学期期末试卷
- 山西机电职业技术学院《戒毒学》2024-2025学年第二学期期末试卷
- 阜阳职业技术学院《法语二外》2024-2025学年第二学期期末试卷
- 江苏大学《歌曲伴奏编配与弹唱Ⅰ》2024-2025学年第二学期期末试卷
- 河南应用技术职业学院《民族民间音乐概论》2024-2025学年第二学期期末试卷
- 五年级上册竖式计算练习题100道
- 个体商店消防安全管理制度
- 2025年中考数学试题分类汇编:平面直角坐标系与函数基础知识(7大考点35题) (第1期)原卷版
- 新解读《HY-T 056-2010海洋科学技术研究档案业务规范》
- 【《生鲜食品配送中心选址问题研究-以盒马鲜生为例》19000字(论文)】
- 幼儿园保育员培训内容
- 电梯维保服务方案(3篇)
- GB 18351-2025车用乙醇汽油
- 物理动画趣味教学课件
- 蓝豚医陪陪诊服务发展研究报告2025
- 2025至2030中国有机茶行业市场发展现状及发展趋势与投资方向报告
评论
0/150
提交评论