Vous êtes sur la page 1sur 6

ACTIVIDAD CENTRAL UNIDAD 2

SENA
CURSO VIRTUAL
DISEÑO DE PRODUCTOS ELECTRONICOS CON MICROCONTROLADORES
2019
1. Consulte información en internet sobre la descripción de pines de entrada y salida
del PIC PIC16F873.

ESQUEMA DEL PIC Y CONFIGURACION DE PINES

Los pines de entrada/salida de este microcontrolador están organizados en tres puertos, el


puerto A con 6 líneas, el puerto B con 8 líneas y el puerto C con 8 líneas. Cada pin de esos
puertos se puede configurar como entrada o como salida independiente programando un par
de registros diseñados para tal fin. En ese registro un bit en "0" configura el pin del puerto
correspondiente como salida y un bit en "1" lo configura como entrada. Dichos pines del
microcontrolador también pueden cumplir otras funciones especiales, siempre y cuando se
configuren para ello.
DESCRIPCION DE LOS PINES DEL MICROCONTROLADOR

2. Comentarios de las líneas de programación del código suministrado por el


proveedor de servicios.

COMENTARIOS
List p=PIC16F873 Define el micro a utilizar
Include "P16F873.inc" Ayuda a la mejor distribucion, si esta entre
comillas se trata de un archivo de usuario.
_config 0x3F38 Ajuste de los bits de configuracion.
CBLOCK 0X20 Define un bloque para las constantes
nombradas.
Loops, loops2 Bucle o sentencia que se repetitiva o en
retardo
ENDC Finaliza el bloque de definición constante.
org 0x00 Es el vector de reset, cada vez que el micro
se inicie lo hará desde aquí (ya sea que
conectaron el secuenciador directamente o
que lo encendieron o que algo le haya
ocurrido al micro saltará a este punto

goto Inicio Vector de reset, en el 16f84es una


sentencia de salto incondicional dentro del
ámbito de una función.o salto de inicio a
mi programa
Inicio movlw 0x07 Option = subrutina de retardo en
milisegundos
movwf CMCON Asignacion de puerto como entrada
bsf STATUS, RP0 Cambio al banco 1
bcf TRISA, 0 Cambio al banco 1
bsf TRISB, 0 Configuramos como entrada
bcf STATUS,RP0 Cambio al banco 1
ciclo Repeticiones
btfss PORTB,0 Pregunta por el bit b del registro f, si dicho
bit está en uno el programa se salta una
línea y ejecuta la instrucción que allí se
encuentre, si el bit estaba en cero no salta
una línea sino que ejecuta la instrucción
inmediatamente siguiente.
goto ciclo El contador de programa salta a la
dirección ciclo
parpadeo
bsf PORTA,0 Pone en cero el bit b del registro
call retardo Llama una subrutina que está ubicada en la
posición de memoria o etiqueta retardo
bcf PORTA,0 Pone en cero el bit b del registro
call retardo Llama una subrutina que está ubicada en la
posición de memoria o etiqueta retardo
goto ciclo El contador de programa salta a la
dirección ciclo
retardo
CLRWDT Reinicia en cero el conteo del temporizador
interno Watchdog Timer, para que no sea
reseteado el microcontrolador.
MOVLW D'200' Carga el registro W con el valor constante
MOVWF loops Mueve el contenido del registro W al
registro
top2 MOVLW D'220' Carga el registro W con el valor constante
MOVWF loops2 Mueve el contenido del registro W al
registro
top CLRWDT Reinicia en cero el conteo del temporizador
interno Watchdog Timer, para que no sea
reseteado el microcontrolador.
NOP No hace nada.
DECFSZ loops2,1 Decrementa en uno el contenido del
registro, si el contenido queda en 00 el
micro salta una línea del programa, el
resultado obtenido se guarda en el registro
escogido según el valor del bit .
GOTO top El contador de programa salta a la
dirección
DECFSZ loops,1 Decrementa en uno el contenido del
registro, si el contenido queda en 00 el
micro salta una línea del programa, el
resultado obtenido se guarda en el registro
escogido según el valor del bit.
GOTO top2 El contador de programa salta a la
dirección
RETLW 0 Retorno desde una subrutina y
adicionalmente carga el registro con el
valor constante .
END Terminacion del diseño
3. Diagrama de flujo del programa de automatización (código .asm del punto 2)

Vous aimerez peut-être aussi