一、概述
三、硬件设计
1. 8255工作原理
3. 键特征值的形成
4. 段值的形成
6. 寄存器地址选取
四、软件设计
1. 8255初始化
2. 键盘扫描的处理方法
   MOV  DX,0640H
        MOV  AL,00H 
OUT  DX,AL
JXSR: MOV DX,0644H
      IN  AL,DX
      AND AL,0FH
(4)防抖动的延时子程序
        RET
3. 程序核心部分
  LOP1:MOV DX,0640H
          OUT DX,AL
          MOV DX,0644H
五、源程序代码
1. 实验代码
      DZTABLE DB 3FH,06H,5BH,4FH,66DB 6DH,7DH,07H,
               DB 77H,7CH,39H,5EH,79H,71H
 JZTABLE DB 7EH,7DH,7BH,77H
              DB 0BEH,0BDH,0BBH,0B7H
              DB 0DEH,0DDH,0DBH,0D7H
DATA ENDS
CODE SEGMENT
  ASSUME CS:CODE,DS:DATA
 START:   MOV AX,DATA
          MOV DS,AX
          MOV DX,0646H
          MOV AL,00H
          OUT DX,AL
    JXSR: MOV DX,0644H
          IN  AL,DX
          AND AL,0FH
     LOP1:MOV DX,0640H
          OUT DX,AL
          MOV DX,0644H
     ZJSC:SHL BL,4
          AND AH,0FH
     LOP3:CMP BL,[SI]
          JE  LOP2
          INC CL
     LOP2:MOV DX,0640H
          MOV AL,00H
          OUT DX,AL
    LOP4: MOV DX,0644H
          IN  AL,DX
          AND AL,0FH
          MOV AH,4CH
          INT 21H
        RET
2. 代码存在问题分析
       PUSH  CX
RET
六、难点分析
 DATA SEGMENT
      DZTABLE DB 3FH,06H,5BH,4FH,66DB 6DH,7DH,07H,
               DB 77H,7CH,39H,5EH,79H,71H
 JZTABLE DB 7EH,7DH,7BH,77H
              DB 0BEH,0BDH,0BBH,0B7H
              DB 0DEH,0DDH,0DBH,0D7H
DATA ENDS
CODE SEGMENT
  ASSUME CS:CODE,DS:DATA
 START:   MOV AX,DATA
          MOV DS,AX
          MOV DX,0646H
          MOV AL,00H
          OUT DX,AL
    JXSR: MOV DX,0644H
          IN  AL,DX
          AND AL,0FH
     LOP1:MOV DX,0640H
          OUT DX,AL
          MOV DX,0644H
     ZJSC:SHL BL,4
          AND AH,0FH
     LOP3:CMP BL,[SI]
          JE  LOP2
          INC CL
     LOP2:MOV DX,0640H
          MOV AL,00H
          OUT DX,AL
    LOP4: MOV DX,0644H
          IN  AL,DX
          AND AL,0FH
MOV DX,0640H
          MOV AL,00H
          OUT DX,AL
        RET
七、心得体会
通过这次课程设计使我懂得了理论与实际相结合是很重要的,在设计过程中,经常会遇到这样那样的情况,就是心