资源预览内容
第1页 / 共16页
第2页 / 共16页
第3页 / 共16页
第4页 / 共16页
第5页 / 共16页
第6页 / 共16页
第7页 / 共16页
第8页 / 共16页
第9页 / 共16页
第10页 / 共16页
亲,该文档总共16页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
计算机硬件课程设计报告计算机硬件技术课程设计实践报告 学院: 自动化工程学院 班级: 2010032班 姓名: 刘慧彬 学号: 20101503 2013年1月一、设计题目:硬件类题目(11)2人一组:计数器实验(连线查看实验十九)。本次实验的主要内容是:本系统中已设计有一片8259A中断控制芯片,工作于主片方式,8个中断请求输入端IR0IR7对应的中断号为8F。根据实验原理图,8259A和8088系统总线直接相连,8259A 上连有一系统地址线A0,故8259A 有2 个端口地址, 本系统中为20H、21H。 20H 用来写ICW1, 21H 用来写ICW2、ICW3、ICW4,初始化命令字写好后, 再写操作命令字。OCW2、OCW3 用口地址20H,OCW1用口地址21H。使用了3号中断源,IRQ3插孔和SP插孔相连,中断方式为边沿触发方式,每按一次AN按钮产生一次中断信号,向8259A发出中断请求信号。如果中断源电平信号不符合规定要求则自动转到7号中断,显示Err。CPU响应中断后,在中断服务程序中,对中断次数进行计数并显示,计数值按八位十进制循环显示。二、实验目的:通过本项课程设计,对计算机硬件技术课程中涉及的芯片结构、控制原理、硬件编程等方面有一定的感性认识和实践操作能力,更好的理解计算机硬件技术课程中讲述的基本原理和概念。1.掌握8259A中断控制器的接口方法。2.掌握8259A中断控制器的应用编程。三、实验设计方案以及论证:1.8259的内部结构:根据设计要求,要实现一个全功能的8259A中断控制器,其控制逻辑部分非常复杂。8259A的内部结构由8个部分组成:数据总线缓冲器,读/写控制逻辑电路,级联缓冲器/比较器,中断请求寄存器IRR,中断屏蔽寄存器IMR,中断服务寄存器ISR,优先权电路PR。8259的内部结构图如图1所示。 图1 8259A逻辑内部框图数据总线缓冲器:是双向三态的,用以连接系统总线和8259A内部总线, 通过它可以由CPU对8259A写入状态字和控制字。读写控制逻辑电路:用来接受I/O命令,对初始化命令和操作命令字寄存器进行写入,以确定8259A的工作方式和控制方式。级联缓冲器/比较器:用于多片8259A的连接,能构成多达64级的矢量中断系统。中断请求寄存器IRR:寄存所有要求服务的请求IR0IR7。中断屏蔽寄存器IMR:存放被屏蔽的中断请求,该寄存器的每一位表示一个中断号, 该位为1,屏蔽该号中断,否则开放该号中断。中断服务寄存器ISR:寄存正在被服务的中断请求。优先权电路PR:逻辑部件根据IRR中置“1”的各位的优先级,选出其中优先级最高的位,如果其优先级比正在中断服务的中断优先级高,则将此中断送往CPU,并在脉冲到来时选通对应位送入ISR寄存器。2.8259A的编程及初始化:(1) 写初始化命令字:1)写初始化命令字ICW1(控制初始化命令字,写入偶地址),以确定中断请求信号类型,清除中断屏蔽寄存器,中断优先级排队和确定系统用单片还是多片。中断优先级排队和确定系统用单片还是多片。2)写初始化命令字ICW2(设置中断类型号,写入奇地址),以定义中断向量的高五位类型码。ICW2 的高5 位确定中断类型码的高5位,低3位的值取决于引入中断的引腿序号,与IR0IR7 相对应。3)写初始化命令字ICW3(用于主、从级联的命令字,写入奇地址),以定义主片8259A中断请求线上IR0IR7有无级联的8259A片。 指定级联方式下的主片哪个中断请求输入引脚接有从片;或指定从片的INT 输出接主片的哪个中断请求输入引脚。4)写初始化命令ICW4(方式控制初始化命令字,写奇地址),用来定义8259A工作时用8085模式,还是8088模式,以及中断服务寄存器复位方式等。(2) 写控制命令字:1)写操作命令字0CW1(设置/取消中断屏蔽,写奇地址),用来设置或清除对中断源的屏蔽。当OCW1中某一位为1时,对应的中断请求IRi受到屏蔽。2) 操作命令字OCW2(设置优先级循环方式和中断结束方式),设置优先级是否进行循环、循环方式及中断结束方式。3) 操作命令字OCW3(设置特殊屏蔽方式;设置中断查询方式;读8259A内部寄存器)。3.实验操作:(1)硬件连线:单级中断区8259A的IRQ3插孔和SP插孔相连。SP插孔初始电平为低电平。(2)软件操作:1)双击桌面dv88.exe,在实验系统实验选择框内可以选择不同的实验项目,本次实验是计数器的实验,所以选择计数器,在框的右边可以查看实验的目的、内容、原理和位置等,了解实验的所有知识。2)单击新建,出现程序编辑界面,编辑本次实验的程序并保存,保存路径为C:/DVCC,保存的文件名为英文或数字,不可以包含中文。3)然后按键盘显示控制模块白色键盘区的右上角的复位键“Reset”,位于键盘区上面的数码管显示“dvcc-86H”。4)单击联接、编译、调试,如果编译的过程中没有出现错误或警告,则继续进行下一步,否则找出错误并改正,直到不出现错误。5)在没错误和警告的前提下,单击运行,并进行相关操作,查看实验结果。6)长按PC键盘ESC键3秒钟,实验箱上按键盘显示控制区的复位键Reset,直到数码管显示“dvcc-86H”,退出运行。 最后经过我们的实践,完成了对8259计数器的论证。四、硬件原理图: 图2 硬件原理图五、程序流程图: 图3 主程序流程图 图4 8259控制器流程图六、程序清单: CODE SEGMENTASSUME CS:CODEINTPORT1 EQU 0020H ;8259A端口地址INTPORT2 EQU 0021H INTQ3 EQU INTERUPT3 ;IRQ3服务程序INTQ7 EQU INTERUPT7 ;IRQ7服务程序CONTPORT EQU 00DFH ;8255A控制口DATAPORT EQU 00DEH ;数据口DATA0 EQU 0580HDATA1 EQU 0500HDATA2 EQU 0508HDATA3 EQU 0518H ;指向显示8255-1显示模区DATA4 EQU 0520HDATA5 EQU 0521H ORG 1800HSTART: JMP TINT1 TINT1: CALL FORMAT ;Format为显示模型库 CLD ;清除方向标志 MOV DI,DATA0 ;0580H058FH清零 MOV CX,08H XOR AX,AX ;AX清0 REP STOSW ;AX=0存到ES:DI中 MOV SI,DATA3 ;建立显示8259基地址 CALL LEDDISP MOV AX,0H ;数据段初始化 MOV DS,AX CALL WRINTVER MOV AL,13H ;00010011B MOV DX,INTPORT1 OUT DX,AL ;设置控制字ICW1(20H) MOV AL,08H ;00001000B MOV DX,INTPORT2 OUT DX,AL ;设置控制字ICW2(21H) MOV AL,09H ;00001001B OUT DX,AL ;设置控制字ICW4(21H) MOV AL,0F7H ;11110111B OUT DX,AL ;设置操作数OCW1(21H)(开放IRQ3) STI ;开中断WATING: JMP WATING ;等待中断WRINTVER: MOV AX,0H ;中断主程序设置,用指令设置中断服 MOV ES,AX ;务程序的入口地址写到中断类型号n MOV DI,002CH ;所对应的中断向量表中 LEA AX,INTQ3 STOSW MOV AX,CS ;设置中断端口3的地址 STOSW MOV DI,003CH LEA AX,INTQ7 STOSW MOV AX,CS ;设置中断端口7的地址 STOSW RETINTERUPT3: CLI ;关中断,防止其他中断的干扰 CALL CONVERS ;INTQ3端口对中断次数进行计数 MOV SI,DATA0 CALL LEDDISP MOV AL,20H MOV DX,INTPORT1 OUT DX,AL ;写入OCW2的控制命令字 MOV SI,DATA5BITADD: ADD BYTE PTR SI,01H;设置显示屏幕上所能表示的数值,由 CMP BYTE PTR SI,09H;于题目要求的是显示十进制数,则应 JNA BIT ;在显示屏幕上显示0-9的十进制数
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号