computadoras
Objetivo de la prctica:
Define tres localidades de memoria, la primera y segunda con datos, rstale la segunda a la
primera y guarda el resultado en la tercera. Usa las instrucciones bsicas de movimiento entre W
y los files (localidades). Direccionamiento Indirecto
Escriba un programa que muestre en 8 Leds en el puerto B de un 16F628, el dato 33h de forma
constante. Inhabilite las resistencias internas de Pull Up (Coloque resistencias de 10 KOhms)
Diseo:
El cdigo sigui el siguiente esquema:
Construccin del programa:
;Define tres localidades de memoria, la primera y segunda con
;datos, rstale la segunda a la primera y guarda el resultado en la tercera. Usa las
;instrucciones bsicas de movimiento entre W y los files
;(localidades). Direccionamiento Directo
;zona de configuracin:-----------------------------------
__CONFIG
_CP_OFF&_WDT_OFF&_PWRTE_ON&_MCLRE_ON&_INTOSC_OSC_NOCLKOUT
;Zona de Datos--------------------------------------------------
Resultados:
Conclusiones:
Se hizo un primer acercamiento con los registros que contiene el PIC 16F628, en el que usando
las recientemente aprendidas instrucciones movlw, movwf, movf y subwf, se logr realizar la
sustraccin solicitada entre registros. Con movlw se transfiri un valor constante hexadecimal al
registro W, con movwf se hizo el movimiento de lo contenido en W a alguno de los registros (o
files, como se les suele llamar) que estbamos usando. La instruccin movf permite que, segn el
parmetro especificado (entre 0 y 1) se pueda elegir entre pasar el contenido del registro con el
que estemos trabajando (que tambin se especifica como parmetro de la instruccin) al registro
W (con el valor de parmetro 0), o volverlo a mandar al mismo registro sobre el que se trabaje
(con el valor de parmetro 1), siendo que en este caso la instruccin nos fue til para pasar el
valor de uno de nuestros registros a W. Y con la instruccin subwf, se rest el contenido de W al
registro parmetro y el resultado se guard en el registro W (de manera equivalente a la de la
instruccin movf, usando un 0 como parmetro de la instruccin). Tambin es prudente
mencionar que en la prctica hicimos uso del direccionamiento indirecto, en el que mediante
identificadores (algo muy similar a las variables en la programacin en alto nivel), definimos
(sobre)nombres para los registros con los que se trabajaba, puesto que resulta ms fcil trabajar
con palabras que representen a los registros que con las propias direcciones de los mismos. Para
ello utilizamos el operador EQU.