mida 21 ;------------------------------------------------------------- ;Aplicación -> ;Fecha -> ;------------------------------------------------------------- ;programa principal--------------------------------------- &ini ld scan jz &lea jmp ini10 &lea call &leavar ini10 call gsm call tie inif end ;gsm. inicio subrutina para mensajeria gsm -------------------------------------- ; llamar a modem remoto y establecer conexion-------------------------- gsm ink llamar jz gsm1 clear disl numero at 0 clear disl llamard com 0 ;colgar una llamada y pasar a modos comandos---------------------------- gsm1 ink cuelga jz gsm2 at 2 clear disl colgar com 0 ;responder llamada entrante-------------------------------------------- gsm2 movri cmod movci 2 cpei desc jmp gsm3 desc at 1 clear disl lineas com 0 setri cmod -2 ;leer mensaje sms nuevo------------------------------------------------- gsm3 ld r_sms jz gsm4 reset t_mod movri n_sms at 4 verif ld 76 jz verif clear com 9 loc 0 com 0 set t_mod ;borrar mensaje sms del modem gsm--------------------------------------------- gsm4 ink borrar jz gsm5 movri reg_int at 5 clear disl borrando com 0 ;enviar mensaje sms--------------------------------------------- gsm5 ink enviar jz gsm6 gsm51 clear disl mensaje loc 9 disri ent0on 3 at 3 clear disl enviar_m com 0 gsm6 ret ;------------------------------------------- ;gsm. fin subrutina para mensajeria gsm -------------------------------------- ; tie. lee registros cada vez que cambio el horario tie movri horario movri horariot cpei tief tie10 call cam movri horario stoi horariot tief ret ;---------------------------- ;cam. cambia registros cam cam00 ld ent0 out 400 ld ent0 jnz cam01 ;es on inc ent0of 1 jmp cam10 cam01 inc ent0on 1 cam10 ld ent0 xor ent0t out ent0tc ld ent0tc jz camf write 0 1 call gsm51 camf ld ent0 out ent0t ret ;tempo temporizador generico para tiempos cortos=============== ;parametros: temgeni=registro valor de tiempo tempo setri 157 4 reset auxgen1 reset auxgen2 tempo1 ld auxgen1 timr timgen temgeni out auxgen2 set auxgen1 ld auxgen2 jz tempo1 tempof ret ;----------------------------------------------- ;------------------------------------------------ ;------------------------------------------------- &leavar ; inicio reg. para subrutina gsm----------------- ;[REG_RELAYS] llamar equ 60 cuelga equ 62 enviar equ 61 borrar equ 63 r_sms equ 132 t_mod equ 134 scan equ 99 ;[REG_INTEGERS] cmod equ 23 n_sms equ 24 reg_int equ 250 ;[TIM] ;[CNT] ;[NOP] llamard lite "LLAMADA" enviar_m lite "envia SMS" numero lite "3103150030" numero_m lite "3102036819" mensaje lite "ALARMA 1" borrando lite "borrar SMS" colgar lite "Colgar" lineas lite "descolgar" ;numero lite "3102036819" ;numero_m lite "+5713103150030" ;VARIABLES PARA INICIAR setri 20 15 clear disl numero_m at 6 ; fin reg. subrutina gsm----------------------- ; inicio variables para coden1------------------ ;[REG_RELAYS] ent0 equ 0 ent1 equ 1 ent0t equ 250 ent0tc equ 251 auxgen1 equ 260 auxgen2 equ 261 ;[REG_INTEGERS] horario equ 40 horariot equ 260 ent0on equ 261 ent0of equ 262 ent1on equ 263 ent1of equ 264 temgeni equ 265 ;[TIM] timgen equ 200 ;[CNT] ;[NOP] file 0,400r,500d,520t,len=200,type=l ;fin variable para coden1----------------------------- &leavarf ret ;-----------------------------------------------