微机原理及接口实验_第1页
微机原理及接口实验_第2页
微机原理及接口实验_第3页
微机原理及接口实验_第4页
微机原理及接口实验_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1实验三(1) 8259 中断实验一、实验目的和要求1) 了解 PC 的中断结构及 8259 中断控制器的初始化。2) 熟悉 8259 中断控制器的工作原理和硬件连线方法。3) 了解 8259 的应用并利用 8255 驱动 8 路发光二极管来验证中断的实现。4) 练习 8259 中断的编程方法,熟悉四个初始化命令字和三个操作命令字的设置。5) 了解 8259 中断屏蔽,以及优先级判别等特性,了解 8259 的级联工作方式。二、实验内容1单片 8259 中断实验2编写中断实验程序,其中主程序使 8255 的 PB 口为输出口,输出 0FFH,L0-L7指示灯全亮。2编写中断服务程序从 PB 口输出 0FH,L0-L3 亮,L4-L7 灭,并延时一段时间后返回主程序。三、实验仪器、设备(软、硬件)及仪器使用说明 1硬件环境:PC 机一台 + 微机原理及接口实验箱一台2软件环境:1)微机在 Windows98 环境、Windows2000 环境、Windows XP 环境下均可以进行2)在 WindowsXP 环境下运行 SAC-86S 集成软件,编辑、运行汇编语言程序,并结合实验硬件来编辑、运行汇编语言程序。3说明:在实验平台上有两片 8259,单片 8259 中断实验只使用第一片 8259(左边一片) ,级联中断实验方式中使用第一片 8259 作为主片,第二片 8259(实验板上右边的一片)作为从片。微机原理及接口实验28259 实验模块电路如图 4-19 和图 4-20。四、实验原理18259A 的内部结构的三大部分(如图 4-21):1)总线及级联缓冲:数据总线缓冲器、读写控制逻辑、级联缓冲/比较器。2) 中断处理:中断请求寄存器 IRR、优先级比较分析器 PR、中断服务寄存器ISR 和中断屏蔽寄存器 IMR。IRR(Interrupt Request Register)功能是接收和处理从引脚 IR0IR7 进入的中断请求信号。并用来存放来自外设(中断源)的中断请求信号。PR(Priority Resolver)中断优先级分析判别器。是用来对多个中断请求(IRR 中的“i“位)进行优先级排队,选出最高优先级;判别新的最高优先级是否高于正在处理的中断级别;负责向 CPU 发送 INT 中断请求信号。ISR(Interrupt Service Register)中断服务寄存器。是用来记录当前正在处理中的中断级别,每当 CPU 为某个中断源服务时, ISR 中的相应位被置“1“ ,而不在服务的中断源相应 ISR 位为“0“ 。ISR 中每一位对应一个中断级别。IMR(Interrupt Maskable Register)中断屏蔽寄存器。用来存放 CPU 送来的屏蔽信号,当它的某一位或某几位为“1“时,则对应的中断请求就被屏蔽,即对该中断源的请求置之不理。3)中断控制部分:四个初始化命令寄存器和三个操作命令寄存器。四个初始化命令寄存器是用以存放四个初始化命令字ICW1、ICW2、ICW 3、ICW 4。初始化命令字是在对 8259A 初始化时设定的,一般在工作过程中就不再改变。三个操作命令字寄存器是用以存放三个操作命令字 OCW1、OCW 2、OCW3。操作命令字是用以实现对中断处理过程的控制,在系统运行过程中,是可以多次被改写其命令字,可以通过设置使中断控制器是以脉冲的上升沿触发或下降沿触发或高电平触及发而实现中断的。28259 功能:1)单片 8259 可管理 8 级优先级中断,最多通过 9 片 8259 级联可以管理 64 级优先级中断;2)8259 可对任一级中断源进行屏蔽或取消屏蔽;3)具有多种中断优先级管理方式;4)能够向 CPU 发出中断请求信号 INT 及中断类型码;5)接收 CPU 发来的中断响应信号实验中断服务子程序是用 8255 的 B 口输出高电平驱动 8 个 LED 灯显示;当响应中断时 8 位 LED 灯高 4 个灯灭;返回主程序时 8 个 LED 灯又全亮。3. 编程提示:8259 的编程首先要送入初始化命令字,然后送操作命令字使 8259 去完成一个具体的操作。初始化命令字通常有四个(ICW1、ICW2、ICW3、ICW4) ,操作命令字有三个(OCW1、OCW2、OCW3) 。1)8259 实验初始化地址说明:片选地址 A0 奇 偶 初始化地址X20 0 偶地址 X201 奇地址 X212)初始化命令字设置(1)ICW1 设置:对实验来说,I/O 地址为 20H(偶地址) ,设置 ICW1 必须 A0=“0”, D7 位 D6 位 D5 D4 D3 D2 D1 D0X X X 1 LTIM 0 SNGL ICW4D4=1 是 ICW1 的特征标志;D1=1 为单片工作;D3=0 表示中断是由低电平向高电平跳变的上升沿起作用;D0=1 表示后将设置 ICW4,于是单片 8259 工作的控制字为00010011=13H;(2)ICW2 设置(中断类型号基值):对实验来说,I/O 地址为 21H(奇地址) ,且设置 ICW2 时必须 A0=“1”D7 位 D6 位 D5 D4 D3 D2 D1 D0T7 T6 T5 T4 T3 0 0 0D0、D1、D2=0,IRQ0 的基值为 0 但中断类型号为8。D7、D6、D5、D4、D3=00001;于是 8259 的控制字 ICW2 为 00001000=08H, (3)ICW3 设置:只有级联时才设置 ICW3(ICW1 中的 D1=0 时表示有级联) 。(4)ICW4 设置:(只有在 ICW1 的 D0 位为“1”才设置 ICW4)D7 位 D6 位 D5 D4 D3 D2 D1 D00 0 0 SFNM BUF M/S AEOI UPMD7、D6、D5=0;D4 是嵌套方法设置,0 为正常,1 为特殊;D3=1 和 D2=0 是缓冲方式/从片,D3=1 和 D2=1 是缓冲方式/主片;D1=1 为中断自动结束,D1=0 为中断正常结束;D0=1 为 8088/8086 方式。我们设置为 ICW4=00001001B=09H(功能 = 缓冲、从片、与 8088 配合使用、非自动结束) 。3)操作命令字设置操作命令字决定着 8259 的中断方式(全嵌套、循环优先、特殊屏蔽、查询方式等)、管理中断的响应次序等。(1)OCW1 设置:用于设置屏蔽状态。其各位与 IMR 中断屏蔽位相对应。被屏蔽微机原理及接口实验4的中断请求不能被 8259 响应。设置计算时那一位为“1” ,对应的那一个中断被屏蔽。(2)OCW2 设置:用于设置工作方式和中断结束方式。D7 D6 D5 D4 D3 D2 D1 D0R SL EOI 0 0 L2 L1 L00=固定 SL=0 后 3L 无意义 0=自动结束 0 0 0 (0 级)1=循环 SL=1 后 3L 指明级别 1=结束中断 1 1 1 (7 级)D3、D4=00;D7、D6、D5 高 3 位组合起来指明一种工作方式和中断结束控制方式。SL 位为“1”时,后面 L1L1L0 组合将指明一个中断级。EOI 位为“0”时表明中断自动结束;EOI 位为“1”时表明不执行结束中断操作。OCW2 各种格式及应用。R、SL、EOI组合L2L1L0有无意义意义和应用000 无 完全嵌套方式,用于方式设置001 无 结束命令,用于完全嵌套方式的中断结束010 无 无意义,不用011 有 结束命令字,完全嵌套方式,清除 ISR 中的指定位100 无 自动循环排序方式,用于设置循环排序方式101 无 结束命令字,用于结束自动循环排序方式的中断110 有 指定最低级的循环方式,用于方式设置111 有 结束命令字,结束中断,指定新的最低级(3)OCW3 设置:用来设置用于管理特殊的屏蔽方式和查询方式。D7 D6 D5 D4 D3 D2 D1 D00 ESMM SMM 0 1 P RR RIS1=特殊 1=方式标志 01=特征标志 1=查询方式 10 或 11=读寄存器D4、D3=“01”是 OCW4 的特征标志。4电路说明:1)实验用单脉冲由箱上的正脉冲源加到 IR0 上2)实验电路中用 8259 实现中断,而采用 8255-PB 口方式 0 工作,输出一种状态,当响应中断后,8255PB 口输出另一种状态,从而验证中断的响应。五、实验方法与步骤1.实验准备1) 检查实验平台电源供电是否正常。2) 用通讯电缆将实验平台与实验微机连接好,上位机与实验平台通讯正常。3) 准备实验导线若干。2.单片中断实验连线1) 关闭实验箱电源,在系统模块上将 DIOCS 与 A3 短接(把跳线跳到 A3 端),原实验箱上短路线已接好可以省掉此步。2) 接着按照图 4-22 接上数据线、控制线、地址线:(1)将 8259 芯片的 D0-D7 接 8088 系统模块的数据线 D0-D7。(2) 将 8259 芯片的 CS1、CS2 接 8088 系统模块提供的片选信号引脚X20、X28。(3) 将 8259 芯片的 IOW、IOR 接 8088 系统模块的 I/O 读写信号引脚IOW、IOR。(4)将 8259 芯片的 INTR,INTA 接 8088 系统模块的 INTR,INTA。(5)将 8259 芯片的 A0 接 8088 系统模块的地址线 A0。(6)将 8259 芯片的 IR0 接单脉冲源的+PULSE。(7)将 8255 芯片的 D0-D7 接 8088 系统模块的数据线 D0-D7 上。(8)将 8255 芯片的 CS 接 8088 系统模块提供的片选信号引脚 X18。(9)将 8255 芯片的 IOW、IOR、RESET 接 8088 系统模块的引脚IOW、IOR、RESET。(10)将 8255 芯片的 A0、A1 接 8088 系统模块的地址线 A0、A1。(11)将 8255 芯片的 PB0-PB7 接电平输入输出模块的 L0-L7。3.实验过程及步骤1)实验箱上电,在实验微机“桌面”双击“ ”图标进入“SAC-86S”软件实验界面2)在实验界面的编辑窗口编辑实验用源程序 XXX.asm 文件,输入自己编写的实验用源程序并起名保存3)汇编源程序,排除语法错误后,生成 XXX.obj 文件。具体作法是在集成窗口中“编译”菜单中的“编译”项4)连接目标文件 XXX.obj,生成 XXX.exe 文件。作法是在集成窗口中“编译”菜单中的“编译连接”项5)下载 XXX.exe 文件到实验箱上的存储器中。作法是在集成窗口中“编译”微机原理及接口实验6菜单中的“编译下载”项(或点击“ ”图标) ,在集成窗口的状态栏中可以看到下载的进度表,下载成功后则 变红6)单步执行程序,观察运行结果。作法是在集成窗口中“调试”菜单中的“单步执行”命令,每一步都可以观察各寄存器的值的变化,从而可以确定程序的运行情况,直到结果实现。若程序逻辑有错误,再回到第 2)步再做遍。7)自动执行程序,实时观察运行结果。作法是在集成窗口中“调试”菜单中的“全速运行”命令,直到结果实现。*4实验提供的参考程序检查硬件连接的正确性(1)选择菜单中的“文件”“打开“C:SAC-86SASM8259D.asm (2)选择菜单中的“设置”“端口设置”,确定串行口 COM1 和波特率9600,点击“开始进行测试” , 开始测试串行口是否正常(这步可以省略)(3)选择 “编译”菜单中的“编译下载” (或点击“ ”图标) ,在任务栏上可看到传送进度条,传送成功则“ ” 变红(4)选择中的“调试”菜单中的“全速运行” (或点击“ ”图标)(5)L0-L7 指示灯全亮,(6)按单脉冲按钮申请中断一次,L0-L3 保持亮而 L4-L7 灭,延时一段时间后又恢复亮。说明 8088 响应了一次中断。(7)选择中的“调试”菜单中的“单步执行”命令一步一步查看程序程序运行是否正确,若程序逻辑有错误,再回到第(3)步再做遍。(8)第(7)步成功后选择中的“调试”菜单中的“全速运行” (或点击“”图标)全速运行: L0-L7 指示灯全亮,按单脉冲按钮申请中断一次,L0-L3 保持亮而 L4-L7 灭,延时一段时间后又恢复亮。说明 8088 响应了一次中断。六、实验报告: 1)叙述中断程序的设计思想,打印自编的中断源程序并在程序旁边画上流程图;2)叙述程序运行实验箱上指示的结果(或自己修改显示语句后的结果) 。3)描述调试中遇到的问题及解决办法。七、实验注意事项1编程时设置初始化命令的次序不能搞乱,应是 ICW1、ICW2、ICW3、ICW4 的顺序。2连接硬件时要关断实验箱电源。八、参考资料1实验参考程序8259D.ASM(8259(单片)中断实验)INT0 EQU 220HINT1 EQU 221HINT10 EQU 228HINT11 EQU 229HSTACK SEGMENTDB 50 DUP(?)STACK ENDSCODE SEGMENTASSUME CS:CODE,SS:STACKSTART:CLIMOV AX,0000H ;SET IRQ0MOV DS,AXMOV AX,OFFSET IRQ0ADD AX,0000HMOV SI,20HMOV SI,AXMOV AX,8100HMOV SI,22HMOV SI,AXMOV AL,13H ;ICW1MOV DX,INT0OUT DX,ALMOV AL,8 ;ICW2MOV DX,INT1OUT DX,ALMOV CX,0FFFHLOOP $MOV AL,9 ;ICW4MOV DX,INT1OUT DX,ALMOV CX,0FFFHLOOP $MOV DX,INT1MOV AL,0FEH ;OCW1OUT DX,ALMOV CX,0FFFHLOOP $MOV DX,INT0MOV AL,20H ;微机原理及接口实验8OUT DX,ALMOV CX,0FFFHLOOP $MOV AL,13H ;ICW1MOV DX,INT10OUT DX,ALMOV AL,8 ;ICW2MOV DX,INT11OUT DX,ALMOV CX,0FFFHLOOP $MOV AL,9 ;ICW4MOV DX,INT11OUT DX,ALMOV CX,0FFFHLOOP $MOV DX,INT11MOV AL,0FFH ;OCW1OUT DX,ALMOV CX,0FFFHLOOP $MOV DX,INT10MOV AL,20H ;OUT DX,ALMOV CX,0FFFHLOOP $STIMOV DX,21BH ;8255 初始化为方式 0,A 口输入,B口输出MOV AL,90H ;8255 控制字OUT DX,ALDSP: MOV AL,0FFHMOV DX,219H ;B 口输出全“1” ,灯全亮OUT DX,ALJMP DSPIRQ0: STI ;中断服务子程序MOV CX,0FFFFHLOOP $MOV AL,0FHMOV DX,219H ;B 口输出“0F” ,灯高 4 位灭,低4 位亮OUT DX,ALMOV DX,INT0MOV AL,20H ;撤销正在服务的中断级别别标志OUT DX,AL ;00100000 使 ISR 寄存器对应位复位MOV CX,0FFFFH ;延时LOOP $MOV CX,0FFFFH ;延时LOOP $IRETCODE ENDSEND START2实验结果描述线路正确连接后,输入源程序,汇编、连接、下载成功后,连续执行,8 个 LED灯全

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论