免费单片机串行口与PC机通讯(四)
 nbsp;       ;置8279工作方式 
 MOVX @DPTR,A 
 MOV A,#LEDFEQ         ;置键盘扫描速率 
 MOVX @DPTR,A 
 MOV A,#LEDCLS         ;清除 LED 显示 
 MOVX @DPTR,A 
 POP ACC               ;恢复现场 
 POP DPL 
 POP DPH 
 RET 
                       ;读取键盘子程序 
                       ;输入: 无 ; 输出: B: 读到的键码 A: 按键的标志 
 GETKEY: PUSH DPH      ;保存现场 
 PUSH DPL 
 PUSH PSW 
 MOV DPTR,#Z8279 
 MOVX A,@DPTR          ;读8279状态 
 ANL A,#07H            ;屏蔽D7-D3 
 JNZ GETVAL            ;判断是否有键输入 
 MOV A,#0H             ;置标志(无键输入) 
 SJMP NKBHIT 
 
 GETVAL: 
 MOV A,#READKB         ;读 FIFO RAM 命令 
 MOVX @DPTR,A 
 MOV DPTR,#D8279 
 MOVX A,@DPTR          ;读键 
 ANL A,#0FH            ;屏蔽 SHIFT 和 CTRL 键 
 MOV DPTR,#KEYCODE     ;键码表起始地址 
 MOVC A,@A+DPTR        ;查表 
 MOV B,A               ;置返回键值 
 MOV A,#0FFH           ;置标志(有键输入) 
 
 NKBHIT: 
 POP PSW               ;恢复现场 
 POP DPL 
 POP DPH 
 RET 
                       ;显示字符子程序   输入: R4,位置 R5,值
 DISLED: PUSH DPH      ;保存现场 
 PUSH DPL 
 PUSH ACC 
 MOV A,#LEDWR0         ;置显示起始地址 
 ADD A,R4              ;加位置偏移量 
 MOV DPTR,#Z8279 
 MOVX @DPTR,A          ;设定显示位置 
 MOV DPTR,#LEDSEG      ;置显示常数表起始位置 
 MOV A,R5 
 MOVC A,@A+DPTR        ;查表 
 MOV DPTR,#D8279 
 MOVX @DPTR,A          ;显示数据 
 POP ACC               ;恢复现场 
 POP DPL 
 POP DPH 
 RET 
 
 DELAY:            &nb
免费单片机串行口与PC机通讯(四)由毕业论文网(www.huoyuandh.com)会员上传。


