Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
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

List of 10 messages in thread
TopicAuthorDate
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      

Back to Subject List