版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、微机原理与接口技术实验报告学院:计算机与通信工程学院专业:计算机科学与技术班级:学号:姓名:实验一 8259中断控制器应用实验一、实验目的1掌握pc机中断处理系统的基本原理。2.掌握可编程中断控制器 8259的应用编程方法。二、实验容1. PC机中断实验。使用单次脉冲模拟中断产生。验证中断处理程序,在显示器屏幕上显 示一行预设定的字符串。2. PC机中断嵌套实验。使用单次脉冲模拟两个中断源的中断产生,填写中断处理程序, 体会中断嵌套的过程。3扩展多中断源查询方式应用实验。利用实验平台上8259控制器作为中断扩展源,编写程序对8259控制器的中断请求进行处理。三、实验步骤1实验1-1 : PC机
2、中断应用实验(1)按接线图连好接线,调用程序源代码8259-1.asm,观察实验现象,屏幕显示结果截图如下:(2)自设计实验。改变接线方式,将单次脉冲连到USB核心板上的IRQ10插孔上,参考本实验代码,编程实现IRQ10中断。(注意:考虑PC机中断级联的方式,参看前面的原理说明) 代码如下:DATA SEGMENTMESS DB 'IRQ10 ',ODH,OAH, '$' DATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATASTART: MOV AX, CSMOV DS, AXMOV DX,OFFSET INT10MOV A
3、X,2572HINT 21HIN AL,21HAND AL,0F3HOUT 21H,ALIN AL,0A1HAND AL,0FBHOUT 0A1H,ALMOV CX,10STIWAIT:JMP WAITINT10:MOV AX, DATAMOV DS, AXMOV DX, OFFSET MESSMOV AH, 09INT 21HMOV AL, 20HOUT 20H, ALLOOP NEXTIN AL, 21HOR AL, 08HOUT 21H, ALSTIMOV AH, 4CHINT 21HNEXT:IRET;设置IRQ10对应的中断向量;读取中断屏蔽寄存器;开放IRQ3中断和从片;从片的中断
4、屏蔽寄存器开放IRQ10中断;中断服务程序;在屏幕上显示每次中断的提示信息;发出EOI结束中断到PC主片的地址20H;读中断屏蔽寄存器,获取中断屏蔽字;关闭IRQ3中断;将中断屏蔽字送到中断屏蔽寄存器;置中断标志位返回DOS中断返回CODE ENDSEND START调用程序代码,观察实验现象,屏幕显示截图如下:2实验1-2 : PC机中断嵌套实验实验要求:(1)按接线图连好接线,调用程序源代码8259-2.asm,做如下操作,观察屏幕显示结果并分析产生该现象的原因:A 按下连接IRQ的单次脉冲按键,屏幕上会显示 10个3,在屏幕上10次显示未结束之前,按下连接IRQ10的单次脉冲按键,观察现
5、象;按下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 SEGMENTASSUME CS:CODE ,DS:DATA START:.386CLIMOV AX,C
6、S;采用间接修改法,设置中断向量 设置IRQ10对应的中断向量;采用间接修改法,设置中断向量设置IRQ3对应的中断向量MOV DS,AXMOV DX,OFFSET INT10MOV AX,2572HINT 21HMOV DX,OFFSET INT3MOV AX,250BHINT 21HIN AL,21HAND AL,0F3HOUT 21H,AL;读中断屏蔽寄存器,21H是该寄存器的端口号 ;开放中断,允许从片和 IRQ3IN AL,0A1HAND AL,OFBHOUT 0A1H,ALMOV CX,10STI;读中断屏蔽寄存器,;开放中断IRQ100A1H是该寄存器的端口;记中断循环次数为 10
7、次WAIT: 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 21HCALL DELAY1等待LOOP NEXT10_1MOV DX,0DHMOV AH,02HINT 21HMOV DX,0AHMOV AH,02HINT 21H;输出DL,'发出EOI结束中断到PC从片占
8、用的是OAOH端口;输出DL,发生中断后输出10MOV AL,20HOUT 0A0H,ALOUT 20H,ALPOPFDPOPADSTIIRETINT3: CLI;将中断屏敝字送到中断屏敝寄存器 从片主片关中断,出栈,返回;中断服务程序PUSHADPUSHFDMOV CX,10NEXT3_1:MOV DX,33HMOV AH,02HINT 21HMOV DX,20HMOV AH,02HINT 21HCALL DELAY1LOOP NEXT3_1MOV DX,0DHMOV AH,02HINT 21HMOV DX,0AHMOV AH,02HINT 21HMOV AL,20HOUT 20H,ALOU
9、T 0A0H,ALPOPFDPOPADSTIIRETDELAY1 PROCPUSHADPUSHFDMOV CX,0FHDELAY_LOOP1:MOV BX,0FFFFHDELAY_LOOP2:DEC BXNOPJNZ DELAY_LOOP2LOOP DELAY_LOOP1POPFDPOPAD;记中断循环次数为 10次输出DL;发出EOI结束中断到PC主片的地址输出DL, 3等待输出DL,'发出EOI结束中断到PC从片占用的是;发生中断输出DL,10;将中断屏蔽字送到中断屏蔽寄存器;出栈,关中断,返回;控制等待部分20H0A0H 端口RETDELAY1 ENDPCODE ENDS8259
10、工作原理填END START3实验1-3 :扩展多中断应用实验调用程序源码文件 8259-3.asm,在程序源代码中划横线的位置,请按照所学 写并验证,然后将所填容写在实验报告中,并分析所填数据的形成原理。屏幕截图:程序代码及与案例说明:*;8259中断查询方式应用实验;请根据所学原理推断横线处需填写的源代码*18259_1EQU2B0H;8259的ICW1端口地址18259_2EQU2B1H;8259的ICW2端口地址I8259_3中EQU2B1H;8259的ICW3端口地址,ICW3,ICW4,OCW1都写入奇地址中18259_4EQU2B1H;8259的ICW4端口地址O8259_1EQ
11、U2B1H;8259的OCW1端口地址O8259_2EQU2B0H;8259的OCW2端口地址,OCW2,OCW3写入偶地址O8259_3EQU2B0H;8259的OCW3端口地址DATA SEGMENTMES1 DB 'YOU CAN PLAY A KEY ON THE KEYBOARD!',ODH, 0AH, 24HMES2 DD MES1MESS1 DB 'HELLO! THIS IS INTERRUPT*0*!',0DH,0AH,'$'MESS2 DB 'HELLO! THIS IS INTERRUPTMESS3 DB '
12、HELLO! THIS IS INTERRUPTMESS4 DB 'HELLO! THIS IS INTERRUPTMESS5 DB 'HELLO! THIS IS INTERRUPTMESS6 DB 'HELLO! THIS IS INTERRUPTMESS7 DB 'HELLO! THIS IS INTERRUPTMESS8 DB 'HELLO! THIS IS INTERRUPT* 1*!',0DH,0AH,'$'* 2*!',0DH,0AH,'$'* 3*!',0DH,0AH,'$&
13、#39;* 4*!',0DH,0AH,'$'* 5*!',0DH,0AH,'$'* 6*!',0DH,0AH,'$'* 7*!',0DH,0AH,'$'DATA ENDSSTACKS SEGMENTDB100 DUPSTACKS ENDSSTACK1 SEGMENT STACKDW 256 DUPSTACK1 ENDSCODE SEGMENTASSUME CS:CODE, DS:DATA, SS:STACKS, ES:DATA.386START: MOV AX,DATAMOV DS, AXMOV E
14、S, AXMOV AX, STACKSMOV SS, AXMOV DX, I8259_1MOV AL, 13HOUT DX,AL;初始化8259的ICW1;边沿触发、单片8259、需要ICW4,查表得到控制字MOV DX,I8259_2MOV AL,0B0HOUT DX,ALMOV AL,03HOUT DX,ALMOV DX, O8259_1MOV AL, 000HOUT DX,AL;初始化8259的ICW2;初始化8259的中断屏蔽操作命令字;打开屏蔽位,将全部屏蔽位打开QUERY: MOV AH,1;判断是否有按键按下INT 16HJNZ QUITMOV DX,O8259_3MOV AL,
15、6CHOUT DX,ALIN AL,DXTEST AL,80HJZ QUERY;有按键则退出;向8259发送查询命令;01101100;读出查询字;判断中断是否已响应,响应后对应位置0;没有响应则继续查询AND AL,07HCMP AL,00HJE IR0ISR若为IR0请求,跳到IR0处理程序CMP AL,01HJE IR1ISR若为IR1请求,跳到IR1处理程序CMP AL,02HJE IR2ISR若为IR2请求,跳到IR2处理程序CMP AL,03HJE IR3ISR若为IR3请求,跳到IR3处理程序CMP AL,04HJE IR4ISR若为IR4请求,跳到IR4处理程序CMP AL,0
16、5HJE IR5ISR若为IR5请求,跳到IR5处理程序CMP AL,06HJE IR6ISR若为IR6请求,跳到IR6处理程序CMP AL,07HJE IR7ISR若为IR7请求,跳到IR7处理程序JMP QUERYIR0ISR: MOV AX,DATAMOV DS,AXMOV DX,OFFSET MESS1;显示提示信息MOV AH,09INT 21HJMP EOIIR1ISR: MOV AX,DATAMOV DS,AXMOV DX,OFFSET MESS2;显示提示信息MOV AH,09INT 21HJMP EOIIR2ISR: MOV AX,DATAMOV DS,AXMOV DX,OF
17、FSET MESS3MOV AH,09INT 21HJMP EOI;显示提示信息IR3ISR:MOV AX,DATAMOV DS,AXMOV DX,OFFSET MESS4MOV AH,09INT 21HJMP EOI;显示提示信息IR4ISR:MOV AX,DATAMOV DS,AXMOV DX,OFFSET MESS5MOV AH,09INT 21HJMP EOI;显示提示信息IR5ISR:MOV AX,DATAMOV DS,AXMOV DX,OFFSET MESS6MOV AH,09INT 21HJMP EOI;显示提示信息IR6ISR:MOV AX,DATAMOV DS,AXMOV D
18、X,OFFSET MESS7MOV AH,09INT 21HJMP EOI;显示提示信息IR7ISR:MOV AX,DATAMOV DS,AXEOI:MOV DX,OFFSET MESS8MOV AH,09INT 21H;显示提示信息MOV DX,O8259_2;向8259发送中断结束命令MOV AL, 20HOUT DX, ALJMP QUERY;00100000QUIT:MOV AX,4C00HINT 21H;结束程序退出CODE ENDSEND START实验二8254定时/计数器应用实验、实验目的1. 掌握8254的工作方式及应用编程。2. 掌握8254典型应用电路的接法。 、实验容1
19、 计数应用实验。应用 8254的计数功能,用开关模拟计数,使每当按照计数初值的次数按动单次脉冲后,观察 LED的变化。2.自设计实验。参考实验一的程序,编写程序,以1MHz为时钟源,应用8254的定时功能,将其分频为1Hz。以LED灯作为输出显示。三、实验步骤1.实验2-1 :计数器应用实验 程序代码填补:IO8254_MODE EQU 283H IO8254_COUNTO EQU 280H;8254控制寄存器端口地址;8254计数器0端口地址STACK1 SEGMENT STACKDW 256 DUPSTACK1 ENDSCODE SEGMENTASSUME CS:CODESTART: MO
20、V DX, IO8254_MODEMOV AL,16HOUT DX, ALMOV DX, IO8254_COUNT0MOV AL,04HOUT DX,AL;初始化8254工作方式;计数器0,方式3,填入控制字:00010110;装入计数初值;初值为4,04HMOV AX,4C00H;返回到 DOSINT 21HCODE ENDSEND START此时按两次后灯亮,再按两次后灯灭。如果令计数器0工作在方式0,其实验现象为:按五次后灯变亮,之后不在熄灭。2.实验2-2 :自设计实验实验要求:参考实验一的程序和接线,自行设计接线图以及程序代码,实现,以1MHz为时钟源,应用8254的定时功能,将其分
21、频为 1Hz。以LED灯作为输出显示。使用计数器0和计数器1两个计数器,设置其均工作于方式3,计数初值为1000,通过两个计数器级联,1000*1000=109 达到分频的目的。程序代码如下:IO8254_MODEEQU283H;8254控制寄存器端口地址IO8254_COUNT0EQU280H;8254计数器0端口地址IO8254_COUNT1EQU281H;8254计数器1端口地址STACK1 SEGMENT STACKDW 256 DUPSTACK1 ENDSCODE SEGMENTASSUME CS:CODESTART: MOV DX, IO8254_MODE;初始化 8254 工作方
22、式MOV AL,37H;计数器 0,方式 300110111MOV 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 1000B=03E8HMOV AL,03HOUT DX
23、,ALMOV AL,AHOUT DX,AL;返回到DOSMOV AX,4C00HINT 21HCODE ENDSEND START接线图如下:GATE1 GATECCLKO单次昧沖DO_IORiowAOAl 系统总线单元UT0DO8254荷单元呦WROUT1A0I/O地址单元2BOHN287H实验三8255并口控制器应用实验一、实验目的1. 掌握8255的工作方式及应用编程。2. 掌握8255典型应用电路的接法。二、实验容1. 基本输入输出实验。编写程序,自行设定A、B、C三个口中某一个口为输入,某一个为输出,完成拨动开关到数据灯的数据传输。要求只要开关拨动,数据灯的显示就改变。2. 自设计实
24、验。自行设计能实现A 口工作在方式一输入,B 口工作在方式一输出的电路并完成程序的编制和在实验箱上的验证,要求,利用控制信号控制数据的输入。三、实验步骤1实验3-1 :可编程并行接口8255方式0应用实验编写程序,自行设定 A、B、C三个口中某一个口为输入,某一个为输出,完成拨动开关到数据 灯的数据传输。要求只要开关拨动,数据灯的显示就改变。根据原理补全代码中缺失的部分, 根据自己的设计,补全接线图,并将代码和对应的接线图写在实验报告中。说明:运行源程序 8255.asm,按接线图接线,实现并行数据传输功能。 设定B 口为输入,接到开关上,A 口为输出接到LED灯上。程序源代码:IO8255_
25、MODEIO8255_AIO8255 BEQU 28BHEQU 288HEQU 289H108255 CEQU 28AHCODE SEGMENTASSUME CS: CODESTART: MOV DX, IO8255_MODE;8255 初始化MOV AL, 90HOUT DX, ALINOUT: MOV DX, IO8255_BIN AL,DXMOV DX,IO8255_AOUT DX,ALMOV DL,OFFHMOV AH, 06HINT 21HJZ INOUTMOV AH,4CHINT 21H;B 口输入,A 口输出 10010000;读入数据;输出数据;判断是否有按键;若无,则继续;否
26、则返回CODE ENDSEND START接线图如下:系统总线单元rstDTDOI0R丽A0Al1/0地址单兀288H'28FHL7LEDtad *ft不输出)逻辑电 平开黄 備入)2实验3-2 :自设计试验自行设计完成本实验,要求,8255A 口工作在方式一输入,B 口工作在方式一输出,利用方式一的控制信号,使数据从输入到输出人为可控。在实验报告中画出接线图,并说明设计的原理,给出对应的程序代码。PC2和PC4,将PC2和PC4分别接到高低电平,控制 A输程序源代码:IO8255_MODEEQU28BHIO8255_AEQU288HIO8255_BEQU289HIO8255 CEQU28AH实现方案:方式一的控制信号即为 入,观察B输出的改变。CODE SEGMENTASSUME CS: CODESTART: MOV DX, IO8255_MODE;8255初始化MOV AL, 0B4H;A 口方式一输入,B 口方式一输出,10110100OUT DX, ALINOUT: MOV DX, IO8255_A;读入数据IN AL,DXMO
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理课件制作工具及介绍
- 护理微创新:跨学科合作模式
- 呼吸道疾病的口腔预防
- 护理质量改进工具与方法
- 护理工作压力与心理健康
- 《照亮你我他》教学课件-2025-2026学年苏少版(新教材)小学美术二年级下册
- 零售业循环经济模式副总经理面试要点
- 集成电路封装行业分析报告
- 快消品行业销售运营主管面试要点
- 基于机器学习的在线教育质量评估系统研究报告
- 2024全国高中数学联赛试题及答案
- 梯笼安装施工方案
- 中小学寒假安全教育主题班会课件
- PICC置管技术及管路维护
- DL∕T 5783-2019 水电水利地下工程地质超前预报技术规程
- JJG 631-2013 氨氮自动监测仪
- 《电工电子技术与技能》课程标准
- 新视野大学英语(第四版)读写教程1(思政智慧版) 课件 Unit 4 Social media matters Section A
- 新型花篮式悬挑架专项施工方案
- 《卖油翁》公开课教学一等奖课件
- 优质课一等奖初中家庭教育《青少年成才优秀家庭教育案例》
评论
0/150
提交评论