Re: Maximum frequency output from a PIC
Nick, Here ia a program I wrote a few years ago to take a 10F222 and use it as a modulator for some serial data I was pushing to the surface about 200 feet below the water surface. It worked quite well. As you can see it is done in assembly wrapped inside PBP. I hope this will give you a starting point.
' SURFCOMM1.BAS
' WRITTEN FOR 10F222
' PROGRAM TO SEND:
'STATUS DATA READING,TEMPERATURE REDAING,SERVO POSITION READING and
'DEPTH SENSOR READING TO SURFACE @ 1 SECOND INTERVALS. TRANSMIT DATA
'@ 3000 BAUD MODULATED @ 125Khz.
'
' WRITTEN BY DAVID PUROLA 07/13/2006
'
' INCORPORATED INTO 216229 REV.D "NEW TUBSUB" (12/28/2006)
'
DEFINE OSC 8
'
' ************************************************** ******************
' Define Port Variables
' ************************************************** ******************
DATA_OUT VAR GPIO.0 '0-MODULATED DATA TO HEAD UNIT
TXENAB VAR GPIO.1 '1-TRANSMIT ENABLE INPUT
DATA_IN VAR GPIO.2 '1-INPUT DATA FROM SOURCE
SPARE3 VAR GPIO.3 '1-
' ************************************************** ******************
' Declare Variables
' ************************************************** ******************
' DO NOT CHANGE THESE LINES
' ************************************************** ******************
TRISIO = %11111110 'SET PORT DIRECTION REGISTER
OPTION_REG = %11000000 'DISABLE PULL-UPS,PSA to TMR0,PSA 1:2
ADCON0 = %00000000 ' LEFT JUSTIFIED,REF = VDD,Channel 0,A/D Off
'************************************************* ********************
LOOP: 'MAIN LOOP FOR PROGRAM
'************************************************* ********************
ASM
BCF GPIO,0 ;DISABLE TRANSMITTER OUTPUT INITIALLY
NXTPLS BTFSS GPIO,1 ;TEST DATA ENABLE INPUT PIN BIT STATE
GOTO NXTPLS ;DON'T WAIT FOR PERIOD TO EXPIRE BEFORE TESTING ENABLE BIT
BTFSC GPIO,2 ;TEST DATA INPUT PIN BIT STATE
GOTO NXTPLS ;DON'T WAIT FOR PERIOD TO EXPIRE BEFORE TESTING BIT
BSF GPIO,0 ;IF NOT SET THEN MODULATE OUTPUT (ENABLE OUTPUT PIN)
NOP ;BIT ON TIME
NOP
NOP
NOP
NOP
NOP
NOP
BCF GPIO,0 ;(DISABLE OUTPUT PIN)
NOP
GOTO NXTPLS
ENDASM
GOTO LOOP
STOP
Dave Purola,
N8NTA
EN82fn
Bookmarks