Listado 4. Estructura del Programa Bucle Regulador (pág 3 de 5)
ELAT
EQU
MPGM
EQU
EPGM
EQU
ELAT.
EQU
MPGM.
EQU
EPGM.
EQU
COPR
EQU
COPC
EQU
COPC.
EQU
MOR
EQU
SOSCD
EQU
EPMSEC
EQU
OSCRES
EQU
SWAIT
EQU
PDI
EQU
PIRQ
EQU
LEVEL
EQU
COP
EQU
SOSCD.
EQU
EPMSEC.
EQU
OSCRES.
EQU
SWAIT.
EQU
PDI.
EQU
PIRQ.
EQU
LEVEL.
EQU
COPEN.
EQU
* EQU del area de Memoria
RAMStart
EQU
ROMStart
EQU
ROMEnd
EQU
Vectors
EQU
* EQU de la aplicación específica
LED
EQU
LED.
EQU
SW
EQU
SW.
EQU
*******************************************************
* Pone las variables del programa aquí (usa RMBs)
*******************************************************
ORG
RTIFs
RMB
TIC
RMB
TOC
RMB
*******************************************************
* Inicio del área de programa aquí
*******************************************************
ORG
* Primero inicializa el registro de control y variables
START
CLI
LDA
STA
STA
LDA
STA
2
;control latch EPROM
1
;control de programación del bit MOR
0
;control de programación de la EPROM
$04
;Posición del bit ELAT
$02
;Posición del bit MPGM
$01
;Posición del bit EPGM
$07F0
;Registro de reset del 'watchdog' COP
0
;Borra el 'watchdog' COP
$01
;Posición del bit COPC
$07F1
;Registro de opción de Máscara
7
;Habilita un corto retardo en el oscilador
6
;Seguridad de la EPROM
5
;Oscilador con resitencia en paralelo
4
;instrucción en modo STOP
3
;Desactiva 'pulldown' del Puerto
2
;Habilita la IRQ en Port A
1
;Sensibilidad del flanco de la IRQ
0
;Habilita 'watchdog' COP
$80
;Posición del bit SOSCD
$40
;Posición del bit EPMSEC
$20
;Posición del bit OSCRES
$10
;Posición del bit SWAIT
$08
;Posición del bit PDI
$04
;Posición del bit PIRQ
$02
;Posición del bit LEVEL
$01
;Posición del bit COPEN
$00C0
;Inicio de la RAM interna
$0300
;Inicio de la ROM interna
$07CF
;Fin de la ROM interna
$07F8
;Area del vector de Reset/interrupción
PA7
;LED ON cuando PA7 = 0
PA7.
;Posición del bit LED
PA0
;Conmuta PA0 a 1, cerrado = 1
PA0.
;Posición del bit Switch
$00C0
;Inicio de la RAM del 705J1A
1
;3 RTIFs/TIC (3-0)
1
;10 TICs hace 1 TOC (10-0)
;MSB=1 significa RTIFs 'rolled over'
1
;1 TOC=10*96.24ms= aproximadamente 1 segundo
$0300
#LED.
PORTA
DDRA
#{RTIFR.+RTIE.+RT1.}
TSCR
;Inicio de la EPROM del 705J1A
;Pone a 0 el bit I para interrupciones
;Configura y apaga el LED
;Apaga el LED
;Pone en el pin LED como salida
;para borrar y activar RTIF
;y pone RTI para 32.8 ms
88