ImageVerifierCode 换一换
格式:DOC , 页数:11 ,大小:328.09KB ,
资源ID:8925547      下载积分:10 金币
验证码下载
登录下载
邮箱/手机:
图形码:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

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

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

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请。


权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4009-655-100;投诉/维权电话:18658249818。

注意事项

本文(实验五 基本IO扩展与8259中断实验.doc)为本站上传会员【s4****5z】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

实验五 基本IO扩展与8259中断实验.doc

1、实验五 基本 IO 口扩展与8259中断实验 一、实验目的 1. 了解 TTL 芯片扩展简单 I/O 口的方法; 2. 掌握数据输入输出程序编制的方法。 3. 掌握 8259A 中断控制器的工作原理; 4. 掌握 8259A 可编程中断控制器的应用编程。 二、实验设备 1. PC 机一台 2. QTH-8086B 16 位微机教学实验仪一套 三、实验说明 1. 74LS244 是一种三态输出的8总线缓冲驱动器,无锁存功能,当 G 为低电平时,Ai 信号传送到Yi,当为高电平时,Yi 处于禁止高阻状态。 2. 8259A中断控制器 中断控制是微机系统的主

2、要管理方式之一,也是处理器与外设之间通信的最有效方法之一。它可 74LS273 是一种 8D 触发器,当 CLR 为高电平且 CLK 端电平正跳变时,D0——D7 端数据被锁存到8D 触发器中。 以减少系统为反复查询外部设备状态而消耗的时间,提高了系统的整体运行效率。在现代 16 位微机 系统中,系统的中断有两类:软件中断和硬件中断。硬件中断可以实现微机系统对外设的管理,由 8259 中断控制器来完成。 (1)8259 控制器的介绍 中断控制器 8259A 是 Intel 公司专为控制优先级中断而设计开发的芯片。它将中断源优先级排队、 辨别中断源以及提供中断矢量的电路

3、集于一片中,因此无需附加任何电路,只需对 8259A 进行编程, 就可以管理 8 级中断,并选择优先模式和中断请求方式,即中断结构可以由用户编程来设定。同时, 在不需增加其它电路的情况下,通过多片 8259A 的级连,能构成多达 64 级的矢量中断系统。它的管 理功能包括:①记录各级中断源请求,②判别优先级,确定是否响应和响应哪一级中断,③响应中断 时,向 CPU 传送中断类型号。8259A 的内部结构和引脚如图 3-2-1 所示。 8259A 的命令共有 7 个,一类是初始化命令字,另一类是操作命令。8259A 的编程就是根据应用 需要将初始化命令字 ICW1~ICW4 和操作命

4、令字 OCW1~OCW3 分别写入初始化命令寄存器组和操作命令寄 存器组。ICW1-ICW4 各命令字格式如图 3-2-2 所示,OCW1-OCW3 各命令字格式如图 3-2-3 所示,其中 OCW1 用于设置中断屏蔽操作字,OCW2 用语设置优先级循环方式和中断结束方式的操作命令字,OCW3 用语设置和撤消特殊屏蔽方式,设置中断查询方式以及设置对 8259 内部寄存器的读出命令。 10 QTH-*086B 实验系统说明书 图 2 8259 内部结构和引脚图 A0 D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 * 1 LT

5、IM ADI S*GL I*4 8086/88 不用 8*86/88 不用 特征位 0:边沿触发 无效 0:单片使用 0:不需要 ICW4 1:电平触发 1:多片级联 图 3 (a) ICW1 格式 A0 D7 *6 D5 D4 D3 D* *1 D0 1 中断类型高 5 位 8086/88 不用 图 3 (b) ICW2 格式 A0 D7 D6 *5 ** D3 *2 D1 D0 1 S* *6 S5 *4 S* S* *1 S0 主片 A0 D7 D* D5 D4 D* D2 D1

6、D0 1 不可用 *D2 ID1 ID0 从片 图 3 (c) *CW3 格式 A0 D* D6 D5 D4 D3 D2 D1 D0 1 0 0 0 SFN* B*F */S AEOI UPM 图 3 (d) ICW4 格式 11 QTH-808*B 实验系统说明书 图4 8259 命令字格式 (2) 8259 寄存器及命令的控制访问 在硬件系统中,8259 仅占用两个外设接口地址,在片选有效的情况下,利用 A0 来寻址不同的寄 存器和命令字。对寄存器和命令字的访问控制如表 3-1 所示。 表 3-1 8259 寄

7、存器及命令的访问控制 A0 D4 D3 读信号 写信号 片 选 操 作 0 * 1 0 读出 *SR,IR* 的内容 1 0 1 0 读出 IMR 的内容 * 0 0 1 0 0 写入 OCW* 0 0 1 1 0 0 写入 *CW3 0 1 X 1 0 0 写入 ICW1 1 X X 1 0 0 写入 OCW1,ICW2,ICW3,I**4 (3) PC 微机系统中 8259A 的应用 在现代 PC 微机系统中,系统中包含了两片 82*9A 中断控制器,经级连可以管理 16 级硬件中断, 其中部分

8、中断源已经被系统硬件占用,具体使用情况如表 3-2 示。两片 8259A 的端口地址为:主片 在 020H-03FH,实际使用 020H 和 021H 两个端口;从片在 0A0H-0BFH 范围,实际使用 0A0H 和 0A1H 两 个端口。 *2 QTH-8086B 实验系统说明书 表 3-2 PC 微机系统中的硬件中断 中 断 源 功 能 中断向量号 中 断 源 功 能 中断向量号 主 8259A IRQ0 定时中断 08* 主 8259A IR*8 实时钟 *0H 主 8259A IRQ1 键盘中断 09H 主 825*A IRQ9 保

9、留 7*H 主 *259A IRQ2 接从 8259A 0AH 主 8259A *RQ1* 保留 72H 主 8259A I*Q3 *OM2 0BH 主 825*A IRQ11 保留 73H 主 *259A IR*4 *OM* *CH 主 8*5*A **Q12 保留 74H 主 *259* I**5 硬盘/并口 2 中断 0*H 主 82*9* IRQ1* 写处理中断 75H 主 8*59A IRQ6 软盘 0E* 主 8**9A IRQ1* 硬盘控制器 76H 主 82*9A IRQ7 打印机 **H 主 *259A I

10、RQ15 保留 *7H 四、实验原理图 图 1 7LS244 与 74LS273 扩展 I/O 口原理图 五、实验内容 1. 利用 74LS244 作为输入口,读取开关状态,并将此状态通过 74LS27* 驱动发光二极管显示出来。 2. 用脉冲作为中断源,编写一实验程序,完成按键中断的响应,每产生一次按键中断,中断次数加1。通过并行接口芯片8255,将中断号和中断次数分别从8255的A口和B口送两排8个LED灯分别显示出来,拨动开关 KN09 观察数码管的变化;改变中断输入,观察显示变化。 六、实验步骤 1. 基本I/O扩展 (1) 实验

11、连线: 244 的 CS——MCU 主模块的地址 A15,Y7~Y0——开关 K01—K08。 273 的 CS——MCU 主模块的地址 A14,Q7~Q0——发光二极管 L1—L8。 该模块的 WR、RD 分别连到 MCU 主模块的 WR、RD。 该模块的数据(AD0~AD7)连到 MCU 主模块的数据(AD0~AD7)。 (2) 运行程序:IO.ASM (3) 拨动开关,观察发光二极管的变化 2. 8259中断实验 (1)实验连线: n 8259 模块选通线 CS 连到 MCU 主模块的地址 A14。 n 8259 模块的 WR、RD 分别连到 MCU 主模块的 W

12、R、RD。 n 8259 模块的数据(AD0~AD7)、地址线(A0~A7)分别连到 MCU 主模块的数据(AD0~AD7)、地址线(A0~A7)。 n 8259 模块的 INTA 接 MCU 主模块的的 INTA,INT 接 MCU 主模块的 INTR,IRx(指 IR0~IR7 中的任一个)接信号源模块的 1H。 n 8255 模块的 WR、RD 分别连到 MCU 主模块的 WR、RD。 n 8255 模块的数据(AD0~AD7)、地址线(A0~A7)分别连到 MCU 主模块的数据(AD0~AD7)、地址线(A0~A7)。 n 8255 模块选通线CE 连到 MCU 主模块的地址

13、 A15。 n 8255 模块的 A口PA0-PA7接发光二极管 L9—L16;B口PB0~PB7接发光二极管L1—L8。 (2) 运行程序:INTR.ASM。 七、实验报告要求: 1. 给程序未加注释的语句加上注释; 2. 分别写明两个实验中连线操作各步骤的目的和作用; 3. 改变与各芯片CS连接的地址线,端口地址做何修改? 4. 归纳总结LS244和LS273的作用及其编程方法; 4. 归纳总结中断编程步骤; 5. 总结比较I/O接口查询方式与中断方式的各自的特点。 七、源程序清单及其每句的注释 1、基本I/O扩展:IO.ASM LS244 EQU

14、 7000H ;定义LS244端口地址 LS273 EQU 0B000H ;定义LS273端口地址 DATA SEGMENT ;数据段 A DB 20 DUP(0) DATA ENDS STACK SEGMENT STACK ;堆栈段 DB 100 DUP(0) STACK ENDS CODE SEGMENT

15、 ;代码段 ASSUME CS:CODE, SS:STACK,DS:DATA ORG 0100H ;段程序的起始地址 MAIN: MOV AX, DATA MOV DS, AX ;设置数据段 MOV AX, STACK MOV SS,AX ;设置堆栈段 MOV SP,9000H MOV DX,LS244 ;LS244地址给DX,读取开关状态 I

16、N AL,DX ;输入开关状态到AL MOV DX,LS273 ;LS273地址给DX,读取二极管状态 OUT DX,AL ;AL内容送LED显示 JMP MAIN ;无条件跳转,循环MAIN CODE ENDS END MAIN 2. INTR.ASM ;数据线、地址线 ;8255读写信号接WR、RD,选通信号CE接A15,PA0-PA7接发光二极管 L16—L9; ;PB0~PB7接发光二极管L8—L1。 ;8259读写信号接WR、RD,

17、选通信号CS接A14,INTA接INTA,INT接INTR,IR0接脉 ;冲电路的上升沿用 A82590 EQU 0B000H ;设8259A,A0端口地址是0B000H A82591 EQU 0B001H ;设8259A,A1端口地址是0B001H A8255 EQU 7000H ;设8255A0端口地址是7000H B8255 EQU 7001H ;设8255B0端口地址是7001H C8255 EQU 7002H ;设8255C0端口地址是7002H D8

18、255 EQU 7003H ;设8255D0端口地址是7003H DATA SEGMENT ;数据段 NUM DB ? ;中断类型 为字节型 TIMES DB 0 ;设置中断次数初始值是0 DATA ENDS STACK SEGMENT STACK ;定义堆栈段 DB 40 DUP(0)

19、 ;堆栈段开40字节空间,初始化为0 STK_TP DB 0 ;栈顶指针地址赋值为0 STACK ENDS CODE SEGMENT ;定义代码段 ASSUME CS:CODE, DS:DATA, SS:STACK,ES:DATA ORG 0100H ;设置段程序的起始地址 MAIN: MOV AX, DATA ; MOV

20、 DS, AX ;设置数据段地址在DS中 MOV AX, STACK MOV SS,AX ;设置堆栈段地址在AX中 LEA SP, STK_TP ;设置栈顶指针地址 MOV DX, D8255 ;8255D控制端地址给DX MOV AL, 80H ;给AL送80H OUT DX, AL ;设置8255A、B、

21、C口,为基础输出 MOV AL, 0FFH; ;0FFH给AL MOV DX, A8255 ;8255A口端口地址存入DX OUT DX,AL ;AL中内容输出至8255A口 MOV AL,0FFH ;0FFH给AL MOV DX, B8255 ;8255B口端口地址存入DX OUT DX,AL

22、 ;AL中内容输出至8255B口 MOV DX,A82590 ;A0=0,8259A地址送入DX MOV AL,00010011B; ICW1为13H,上升沿触发,单片使用,要写ICW4 OUT DX,AL ;初始化ICW1 MOV DX,A82591 ;A0=1,8259A地址送入DX MOV AL,01001000B ;ICW2为48H,提供中断类型号初始值 OUT DX,AL ;初始化ICW2 MOV AL,0000001

23、1B;ICW4,非缓冲方式,自动EOI,一般完全嵌套 OUT DX,AL ;初始化ICW4 MOV DX,A82590 ;A0=0,8259A端口地址送入DX MOV AL,00001010B ;OCW3下一个读指令读出中断号 OUT DX, AL ;读入OCW3 NOP ;静止一个指令周期 NEXT: ;读中断类型的子程序

24、 IN AL, DX ;读中断号IRX到AL CMP AL, 00H ;比较AL和00H JZ NEXT ;AL等于0,转移到NEXT ;INC TIMES ;TIMES自增1 MOV CL, 0FFH ;0FFH送入CL NEXT1: ;建立中断类型表格的子程序 INC CL

25、 ;CL自增1 SHR AL,1 ;AL右移一位 JNC NEXT1 ;没有进位,则跳转到NEXT1 MOV NUM,CL ;CL中内容送给NUM MOV AL,CL ;CL内容送给AL MOV AH,00H ;高八位清零 ADD AL,48H ;ICW2是48H,中断类型号送给AL MOV CX,0004H

26、 MUL CX ;AX乘以CX中内容,送给AX MOV BX,AX ;IRQ0--48H*4+0=0120中断 MOV AX,OFFSET IIRQ ;中断入口地址偏移量 MOV [BX],AX INC BX INC BX MOV AX,SEG IIRQ ;代码段地址给AX MOV [BX],AX MOV DX,A82590 ;A0=0,8259A端口地址送给DX MAIN1: STI ;

27、开中断 JMP MAIN1 ;无条件跳转到MAIN1 HLT IIRQ PROC PUSH DX ;DX推入堆栈 INC TIMES ;TIMES自增1 MOV AL,TIMES ;中断次数 NOT AL ;AL内容取反 MOV DX, B8255 ;读取8255B端口地址 OUT D

28、X, AL ;输出 MOV AL,NUM ;中断号 NOT AL ;AL取反 MOV DX, A8255 ;读取8255A端口地址 OUT DX, AL ;8255A端口地址内容给AL INC CX ;CX自增1 MOV DX, A82590 ; MOV AL, 20H ;O

29、CW2,非特殊EOI命令,有效中断请求级别为0 OUT DX, AL CLI ;关中断 POP DX IRET IIRQ ENDP CODE ENDS END MAIN 八. 实验结果 1. 基本I/O扩展: 连接好电路并做好程序调试工作后,拨动开关,开关K01~K08分别对应发光二极管L1~L8,当开关处于低电平状态时二极管亮,不同开关独立控制不同二极管。 (1) 改变开关控制状态,即由原来的低电平灯亮变成高电平灯亮,为实现这一想法,只要用NOT语句将AL内容取反,改变后程序如下

30、 MAIN: MOV AX, DATA MOV DS, AX MOV AX, STACK MOV SS,AX MOV SP,9000H MOV DX,LS244 IN AL,DX NOT AL ;用NOT将AL取反 MOV DX,LS273 OUT DX,AL JMP MAIN (2

31、如下改变LS244和LS273端口地址: LS244 EQU 7000H LS273 EQU 0B000H LS244 EQU 4000H LS273 EQU 8000H 改变之后重新运行程序,发现没有影响,原因是: LS244:原来端口地址7000H,高八位为01110000B,4000H的高八位为01000000B,控制244的片选端A14=1没有变 LS273:原来端口地址0B000H,高八位为10110000B, 8000H的高八位为

32、10000000B, 控制273的片选端A14=0没有变 因此改变端口地址也可以正常工作。 2.8259中断实验: 连接好电路并做好程序调试工作后,拨动开关,发光二极管L8~L1的亮暗显示中断次数的二进制数,发光二极管L16~L9显示中断类型的二进制数。 如接IR3,中断次数为6次,则灯亮灭情况如下(○表示灯暗,●表示灯亮) ○○○○○●●○ (中断次数6次110B) ○○○○○○●● (中断类型) 如接IR5,中断次数为19次,则灯亮灭情况如下(○表示灯暗,●表示灯亮) ○○○●○○●● (中断次数19次10011B) ○○○○○●○●

33、 (中断类型) 九. 思考题 1. 给程序未加注释的语句加上注释; 答:已注释。 2 归纳总结LS244和LS273的作用及其编程方法; 答:74LS244主要用于三态输出,作为地址驱动器、时钟驱动器、总线驱动器和定向发送器等; 74LS273是一种带清除功能的8D触发器, 1D~8D为数据输入端,1Q~8Q为数据输出端,正脉冲触发, 低电平清除,常用作数据锁存器,地址锁存器: D0~D7:输入入;Q0~Q7:输出 第一脚WR:主清除端,低电平触发,即当为低电平时,芯片被清除,输出全为0(低电平); CP(CLK):触发端,上升沿触发,即当CP从

34、低到高电平时,D0~D7的数据通过芯片,为0时将数据锁存, D0~D7的数据不变。 3.归纳总结中断编程步骤; 答:(1)实验连线(2) 运行程序:INTR.ASM。 4. 总结比较I/O接口查询方式与中断方式的各自的特点 答:I/O接口查询方式:接口电路简单,CPU利用率低; 中断方式:CPU利用率高,中断服务需要保护断点和恢复断点。 十. 实验总结 通过两个实验,自己根据线路图或线路提示步骤一步一步地连接好线,然后通过计算机软件及事先编写好的程序代码执行程序,使用微机器件实现了基本I/O扩展和8259中断,最终实现了实验结果。 在实验过程中,通过连接线路和实现电路,对电路的器件及其作用有了更多的了解,对微机的认识也更深了。 指导教师批阅意见: 成绩评定: 预习情况(20) 实验过程(35) 实验报告(45) 总分 指导教师签字: 年 月 日

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服