文档介绍:学****文档 仅供参考
实验一:8255输入、输出实验
编写程序,使用8255可编程并行口芯片,来检测八位拨动开关的状态,并控制八位发光二极管。使得八位发光二极管的亮灭变化与八位拨动开关的状态相一致。实验中用8255P--------------------------------
C8255 EQU 0F22BH ;8255命令口地址
P8255A EQU 0F228H ;8255 PA口地址
P8255B EQU 0F229H ;8255 PB口地址
P8255C EQU 0F22AH ;8255 PC口地址
KEYVAL EQU 30H ;读到的键码
FLAG EQU 40H ;有键标志
;---------------------------------------------------------
ORG 0000H
SJMP START
ORG 0060H
START:
MOV SP,#60H
MOV FLAG,#00H ;按键标志初始值:00无键,FF有键
MOV R2,#0FEH ;位码初始值
LCALL DELAY
MOV KEYVAL,#00H ;置显示初始值
MOV DPTR,#C8255
; MOV A,#82H ;PB口输入,PA,PC口输出
MOV A,#90H ;PC口输出,PA输入,PB口输出
MOVX ***@DPTR,A
学****文档 仅供参考
MOV DPTR,#P8255C
MOV A,#00H
MOVX ***@DPTR,A
KB_DIS:
LCALL RD_KB ;读键子程序
LCALL DISP ;显示子程序
SJMP KB_DIS ;循环扫描
;---------------------------------------------------------
DISP:
MOV A,FLAG
JZ DISP_END ;无键转DISP_END;有键显示
MOV DPTR,#C8255
MOV A,#89H ;PC口输入,PA,PB口输出
MOVX ***@DPTR,A
; MOV DPTR,#P8255A ;显示键值
MOV DPTR,#P8255A ;写位