| ??? 02/22/02 06:51 Read: times |
#20055 - RE: IBM PC Keyboard to 8051 with ports & PPI |
Hi
Here is the pckeyboard interface for the 89c2051. P3.5 is connected to data of the pckbd p3.7 is connected to clock of the pckbd The code is working fine. I am just finished a little bit of it. Some more decoding is not done. The port1 is used to display the asscii code. Regards.......kannan ;PCKEY.A51 ;PROGRAM WRITTEN BY CSK ;19/06/01 ;VER 1 ; This routines get the scan code from an at keyboard and ; displays the code on port1; The port1 pins are connected to ; Led\'s. througb a 470 ohms resistor to supply. ; SFR definitions ; PSW EQU 0D0H P1 EQU 090H P3 EQU 0B0H DPL EQU 082H DPH EQU 083H IE EQU 0A8H ACC EQU 0E0H BCC EQU 0F0H SP EQU 081H IP EQU 0B8H ; PCON EQU 087H TCON EQU 088H TMOD EQU 089H TL0 EQU 08AH TL1 EQU 08BH TH0 EQU 08CH TH1 EQU 08DH ; SCON EQU 098H SBUF EQU 099H ; KDAT EQU 0B5H ;p3.5 for pc keyboard data KCLK EQU 0B7H ;p3.7 for pc keyboard clock ORG 0000H LJMP START ORG 0003H RETI ORG 000BH RETI ORG 001BH RETI ORG 0023H RETI ORG 002BH RETI ORG 020 CAPBIT EQU 02H CTLDOWN EQU 03H CONTROL EQU 04H ATPAR EQU 05H MAKE EQU 06H ORG 030H CHARBAD EQU 030H OLDCHAR EQU 031H TEMPO EQU 032H MKEY EQU 033H SCKEY EQU 034H START MOV R1,#0FFH MOV R0,#0FFH DJNZ R1,$ DJNZ R0,$ MOV SP,#40H MOV P3,#0FFH MOV P1,#0FFH SETB CONTROL CLR CTLDOWN CLR CAPBIT AT ACALL ATPWRUP MOV DPTR,#ATTB1 ATA ACALL ATGETKEY ;get at keyboard data CJNE A,#0F0H,ATA ;if Hex 0f0 go further ACALL ATGETKEY ;get the second char MOVC A,@A+DPTR ;get the diplay code MOV P1,A ;send it to port1 SJMP ATA ATPWRUP: MOV A,#0FFH ACALL SENDAT MOV A,#0F6H ACALL SENDAT MOV A,#0EDH ACALL SENDAT MOV A,#02 ; CAPS LOCK ACALL SENDAT MOV A,#0F4H ACALL SENDAT RET ATGETKEY: MOV R0,#11 SETB KCLK ATWAITC0: JB KCLK,ATWAITC0 DEC R0 CJNE R0,#10,ATNSTART SJMP ATWAIT ATNSTART CJNE R0,#0,ATNSTOP ATWAITC1 JNB KCLK,ATWAITC1 CLR KCLK MOV R0,#20 PAUSE DJNZ R0,PAUSE JB PSW.0,PARODD PAREVEN JNB ATPAR,ATERR RET PARODD JB ATPAR,ATERR RET ATERR MOV A,#0FEH ACALL SENDAT SJMP ATGETKEY ATNSTOP CJNE R0,#1,ATDATAB MOV C,KDAT MOV ATPAR,C SJMP ATWAIT ATDATAB MOV C,KDAT RRC A ATWAIT JNB KCLK,ATWAIT SJMP ATWAITC0 SENDAT: SETB KCLK CLR KDAT MOV R0,#08 SEND4 JB KCLK,SEND4 MOV C,ACC.0 MOV KDAT,C RR A SEND5 JNB KCLK,SEND5 DEC R0 CJNE R0,#0,SEND4 MOV C,PSW.0 CPL C SEND6 JB KCLK,SEND6 MOV KDAT,C SEND7 JNB KCLK,SEND7 SEND77 JB KCLK,SEND77 SETB KDAT SEND78 JNB KCLK,SEND78 SEND79 JB KCLK,SEND79 SEND7A JNB KCLK,SEND7A MOV R0,#08 SEND8 DJNZ R0,SEND8 CLR KCLK MOV R0,#20 SEND9 DJNZ R0,SEND9 SETB KCLK ACALL ATGETKEY RET ATTB1: DB 00H,0F9H,0F7H,0F5H,0F3H,0F1H,0F2H,0F2H DB 00H,0FAH,0F8H,0F6H,0F4H,09H,60H,00H DB 00H,12H,60H,00H,70H,071H,031H,00H DB 00H,00H,7AH,73H,61H,77H,32H,00H DB 00H,63H,78H,64H,65H,34H,33H,00H DB 00H,20H,76H,66H,74H,72H,35H,00H DB 00H,6EH,62H,68H,67H,79H,36H,00H DB 00H,00H,6DH,6AH,75H,37H,38H,00H DB 00H,2CH,6BH,69H,6FH,30H,39H,00H DB 00H,2EH,2FH,6CH,00H,70H,2DH,00H DB 00H,2CH,00H,00H,5BH,3DH,00H,00H DB 00H,00H,0DH,5DH,00H,5CH,00H,00H DB 00H,00H,00H,00H,00H,08H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,7FH,00H,00H,00H,1BH,00H,00H DB 5AH,00H,2BH,00H,2DH,2AH,00H,00H DB 00H,0 ATTB2: DB 00H,00H,00H,56H,7BH,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,65H,00H,00H,71H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,72H DB 00H,00H,00H,00H,00H,00H,00H,73H DB 00H,00H,00H,00H,00H,00H,00H,74H DB 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,5CH,00H DB 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,43H DB 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,76H,00H DB 76H,00H,4FH,75H,00H,63H,5FH,46H DB 4DH,00H,4EH,4CH,00H,00H,00H,00H DB 78H,00H,7BH,77H,40H,0 END |
| Topic | Author | Date |
| IBM PC Keyboard to 8051 with ports & PPI | 01/01/70 00:00 | |
| RE: IBM PC Keyboard to 8051 with ports & PPI | 01/01/70 00:00 | |
| RE: IBM PC Keyboard to 8051 with ports & PPI | 01/01/70 00:00 | |
| RE: IBM PC Keyboard to 8051 with ports & PPI | 01/01/70 00:00 | |
| RE: IBM PC Keyboard to 8051 with ports & PPI | 01/01/70 00:00 | |
| RE: IBM PC Keyboard to 8051 with ports & PPI | 01/01/70 00:00 | |
| RE: IBM PC Keyboard to 8051 with ports & PPI | 01/01/70 00:00 | |
| RE: IBM PC Keyboard to 8051 with ports & PPI | 01/01/70 00:00 | |
| RE: IBM PC Keyboard to 8051 with ports & PPI | 01/01/70 00:00 | |
RE: IBM PC Keyboard - Bert | 01/01/70 00:00 |



