6.1.4实验整体布线图
6.2 8255并行接口的设计
6.2.1 8255试验箱连线简介
6.2.2 8255引脚连线图
7程序清单
ORG
0000H
;转主程序
AJMP MAIN
ORG 0013H
;外部中断1的入口地址 ;跳转到中断
AJMP INT_1 ORG
0100H
MAIN: MOV
MOV MOV MOV MOV SETB SETB SETB
SP,#60H
;给地址指针赋初值
A,#0FFH P1,A P2,A P0,A EA EX1 IT1
;给P1口赋初始值 ;给P2口赋初始值 ;给P0口赋初始值 ;开中断 ;打开外部中断1
;设置外部中断1为边沿触发方式 ;等待外部中断0上的按键按下
;调用延时程序
JB P3.2,$
LCALL DEL05S JNB P3.2,$ CLR
;等待按键弹起 ;点亮黄灯
;判断按键P1.4口上的按键是否被按下 ;等待按键弹起
P0.5
L10:
JB P1.4,L11
JNB P1.4,$
JNB P2.0,L11 ;检测对应的反对按键是否被按下
;调用延时程序
;将21H初始化
LCALL DEL05S MOV MOV INC A MOV MOV CJNE
21H,#00H A,21H ; B,A A,#01H
;21H中存储第一个同意按键的按下数
对21H地址单元中的值加1
A,B,L11 ;将寄存器A中的值与1比较,保证只有第一次按下才有效
MOV MOV MOV INC A MOV
21H,A 31H,#00H A,31H
;26H中存储第一个反对按键的按下数
31H,A ;对31H中的同意数加1
L11: JB P1.3,L12 ;检测按键是否被按下
JNB P1.3,$
;等待按键弹起
JNB P2.1,L12 ;判断对应的反对建是否被按下 LCALL DEL05S MOV MOV INC A MOV CJNE MOV MOV INC A MOV
31H,A B,A A,B,L12 22H,A A,31H 22H,#00H A,22H
;同L10注释,下同 ;调用延时程序
L12:
JB P1.2,L13 ;同上
JNB P1.2,$ JNB P2.2,L13 LCALL DEL05S MOV MOV INC A
23H,#00H A,23H