大连理工大学计算机原理第四次实验概要1.docxVIP

大连理工大学计算机原理第四次实验概要1.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
大连理工大学计算机原理第四次实验概要1

 PAGE \* MERGEFORMAT 9 大连理工大学 本科实验报告 课程名称: 计算机原理实验 学院(系):信息与通信工程学院 专 业: 通信工程 班 级: 电通1402 学 号: 201483051 学生姓名: 糜智华 2016 年 12 月 19 日 实验(四)名称:3.1.2 8255实验(一)、3.3.3 中断实验(一) 实验目的: (1)掌握8255方式0的工作原理及初始化编程方法,利用8255A实现输入、输出操作。 (2)学习、掌握386EX集成调试软件的调试过程中的“单步”、“断点”和“全速运行”的方法。 (3)了解386EX系统的CPU芯片的中断结构和编程原理。 (4)学习编写中断的初始化编程和对应的中断服务程序编程。 实验要求: (1)利用8255的PA口做输入,将8个开关(K7~K0)的电平信号读入CPU,CPU再通过PB口将其电平信号在8个LED(L7~L0)上显示。 (2)使用单脉冲,与386EX模块CPU内部IRQ5的端口(实验台总线开放区的MIR5)连接。设计一个计数器,每按三次单脉冲对计数器进行一次加一操作,并利用8255A的PA口,经L7~LED0显示器以二进制的形式输出。 编程算法与说明: 利用8255A与LED7~LED0连接做显示,单脉冲与试验台总线区的MIR5连接,选择8255A的片选地址为200H。 首先关中断,设定8255A工作于模式0,且PA为输出。 然后设置386EX主8259中断屏蔽字,开放IR5中断。 再设置中断向量表,AX指向中断程序入口地址,并计算中断向量表地址,向ISR地址装入向量单元,然后开中断,等待中断。 最后定义中断服务子程序,初始定义计数器计数变量count为0,每按两次单脉冲count加一。除count外,还需定义中间计数变量count1,每发出单脉冲一次,count1加一,当发出单脉冲的次数达到两次时,count1清零,同时count加1,结果通过8255A与LED以二进制形式显示。 实验中相关模块的连接逻辑图(实验电路图): 五、程序流程图: count1==2? Y count+1→count 0→count1 0→count1 六、程序清单: .Model small .386 data segment count db 00h count1 db 00h i8255_a equ 200h i8255_k equ 203h data ends code segment assume cs:code, ds:data start:cli ;关中断 mov ax, data mov ds, ax mov es, ax mov dx, i8255_k mov al, 80h ;输出8255控制字 out dx, al ;8255为输出模式0,PA为输出 mov al, count mov dx, i8255_a out dx, al ;设置386EX主8259中断屏蔽字 in al, 21h and al ;开放IR5中断 out 21h, al ;设置中断向量表 push DS mov ax, 0 mov ds, ax LEA AX, CS:INT_PROC ;AX指向中断程序入口地址 mov si, 35H ;类型码=35H add SI, si add si, si MOV ds:[si], AX ;中断向量表的IP值 PUSH CS POP AX MOV ds:[SI+2], AX ;中断向量表的CS值(=0000H) POP DS STI ;开中断 ;等待中断 LLL: nop JMP lll ;等待中断 ;中断服务子程序 INT_PROC PROC far push ax push cx QUERY: inc count1 cmp count1, 02h jnz ab inc count mov count1, 0 ab: mov al, count mov dx, i8255_a out dx, al MOV AL, 20H ;发送中断结束命令(向386EX主8255) OUT 20h, AL pop ax pop cx sti IRET INT_PROC ENDP CODE ENDS END START 七、实验结果: 在实验箱手动输入单脉冲,每输入两次脉冲,LED所表示的二进??数加

文档评论(0)

yaocen + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档