IT MAY NOT BE WORTH THE EFFORT ,tried this on a 12f683
90 words
Code:
#CONFIG
__config _INTRC_OSC_NOCLKOUT & _WDT_OFF & _MCLRE_ON & _CP_OFF
#ENDCONFIG
DEFINE OSC 8 'LETS PBP KNOW WE WILL BE RUNNING AT 8MHZ
'PIN DEFENITIONS
'
'GP3
'GP4 USED FOR TRIGGER INPUT
'GP5 USED FOR LED
'SET UP THE REGISTERS
OSCCON = %01110001 '8MHZ INTERNAL CLOCK USED
CMCON0 = %00000111 'CIN PINS ARE I/O, COUT PIN IS I/O
TRISIO = %00111011 ' GP2 OUTPUT THE REST ARE INPUTS
ANSEL = 0 'NO ANALOG PORTS - ALL DIGITAL
WPU = %00010000 'GP4 WEAK PULL UP ENABLED.
DEFINE DEBUG_REG GPIO
DEFINE DEBUG_BIT 2
DEFINE DEBUG_BAUD 9600
DEFINE DEBUG_MODE 0
' LATB.7=1
'PBP software serial out 8N1
delay var word ' set baud rate delay
txbyte var byte ' byte to send
bcount var byte ' counter
serpin var gpio.2
delay = 100 ' set serial delay here 9600
main:
txbyte = "H"
GOSUB serialout
txbyte = "E"
GOSUB serialout
txbyte = "L"
GOSUB serialout
txbyte = "L"
GOSUB serialout
txbyte = "O"
GOSUB serialout
txbyte = $20 ' space
GOSUB serialout
goto main
serialout:
Debug txbyte
RETURN
98 words for arts version
Code:
#CONFIG
__config _INTRC_OSC_NOCLKOUT & _WDT_OFF & _MCLRE_ON & _CP_OFF
#ENDCONFIG
DEFINE OSC 8 'LETS PBP KNOW WE WILL BE RUNNING AT 8MHZ
'PIN DEFENITIONS
'
'GP3
'GP4 USED FOR TRIGGER INPUT
'GP5 USED FOR LED
'SET UP THE REGISTERS
OSCCON = %01110001 '8MHZ INTERNAL CLOCK USED
CMCON0 = %00000111 'CIN PINS ARE I/O, COUT PIN IS I/O
TRISIO = %00111011 ' GP2 OUTPUT THE REST ARE INPUTS
ANSEL = 0 'NO ANALOG PORTS - ALL DIGITAL
WPU = %00010000 'GP4 WEAK PULL UP ENABLED.
'PBP software serial out 8N1
delay var word ' set baud rate delay
txbyte var byte ' byte to send
bcount var byte ' counter
serpin var gpio.2
delay = 100 ' set serial delay here 9600
main:
txbyte = "H"
GOSUB serialout
txbyte = "E"
GOSUB serialout
txbyte = "L"
GOSUB serialout
txbyte = "L"
GOSUB serialout
txbyte = "O"
GOSUB serialout
txbyte = $20 ' space
GOSUB serialout
goto main
serialout:
' start bit
serpin = 0 ' tx clear
PAUSEUS delay ' start bit delay
' send byte
FOR bcount = 0 TO 7
serpin=txbyte.0
txbyte = txbyte >> 1
PAUSEUS delay ' data bit delay
NEXT
serpin= 1
PAUSEUS delay ' stop bit delay
RETURN
Bookmarks