 Re: Maximum frequency output from a PIC
 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