可编程并行通信接口8255A与开关电路接口实验
- 格式:doc
- 大小:1.21 MB
- 文档页数:7
实验五8255A 并行口实验(一)一、实验目的⒈掌握8255A 和微机接口方法。
⒉掌握8255A 的工作方式和编程原理。
二、实验内容用8255PA 口控制PB 口。
三、实验程序原程序CODE SEGMENTASSUME CS:CODEIOCONPT EQU 0FF2BHIOBPT EQU 0FF29HIOAPT EQU 0FF28HORG 11B0HSTART: MOV AL,90HMOV DX,IOCONPTOUT DX,ALNOPNOPNOPIOLED1:MOV DX,IOAPTIN AL,DXMOV DX,IOBPTOUT DX,ALMOV CX,0FFFFHDELAY: LOOP DELAYJMP IOLED1CODE ENDSEND START逻辑或CODE SEGMENTASSUME CS:CODEIOCONPT EQU 0FF2BHIOBPT EQU 0FF29HIOAPT EQU 0FF28HORG 11B0HSTART: MOV AL,90HMOV DX,IOCONPTOUT DX,ALNOPNOPNOPIOLED1:MOV DX,IOAPTIN AL,DXand AL,00000011Bjz LP1JNZ lp2LP1:MOV DX,IOBPTMOV AL,0ffhOUT DX,ALMOV CX,0FFFFHDELAY: LOOP DELAYJMP IOLED1lp2:mov DX,IOBPTMOV AL,0FEHout DX,ALMOV CX,0FFFFHLOOP DELAYJMP IOLED1CODE ENDSEND START流水灯DA TA SEGMENTX DB 10 DUP (?)Y DB 10 DUP (?)SUM DB ?DA TA ENDSSTACK SEGMENTSTA DB 20 DUP(?)TOP EQU LENGTH STASTACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DA TA,SS:STACK,ES:DA TA IOCONPT EQU 0FF2BHIOBPT EQU 0FF29HIOAPT EQU 0FF28HORG 11B0HSTART: MOV AX,DATAMOV DS,AXMOV AX,STACKMOV SS,AXMOV AX,TOPMOV SP,AX; MOV SI,OFFSET X; MOV CL,01H; MOV [SUM],CLMOV AL,90HMOV DX,IOCONPTOUT DX,ALNOPNOPNOPIOLED1:MOV AL,11111110BMOV DL,ALLP1:MOV DX,IOBPTOUT DX,ALMOV CL,1ROL AL,CLMOV CX,000FFHDL Y:LOOP DL YMOV CX,0FFFFHDELAY: LOOP DELAYJMP LP1CODE ENDSEND START四、实验结果原程序,k1,到k8分别控制L1到L8,当开关置低,灯亮逻辑或,K1和K2同时置高,K1置高K2置低和K1置低K2置高时灯亮,同时置低灯灭。
4.4 8255A可编程并行接口实验二4.4.1 实验目的1、进一步掌握8255A并行接口芯片的基本结构及工作原理。
2、掌握8255A的A口或B口工作于方式1时的特点及其使用方法;掌握方式1输入或输出时C口用作联络信号的引脚的定义及功能。
4.4.2 实验预习要求1、复习8255A工作方式1的特点及工作原理;C口用作联络信号的引脚定义及功能。
2、复习中断服务程序的编写方法。
3、预先编写好实验程序。
4.4.3 实验内容按图4.4-1连接线路。
& &图4.4-18255A的A口工作于方式1输出。
C口的PC3用作中断请求信号(INTR)。
PC6用作外设应答信号(ACK),表示CPU输出到8255A的数据已被外设取走。
PC7用作输出缓冲器满信号(OBF),OBF 信号实验中未用。
用每按一次单脉冲按钮K所产生的负脉冲(模拟外设的应答信号)使8255A产生一次中断请求,让CPU进行一次中断服务。
在中断服务程序中向8255A依次输出01H、02H、04H、08H、10H、20H、40H、80H使L0 L7依次发光,中断8次程序结束返回DOS。
4.4.4 实验提示1、主机中可编程中断控制器8259A的I/O地址为20H和21H。
2、8255A的I/O地址为:控制寄存器端口地址28BHA口的地址288HC 口的地址28AH3、实验台接口卡设置为使用ISA总线中的IRQ7将实验台上的中断请求信号IRQ送到主板的8259A,若接口卡非如此设置,请根据具体设置在编写程序时作适当修改。
4、中断服务程序中通过OUT指令将数据输出到8255A的A口,以便点亮发光二极管时,要延时一段时间,否则将无法看到二极管发光。
实验程序流程图如图4.4-2和4.4-3所示。
4.4.5 实验报告要求1、根据流程图编写实验程序,并说明在实验过程中遇到了哪些问题,是如何处理的。
2、总结8255A工作方式1的特点及使用方法。
3、写出实验小结,内容包括实验心得(收获)、不足之处或今后应注意的问题等。
微机原理实验实验五可编程并行接口实验一、实验目的1. 理解可编程并行接口8255A芯片的结构和功能;2. 掌握8255A芯片初始化程序的设计方法;3. 掌握8255A芯片与CPU信号的连接方法以及并行接口设计和编程方法;4. 掌握七段数码管的静态和动态显示原理;5. 掌握利用七段数码管显示计算数机内部信息。
二、实验内容1. ※●利用8255A芯片设计接口电路并编程实现:A口输出数据,驱动四个LED,使其顺序显示‘0’~‘F’的二进制状态,每个状态保持1秒钟。
(1)电路框图(2)源程序(3)运行结果2. ※●设计接口电路并编程实现:两个七段数码管分别显示“HP”,字符保持3秒钟后两个数码管同时熄灭。
(1)电路框图(2)源程序(3)运行结果HP字符显示3秒后同时熄灭3. 通过对8255A芯片的实验,对比实验五、实验六,谈谈你对8255A的认识和体会以及输入输出接口调试的过程;8255A是可编程并行I/O接口芯片,通过对它进行编程,可实现无条件、有条件和中断方式的接口电路。
它适合于外部设备和微机之间进行近距离、大量和快速的信息交换,比如微机与并行接口打印机或者磁盘驱动器等。
输入输出接口调试过程:先搞清四个端口地址,然后根据所要实现的功能对控制端口写控制字,然后对其他端口进行数据交换,验证硬件电路的正确性。
4.简单叙述数码管接口电路设计的原则和调试方法;送入数码管的数据分为段码和位码,段码决定数码管显示什么样的字符,位码决定哪一位的数码管显示该字符。
调试时,先对连接段码的端口送入数据,然后对连接位码的端口送入数据,观察数码管的显示状态,改变位码端口数据,继续观察数码管的显示状态。
不能先送位码,再送段码,即不能先点亮再显示,因为这样可能会在段码未稳定之前显示错误的字符。
5. 叙述七段数码管动态显示延时时间长短对视觉有何影响?延时程序的作用是保持当前显示数码管足够时间,同时稳定显示效果,以形成视觉暂留。
人眼的视觉暂留时间大概在二十四分之一秒左右,所以一般电视电影至少是24帧以上,才会看起来是连续的动作,延时的时间设置小于40ms即可,延时太短会加重cpu的负担,延时太长,则看起来是不断闪烁的,不能连续显示。
实验八8255A可编程并行接口实验一、实验项目用8255A可编程并行接口芯片,重复实验四的内容。
PA口作为显示输出口,PB口作为开关量输入口。
二、实验目的1.了解8255A芯片的结构及编程方法2.掌握通过8255A并行接口读取开关数据的方法三、实验原理设置好8255A各端口的工作模式:三个端口都工作于方式0,PA口作为显示输出口,PB口作为开关量输入口。
四、实验连线8255A的PA0PA7接发光二极管L1L8,PB0PB7接开关K1K8,片选信号CS8255接CS0。
五、实验电路六、程序框图七、参考程序CSEG AT 0000HLJMP START开始置控制字从B通道读入开关状态从A通道输出到发光二极管延时一段时间.23.CSEG AT 4100HPA EQU 0CFA0HPB EQU HPCTL EQU HSTART: MOV DPTR, #PCTL ;置8255A控制字,A、B、C口均工作MOV A, # H ;方式0,A、C口为输出,B口为输入MOVX @DPTR, ALOOP: MOV DPTR, #PB ;从B口读入开关状态值MOVX A,MOV DPTR, #PA ;从A口将状态值输出显示MOVX , AMOV R7, #10H ;延时DEL0: MOV R6, #0FFHDEL1: DJNZ R6,DJNZ R7,LJMP LOOPEND八、问题思考试分析改置8255A控制字,A、B、C口工作方式1,B、C口为输出,A口为输入,可不可以。
.24.。
实验五可编程并行接口(8255A)一.实验目的1.掌握8255A方式0的工作原理及使用方法二.实验内容1.按下面图4-1可编程并行口接口8255A电路连接线路,如下图所示:图4-1可编程并行口接口8255A2.编写程序,实现从PC口读入开关状态,然后在PA口输出开关状态。
编程可参考如下流程图:其中288H是8255A芯片的PA口地址。
三.编程提示1.PA口地址=(DC00H-280H)+288H=0DC08H,其余端口地址可依此类推。
下面是整个接口程序的参考源程序,请补充完整8255A并行口输出实验,8255A工作于方式0。
stack segment para stackX db 100 dup(?)stack endsdata segmentY db 100 dup(?)data endscode segment 'code'assume cs:code,ds:data,ss:stackstart: mov ax,datamov ds,ax____________ ;8255A初始化next: ___________ ;从PC口输入数据;从PA口输出数据__________以下语句是用于判断是否按下ESC键,如果按下则退出。
mov dl , 0ffHmov ah , 06Hint 21hjz next ;无键按下则继续从PC口读入数据mov ah , 4chint 21hcode endsend start2. 编译及运行将上述程序对应的工程建立在E:\wjyl\bxk目录下,编译、连接、构建后生成exe文件。
运行不能直接在WINXP系统下,必须在纯DOS系统下。
四.思考题1. 8255A的工作方式0的特点是什么?2.这个程序里有查询环节吗?如果有,作用是什么?。
一、实验内容编写程序,通过可编程并行通信接口(8255A)读取TPC-USB实验装置上开关数据,并在微机屏幕上显示出来。
二、实验目的和要求实验目的:可编程并行通信接口(8255A)具有三个端口,端口A、端口B、端口C、本实验可通过B端口和C端口与实验装置的开关K1~K8连接,读取开关K的状态。
1、掌握8255A并行接口的原理及编程方法。
2、了解TPC-USB通用实验装置上的逻辑电平开关电路,掌握读取开关数据的方法预习要求:1、熟悉8255A并行接口的原理及编程方法;2、编写源程序。
三、实验设备(软、硬件)1、PC机2、TPC-USB实验装置3、通用微机实验培训装置四、实验设计方案(或实验综合知识)通过可编程并行通信接口(8255A)读取TPC-USB实验装置上开关数据,并在微机屏幕上显示出来。
相关知识:DOS系统功能调用直接控制台输入输出单字符功能号:AH=06H入口参数:DL=0FFH(输入)DL=字符(输出)出口参数:AL=输入字符五、实验原理使用8255A并行接口作为数据中转的中介完成数据的输入输出过程。
六、实验方法及步骤1、电路设计;2、实验装置接线;3、源程序录入并调试根据题意编写程序,编写源程序,汇编,链接程序,调试程序,直到调试成功为止。
4、执行程序〃打开实验装置外接电源。
〃执行程序。
〃任意设置开关K1~K8,在PC机的屏幕上会显示K1~K8的状态七、实验数据记录与处理DATA SEGMENTIO8255A EQU 288HIO8255C EQU 28AHCONTRL EQU 28BHDATA ENDSCODE SEGMENTASSUME CS:CODESTART: MOV DX,CONTRL ;设8255为C口输入,A 口输出MOV AL,8BHOUT DX,ALINOUT: MOV DX,IO8255C ;从C口输入一数据IN AL,DXMOV DX,IO8255A ;从A口输出刚才自C 口OUT DX,AL ;所输入的数据MOV DL,0FFH ;判断是否有按键MOV AH,06HINT 21HJZ INOUT ;若无,则继续自C口输入,A口输出MOV AH,4CH ;否则返回INT 21HCODE ENDSEND START八、实验结果及分析先按下实验箱上白色的复位键,硬件会重新启动,运行程序,启动LED指示灯开关,亮了,实验成功。
实验七可编程并行接口芯片8255A的使用1一、实验目的了解可编程并行接口芯片8255的内部结构、工作方式、初始化编程及应用。
二、实验设备(1)显示器、鼠标、键盘各一件;(2)QTH-2008PC 32位微机教学实验仪一套。
三、实验说明1、8255A的内部结构:(1)数据总线缓冲器:这是一个双向三态的8位数据缓冲器,它是8255A与微机系统数据总线的接口。
输入输出的数据、CPU输出的控制字以及CPU输入的状态信息都是通过这个缓冲器传送的。
(2)三个端口A,B和C:A端口包含一个8位数据输出锁存器和缓冲器,一个8位数据输入锁存器。
B端口包含一个8位数据输入/输出锁存器和缓冲器,一个8位数据输入缓冲器。
C端口包含一个8位数据输出锁存器及缓冲器,一个8位数据输入缓冲器(输入没有锁存器)。
(3)A组和B组控制电路:这是两组根据CPU输出的控制字控制8255工作方式的电路,它们对于CPU而言,共用一个端口地址相同的控制字寄存器,接收CPU输出的一字节方式控制字或对C口按位复位字命令。
方式控制字的高5位决定A组工作方式,低3位决定B 组的工作方式。
对C口按位复位命令字可对C口的每一位实现置位或复位。
A组控制电路控制A口和C口上半部,B组控制电路控制B口和C口下半部。
(4)读写控制逻辑:用来控制把CPU输出的控制字或数据送至相应端口,也由它来控制把状态信息或输入数据通过相应的端口送到CPU。
2、8255A的工作方式:方式0—基本输入输出方式;方式1—选通输入输出方式;方式2—双向选通输入输出方式。
3、8255A的控制字:图1 8255A方式控制字图2 C口按位置位/复位控制字四、实验原理图图3 可编程并行接口8255电路五、实验内容I/O输入输出实验:利用8255的A口读取开关状态、B口把状态送发光二极管显示。
六、实验步骤(1)实验连线(确保电源关闭)该模块的WR、RD分别连到PC104总线接口模块的IOWR、IORD。
实验四并行接口实验一、实验目的1.掌握通过8255A并行口进行数据传输的方法。
2.控制16位数据灯的相对循环显示。
二、实验设备PC机一台,TD—PIT/TD—PIT—B实验装置一套。
三、实验内容1、基本输入输出实验。
编写程序,使8255的A口为输出,B口为输入,完成拨动开关到数据灯的数据传输。
要求只要开关拨动,数据灯的显示就改变。
2、流水灯显示实验。
编写程序,使8255的A口和B口均为输出,实现16位数据灯的相对循环显示。
四、8255工作原理并行接口是以数据的字节为单位与I/O设备或被控制对象之间传递信息。
CPU和接口之间的数据传送总是并行的,即可以同时传递8位、16位、32位等。
8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:方式0--基本输入/出方式、方式1--选通输入/出方式、方式2--双向选通工作方式。
8255的内部结构及引脚如图3-1所示,8255工作方式控制字和C口按位置位/复位控制字格式如图3-2所示。
图3-1 8255的内部结构及引脚图3-2 8255控制字格式五、实验步骤I、基本输入输出实验本实验使8255端口A工作在方式0并作为输出口,端口B工作在方式0并作为输入口。
参考程序流程如图3-3所示。
图3-3 8255并行接口芯片基本输入/输出实验(1)参考程序流程图实验步骤编写程序,使8255并行接口芯片端口A工作在方式0并作为输出口,端口B工作在方式0并作为输入口。
用一组开关信号接入端口B,端口A输出线接至一组数据灯上,实现输入输出功能。
具体实验步骤如下。
1)确认从PC机引出的两根扁平电缆已经连接在实验平台上。
2)打开实验箱电源,首先运行PCI_BIOS.EXE程序,查看I/O空间始地址。
3)参考图3-4所示连接实验线路。
4)利用查出的地址编写程序,然后编译链接。
5)运行程序,拨动开关,看数据灯显示是否正确图3-4 8255并行接口芯片基本输入/输出实验参考接线图==================================================================================== 文件名: A82551.ASM功能描述: B为输入,A口为输出,将读入的数据输出显示====================================================== SSTACK SEGMENT STACKDW 32 DUP(?)SSTACK ENDSCODE SEGMENTASSUME CS:CODE, SS:SSTACKSTART: MOV DX, 0646HMOV AL, 82HOUT DX, ALAA1: MOV DX, 0642HIN AL, DXCALL DELAYMOV DX, 0640HOUT DX, ALJMP AA1DELAY: PUSH CXMOV CX, 0F00HAA2: PUSH AXPOP AXLOOP AA2POP CXRETCODE ENDSEND START实验现象:当拔动B接口对应的开关时候,A接口对应的二极管亮。
一、实验内容
编写程序,通过可编程并行通信接口(8255A)读取TPC-USB实验装置上开关数据,并在微机屏幕上显示出来。
二、实验目的和要求
实验目的:
可编程并行通信接口(8255A)具有三个端口,端口A、端口B、端口C、本实验可通过B端口和C端口与实验装置的开关K1~K8连接,读取开关K的状态。
1、掌握8255A并行接口的原理及编程方法。
2、了解TPC-USB通用实验装置上的逻辑电平开关电路,掌握读取开关数据的方法
预习要求:
1、熟悉8255A并行接口的原理及编程方法;
2、编写源程序。
三、实验设备(软、硬件)
1、PC机
2、TPC-USB实验装置
3、通用微机实验培训装置
四、实验设计方案(或实验综合知识)
通过可编程并行通信接口(8255A)读取TPC-USB实验装置上开关数据,并在微机屏幕上显示出来。
相关知识:DOS系统功能调用
直接控制台输入输出单字符
功能号:AH=06H
入口参数:DL=0FFH(输入)
DL=字符(输出)
出口参数:AL=输入字符
五、实验原理
使用8255A并行接口作为数据中转的中介完成数据的输入输出过程。
六、实验方法及步骤
1、电路设计;
2、实验装置接线;
3、源程序录入并调试
根据题意编写程序,编写源程序,汇编,链接程序,调试程序,直到调试成功为止。
4、执行程序
〃打开实验装置外接电源。
〃执行程序。
〃任意设置开关K1~K8,在PC机的屏幕上会显示K1~K8的状态
七、实验数据记录与处理
DATA SEGMENT
IO8255A EQU 288H
IO8255C EQU 28AH
CONTRL EQU 28BH
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE
START: MOV DX,CONTRL ;设8255为C口输入,A 口输出
MOV AL,8BH
OUT DX,AL
INOUT: MOV DX,IO8255C ;从C口输入一数据
IN AL,DX
MOV DX,IO8255A ;从A口输出刚才自C 口
OUT DX,AL ;所输入的数据
MOV DL,0FFH ;判断是否有按键
MOV AH,06H
INT 21H
JZ INOUT ;若无,则继续自C口输入,A口输出
MOV AH,4CH ;否则返回
INT 21H
CODE ENDS
END START
八、实验结果及分析
先按下实验箱上白色的复位键,硬件会重新启动,运行程序,启动LED指示灯开关,亮了,实验成功。
九、实验总结
通过实验初步了解了使用8255A并行接口作为数据中转的中介完成数据的输入输出过程。
老师补充问题:
如果将8255A的CE接口接到0a8h-0afh,程序应该如何修改?
data segment
io8255a equ 2a8h
io8255b equ 2aah
io8255c equ 2abh
contrl equ 293h
data ends
code segment
assume cs:code
start:
mov dx,contrl
mov al,8bh
out dx,al
inout:mov dx,io8255a
in al,dx
mov dx,io8255c
out dx,al
mov dl,0ffh
mov ah,06h
int 21h
jz inout
mov ah,4ch
int 21h
code ends
end start
十、参考资料
1、《微型计算机系统原理及应用-第四版》,周明德编著,清华大学出版社,2002年。
2、《微型机接口技术》,王承发、刘岩主编,高等教育出版社,1998年。
3、《IBM PC宏汇编语言程序设计》,张怀莲编,电子工业出版社,1989年。
十一、指导教师评语及成绩。