CHECK:
portb=%11110000
HSEROUT ["AT",13]
HSERIN 5000, ERR, [WAIT("OK")]
pause 200
PORTb=%00000000
HIGH PORTB.4
PAUSE 15000
HSEROUT ["at+cmgs=",34,"07xxxxxxxxx",34,13]
PAUSE 100
HSEROUT ["SYSTEM OK",26]
HSERIN 5000, ERR, [WAIT("OK")]
HSEROUT ["at+cmgs=",34,"0719099795",34,13]
PAUSE 100
HSEROUT ["SYSTEM OK",26]
HSERIN 5000, ERR, [WAIT("OK")]
low portb.4

'get initial status
PortDStatus.0 = PORTD.0
PortDStatus.1 = PORTD.1
PortDStatus.2 = PORTD.2
BEGIN:
HIGH PORTB.7
PAUSE 200
LOW PORTB.7
if PORTD.0 != PortDStatus.0 then 'sensed change in PORTD.0
pause 10 'debounce 10 ms
PortDStatus.0 = PORTD.0 'save new status for PORTD.0
if PORTD.0 = 1 then
gosub SEND_SMS0 'send new status report
else 'PORTD.0 = 0
gosub SEND_SMS2
endif
endif
if PORTD.1 != PortDStatus.1 then 'sensed change in PORTD.1
pause 10
PortDStatus.1 = PORTD.1 'save new status for PORTD.1
IF PORTD.1 = 1 then
gosub SEND_SMS1
else 'PORTD.1 = 0
gosub SEND_SMS3
endif
endif
if PORTD.2 != PortDStatus.2 then 'sensed change in PORTD.1
pause 10
PortDStatus.2 = PORTD.2 'save new status for PORTD.1
IF PORTD.2 = 1 then
gosub SEND_SMS4
else 'PORTD.1 = 0
gosub SEND_SMS5
endif
endif
PAUSE 10