;Asi consume 0.41mA y la CR2032 es de 240mA, duraria 24 días.
Device 12F683
Config INTRC_OSC_NOCLKOUT,WDT_OFF,MCLRE_OFF,CP_Off,PWRTE_ON
Xtal = 4
All_Digital=True ' Coloca todo los pines como digitales (PBP alldigital)
;######################################### TRANSMISOR ###########################################
Include "modedefs.bas"
TRISIO = %11111010 ;Pongo todo como entrada menos gpio.0 y gpio.2
CMCON0 = 7 ;12f683 Analog comparators off (en 12f629 es CMCON = 7)
GPIO = %00000001 ;apaga todas las salidas
TRISIO.2 = 0 ' CCP1 (GPIO.2 = Output)
PR2 = 25 ' Set PWM Period for approx 38KHz
CCPR1L = 13 ' Set PWM Duty-Cycle to 50%
CCP1CON = %00001100 ' Mode select = PWM
T2CON = %00000100 ' Timer2 ON + 1:1 prescfale
INTCON.7 = 1 ' Turn Off global interrupts
INTCON.3 = 1 ' Enable PortB[4..7] interrupt
start:
INTCON.0 = 0 ' Clear the PortB[4..7] interrupt flag
;INTCON.1 = 0 ' Clear the PortB[4..7] interrupt flag
;Sleep
If GPIO.5 = 1 Then
SerOut GPIO.0,N1200,[$FF,$FF,"12345",15,"1"] ;Envia con la clave 12345 y el dato 15,1
High GPIO.0 : DelayMS 200
GoTo start
EndIf
If GPIO.4 = 1 Then
SerOut GPIO.0,N1200,[$FF,$FF,"12345",20] ;Envia con la clave 12345 y el dato 20
High GPIO.0 : DelayMS 200
GoTo start
EndIf
If GPIO.1 = 1 Then
SerOut GPIO.0,N1200,[$FF,$FF,"12345",30] ;Envia con la clave 12345 y el dato 30
High GPIO.0 : DelayMS 200
GoTo start
EndIf
GoTo start