Ir al contenido principal

DISEÑO DE PRODUCTOS ELECTRÓNICOS CON MICROCONTROLADORES

DISEÑO DE PRODUCTOS ELECTRÓNICOS CON MICROCONTROLADORES
Actividad 2:




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 voltaje
2- Puerto A0
3- Puerto A1
4- Puerto A2
5- Puerto A3
6- Puerto A4
7- Puerto A5
8- Vss: referencia de tierra
9- Relog del oscilador entrante
11- Puerto C0
12- Puerto C1
13- Puerto C2
14- Puerto C3
15- Puerto C4
16- Puerto C5
17- Puerto C6
18- Puerto C7
19- Vss: Referencia de tierra
20- Fuente positiva para la lógica y los pernos de I/O
21- Puerto B0
22- Puerto B1
23- Puerto B1
24- Puerto B3
25- Puerto B4
26- Puerto B5
27- Puerto B6
28- Puerto B7
2- Puerto A0
3- Puerto A1
4- Puerto A2
5- Puerto A3
6- Puerto A4
7- Puerto A5
10- Relog del oscilador saliente
11- Puerto C0
12- Puerto C1
13- Puerto C2
14- Puerto C3
15- Puerto C4
16- Puerto C5
17- Puerto C6
18- Puerto C7
21- Puerto B0
22- Puerto B1
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 constantes
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           

                               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        
Llama a la subrutina retardo
                          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 ejcuta 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 el rpograma
1.      Diagrama de flujo del programa de automatización (código .asm del punto 2)





Comentarios