I am only 17 and I have partially self taught myself PICBasicPro. Since I have not taken any engineering courses and I am still in high school I do not understand much. I checked out the example from this http://www.picbasic.co.uk/forum/showthread.php?t=12555. I have never used the CCP module before so I am a little lost. I need this code for a 12f683. I highlighted the parts in red that I do not understand. I need to transmit the the data to a 1 wire serial lcd using serout command not the debug but I dont know how to do that. Please help.
Code:
' Connections;
' IR detector output to PORTA.2 CAP1 input
' PORTB.0 ------/\/\/\/----|>|----GND LED on RB0 (for press/release indicator)
' PORTC.6 --MAX232---PC serial port RX (to print results)
DEFINE NO_CLRWDT 1 ' it's disabled in config
DEFINE LOADER_USED 1
DEFINE OSC 4
DEFINE DEBUG_REG PORTC
DEFINE DEBUG_BIT 6
DEFINE DEBUG_BAUD 9600
DEFINE DEBUG_MODE 0 ' 1 = inverted, 0 = true
NumPulses CON 26 ' total signal states to learn (26 for Sony)
T1 VAR WORD[NumPulses]
INDEX VAR BYTE
KeyNum VAR BYTE
SYMBOL Capture = PIR3.1
CLEAR
ANSEL0 = 0 ' all digital
TRISA.2 = 1 ' cap1 input pin (Capture input)
INTCON = 0 ' interrupts off
TMR1H = 0 ' clear high byte of TMR5 count
TMR1L = 0 ' clear low byte
T1CON = %00000001 ' prescale=1:1, int clock, TMR5=on
Main:
CAP1CON = %01001000 ' auto time base reset, capture on every state change
Capture = 0
FOR KeyNum = 0 TO 14 ' learn 15 total button codes
CAP1CON = %01001000 ' HIGH 0 ' indicate start (user press button)
Capture = 0 ' clear capture flag before starting
' Wait for 1st capture on state-change. Note: We don't care what the 1st capture
' value is since it's the beginning high-to-low edge (for IR), and of no significance.
' We only want the length of each high & low signal after the falling edge.
WHILE Capture = 0 : WEND
Capture = 0
FOR INDEX = 0 TO NumPulses-1 ' captures IR signal in 1uS increments
WHILE Capture = 0 : WEND ' wait for capture event
Capture = 0 ' clear int flag after each capture
T1[INDEX] = ((CAP1BUFH<<8) + CAP1BUFL) ' store capture values
Next INDEX
CAP1CON = 0 ' disable capture immediately after to avoid unwanted captures
Capture = 0
' if user holds transmitter button down too long.
LOW 0 ' indicates user should release transmitter button
PAUSE 1000
' print button codes
FOR INDEX = 0 TO NumPulses-1 STEP 2
DEBUG "low = ", DEC T1[INDEX],"uS",13,10 ' print low signal period
DEBUG "high = ",DEC T1[INDEX+1],"uS",13,10 ' print high signal period
NEXT INDEX
DEBUG 10,13
NEXT KeyNum
Finished: ' indicate finished
TOGGLE 0
PAUSE 200
GOTO Finished
END
Bookmarks