实验三 8255并行口实验(S2)
一、实验目的
掌握8255A和微机接口方法,掌握8255A的工作方式和编程原理。掌握通过8255A并行口传输数据的方法。
二、实验器材
DVCC8086实验箱,PC机,稳压电源
三、实验原理(原理图)
1. 8255A可编程外围接口芯片是INTEL公司生产的通用并行接口芯片,它具有A、B、C三个并行接口, 用+5v单电源供电, 能在以下三种方式下工作: 方式0:基本输入/ 输出方式 方式l:选通输入/ 输出方式
方式2:双向选通工作方式 2. 硬件原理图如图3-7
图 3-7
四、实验内容与步骤 1. 硬件线路连接
1)实验箱面板上U35的8255A芯片的CS插孔(片选)和译码输出 0F0-0FF 插孔用导线相连。
2)观察8255A芯片旁边短路块J5是否连在VCC端,没有的话则把J5连到VCC端。 3)观察U44的 G 插孔下方短路块 J6 是否连在VCC端,没有的话则把J6连到VCC端。
4)8255A 芯片 A 口的 PA0-PA7 依次和开关量输入插孔 K1-K8 相连。 5)8255A 芯片 PB0 插孔和其左边的 G 插孔相连。 2. 软件编程
1)软件框图
PC口显示
图3-8
2)编程提示
使 8255A 端口 A 工作在方式 0 并作为输入口,读取 K1-K8的8 个开关量,送 PC 口显示。 PC 口工作在方式 0 作为输出口,其 PC0-PC7 通过 74LS244 驱动,在单个数码管 LED 上,显示 K1-K8 对应值, PB0 工作在方式 0 ,作为输出口将其 PB0 通过 75451 驱动,作为 LED 位控端。
K1-K7 对应七段 LED 显示器 a-g , K8 对应小数点 H ,为高电平时对应段亮, K 为低电平时对应段灭。
3)软件清单
CODE SEGMENT
ASSUME CS : CODE
ORG 1300H ;定义起始地址 START:
JMP IOLED
IOCONPT EQU 00F3H ;IOCONPT为8255的控制端口地址00F3H IOAPT EQU 00F0H ;IOAPT为8255的A口地址00F0H IOBPT EQU 00F1H ;IOBPT为8255的B口地址00F1H IOCPT EQU 00F2H ;IOCPT为8255的C口地址00F2H
CONTPORT EQU 00B9H ;定义CONTPORT为显示器的控制端口00B9H DATAPORT EQU 00B8H ;定义DATAPORT为显示器的数据端口00B8H DATA1 DB 06H , 40H , 40H , 40H , 6DH , 6DH , 5BH , 7FH ; DATA1存放“ 8255 — — 1 ”对应的字符代码,06H为1的代码,40H为—的代码IOLED :
CALL LEDDISP ;调用显示“ 8255 —— 1 ” 子程序 MOV AX,0H MOV DS,AX
MOV AL,90H ;8255 控制字为90H MOV DX,IOCONPT
OUT DX,AL ;写 8255 控制字 MOV AL,0H MOV DX,IOBPT
OUT DX,AL ;PB 口置 0 IOLED2:
MOV DX,IOAPT
IN AL,IOAPT ;读 PA 口数据 MOV DX,IOCONPT
OUT DX,AL ;输出到 PC 口显示 MOV CX,0FFFFH ;延时 DELAY:
LOOP DELAY ;延时
JMP IOLED2 ;再次读A口,送C口输出,无限循环 LEDDISP : ;显示子程序
MOV AL,90H MOV DX,CONTPORT OUT DX,AL
MOV BYTE PTR DS:[0600H],00 LED1:
CMP BYTE PTR DS:[0600H],07H JA LED2
MOV BL,DS:[0600H] MOV BH,0H
MOV AL,CS:[BX+DATA] MOV DX,DATAPORT OUT DX,AL
ADD BYTE PTR DS:[0600H],01H JNZ LED1 LED2:
RET
CODE ENDS
END START 3. 实验步骤
1) 按图 3-9 连好实验线路
图3-9
2) 运行实验程序 有两种方法:
第一种运行实验箱固化在EPROM中的可执行程序,其起始地址为:F000:B300,其优点为简单易用,缺点不能修改程序。
调用方法为:
在实验箱显示器显示命令提示符“—”时,按 GO 键,显示“ 500 00 ”
输入 F000,按“:”键,输入B300 ,再按 EXEC 键,实验箱的显示器上显示“8255 —— 1 ”。在单个 LED 上显示 K1-K8 对应值。
第二种方法为用PC机联机,其优点是可以修改程序,改变输出的波形和周期,方法参考第二章4.联机软件的使用方法,该实验对应的汇编语言源程序在联机软件安装目录下的ASM文件夹下,文件名为DVCIO1.ASM。
五、实验结果
改变开关量K1-K8 的值,LED对应的段应发生相应改变。
六、思考题
1. 如果让LED显示K1,...,K8中的1的个数, 则程序应该做何修改?