Académique Documents
Professionnel Documents
Culture Documents
Encenderemos un LED, lo mantendremos encendido por un tiempo, luego lo apagaremos y haremos que se repita todo de nuevo.
LIST
p=16f84
radix
hex
;------------mapa de memoria--------estado equ
TRISB
equ
ptob
equ
0x03
0x06
0x06
; Haciendo asignaciones
reg1
reg2
reg3
0x0C
0x0D
0x0E
equ
equ
equ
;-------Configuracin de puertos------reset
org
goto
inicio bsf
movlw
movwf
bcf
0x00
bsf
call
ptob,0
retardo
bcf
call
goto
ptob,0
retardo
ahora
10
reg1
tres
movlw
movwf
20
reg2
dos
movlw
movwf
30
reg3
uno
decfsz
goto
decfsz
goto
decfsz
goto
retlw
reg3,1
uno
reg2,1
dos
reg1,1
tres
00
;
;
;
;
;
;
;
;
;
;
;
;
;-----------------------------------------end
; se acab
;RETARDO
;si el bit 0 del puerto a esta en nivel alto se salta una instruccin
;si el bit 1 del puerto a esta en nivel alto se salta una instruccin
;si el bit 2 del puerto a esta en nivel alto se salta una instruccin
;si el bit 3 del puerto a esta en nivel alto se salta una instruccin
;si el bit 4 del puerto a esta en nivel alto se salta una instruccin
end
; Que hace => A de encender el LED 1 apagarlo, encender LED 2 y
^
; apagarlo, sigue hasta LED 8. La secuencia se invierte y sigue
^
; desde LED 8 hasta LED 1
^
;^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
;--------------- Encabezado ------------;********************************************************************
;
LIST
p=PIC16F84A
; Directiva para definir micro.
#include <p16f84a.inc>
; Fichero estandard de cabezera.
;******************** DEFINICIONES **********************************
; Todas las definiciones estan en 'include ', por tanto
; solo se definen las locales
porta
equ
h'0005' ; define puerto A
portb
equ
h'0006' ; define puerto B
con1
con2
equ
equ
0x0C
0x0D
; Variable de temporizacion.
; Variable de temporizacion.
; PORTB 11111111.
;
;Preparado para rotar, pone a 0 el bit C
1 linea
1 linea
1 linea