COMENTARIOS radix Hex Numeración Hexadecimal
Enviado por pi301 • 26 de Marzo de 2014 • 1.313 Palabras (6 Páginas) • 677 Visitas
COMENTARIOS
List p=16F628A Selecciona el Pic a usar“16F628A”
radix Hex Numeración Hexadecimal
w equ 0 Destino w (registro de trabajo)
f equ 1 Destino f (registro a usado)
PCL equ 0x02 Dirección del pcl (contador del pc)
Estado equ 0x03 Estado, está en la dirección 3
PuertaA equ 0x05 PuertaA se encuentra en la dirección 5
PuertaB equ 0x06 PuertaB se encuentra en la dirección 6
VALOR equ 0x0C Dirección (12) del registro de Valor
org 0 Origen del programa, aquí empieza dirección 0
goto Empiezo Salta a la etiqueta Empiezo
org 5 Comienza el programa en la dirección 5
Empiezo bsf Estado,5 Pone a 1 el bit 5 de ESTADO para direccionar
clrw Borra el contenido del registro W
movwf PuertaB Ponemos Puerta b como salidas
movlw 0xff carga el acumulador con unos
movwf PuertaA Ponemos puerta A como entradas
bcf Estado,5 Pone a 0 el bit 5 de ESTADO pasando a acceder al banco 0
Explora movf PuertaA,w Carga el valor de PueratA a w
movwf VALOR El contenido de W se carga en el registro de datos de VALOR
comf VALOR,f Invertir los niveles de interruptores
clrw Borra el contenido del registro W
Btfss VALOR,0 Si RA0 = 1,salta
goto bit_1 Salta a la etiqueta bit 1
addlw 0x01 Carga el acumulador con resultado 1
bit_1 btfss VALOR,1 Si RA1 = 1, salta
goto bit_2 Salta a la etiqueta bit 2
addlw 0x02 Carga el acumulador con resultado 2, si RA1 =1
bit_2 btfss VALOR,2 Si RA2 = 1, salta
goto bit_3 Salta a la etiqueta bit 3
addlw 0x04 Carga el acumulador con resultado 4
bit_3 btfss VALOR,3 Si RA3 = 1, salta
goto visual Salta a la etiqueta visual
addlw 0x08 Carga el acumulador con resultado 8
visual call display Salta al módulo del display
movwf PuertaB Al retornar de la subrutina el valor de W se saca por la Puerta B
goto Explora Salta a la etiqueta Explorar
display addwf PCL,f El pcl se incrementa con el valor de W proporcionando un salto
...