Professional Documents
Culture Documents
Nota:
p=16f84
p16f84.inc
equ
equ
equ
http://micropic.galeon.com/curso2.html
5
6
86
1/4
14/11/2014
trisa
estado
equ
equ
valor1
valor2
85
3
equ
equ
clrf
clrf
bsf
movlw
movwf
clrf
movlw
movwf
bcf
clrf
clrf
estado
port_a
estado,5
0x19
port_a
port_b
0x32
port_b
estado,5
port_a
port_b
0C
0D
;selecciona el banco 0
http://micropic.galeon.com/curso2.html
2/4
14/11/2014
posicin 05h
posicin 06h
posicin 85h
posicin 86h
posicin 03h
IRP
RP1
RP0
TO
PD
DC
3/4
14/11/2014
Desde la tercera a la septima lnea definimos los nombres de nuestros registros, en el caso
del Puerto A lo llamamos port_a - es importante que siempre que nos queramos referir
al Puerto A lo hagamos en minsculas, ya que aqu lo definimos as (PORT_A port_a) si en
un principio se define con maysculas, siempre nos tendremos que referir a este con
maysculas Otro ejemplo, si en la tercera lnea en lugar de "port_a equ 5" colocamos "hola equ 5"
cada vez que queramos referirnos al Puerto Adebemos hacerlo como "hola".
En la octava y novena lnea, definimos nuestro registros personales, los que vamos a
ocupar en nuetro programa, segn el mapa de memoria este comienza en la posicin 0Ch.
NOTA: Recuerden que todos los valores mencionados y que se mencionarn, estn
expresados en valores hexagesimales.
El siguiente paso es definir los pines de entrada y salida, recordemos el ultimo bloque
de nuestro programa:
clrf
clrf
bsf
estado
port_a
estado,5
Nota: La instruccin BSF (Bit Set f) carga un 1 en el registro (en este caso el
registro estado) en el bit (en este caso el 5), como vimos anteriormente el registro
estado al tener un 1 en el 5to bit, entonces estamos trabajando en el banco 1,
esto para poder definir los pines de entrada o salida del micro.
movlw
movwf
0x19
port_a
Nota: El mtodo para definir los pines del puerto b es exactamente el mismo
clrf
movlw
0x32
movwf
port_b
bcf
clrf
clrf
port_b
;limpiar el puerto b
;cargo un 00110010 al acumulador
; defino los pines 1, 4 y 5 como entrada y
;los 0, 2, 3, 6 y 7 como salida
estado,5
;selecciona el banco 0
port_a
; limpiar el puerto a
port_b
; limpiar el puerto b
http://micropic.galeon.com/curso2.html
4/4