You are on page 1of 10

ESCUELA POLITCNICA DEL EJRCITO EXTENSIN LATACUNGA

CARRERA DE INGENIERA ELECTRNICA PREPARATORIO # 2 DE MICROCONTROLADORES


Nivel: QUINTO Fecha: 29/10/2012 Paralelo: A Nombre: LEONARDO A. FLORES GUTIERREZ A. TEMA. Configuracin del microcontrolador. OBJETIVOS.
Conocer cada trmino de la palabra de configuracin 2007.

B.

C.

MATERIALES Y EQUIPOS.
Fuentes regulables de voltaje. 8 diodos emisores de luz color amarrillo o verde. 8 resistencias de 330 (Naranja Naranja Caf). Oscilador de 4Mhz. Capacitores cermicos de 22pf.

D.

MARCO TERICO. El microcontrolador PIC 16f877

El PIC16F877 es un microcontrolador con memoria de programa tipo FLASH, lo que representa gran facilidad en el desarrollo de prototipos y en su aprendizaje ya que no se requiere borrarlo con luz ultravioleta como las versiones EPROM, sino que permite reprogramarlo nuevamente sin ser borrado con anterioridad. El PIC16F877 es un microcontrolador de Microchip Technology fabricado en tecnologa CMOS, su consumo de potencia es muy bajo y adems es completamente esttico, esto quiere decir que el reloj puede detenerse y los datos de la memoria no se pierden. El microcontrolador PIC16F877 de Microchip pertenece a una gran familia de microcontroladores de 8 bits (bus de datos) que tienen las siguientes caractersticas generales que los distinguen de otras familias:

Arquitectura Harvard Tecnologa RISC Tecnologa CMOS Estas caractersticas se conjugan para lograr un dispositivo altamente eficiente en el uso de la memoria de datos y programa y por lo tanto en la velocidad de ejecucin.

Figura 1: Tabla de comparacin entre PICs. Caractersticas generales del PIC16F877 La siguiente es una lista de las caractersticas que comparte el PIC16F877 CPU RISC Slo 35 instrucciones que aprender Todas las instrucciones se ejecutan en un ciclo de reloj, excepto los saltos que requieren dos Frecuencia de operacin de 0 a 20 MHz (DC a 200 nseg de ciclo de instruccin) Hasta 8k x 14 bits de memoria Flash de programa Hasta 368 bytes de memoria de datos (RAM) Hasta 256 bytes de memoria de datos EEPROM Hasta 4 fuentes de interrupcin Stack de hardware de 8 niveles Reset de encendido (POR) Timer de encendido (PWRT) Timer de arranque del oscilador (OST) Sistema de vigilancia Watchdog timer. Proteccin programable de cdigo Modo SEP de bajo consumo de energa Opciones de seleccin del oscilador Programacin y depuracin serie In-Circuit (ICSP) a travs de dos patitas Lectura/escritura de la CPU a la memoria flash de programa Rango de voltaje de operacin de 2.0 a 5.5 volts Alta disipacin de corriente de la fuente: 25mA Rangos de temperatura: Comercial, Industrial y Extendido Bajo consumo de potencia: Menos de 0.6mA a 3V, 4 Mhz 20 A a 3V, 32 Khz menos de 1A corriente de standby.

E.

PROCEDIMIENTO.

TRABAJO PREPARATORIO.
1. Comprobar que todos los bloques laterales del tablero de conexiones estn conectados. 2. Dibujar el diagrama de pines del microcontrolador PIC 16f877A.

Fig1. Diagrama de pines del PIC 16f877A.

3. Realizar o dibujar la tabla de pines y sus funciones del PIC 16f877A. Descripcin de los pines del microcontrolador
Nombre pin RA0/AN0 RA1/AN1 RA2/AN2 Vref RA3/AN3/Vref + RA4/T0CKI RA5/SS/AN4 RB0/INT RB1 RB2 RB3/PGM RB4 RB5 RB6/PGC RB7/PGD Pin 2 Descripcin E/S Digital o Entrada anloga 0. E/S Digital o Entrada anloga 1. E/S Digital o Entrada anloga 2. E/S Digital o Entrada anloga 3. Bit 4 del puerto A (E/S bidireccional ). Tambin se usa como entrada de reloj al temporizador/contador TMR0. Salida de colector abierto. E/S Digital o Entrada anloga 4. Tambin lo usa el puerto serial sncrono. Bit 0 del puerto B (E/S bidireccional). Buffer E/S: TTL/ST. Tambin se usa como entrada de interrupcin externa (INT). Bit 1 del puerto B (E/S bidireccional). Buffer E/S: TTL Bit 2 del puerto B (E/S bidireccional). Buffer E/S: TTL 36 Bit 3 del puerto B (E/S bidireccional). Buffer E/S: TTL (Programacin en bajo voltaje) Bit 4 del puerto B (E/S bidireccional). Buffer E/S: TTL. Interrupcin por cambio del pin. Bit 5 del puerto B (E/S bidireccional). Buffer E/S: TTL. Interrupcin por cambio del pin. Bit 6 del puerto B (E/S bidireccional). Buffer E/S: TTL/ST. Interrupcin por cambio del pin. Entrada de reloj para programacin serial. Bit 7 del puerto B (E/S bidireccional). Buffer E/S: TTL/ST. Interrupcin por cambio del pin. Entrada de datos para programacin serial.

3
4

5 6 7 33 34 35 36 37 38 39 40

RC0/T1OSO/T1CKI RC1/T1OSI/CCP2 16 RC2/CCP1 RC3/SCK/SCL RC4/SDI/SDA RC5/SDO RC6/TX/CK RC7/RX/DT VDD VSS MCLR OSC1/CLKIN OSC2/CLKOUT RD0/PSP0 RD1/PSP1 RD2/PSP2 RD3/PSP3 RD4/PSP4 RD5/PSP5 RD6/PSP6 RD7/PSP7 RE0/RD/AN5 RE1/WR/AN6

15 16 17 18 23 24 25 26 11,32 12,31 1 13 14 19 20 21 22 27 28 29 30 8 9

E/S Digital. Salida del oscilador Timer 1 o entrada de reloj Timer 1. E/S Digital. Entrada del oscilador Timer 1. Entrada Captura 2; Salida Compara 2; Salida PWM 2 E/S Digital. Entrada Captura 1; Salida Compara 1; Salida PWM 1 E/S Digital. Lnea de reloj serial asncrono en el modo SPI y el modo IC E/S Digital. Lnea de datos en el modo SPI o en el modo IC E/S Digital. E/S Digital. Transmisin asncrona (USART) o reloj sncrono (SSP). E/S Digital. Recepcin asncrona (USART) o lnea de datos (SSP). Voltaje de alimentacin DC (+) Referencia de voltaje (GND). Entrada de RESET al microcontrolador. Voltaje de entrada durante la programacin. En nivel bajo resetea el microcontrolador. Entrada oscilador cristal oscilador / Entrada fuente de reloj externa. Salida oscilador cristal. Oscilador RC: Salida con un frecuencia OSC1 E/S Digital. Puede ser puerto paralelo en bus de 8 bits. E/S Digital. Puede ser puerto paralelo en bus de 8 bits. E/S Digital. Puede ser puerto paralelo en bus de 8 bits. E/S Digital. Puede ser puerto paralelo en bus de 8 bits. E/S Digital. Puede ser puerto paralelo en bus de 8 bits. E/S Digital. Puede ser puerto paralelo en bus de 8 bits. E/S Digital. Puede ser puerto paralelo en bus de 8 bits. E/S Digital. Puede ser puerto paralelo en bus de 8 bits. E/S Digital. Puede se pin de lectura (read) en modo microprocesador. E/S Digital. Puede ser pin de escritura (write) en modo microprocesador.

Tabla 2. Configuraciones de pines del pic 16f877

4. Investigar si se debe aplicar alguna consideracin especial al armar las figuras 2 y 3 de la prctica.

Realizar la siguiente conexin. El pin 1 del microcontrolador (MCLR/VPP) debe estar conectado a voltaje (Vcc) por medio de un resistor de 10 Kilo Ohms que conoce como conexin voltaje de entrada durante
la programacin. Cuando ponemos en nivel bajo resetea el microcontrolador. La conexin se hace como se muestra en la siguiente figura.

Fig2. Conexin de reset.

El oscilador externo

Todo microcontrolador requiere un circuito externo que le indique la velocidad a la que debe trabajar. Este circuito, que se conoce como oscilador o reloj, es muy simple pero de vital importancia para el buen funcionamiento del sistema. El PIC16F877 puede utilizar cuatro tipos de oscilador diferentes. Estos tipos son: RC. Oscilador con resistencia y condensador. XT. Cristal (por ejemplo de 1 a 4 MHz). HS. Cristal de alta frecuencia (por ejemplo 10 a 20 MHz). LP. Cristal para baja frecuencia y bajo consumo de potencia. En el momento de programar o quemar el microcontrolador se debe especificar que tipo de oscilador se usa. Esto se hace a travs de unos fusibles llamados fusibles de configuracin. El tipo de oscilador que se sugiere para las prcticas es el XT con un cristal de 4MHz, porque garantiza precisin y es muy comercial. Internamente esta frecuencia es dividida por cuatro, lo que hace que la frecuencia efectiva de trabajo sea de 1 MHz en este caso, por lo que cada instruccin se ejecuta en un microsegundo. El cristal debe ir acompaado de dos condensadores y se conecta como se muestra en la figura 3.4.

Fig3. Conexin de un oscilador.

Los valores de los capacitores varan de acuerdo al tipo de oscilador utilizado (LP, XT, HS), en la siguiente tabla podemos ver estos valores.

Tabla 3. Valores de capacitores para osciladores

5. Realizar la conexin de la figura 3.

Fig 4. Diagrama elctrico del circuito con un led en rb0.

6. Probar el funcionamiento del circuito mediante un programa. El siguiente programa enciende y apaga un led n veces
LIST p=16F877A INCLUDE <P16F877A.INC> ORG 0x00 ;Inicio de programa CONTADOR1 EQU 21 CONTADOR2 EQU 22 ;CONFIGURACION DE PUERTOS BSF BCF CLRF BCF BCF CLRF ;PROGRAMA INICIO

STATUS,RP0 STATUS,RP1 TRISB STATUS,RP0 STATUS,RP1 PORTB

CLRF PORTB CALL RETARDO CALL RETARDO BSF PORTB,0 CALL RETARDO CALL RETARDO BCF PORTB,7 GOTO INICIO MOVLW .200 MOVWF CONTADOR1 MOVLW .200 MOVWF CONTADOR2 NOP DECFSZ CONTADOR2 GOTO SALTO1 DECFSZ CONTADOR1 GOTO SALTO2 RETURN NOP END

RETARDO SALTO2 SALTO1

7. Realizar la conexin de la figura 4.

Figura 5: Diagrama elctrico del circuito con leds en el puerto B

8. Probar el funcionamiento del circuito mediante un programa. Secuencia de led apaga un led desde el centro y luego desde sus extremos.
LIST p=16F877A INCLUDE <P16F877A.INC> ORG 0x00 ;Inicio de programa CONTADOR EQU 20 CONTADOR1 EQU 21 CONTADOR2 EQU 22 ;CONFIGURACION DE PUERTOS BSF STATUS,RP0 BCF STATUS,RP1 CLRF TRISB BCF STATUS,RP0 BCF STATUS,RP1 CLRF PORTB ;PROGRAMA ;ROTACION DESDE EL CENTRO MOVLW .255 MOVWF PORTB CALL RETARDO CALL RETARDO CALL RETARDO INICIO BCF PORTB,3 MOVLW .5 MOVWF CONTADOR ROTAR MOVLW .1 SUBLW .3 CALL RETARDO CALL RETARDO RRF PORTB,F DECFSZ CONTADOR,F GOTO ROTAR BCF PORTB,4 MOVLW .5 MOVWF CONTADOR MOVLW .1 SUBLW .3 CALL RETARDO CALL RETARDO

;CONTROL DE CARRY

RO

;CONTROL DE CARRY

RLF PORTB,F DECFSZ CONTADOR,1 GOTO RO ;ROTACION DESDE LOS EXTREMOS BCF PORTB,0 MOVLW .4 MOVWF CONTADOR MOVLW .1 SUBLW .3 ;CONTROL DE CARRY CALL RETARDO CALL RETARDO RLF PORTB,F DECFSZ CONTADOR,F GOTO ROTLEO BSF PORTB,4 CALL RETARDO CLRF CONTADOR BCF PORTB,7 MOVLW .4 MOVWF CONTADOR MOVLW .1 SUBLW .3 CALL RETARDO CALL RETARDO RRF PORTB,F DECFSZ CONTADOR,1 GOTO ROLEO BSF PORTB,3 CALL RETARDO CALL RETARDO GOTO INICIO

ROTLEO

ROLEO

;CONTROL DE CARRY

RETARDO SALTO2 SALTO1

MOVLW .249 MOVWF CONTADOR1 MOVLW .200 MOVWF CONTADOR2 NOP DECFSZ CONTADOR2 GOTO SALTO1 DECFSZ CONTADOR1 GOTO SALTO2 RETURN NOP END

F.

Anlisis de Resultados.
Lo mas relevante de la practica fue que al momento de comprobar el funcionamiento del PIC este respondi de manera correcta para lo que fue programado observamos el resultado de manera visual mediante leds como se observa a continuacin los porgrams y simulaciones en ISIS.

SIMULACION El enciende y apaga un led n veces.

C1
22p

C1
22p

X1 C2
CRYSTAL

U1
13 14 2 3 4 5 6 7 8 9 10 1 OSC1/CLKIN OSC2/CLKOUT RB0/INT RB1 RB2 RB3/PGM RB4 RB5 RB6/PGC RB7/PGD 33 34 35 36 37 38 39 40 15 16 17 18 23 24 25 26 19 20 21 22 27 28 29 30

R2
10

U2 1 C2 2
3 4 22p 5 6 7 8 9 10

X1
20 CRYSTAL 19 18 17 16 15 14 13 12 11

U1
13 14 2 3 4 5 6 7 8 9 10 1 OSC1/CLKIN OSC2/CLKOUT RB0/INT RB1 RB2 RB3/PGM RB4 RB5 RB6/PGC RB7/PGD 33 34 35 36 37 38 39 40 15 16 17 18 23 24 25 26 19 20 21 22 27 28 29 30

R2
10

U2
1 2 3 4 5 6 7 8 9 10 20 19 18 17 16 15 14 13 12 11 LED-BARGRAPH-GRN

2p

RA0/AN0 RA1/AN1 RA2/AN2/VREF-/CVREF RA3/AN3/VREF+ RA4/T0CKI/C1OUT RA5/AN4/SS/C2OUT RC0/T1OSO/T1CKI RE0/AN5/RD RC1/T1OSI/CCP2 RE1/AN6/WR RC2/CCP1 RE2/AN7/CS RC3/SCK/SCL RC4/SDI/SDA MCLR/Vpp/THV RC5/SDO RC6/TX/CK RC7/RX/DT RD0/PSP0 RD1/PSP1 RD2/PSP2 RD3/PSP3 RD4/PSP4 RD5/PSP5 RD6/PSP6 RD7/PSP7 PIC16F877A

LED-BARGRAPH-GRN

RA0/AN0 RA1/AN1 RA2/AN2/VREF-/CVREF RA3/AN3/VREF+ RA4/T0CKI/C1OUT RA5/AN4/SS/C2OUT RC0/T1OSO/T1CKI RE0/AN5/RD RC1/T1OSI/CCP2 RE1/AN6/WR RC2/CCP1 RE2/AN7/CS RC3/SCK/SCL RC4/SDI/SDA MCLR/Vpp/THV RC5/SDO RC6/TX/CK RC7/RX/DT RD0/PSP0 RD1/PSP1 RD2/PSP2 RD3/PSP3 RD4/PSP4 RD5/PSP5 RD6/PSP6 RD7/PSP7 PIC16F877A

(a)
Figura: 6. Encendido (a) y apagado (b) de un led.

(b)

SIMULACION Apaga un led desde el centro y luego desde sus extremos.


C1
22p

NOMBRE: LEONARDO FLORES

NIVEL : QUINTO "A" ELECTRONICA

SECUENCIA DE APAGADO DE UN LED DESDE EL CENTRO Y DESDE SUS EXTREMOS

X1 C2
22p CRYSTAL

RN1
13 14 1 2 3 4 5 6 7 8 9 10 OSC1/CLKIN OSC2/CLKOUT MCLR/Vpp/THV RB0/INT RB1 RB2 RB3/PGM RB4 RB5 RB6/PGC RB7/PGD 33 34 35 36 37 38 39 40 15 16 17 18 23 24 25 26 19 20 21 22 27 28 29 30 1 2 3 4 5 6 7 8 330r 16 15 14 13 12 11 10 9 1 2 3 4 5 6 7 8 9 10

U2
20 19 18 17 16 15 14 13 12 11 LED-BARGRAPH-GRN

RA0/AN0 RA1/AN1 RA2/AN2/VREFRA3/AN3/VREF+ RA4/T0CKI RA5/AN4/SS RC0/T1OSO/T1CKI RC1/T1OSI/CCP2 RE0/AN5/RD RC2/CCP1 RE1/AN6/WR RC3/SCK/SCL RE2/AN7/CS RC4/SDI/SDA RC5/SDO RC6/TX/CK RC7/RX/DT RD0/PSP0 RD1/PSP1 RD2/PSP2 RD3/PSP3 RD4/PSP4 RD5/PSP5 RD6/PSP6 RD7/PSP7 PIC16F877

Figura: 6. Funcionamiento de la secuencia

G.

Cuestionario.
a. De cuntos bits est compuesta la palabra de configuracin? 14 bits b. Cul considera el tiempo mnimo del retardo o pause para visualizar el parpadeo de un led? De 0.5msg c. Qu consideracin especial se debe aplicar al armar el circuito del microcontrolador? Armar el oscilador externo y poner una resistencia de 10K en el pin 1 y a Vcc.

H.

Conclusiones.

Para poder quemar nuestro programa en el PIC debemos configurar el software con la palabra 3F3A caso contrario el programa no se grabara de manera correcta en el dispositivo. Para crear los proyectos debemos especificar exactamente que tipo de PIC es adems de agregar la lnea de cdigo (__CONFIG _ WDT_ OFF&_ PWRTE_ ON&_ XT_ OSC&_ LVP_ OFF&_ CP_OFF ) al principio del programa. Comprobamos que sin la conexin de una resistencia de 10K con el pin 1 y a Vcc el circuito no funcionara ya que en los microcontroladores se requiere un pin de reset para reiniciar el funcionamiento del sistema. Comprobamos el funcionamiento del PIC mediante programas bsicos teniendo como salidas leds. I. Recomendaciones. Conectar resistencias 200 a 330 Ohms para limitar la corriente que llegara a nuestros LEDs en las salidas. Comprobar los voltajes de alimentacin del circuito antes de probar el mismo para no daar los dispositivos electrnicos. Crear los proyectos y utilizar las palabras clave definen el PIC en MPLAB de acuerdo al dispositivo que vayamos a utilizar. J. Referencias Bibliogrfica.
ENLACES http://es.scribd.com/doc/19417100/Manual-Pic16f84a http://proton.ucting.udg.mx/tutorial/Manual_PIC16F87X/Manual_PIC16 F87X.pdf http://catarina.udlap.mx/u_dl_a/tales/documentos/lep/toribio_h_ll/apendi ceE.pdf

You might also like