接口实验
- 格式:doc
- 大小:1.56 MB
- 文档页数:27
最新精选全文完整版(可编辑修改)《计算机接口技术》实验报告专业:电信息科学与技术班级:姓名:学号:年月日实验一:8255A并行口实验实验目的:掌握通过8255A并行口传输数据的方法,以控制发光二极管的亮与灭。
实验内容:一、实验原理实验原理图如图5-9所示,PB4 ~ PB7和PC0 ~ PC7分别与发光二极管电路L1~ L12 相连,本实验为模拟交通灯实验。
交通灯的亮灭规律如下:设有一个十字路口,1、3为南北方向,2、4为东西方向,初始为四个路口的红灯全亮,之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车;延时一段时间后,1、3路口的绿灯熄灭,而1、3路口的黄灯开始闪烁,闪烁若干次以后,1、3 路口红灯亮,而同时2、4路口的绿灯亮,2、4路口方向通车;延时一段时间后,2、4 路口的绿灯熄灭,而黄灯开始闪烁,闪烁若干次以后,再切换到1、3路口方向,之后重复上述过程。
8255A的PB4~ PB7对应黄灯,PC0 ~ PC3对应红灯,PC4~ PC7对应绿灯。
8255A 工作于模式0,并置为输出。
由于各发光二极管为共阳极,使其点亮应使8255A相应端口清0。
二、实验线路连接(1) CS-8255插孔连译码输出Y7插孔。
(2) L1 - PC4 L4 - PC5 L7 - PC6 L10 - PC7L2 - PB4 L5 - PB5 L8 - PB6 L11 - PB7L3 - PC0 L6 - PC1 L9 - PC2 L12 - PC3三、实验软件清单见随机光盘,文件名为H8255-2.ASM四、实验步骤1、按图5-9连好实验线路2、运行实验程序在DVCC-8086JHN上显示"8255-2"。
同时L1~L12 发光二极管模拟交通灯显示。
CODE SEGMENTASSUME CS:CODEIOCONPT EQU 0073H ;设置控制端常量IOAPT EQU 0070H ;设置数据端口A地址常量IOBPT EQU 0071H ;设置数据端口B地址常量IOCPT EQU 0072H ;设置数据端口C地址常量IOBDATA EQU 0500HCONTPORT EQU 00DFHDA TAPORT EQU 00DEHDA TA1 EQU 0640HSTART: JMP IOLEDIOLED: CALL FORMATCALL LEDDISPMOV AX,0HMOV DS,AXMOV AL,82HMOV DX,IOCONPT ;写8255控制字,三个口均工作于方式0OUT DX,AL ;往控制端口写控制字,设置A口工作在方式0输入,B方式0输出MOV DX,IOBPT ;读PB口数据存0601H单元IN AL,DXnot almov al,00hnopnopMOV BYTE PTR DS:[0501H],ALMOV DX,IOCONPT ;写方式控制字均为输出MOV AL,80HOUT DX,ALMOV DX,IOBPT ;置PB0,PB4~PB6为1,其余为0MOV AL,DS:[0501H]OR AL,0FH ;使PB0~PB3为1,PB4~PB7为0OUT DX,AL ;即熄灭红灯,点亮绿灯MOV DX,IOCPT ;使PC1,PC4~PC6为1,其余为0MOV AL,0FH ;使PC0~PC3为1,PC4~PC7为0OUT DX,ALCALL DELAY1 ;延时IOLED0: MOV AL,01011010B ;使2,4路口绿灯亮,1,3口红灯亮MOV DX,IOCPTOUT DX,ALCALL DELAY1CALL DELAY1and AL,0FH ;灭2,4路口绿灯OUT DX,ALMOV CX,8H ;只计数器值为8IOLED1: MOV DX,IOBPTMOV AL,DS:[0501H]or AL,01011111B ;点亮2,4路口黄灯OUT DX,ALCALL DELAY2 ;短暂延时and AL,00000000B ;灭掉黄灯OUT DX,ALCALL DELAY2LOOP IOLED1 ;黄灯闪烁8次MOV DX,IOCPTMOV AL,0FH ;点亮4个绿灯,灭掉4个红灯OUT DX,ALCALL DELAY2MOV AL,10100101B ;点亮1,3口红灯和2,4路口绿灯OUT DX,ALCALL DELAY1CALL DELAY1and AL,0FH ;灭掉红灯OUT DX,ALMOV CX,8HIOLED2: MOV DX,IOBPTMOV AL,DS:[0501H]or AL,10101111B ;点亮1,3路口黄灯OUT DX,ALCALL DELAY2and AL,00000000B ;灭掉黄灯OUT DX,ALCALL DELAY2LOOP IOLED2MOV DX,IOCPTMOV AL,0FH ;点亮4个绿灯,灭掉4个红灯OUT DX,ALCALL DELAY2JMP IOLED0 ;循环DELAY1: PUSH AXPUSH CX ;延时子程序MOV CX,0030HDELY2: CALL DELAY2LOOP DELY2POP CXPOP AXRETDELAY2: PUSH CXMOV CX,8000HDELA1: LOOP DELA1POP CXRETLEDDISP:MOV AL,90HMOV DX,CONTPORTOUT DX,ALMOV BYTE PTR DS:[0600H],00LED1: CMP BYTE PTR DS:[0600H],07H JA LED2MOV BL,DS:[0600H]MOV BH,0HMOV AL,CS:[BX+DATA1]MOV DX,DATAPORTOUT DX,ALADD BYTE PTR DS:[0600H],01HJNZ LED1LED2: RETFORMAT: MOV BX,0MOV WORD PTR DS:[BX+0640H],405BHADD BX,2MOV WORD PTR DS:[BX+0640H],4040HADD BX,2MOV WORD PTR DS:[BX+0640H],6D6DH ADD BX,2MOV WORD PTR DS:[BX+0640H],7F5BHRETCODE ENDSEND START实验二:定时/计数器实验目的:1. 学会8253芯片和微机接口原理和方法。
微机原理及接口技术实验一、实验目的本实验旨在通过学习微机原理和接口技术,了解和掌握微机系统的基本原理和接口技术的应用,培养学生对微机系统的认识和实践操作能力。
二、实验内容1. 微型计算机系统设计与搭建2. 微机输入输出接口技术应用实验3. 微机总线技术应用实验4. 微机存储器技术应用实验5. 微型计算机中断和DMA技术应用实验三、实验原理1. 微型计算机系统设计与搭建微型计算机主要由中央处理器、存储器、输入输出设备和总线组成。
本实验通过选择适当的芯片、电路连接和控制程序设计,实现一个基本的微型计算机系统。
2. 微机输入输出接口技术应用实验输入输出是微型计算机的重要组成部分,通过实验学习各种输入输出接口的原理和使用方法,并进行实际应用。
3. 微机总线技术应用实验总线是微型计算机各个部件之间传送数据和控制信息的公共通信路径。
通过实验学习总线的分类、结构和时序要求,掌握总线的实际应用。
4. 微机存储器技术应用实验存储器是微型计算机中存储数据和程序的重要设备。
通过实验学习不同类型存储器的原理和应用,掌握存储器的选择和使用。
5. 微型计算机中断和DMA技术应用实验中断和直接存储器访问(DMA)是微型计算机连接外部设备的重要技术。
通过实验学习中断和DMA的工作原理,掌握中断和DMA的应用方法。
四、实验步骤1. 根据实验要求,设计并搭建微型计算机系统;2. 连接输入输出设备,并编写控制程序;3. 进行输入输出接口技术应用实验,如串行通信、并行通信等;4. 进行总线技术应用实验,如总线传输数据测试等;5. 进行存储器技术应用实验,如读写存储器数据等;6. 进行中断和DMA技术应用实验,如中断服务程序编写等;7. 完成相关实验报告并进行总结。
五、实验设备和材料1. 微型计算机实验箱、电源适配器;2. 8051单片机、存储器芯片、输入输出芯片,如74HC164等;3. LED数码管、LCD液晶显示器、键盘、计算器等输入输出设备;4. 可编程芯片编程器、逻辑分析仪等实验设备。
实验二_8255并行接口应用实验一、实验目的1. 熟悉8255并行接口的功能和应用。
2. 掌握8255并行接口的控制字的含义和编写方法。
3. 熟悉并行接口的IO读写操作。
二、实验仪器1. PC机2. AT8051开发板4. 其他配件线路三、实验原理8255芯片是Intel公司提供的一种通用并行接口芯片。
它可以实现外围设备、传感器的控制、数据的输入/输出等功能,是一种非常实用的通用接口芯片。
8255是一个三端口、24线单片并行接口芯片,它可以直接连接CPU总线或I/O总线,采用AHB (AMBA High-Performance Bus)总线。
总线与8255之间的通讯方式采用输入/输出端口的方式,在CPU访问8255时,必须指定8255的端口地址。
CPU在访问8255时,AV(地址有效)为高电平,同时CS和RD为有效低电平。
8255所使用的端口地址由登录的端口号选择器(P0、P1、P2)决定。
8255的主要特点:a. 具有3个通用I/O端口,每个端口有8位,共有24条I/O线。
b. 可以通过外部信号线与中间件或总线连接。
c. 具有3种基本工作方式:安装、双向缓冲装置和输入输出方式。
d. 为减少芯片引脚数,端口地址用地址寄存器低端口号器(P0,P1)来指定。
端口的寄存器编号可以选择0或1。
e. 以可编程方式控制I/O端口。
f. 内接有二进制计数器,可用于计时和计数应用。
2. 编程实现原理本次实验中,我们将用8051的C语言编程,控制8255进行I/O读写操作。
在编程时,我们将根据需要设置8255的控制字,并利用控制字来控制8255的输入输出。
同时,在控制8255的I/O读写操作中,我们还需将相应的端口地址赋值给端口指针,以实现读写操作。
3. 硬件连接我们将在AT8051开发板上搭建实验电路,具体如下:a. 8255芯片的输入输出口A、B、C分别连接到LED灯,以控制LED灯的开关状态。
b. AT8051开发板的P0、P1、P2分别连接到8255的A1、A0、CS/WR、RD/CS口线,以进行8255的读写操作。
可编程并行接口实验(8255A方式1)实验目的掌握8255A工作方式1的使用方法;进一步掌握编写中断服务程序的方法。
实验内容1.8255A选通行输出实验,具体要求:(1)设置8255A的A 口工作在方式1输出;(2)每按一次单脉冲按钮产生一个正脉冲使8255A产生一次中断;(3)设计中断服务程序:依次输出01H,02H,04H,08H,10H,20H,40H,80H。
使L0—L7依次发光。
2.8255A选通行输入实验,具体要求:(1)设置8255A的A 口工作在方式1输入;(2)每按一次单脉冲按钮产生一个正脉冲使8255A产生一次中断;(3)设计中断服务程序:读取开关表示的ASCII码,在屏幕上显示其对应的字符。
实验连线1实验内容1连线(1)8255A芯片的A口PA7~PA0连发光二极管L7~L0;(2)PC3连接IRQ;(3)PC6连接单脉冲发生器。
2实验内容2连线(1)8255A芯片的A口PA7~PA0连逻辑开关K7~K0;(2)PC3连接IRQ;(3)PC4连接单脉冲发生。
流程图这是试验2的流程图,实验1相似实验代码试验2的代码是在试验1的代码基础上稍作改动,这里只列出试验2的代码:ASSUME CS:CODE,DS:DATADATA SEGMENT ;数据段定义IOPORT EQU 5400H-280HIOPORT_CENT EQU 5000H ;9054芯片的I/O起始地址MASKZ EQU 0FBH ;8259A主片屏蔽码MASKC EQU 0F7H ;8259A从片屏蔽码INTNUM DW 0 ;保存ES的定义量INTNUMSE DW 0 ;保存BX的定义量DA TA ENDSSTACK1 SEGMENT STACK ‘STACK1’DB 50 DUP(?)STACK1 ENDSCODE SEGMENT ;代码段定义START:MOV DX,IOPORT+28BH ;根据实验连线,此次实验控制口为540BH MOV AL,0B0H ; 设置8255A的控制关键字(设置成方式1,端口A输入) OUT DX,ALCLI ;关中断MOV DX,IOPORT_CENT+68H ;设置9054芯片使能寄存器IN AX,DXOR AX,0900HOUT DX,AX;得到原中断向量并保存MOV AH,35H ;取中段向量MOV AL,73H ;针对本台计算机查表得出中断类型号为73HINT 21HMOV INTNUMSE,BX ;保存BXMOV AX, ES ;保存ESMOV INTNUM, AX;设置新中断向量MOV AX,CSMOV DS,AXMOV DX,OFFSET INTPROC ;设置新的中断向量MOV AL,073HMOV AH,25HINT 21H;设置中断屏蔽寄存器IN AL,21H ;8259A主片的中断屏蔽寄存器端口地址为21HAND AL,MASKZ ;中断屏蔽寄存器中主片相应位置1,本实验中第三位置1 OUT 21H,ALIN AL,0A1H ;8259A从片的中断屏蔽寄存器端口地址为0A1HAND AL,MASKCOUT 0A1H,AL ;中断屏蔽寄存器中从片相应位置1,本实验中第四位置1 STI ;开中断MOV AL,00001001B ;设置PC4为1MOV DX,IOPORT+28BHOUT DX,ALOUTER:MOV AH,01H ;判断是否有任意键按下INT 16HJZ OUTER ;没有键按下程序重复MOV AX, INTNUM ;恢复原中断向量MOV DS,AXMOV DX, INTNUMSEMOV AL,073HMOV AH,25HINT 21H;恢复中断屏蔽寄存器IN AL,21HOR AL,04HOUT 21H,ALIN AL,0A1HOR AL,08HOUT 0A1H,ALMOV DX,IOPORT_CENT+68H ;关闭9054IN AX,DXOR AX,0F6FFHOUT DX,AXMOV AH,4CH ;有键按下,程序结束,返回DOS界面INT 21H;中断服务子程序INTPROC:PUSH AX ;寄存器入栈保护PUSH BXPUSH CXPUSH DXPUSH DSSTI ;开中断MOV CX,0FFFFHH: LOOP HMOV DX,IOPORT+288H ;A口输入IN AL,DXMOV DL,AL ;输出开关所对应的字符MOV AH,02HINT 21HMOV AL,20H ;发出EOI结束中断OUT 20H,ALOUT 0A0H,ALCLI ;关中断POP DS ;寄存器出栈POP DXPOP CXPOP BXPOP AXIRET ;中断返回CODE ENDSEND START结果描述试验1:每按一次单脉冲,L0~L7依次发光。
java接口实验心得在进行Java接口实验过程中,我深刻体会到接口的重要性和灵活性。
接口是一种规范,它定义了类应该具备的方法,并且可以被多个类实现,使得代码更加模块化和可扩展。
首先,通过实验我明白了接口的作用。
接口可以看作是一种契约,定义了类应该遵守的规则。
它提供了一种机制,使得不同的类可以实现相同的接口,并且具有相同的方法。
这样可以实现多态性,提高代码的可复用性和可扩展性。
其次,实验过程中我学会了如何定义接口。
在Java中,接口使用`interface`关键字来定义,接口中只包含方法的声明,没有方法的实现。
接口中的方法默认是`public`和`abstract`的,不需要显式地声明。
接口也可以包含常量和静态方法。
另外,我还了解到接口的实现方式。
一个类可以通过`implements`关键字来实现一个或多个接口,并且需要实现接口中声明的所有方法。
通过实现接口,类可以获得接口中定义的方法,并根据自己的需求进行具体的实现。
这种方式使得类与接口之间实现了解耦,使得代码更加灵活。
在实验过程中,我还学会了接口的多态性。
通过将接口作为方法的参数或返回值类型,可以实现对不同实现类的统一操作。
这样可以提高代码的灵活性和可扩展性,使得程序更易于维护和扩展。
此外,我还了解到接口的继承和多继承。
一个接口可以继承另一个接口,通过继承可以扩展接口的功能。
这种方式使得接口之间可以建立继承关系,实现更加灵活的接口设计。
总结起来,通过这次Java接口的实验,我深刻认识到接口的作用和优势。
接口可以定义规范,实现多态性,提高代码的可复用性和可扩展性。
同时,接口的实现方式和多态性使得代码更加灵活。
接口的继承和多继承可以扩展接口的功能。
掌握接口的使用,对于编写高质量的Java代码非常重要。
p1口输入输出实验报告p1口输入输出实验报告引言:计算机科学领域的发展使得我们能够使用各种各样的设备与计算机进行交互。
而在这个过程中,输入输出接口的设计和实现显得尤为重要。
本篇文章将围绕p1口输入输出接口展开讨论,介绍其原理、实验过程以及实验结果。
一、p1口输入输出接口的原理p1口是一种通用输入输出接口,它可以连接各种外部设备,如键盘、鼠标、打印机等。
p1口的原理是通过电信号的传输来实现与外部设备的交互。
具体来说,p1口通过发送和接收电压信号来进行通信,从而实现输入输出的功能。
二、实验过程1. 准备工作在进行实验前,我们需要准备一台计算机和一些外部设备,如键盘、鼠标和打印机。
将这些设备连接到计算机的p1口上。
2. 输入实验首先,我们进行输入实验。
在连接好设备后,我们可以通过键盘向计算机输入一些字符。
计算机会将这些字符接收并进行处理。
我们可以通过编写一个简单的程序来实现字符的显示和处理。
在程序中,我们可以使用相应的函数来获取键盘输入,并将其显示在屏幕上。
通过这个实验,我们可以验证p1口的输入功能是否正常工作。
3. 输出实验接下来,我们进行输出实验。
在程序中,我们可以使用相应的函数来控制打印机输出指定的内容。
通过这个实验,我们可以验证p1口的输出功能是否正常工作。
4. 实验结果通过实验,我们可以得出以下结论:- p1口的输入功能正常工作,可以准确地接收键盘输入的字符。
- p1口的输出功能正常工作,可以控制打印机输出指定的内容。
三、实验总结p1口作为一种通用输入输出接口,具有广泛的应用。
通过本次实验,我们对p1口的原理和功能有了更深入的了解。
p1口的输入功能可以使计算机接收外部设备的输入信号,从而实现与用户的交互。
p1口的输出功能可以使计算机控制外部设备进行相应的操作,从而实现对外部环境的影响。
在今后的学习和工作中,我们可以进一步探索p1口的应用,提高计算机与外部设备的交互效率。
结语:通过本次实验,我们对p1口输入输出接口有了更深入的理解。
java接口实验报告实验报告:Java接口实验一、实验目的通过本次实验,我们希望达到以下目的:1. 深入理解Java接口的概念、特点和用途。
2. 掌握如何定义、实现和使用接口。
3. 理解接口在多态性中的作用。
4. 掌握如何使用接口来设计可扩展的代码。
二、实验内容1. 定义一个接口,并实现该接口。
2. 使用接口实现多态性。
3. 通过接口设计可扩展的代码。
三、实验步骤及结果步骤1:定义一个接口首先,我们定义一个名为"Shape"的接口,该接口包含一个计算面积的方法。
```javapublic interface Shape {double getArea();}```步骤2:实现接口接下来,我们创建两个类(Circle和Rectangle),分别实现Shape接口。
每个类都提供了一个计算面积的方法。
Circle类:```javapublic class Circle implements Shape {private double radius;private static final double PI = ;public Circle(double radius) {= radius;}Overridepublic double getArea() {return PI radius radius;}}```Rectangle类:```javapublic class Rectangle implements Shape {private double width;private double height;public Rectangle(double width, double height) {= width;= height;}Overridepublic double getArea() {return width height;}}```步骤3:使用接口实现多态性现在,我们创建一个名为"ShapeDisplay"的类,该类接受一个Shape对象,并使用该对象的getArea方法来计算面积。
实验一 RJ-45接口连线实验【实验目的】1)学会制作两种类型的RJ-45接头直通线、交叉线。
2)掌握使用双绞线作为传输介质的网络连接方法。
【实验环境】具有RJ-45接口网卡的计算机、5类双绞线、水晶头、压线钳、测线器。
【实验重点及难点】重点:学习双绞线识别、制作、测试器的使用。
难点:掌握制作正确双绞线的方法。
【实验指导】RJ-45连接器包括一个插头和一个插孔(或插座)。
插孔安装在机器上,而插头和连接导线(现在最常用的就是采用无屏蔽双绞线的5类线)相连。
EIA/TIA制定的布线标准规定了8根针脚的编号。
如果看插孔,使针脚接触点在上方,那么最左边是①,最右边是⑧(见下图)。
①②③④⑤⑥⑦⑧如果看插头,将插头的末端面对眼睛,而且针脚的接触点插头的在下方,那么最左边是①,最右边是⑧(见下图)。
①②③④⑤⑥⑦⑧在10 /兆比秒和100 Mb/s以太网中只使用两对导线。
也就是说,只使用4根针脚。
那么我们应当将导线连接到哪4根针脚呢?按照T568B(T568A)的标准制作双绞线。
T568B和T568A为美国电子电气工程师协会(EIA/TIA)两种双绞线制作标准。
其中T568B标准在以太网中应用较广泛。
T568A和T568B的管脚编号T568B线序Straight-Through Cable(直通线):双绞线线缆的两端使用同一种标准,即同时采用T568B标准或同时采用T568A标准。
在10M/100M以太网中8芯只使用4芯,在1000M以太网中8芯全部使用。
Crossover Cable(交叉线):双绞线在制作时一端采用T568B标准,另一端采用T568A 标准。
DTE 类设备:PC、路由器、交换机uplink口、HUB级联口DCE 类设备:交换机普通口、HUB普通口同类设备间相连使用交叉线方式;异类设备间相连使用直通线方式。
说明:DTE(Data Terminal Equipment)是数据终端设备,也就是具有一定的数据处理能力以及发送和接收数据能力的设备。
一、实验目的1. 了解人机接口的基本概念和原理。
2. 掌握常见的人机交互设备的使用方法。
3. 通过实验,提高人机交互系统的设计能力和实际操作能力。
二、实验内容1. 人机接口基本概念和原理2. 常见的人机交互设备操作3. 人机交互系统设计三、实验环境1. 硬件环境:计算机、键盘、鼠标、触摸屏、显示器、打印机等。
2. 软件环境:操作系统、应用程序等。
四、实验步骤1. 人机接口基本概念和原理学习(1)了解人机接口的定义、作用和分类;(2)学习人机交互设备的原理和特点;(3)分析人机接口设计的原则和方法。
2. 常见的人机交互设备操作(1)键盘操作:学习键盘布局、按键功能、快捷键的使用;(2)鼠标操作:学习鼠标的基本操作、滚轮使用、鼠标指针的移动和定位;(3)触摸屏操作:学习触摸屏的原理、操作方法和注意事项;(4)显示器操作:了解显示器的分辨率、刷新率、色彩调整等参数;(5)打印机操作:学习打印机的连接、设置、打印文档等操作。
3. 人机交互系统设计(1)分析用户需求,确定人机交互系统的功能;(2)设计人机交互系统的界面布局、操作流程和交互方式;(3)实现人机交互系统功能,并进行测试和优化。
五、实验结果与分析1. 实验结果通过本次实验,我们掌握了人机接口的基本概念和原理,熟悉了常见的人机交互设备的操作方法,并成功设计了一个简单的人机交互系统。
2. 实验分析(1)人机接口是计算机系统的重要组成部分,直接影响用户的使用体验。
因此,在进行人机接口设计时,要充分考虑用户的需求,确保界面简洁、操作方便;(2)人机交互设备的选择和配置应根据实际应用场景和用户需求进行,以提高系统性能和用户体验;(3)在设计人机交互系统时,要遵循一定的设计原则,如一致性、直观性、易用性等,以降低用户的学习成本和误操作概率。
六、实验总结本次实验使我们对人机接口有了更深入的了解,提高了人机交互系统的设计能力和实际操作能力。
在今后的学习和工作中,我们将继续关注人机接口技术的发展,不断优化人机交互系统,为用户提供更好的使用体验。
DVCC-8086输入/输出接口地址的分配实验一使用8259A的单级中断控制实验一、实验目的1、掌握中断控制器8259A与微机接口的原理和方法。
2、掌握中断控制器8259A的应用编程。
二、预备知识1、8259A的内部结构8259A是专为控制优先级中断而设计的芯片。
它将中断源按优先级排队、辨认中断源、提供中断向量的电路集成于一体,只要用软件对它进行编程,就可以管理8 级中断。
如图6-22所示,它由中断请求寄存器(IRR)、优先级分析器、中断服务寄存器(ISR)、中断屏蔽寄存器(IMR)、数据总线缓冲器、读写控制电路和级联缓冲器、比较器组成。
图6-13 内部结构图 中断请求寄存器:寄存所有要求服务的请求IR0~IR7。
中断服务寄存器:寄存正在被服务的中断请求。
中断屏蔽寄存器:存放被屏蔽的中断请求,该寄存器的每一位表示一个中断号, 该位为1,屏蔽该号中断,否则开放该号中断。
数据总线缓冲器:是双向三态的,用以连接系统总线和8259A 内部总线, 通过它可以由CPU 对8259A 写入状态字和控制字。
读写控制电路:用来接受I/O 命令,对初始化命令和操作命令字寄存器进行写入,以确定8259A 的工作方式和控制方式。
级联缓冲器/比较器:用于多片8259A 的连接,能构成多达64级的矢量中断系统。
2、8259A 编程及初始化1) 写初始化命令字(1)写初始化命令字ICW1(A0=0),如图6-23所示,以确定中断请求信号类型,清除中断屏蔽寄存器,中断优先级排队和确定系统用单片还是多片。
D0~D7CAS0 CAS1 CAS2SP/-EN图6-23写初始化命令字ICW1(2)写初始化命令字ICW2,如图6-24所示,以定义中断向量的高五位类型码。
图6-24 写初始化命令字ICW2(3)写初始化命令字ICW3,如图6-25、6-26所示,以定义主片8259A 中断请求线上IR0~IR7有无级联的8259A 从片。
图6-25写初始化命令字ICW3第i 位=0,表明IRi 引脚上无从片第i 位=1,表明IRi 引脚上有从片图6-26写初始化命令字ICW3(4)写初始化命令ICW4,如图6-27所示,用来定义8259A 工作时用8085模式,还是80887 6 5 4 3 2 1 0不需写ICW4;1=需要写ICW4 8259级连;1=只一片82598;1=地址间距4(8088模式下为0) 高电平触发 000)A15-A8: 8080/8085方式下的中断向量高8位,8088方式下A8-A0不用,设为000 T7-T3: 8086/8088方式下的中断向量IR0主片从片7 6 5 4 3 2 1 0IR0上 IR1上 IR7上模式,以及中断服务寄存器复位方式等。
图6-27 写初始化命令ICW42)写控制命令字(1)写操作命令字0CW1,如图6-28所示,用来设置或清除对中断源的屏蔽。
图6-28 写操作命令字0CW1第i 位=0,对应的中断请求IRi 开放 第i 位=1,对应的中断请求IRi 屏蔽注: OCW1如不写,则在初始化命令写入后,OCW1为全开放状态。
(2)操作命令字OCW2,如图6-29所示,设置优先级是否进行循环、循环方式及中断结束方式。
7 6 5 43 2 1 0工作于8086/8088方式 工作于8080/8085方式,用EOI 命令复位图6-29 操作命令字OCW2注: 8259A 复位时自动设置IR0优先权最高,IR7优先权最低。
(3)操作命令字OCW3,如图6-30所示,设置查询方式、特殊屏蔽方式以及读取8259中断寄存器的当前状态。
图6-30 操作命令字OCW33) 8259A 查询字通过OCW3命令字的设置,如图6-31所示。
可使CPU 处于查询方式,随时查询8259A 有否中断请求, 有则转入相应的中断服务程序。
用户规定IR0-IR7的最低优先级编码 ) 编码有效 7 6 5 4 3 2 1 000,01=无用10=下一个RD 读中断请求寄存器IRR 11=下一个RD 读中断服务寄存器ISR ;0=不是查询命令图6-31 OCW3命令字三、实验内容本系统中已设计有一片8259A 中断控制芯片,工作于主片方式,8个中断请求输入端IR0~IR7对应的中断型号为8~F ,其和中断矢量关于如下表6-3所示。
表6-3 中断矢量表根据实验原理图6-32,8259A 和8088系统总线直接相连,8259A 上连有一系统地址线A0,故8259A 有2 个端口地址, 本系统中为20H 、21H 。
20H 用来写ICW1, 21H 用来写ICW2、ICW3、ICW4,初始化命令字写好后, 再写操作命令字。
OCW2、OCW3 用口地址20H ,OCW1用口地址21H 。
图6-32中,使用了3号中断源,IR3插孔和SP 插孔相连,中断方式为边沿触发方式,每按一次AN 按钮产生一次中断信号,向8259A 发出中断请求信号。
如果中断源电平信号不符规定要求则自动转到7号中断,显示“Err ”。
CPU 响应中断后,在中断服务中, 对中断次数进行计数并显示,计满5次结束,显示器显示“8259Good ”。
四、实验线路连接8259A 的IR3插孔和SP 插孔相连。
SP 插孔初始电平为低电平。
图6-32 实验原理图7 6 5 4 3 2 1 0有中断请求 有中断请求 有中断请求五、程序流程图见图6-33。
图6-33 程序流程图六、实验参考程序见附录一。
七、 实验步骤1、按图6-32连好实验线路。
2、运行实验程序在系统显示“DVCC - 86H ”状态下,按任意键,系统显示命令提示符“-”。
按GO 键,显示“1000 XX ” 输入 F000 : B2E0按EXEC 键, 在DVCC -8086上显示“8259-1”。
3、按AN 按键,每按一次产生一次中断,在显示器左边一位显示中断次数,满5次中断,显示器显示“8259 good ”。
实验二 8253A 定时/计数器实验一、实验目的1、学习8253A 可编程定时/计数器与8088CPU 的接口方法。
2、了解8253A 的工作方式; 掌握8253A 在各种方式下的编程方法。
二、预备知识1、8253A 内部结构中断服务程序:主程序:8253A 定时/计数器具有定时、计数双功能。
它具有三个相同且相互独立的16 位减法计数器,分别称为计数器0、计数器1、计数器2。
每个计数器计数频率为0~2MHZ , 其内部结构如图6-17所示。
由于其内部数据总线缓冲器为双向三态,故可直接接在系统数据总线上,通过CPU 写入计数初值,也可由CPU 读出计数当前值;其工作方式通过控制字确定;图中的读写控制逻辑,当选中该芯片时, 根据读写命令及送来的地址信息控制整个芯片工作;图中的控制字寄存器用于接收数据总线缓冲器的信息:当写入控制字时,控制计数器的工作方式,当写入数据时则装入计数初值,控制寄存器为8位, 只写不能读。
图6-10 8253A 内部结构图 图6-11 计数器内部结构图 2、计数器内部结构如图6-18所示,每个计数器由一个16位可预置的减1计数器组成,计数初值可保存在16位的锁存器中,该锁存器只写不能读。
在计数器工作时,初值不受影响,以便进行重复计数。
图中每个计数器有一个时钟输入端CLK 作为计数脉冲源, 计数方式可以是二进制,计数范围1~10000H ,也可以是十进制,计数范围1~65536。
门控端GATE 用于控制计数开始和停止。
输出OUT 端当计数器计数值减到零时,该端输出标志信号 。
3、8253A 端口地址选择见表6-2。
表6-2 端口地址表E0 CLK1 OUT 0CLK2 GAT E1 GAT E2 OUT 1OUT 21 24、8253A 功能8253 A 既可作定时器又可作计数器1)计数:计数器装入初值后,当GATE 为高电平时,可用外部事件作为CLK 脉冲对计数值进行减1 计数,每来一个脉冲减1,当计数值减至0时,由OUT 端输出一个标志信号。
2)定时:计数器装入初值后,当GATE 为高电平时,由CLK 脉冲触发开始自动计数,当计数到零时,发计数结束定时信号。
除上述典型应用外,8253A 还可作频率发生器、分频器、实时钟、单脉冲发生器等。
5、8253A 控制字8253A 控制字如6-19所示。
图6-19 8253A 控制字说明 :1) 8253 A 每个通道对输入CLK 按二进制或二十进制从预置值开始减1计数,减到0时从OUT 输出一个信号。
2) 8253 A 编程时先写控制字,再写时间常数。
6、8253A 工作方式1) 方式0:计数结束产生中断方式当写入控制字后,OUT 变为低电平,当写入初值后立即开始计数,当计数结束时,变成高电平。
2) 方式1:可编程单次脉冲方式当初值装入后且GATE 由低变高时,OUT 变为低电平,计数结束变为高电平。
3) 方式2:频率发生器方式当初值装入时,OUT 变为高;计数结束,OUT 变为低。
该方式下如果计数未结束,但GATE 为数制控制:0=二进制,1=BCD :000 方式0 001 方式1 ×10 方式2 ×11 方式3 100 方式4 101 方式5低时,立即停止计数,强逼OUT变高,当GATE再变高时,便启动一次新的计数周期。
4) 方式3:方波发生器当装入初值后,在GATE上升沿启动计数,OUT 输出高电平;当计数完成一半时,OUT输出低电平。
5) 方式4:软件触发选通当写入控制字后,OUT输出为高;装入初值且GATE为高时开始计数,当计数结束,OUT端输出一个宽度等于一个时钟周期的负脉冲。
6) 方式5:硬件触发选通在GATE上升沿启动计数器,OUT一直保持高电平;计数结束,OUT端输出一个宽度等于一个时钟周期的负脉冲。
三、实验内容本实验原理图如图6-20所示,8253A的A0、A1接系统地址总线A0、A1,故8253A 有四个端口地址,如端口地址表6-2所示。
8253A的片选地址为48H~ 4FH。
因此,本实验仪中的8253A四个端口地址为48H、49H、4AH、4BH,分别对应通道0、通道1、通道2和控制字。
采用8253A通道0,工作在方式3(方波发生器方式),输入时钟CLK0 为1MHZ,输出OUTO 要求为1KHZ的方波,并要求用接在GATE0引脚上的导线是接地(“0”电平)或甩空(“1”电平)来观察GATE对计数器的控制作用,用示波器观察输出波形。
图6-20 实验原理图四、实验线路连接1、8253A芯片的CLK0引出插孔连分频输出插孔1MHZ。
2、8253A的GATE0接+5V。
五、程序流程图见图6-21。
六、实验参考程序见附录一。