- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机原理与汇编语言_实验5_8259中断控制器实验
微机原理与汇编语言
实验报告
姓 名 学 号 专业班级 课程名称 实验日期 实验名称 8259 成 绩 实验目的
18259A的工作原理。
2、掌握编写中断服务程序方法。
3、掌握初始化中断向量的方法。
二、实验内容
1、实验原理I/O口扩展电路和8259中断控制器电路。
电平开关电路
简单io扩展电路
8259中断控制器电路
1)电平开关电路
开关量输入电路由8只开关组成,每只开关有两个位置H和L,一个位置代表高电平,一个位置代表低电平。对应的插孔是:K1~K8。
2)扩展输出口
扩展输出接口由74LS273构成,74LS273的输出信号由插孔O0~O7输出,插孔CS273是其选通信号,其它信号线已接好。
3)8259中断控制电路
CS8259是8259芯片的片选插孔,IR0~IR7是8259的中断申请输入插孔。DDBUS是系统8位数据总线。INT插孔是8259向8086CPU的中断申请线,INTA是8086的中断应答信号。
2、实验步骤
CS0(CS8259 CS1(CS273 O0~O7(LED1~LED8 K1~K8(IR0~IR7 INT(INTR INTA(QINTA
CS0 片选信号,地址04A0~04AF 偶地址有效
CS1 片选信号,地址04B0~04BF 偶地址有效
CS2 片选信号,地址04C0~04CF 偶地址有效
CS3 片选信号,地址04D0~04DF 偶地址有效
CS4 片选信号,地址04E0~04EF 偶地址有效
CS5 片选信号,地址04F0~04FF 偶地址有效
CS6 片选信号,地址0000~01FF 偶地址有效
CS7 片选信号,地址0200~03FF 偶地址有效
关于偶地址有效
当8259片选连接CS0时,因访问端口时地址位A0的值必须为1,由A1地址位来区分两个端口吗, 因此,偶地址:04A0,04A4… 奇地址:04A2,04A6…
2)编译调试程序
3)全速运行程序,拨动某一电平开关,观察LED的亮灭情况。
3、实验结果
assume cs:code
code segment public
org 100h
start:
;中断系统未初始化,先关中断
Cli
;8259初始化
mov dx,04a0h
mov ax,13h ;ICW1, ICW4 NEEDED
out dx,ax
mov dx,04a2h
mov ax,80h ;ICW2 中断类型80h
out dx,ax
mov ax,03H
out dx,ax ;ICW4
mov ax,00h ;OCW1, 开放所有中断
out dx,ax
;安装中断向量
mov ax,0
mov ds,ax ;中断向量表位于内存最开始的1KB,段地址为0
mov si,200h ;初始化中断向量表,80H*4=200H
mov ax,offset hint
mov ds:[si],ax
add si,2
mov ds:[si],100h ;代码段的内存起始地址为01100H,代码段段地址0100H
mov cx,0 ;指示灯输出
mov ax,0 ;中断标识
sti
waiting:
cmp ax,55h
jne waiting ;没发生中断,则等待
mov dx,04b0h ;273端口地址
xor cx,0ffh
mov ax,cx
out dx,ax ;LED灯亮暗交替
mov ax,0
jmp waiting
;中断服务程序
hint: mov ax,55h
iret
code ends
end start
注意;中断向量的安装不能使用DOS功能调用
实验
通过本次实验,我掌握了8259A的工作原理,掌握编写中断服务程序方法,以及初始化中断向量的方法
8086的中断系统是向量中断方式。内存中特定位置有一中断向量表,表内存有不同中断类型的中断向量(中断入口地址)。不同中断类型的中断向量在表内有对应的偏移地址,其计算方法是:中断类型*4, 中断类型由8259通过数据总线送给8086,8086内部电路会将该类型值自动乘4,而后赋给指令指针,从而转向中断向量表的相应单元取得中断入口地址
文档评论(0)