Vous êtes sur la page 1sur 7

INSTITUTO POLITECNICO NACIONAL

ESCUELA SUPERIOR DE INGENIERIA


MECANICA Y ELECTRICA
UNIDAD ZACATENCO
INGENIERIA EN COMUNICACIONES Y
ELECTRONICA

MICROCONTROLADORES

PRÁCTICA 4 LED’S PROGRAMADOS EN PIC18F4550


PROCEDIMIENTO
Se creó nuevo proyecto y nuevo archivo.c
Se realizó la configuración de la velocidad del Pic a 5 MHz.
Se configuraron los bits FOSC = HS, BOR = OFF, WDT = OFF y PBADEN =
OFF.
Se generó el código de bits modificados.
Se agregó el siguiente código:
/*
* File: Practica04-LCD.c
* Author: gaby
*
* Created on 14 de febrero de 2019, 07:31
*/
/* Bits de configuración */
// CONFIG1
#pragma config PLLDIV = 1
#pragma config CPUDIV = OSC4_PLL6
#pragma config USBDIV = 1
#pragma config FOSC = HS
#pragma config FCMEN = OFF
#pragma config IESO = OFF
// CONFIG2
#pragma config PWRT = OFF
#pragma config BOR = OFF
#pragma config BORV = 3
#pragma config VREGEN = OFF
#pragma config WDT = OFF
#pragma config WDTPS = 32768
// CONFIG3H
#pragma config CCP2MX = ON
#pragma config PBADEN = OFF
#pragma config LPT1OSC = OFF
#pragma config MCLRE = ON
// CONFIG4L
#pragma config STVREN = ON
#pragma config LVP = OFF
#pragma config ICPRT = OFF
#pragma config XINST = OFF
// CONFIG5
#pragma config CP0 = OFF
#pragma config CP1 = OFF
#pragma config CP2 = OFF
#pragma config CP3 = OFF
#pragma config CPB = OFF
#pragma config CPD = OFF
// CONFIG6
#pragma config WRT0 = OFF
#pragma config WRT1 = OFF
#pragma config WRT2 = OFF
#pragma config WRT3 = OFF
#pragma config WRTC = OFF
#pragma config WRTB = OFF
#pragma config WRTD = OFF
// CONFIG7
#pragma config EBTR0 = OFF
#pragma config EBTR1 = OFF
#pragma config EBTR2 = OFF
#pragma config EBTR3 = OFF
#pragma config EBTRB = OFF
/*Finaliza Bits de configuración*/
//Importante definir la frecuencia para ocupar __delay(milisegundos)
#define _XTAL_FREQ 20000000
#include <xc.h>
void main(void) // La función main en el uso con microcontroladores
{ // no acepta ni entrega argumentos.
/*Inicializacion del puerto A del microcontrolador. Cuando el microcontrolador
regresa de un
reset, envía las terminales de PORTA a ser analógicas, por eso debemos
configurarlas para que
sean salidas digitales*/
ADCON1=0x0F; // Inhabilitamos al convertidor AD
CMCON=0x07; // Inhabilitamos los comparadores asociados al puerto A
TRISA=0x7C; // Las terminales RA0 y RA1 son declaradas salida digital, las otras
son entrada.
LATA=0x03; // Valor inicial para verificar cambios y colocado en las terminales
de PORTA, uso de lógica positiva
/*Inicializacion del puerto D del microcontrolador. Todas las terminales de
PORTD son digitales, sólo hay que definir si son terminales de entrada o salida*/
TRISD=0x00; // Todas las terminales (RD7 ? RD0) son declaradas terminales de
salida digital
LATD=0xFF; // Valor inicial para verificar cambios y colocado en las terminales
de PORTD, uso de lógica positiva
while (1) // Siempre debemos saber qué está haciendo el
{ // microcontrolador.
//Enviamos los valores 0x30, 0x30, 0x30, 0x38, 0x0F
LATD=0x30;
__delay_ms(500);
LATAbits.LA0=0; //RA0 será la terminal RS del LCD así que 0x30 será
considerado un comando
__delay_ms(500);
LATD=0x30;
__delay_ms(500);
LATAbits.LA0=0; //RA0 será la terminal RS del LCD así que 0x30 será
considerado un comando
__delay_ms(500);
LATD=0x30;
__delay_ms(500);
LATAbits.LA0=0; //RA0 será la terminal RS del LCD así que 0x30 será
considerado un comando
__delay_ms(500);
LATD=0x38;
__delay_ms(500);
LATAbits.LA0=0; //RA0 será la terminal RS del LCD así que 0x38 será
considerado un comando
__delay_ms(500);
LATD=0x0F;
__delay_ms(500);
LATAbits.LA0=0; //RA0 será la terminal RS del LCD así que 0x0F será
considerado un comando
__delay_ms(500);
}
return;
}

Realizamos las debidas conexiones en el protoboard (led’s, resistencias y desde


RD0 a RD7 del pic a las resistencias del protoboard).
Para el cálculo de los valores de las resistencias, se realizó lo siguiente:
Valor de voltaje para led verde: 2.1V.
Valor de voltaje entregado en las terminales del pic: 5V.
Corriente del pic: 15mA.
𝑉 5𝑉 − 2.1𝑉
𝑅= = = 193.33Ω
𝐼 15𝑚𝐴
Valor obtenido no comercial. Colocamos 220Ω.
Cargamos el código al pic mediante un software.

Imagen 1. Mostrando 0X30. Imagen 2. Mostrando 0X30.


Imagen 3. Mostrando 0X30. Imagen 4. Mostrando 0x38.

Imagen 5. Mostrando 0x0F.

Vous aimerez peut-être aussi