首页 » 通讯 » 《微机事理8086》并行接口芯片8255A的应用实验_端口_按键

《微机事理8086》并行接口芯片8255A的应用实验_端口_按键

萌界大人物 2024-09-21 15:54:31 0

扫一扫用手机浏览

文章目录 [+]

所需器材

电路图:

仿真电路图

《微机事理8086》并行接口芯片8255A的应用实验_端口_按键 《微机事理8086》并行接口芯片8255A的应用实验_端口_按键 通讯

《微机事理接口与技能》(8086汇编)期末考试、考研常见考题、习题,题型汇总、知识点总结、专周(十二)之并行接口芯片8255A的运用

《微机事理8086》并行接口芯片8255A的应用实验_端口_按键 《微机事理8086》并行接口芯片8255A的应用实验_端口_按键 通讯
(图片来自网络侵删)

程序源码:

;author:liuxianfei0810IO3 EQU 0030HCODE SEGMENT 'CODE' ASSUME CS:CODE,DS:CODEMAIN PROC FARSTART:MOV AX,CODE MOV DS,AX ;author:liuxianfei0810L: MOV AL,10000001B; D7:置放向字1有效 D6-5:办法0 D4:端口A输出; D3:端口C上半部分输出 D2:办法0 D1:端口B输出 D0:端口C下半部分输入; 端口C上半部分 PC7-4 MOV DX,IO3+6;0110 数据总线->掌握字寄存器 合营OUT指令 OUT DX,AL ;author:liuxianfei0810 MOV DX,IO3+4;0100 数据总线->端口C 合营OUT指令 MOV AL,00 OUT DX,AL;端口C上半部分输出0000即:PC7-4=0000 ;author:liuxianfei0810 ;MOV DX,IO3+4;0100 端口C->数据总线 合营IN指令NOKEY:IN AL,DX ;采集端口C低 四位数据 AND AL,0FH CMP AL,0FH ;判断是否有按键按下 JZ NOKEY CALL DELAY10;延时消抖 ;author:liuxianfei0810 IN AL,DX ;进一步 判断是否有按键按下 MOV BL,0 MOV CX,4 ;author:liuxianfei0810LP1: SHR AL,1;右移一位,将最低位移到C标志中 JNC LP2 ;判断C标志,检测哪个按键按下,检测到跳转到LP2 INC BL ;状态标志加一,用于后续判断 LOOP LP1 ;没检测到按键,连续检测 ;author:liuxianfei0810LP2: MOV AL,10001000B; D7:置放向字1有效 D6-5:办法0 D4:端口A输出; D3:端口C上半部分输入 D2:办法0 D1:端口B输出 D0:端口C下半部分输出; 端口C上半部分 PC7-4 MOV DX,IO3+6;0110 数据总线->掌握字寄存器 合营OUT指令 OUT DX,AL ;author:liuxianfei0810 MOV DX,IO3+4;0100 数据总线->端口C 合营OUT指令 MOV AL,00 ;端口C下半部分输出 0000即:PC3-0=0000 OUT DX,AL ;author:liuxianfei0810 IN AL,DX ;采集端口C高 四位数据 AND AL,0F0H CMP AL,0F0H ;判断是否有按键按下 JZ L ;ZF=1 解释无按键按下。
跳转到L处,重新检测按键 ;author:liuxianfei0810 MOV BH,0 MOV CX,4 ;author:liuxianfei0810LP3: SHL AL,1 ; 左移一位,将最高位送到C中 JNC LP4 ;判断C标志,检测哪个按键按下,检测到跳转到LP2 INC BH LOOP LP3 ;author:liuxianfei0810LP4: MOV AX,4 MUL BH ADD AL,BL MOV DX,IO3+2;0010 数据总线->端口B 合营OUT指令 OUT DX,AL ;author:liuxianfei0810 MOV BX,OFFSET SEGDATA XLAT MOV DX,IO3;0000 数据总线->端口A 合营OUT指令 OUT DX,AL ;author:liuxianfei0810 MOV CX,0J1: LOOP J1;6553617/fclk JMP L RETMAIN ENDP;author:liuxianfei0810;延时子程序DELAY10 PROC MOV CX,882 LOOP $;一个loop实行周期17个时钟周期 RETDELAY10 ENDP;共阴数码管SEGDATA DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71HCODE ENDS END START

(有关8255A芯片讲解见后文)

标签:

相关文章