Anda di halaman 1dari 4

DOCUMENTO GUÍA

Diseño de productos electrónicos con microcontroladores


1. Descripción de pines de entrada y salida

ESQUEMA DEL PIC PINES DE ENTRADA PINES DE SALIDA


1- Vpp: entrada de programación de 2- Puerto A0
voltaje 3- Puerto A1
2- Puerto A0 4- Puerto A2
3- Puerto A1 5- Puerto A3
4- Puerto A2 6- Puerto A4
5- Puerto A3 7- Puerto A5
6- Puerto A4 10- Relog del oscilador saliente
7- Puerto A5 11- Puerto C0
8- Vss: referencia de tierra 12- Puerto C1
9- Reloj del oscilador entrante 13- Puerto C2
11- Puerto C0 14- Puerto C3
12- Puerto C1 15- Puerto C4
13- Puerto C2 16- Puerto C5
14- Puerto C3 17- Puerto C6
15- Puerto C4 18- Puerto C7
16- Puerto C5 21- Puerto B0
17- Puerto C6 22- Puerto B1
18- Puerto C7 23- Puerto B1
19- Vss: Referencia de tierra 24- Puerto B3
20- Fuente positiva para la lógica y 25- Puerto B4
los pernos de I/O 26- Puerto B5
21- Puerto B0 27- Puerto B6
22- Puerto B1 28- Puerto B7
23- Puerto B1
24- Puerto B3
25- Puerto B4
26- Puerto B5
27- Puerto B6
28- Puerto B7
2. Comentarios de líneas de código

COMENTARIOS
List p=PIC16F873 Usaremos el PIC16F873
Include "P16F873.inc" Se incluye el archivo P16F873.inc
_config 0x3F38 Se configure el WDT, y el circuito de reinicio del
sistema.
CBLOCK 0X20 Da valor a las constantes nombradas
Loops, loops2 Se definen las constants
ENDC Se finaliza el bloque de definición de constantes
org 0x00 Define dirección de memoria en la cual el programa está
siendo grabado
goto Inicio Va a la etiqueta de inicio
Inicio movlw 0x07 Movemos el valor de 0x07 al registro W
movwf CMCON Se desactivan los comparadores analógicos
bsf STATUS, RP0
Nos cambiamos al banco 1
bcf TRISA, 0

1
bsf TRISB, 0
Se coloca en estado alto el bit 0 del puerto B
bcf STATUS,RP0
Ciclo
btfss PORTB,0 Se pregunta por el bit del puerto B, si está en estado alto
se salta la instrucción siguiente, sino continua normal.
goto ciclo Va a la etiqueta “ciclo”
Parpadeo
bsf PORTA,0 Pone en alto el bit 0 del puerto A
call retardo Pone en alto el bit 0 del puerto A
bcf PORTA,0
call retardo
goto ciclo
Retardo
CLRWDT Limpia el Watchdog Timer
MOVLW D'200' Carga a W con 200
MOVWF loops Mueve el valor de W a loops
top2 MOVLW D'220' Carga a W con 220
MOVWF loops2 Mueve el valor de W a loops2
top CLRWDT Limpia el Watchdog Timer
NOP
NOP No se ejecuta ninguna instrucción
NOP Solo consume el tiempo de maquina
NOP Y ocupa lugar en la memoria
NOP Del programa
NOP
DECFSZ loops2,1 Decrementa el valor de loops2, si el resultado es 0 se
salta la siguiente instrucción, sino continua normal
GOTO top
DECFSZ loops,1 Decrementa el valor de loops1, si el resultado es 0 se
salta la siguiente instrucción, sino continua normal
GOTO top2
RETLW 0 Retorna a la siguiente intruccion después de la
instrucción Call, además carga con 0 a W
END Finaliza
3. Diagrama de flujo del programa de automatización (código .asm del punto 2)

2
3
4

Anda mungkin juga menyukai