'12F675
@ DEVICE pic12F675, INTRC_OSC_NOCLKOUT
' System Clock Options
@ DEVICE pic12F675, MCLR_OFF
' Master Clear Options (Internal)
@ DEVICE pic12F675, WDT_OFF
' Watchdog Timer
@ DEVICE pic12F675, CPD_OFF
DEFINE OSC 4
OPTION_REG.5 = 0 ' clock source internal
CMCON = 7
ANSEL=0
Pulselen var word ' Pulselen can be 0 - 255, 100 = 1 ms, 200 = 2 ms
Init var word ' Init used to flash LED
Clear ' set all variables = 0
Input GPIO.3 ' set pin 5 to RX signal
ReadPWM:
PulsIn GPIO.3, 1,Pulselen ' pin 4 - read high pulse length, times out after .65535 seconds
pause 15
If Pulselen < 50 Then GoTo Blink ' no signal -> blink led
If Pulselen > 75 Then GoTo solid ' signal -> Solid led
GoTo ReadPWM
Blink:
For Init = 1 To 3 ' blink led 3 times
High GPIO.1
pause 200
Low GPIO.1
pause 200
Next
pause 1000
GoTo ReadPWM
Solid:
High GPIO.1
pause 3000
Low GPIO.1
pause 200
GoTo ReadPWM
END
Bookmarks