Hi AvionicsMaster
Here is a code using IOC and Sleep.
Code:
'****************************************************************
'* Name : Temporizador 3m p/ Lavar Dentes.BAS *
'* Author : Hugo Oliveira *
'* Notice : Copyright (c) 2012 ProSystems *
'* : All Rights Reserved *
'* Date : 01-03-2012 *
'* Version : 1.0 *
'* Notes : Proteus + Circuito com SOT-23 e CR2032 *
'* : 10F222 - Wake from sleep através de IOC no GP3 *
'****************************************************************
@ __config _IOFSCS_4MHZ & _WDT_OFF & _MCLRE_OFF & _CP_OFF & _MCPU_ON
DEFINE OSC 4
'===================SRF AND PINOUT CONFIGURATION - 1-In / 0-Out=================
'76543210
TRISIO = %00001000
GPIO = %00000000
OPTION_REG = %00000000 'OPTION_REG.7 - Wake on change bit 0=Enable
ADCON0 = %00000000 'Analog pins disable
'==================================ALIAS========================================
VAZIO1 VAR GPIO.0
VAZIO2 VAR GPIO.1
LED VAR GPIO.2
MCLR vAR GPIO.3
'=================================VARIABLES=====================================
I VAR BYTE
'================================MAIN LOOP======================================
@ movlw 0x01A ;OSCCAL Value
@ movwf OSCCAL
Main:
WHILE MCLR = 0
WEND
FOR I = 0 TO 119 '~120 Segundos a Piscar de 1 em 1 Segundo
HIGH LED
PAUSE 500
LOW LED
PAUSE 500
NEXT
FOR I = 0 TO 59 '~30 Segundos a Piscar de 0,5 em 0,5 Segundo
HIGH LED
PAUSE 250
LOW LED
PAUSE 250
NEXT
HIGH LED
PAUSE 30000 '~30 Segundos sempre ligado
LOW LED
'Sequencia de finalização
HIGH LED: PAUSE 100: LOW LED: PAUSE 100
HIGH LED: PAUSE 100: LOW LED: PAUSE 100
HIGH LED: PAUSE 100: LOW LED: PAUSE 100
I = GPIO 'Must read GPIO before entering sleep. Read the Datasheet
@ SLEEP
@ NOP
GOTO Main
END
Bookmarks