HELLO GURU'S,
I AM TRYING TO SEND SOME FIXED CHARACTER FROM THE PIC TO THE PC VIA PS/2 WITHOUT ANY RESULT.
CAN SOMEONE PLEASE HELP !
BACKGROUND:
I HAVE JUST ADAPTED A CODE I FOUND ON THE NET FOR BS2 FOR MY PURPOSE. THE FILE IS ATTACHED TO THIS MAIL. ITS GOT SOME VERY GOOD DATA FOR HOW TO........ FOR THE PURPOSE.
THE ONLY DIFFERENCE IS THAT I HAVE DIRECTLY CONNECTED THE PORTPINS TO THE PC PS/2 CABLE SO AT A COUPLE OF PLACES I HAVE INVERTED THE SENDS.
MY CODE:
@ device PIC16F73 , hs_osc, wdt_off, pwrt_on, protect_oN
Include "MODEDEFS.BAS" ' Include Shiftin/out modes
'-----------------------------------------------------------------
Define Osc 8 ' We're using a 8 MHz oscillator
'-----------------------------------------------------------------
Adcon1 = 7 ' Set PORTA DIGITAL
OPTION_REG.7 = 1 ' DISABLE INTERNAL PULLUPS
Trisa = %00000000 ' SETS ALL PORTA PINS TO OUTPUT
Trisb = %00001100 ' ALL OUTPUT
Trisc = %00001011 ' 6 Pins - LCD and 2 Pins RF Module
'-----------------------------------------------------------------
SCLK VAR PORTB.1
SDATA VAR PORTB.0
LED VAR PORTC.5 ' LED
'-----------------------------------------------------------------
temp var BYTE 'Temp variabel
char var WORD 'Variabel containing the character
breakcode var WORD 'Variabel containing "Breakcode"
extcode var WORD 'Variabel containing "Extended charcode"
I VAR BYTE ' TEMP VARIABLE
' -----[ Initialization ]---------------------------------------------
'
'Set datpin and clkpin default to high (1)
HIGH SDATA ' low datpin
HIGH SCLK ' low clkpin
'Define breakcode
' s--DATA--PS (s=start, DATA=LSB First, P=parity, S=stop)
breakcode=%00000111111 '/F0H
'Define extcode
' s--DATA--PS (s=start, DATA=LSB First, P=parity, S=stop)
extcode=%00000011101 '/E0H
' -----[ Main Code ]--------------------------------------------------
'
PAUSE 4000 : LOW LED
start:
temp=0 : pause 1000
HIGH LED : GOSUB button00 : TEMP = 0 : PAUSE 500 : LOW LED : PAUSE 500
HIGH LED : GOSUB button01 : TEMP = 0 : PAUSE 500 : LOW LED : PAUSE 500
HIGH LED : GOSUB button02 : TEMP = 0 : PAUSE 500 : LOW LED : PAUSE 500
HIGH LED : GOSUB button03 : TEMP = 0 : PAUSE 500 : LOW LED : PAUSE 500
HIGH LED : GOSUB button04 : TEMP = 0 : PAUSE 500 : LOW LED : PAUSE 500
HIGH LED : GOSUB button05 : TEMP = 0 : PAUSE 500 : LOW LED : PAUSE 500
goto start
' -----[ Test Characters ]--------------------------------------------
' These are inverted
' s--DATA--PS (s=startbit, DATA=LSB First, P=paritybit, S=stopbit)
'char=%10110101110 '/SPACE
'char=%11100011110 '/a
'char=%11010010100 '/CR
'char=%11011001110 '/b
'char=%11100101110 '/t
'char=%10100101100 '/r
'char=%10011101110 '/d
'char=%10101111100 '/F1
'char=%11111000110 '/INS
button00:
'Assign char a character with startbit, parity and stopbit. OBS inverted !
' s--DATA--PS (s=startbit, DATA=LSB First, P=paritybit, S=stopbit)
'char=%11100011110 '/a
char=%00011100001 '/a
gosub sendchar
RETURN
button01:
'Assign char a character with startbit, parity and stopbit. OBS inverted !
' s--DATA--PS (s=startbit, DATA=LSB First, P=paritybit, S=stopbit)
'char=%11010010100 '/CR
char=%00101101011 '/CR
gosub sendchar
RETURN
button02:
'Assign char a character with startbit, parity and stopbit. OBS inverted !
' s--DATA--PS (s=startbit, DATA=LSB First, P=paritybit, S=stopbit)
'char=%11011001110 '/b
char=%00100110001 '/b
gosub sendchar
RETURN
button03:
'Assigne char a character with startbit, parity and stopbit. OBS inverted !
' s--DATA--PS (s=startbit, DATA=LSB First, P=paritybit, S=stopbit)
'char=%10110101110 '/SPACE
char=%01001010001 '/SPACE
gosub sendchar
goto start
button04:
'Assigne char a character with startbit, parity and stopbit. OBS inverted !
' s--DATA--PS (s=startbit, DATA=LSB First, P=paritybit, S=stopbit)
'char=%10101111100 '/F1
char=%01010000011 '/F1
gosub sendchar
RETURN
button05:
'Assigne char a character with startbit, parity and stopbit. OBS inverted !
' s--DATA--PS (s=startbit, DATA=LSB First, P=paritybit, S=stopbit)
'char=%11111000110 '/INS
char=%00000111001 '/INS
gosub sendextchar
RETURN
' -----[ Subroutines ]------------------------------------------------
'
sendchar
'Send character
shiftout SDATA,SCLK,1,[char\11] : pauseus 10
'Send breakcode + character
shiftout SDATA,SCLK,1,[breakcode\11] : pauseus 10
shiftout SDATA,SCLK,1,[char\11] : pauseus 10
return
sendextchar
'Send extcode + character SDATA
shiftout SDATA,SCLK,1,[extcode\11] : pauseus 10
shiftout SDATA,SCLK,1,[char\11] : pauseus 10
'Send extcode + breakcode + character
shiftout SDATA,SCLK,1,[extcode\11] : pauseus 10
shiftout SDATA,SCLK,1,[breakcode\11] : pauseus 10
shiftout SDATA,SCLK,1,[char\11] : pauseus 10
return
' -----[ End ]--------------------------------------------------------
ANY BETTER IDEA WOULD ALSO HELP.
REGARDS
Bookmarks