You are on page 1of 12

7 SEG

//******************************************************************************
//

PRIMER PROGRAMA: ENCENDIDO DE UN DISPLAY 7 SEG

//******************************************************************************

//******************************************************************************
//

Paso No1 (INDICAR QUE TIPO DE MICROCONTROLADOR VA A USAR)

//******************************************************************************
#include

<16f877A.h>

//******************************************************************************

//******************************************************************************
//

*Paso No2 (DEFINIR LOS FUSIBLES DE PROGRAMACION)

//******************************************************************************
/*

LP

Low power osc < 200 khz

XT

Crystal osc <= 4mhz

HS

High speed Osc (> 4mhz)

RC

Resistor/Capacitor Osc with CLKOUT

-------------------------------------------------------------------------------WDT

Watch Dog Timer ACTIVADO

NOWDT

Watch Dog Timer DESACTIVADO

-------------------------------------------------------------------------------PUT

Power Up Timer ACTIVADO

NOPUT

No Power Up Timer DESACTIVADO

-------------------------------------------------------------------------------PROTECT

Codigo de Proteccion de lectura ACTIVADO

NOPROTECT Codigo de Proteccion de lectura DESACTIVADO


-------------------------------------------------------------------------------DEBUG

Modo de depuracion IN-Circuit ACTIVADO

NODEBUG

Modo de depuracion IN-Circuit DESACTIVADO

-------------------------------------------------------------------------------BROWNOUT

Reset de bajo voltaje ACTIVADO

NOBROWNOUT Reset de bajo voltaje DESACTIVADO


-------------------------------------------------------------------------------LVP
NOLVP

Programacion de bajo voltaje en B3(PIC16) o B5(PIC18) ACTIVADO


Programacion de bajo voltaje en B3(PIC16) o B5(PIC18) DESACTIVADO

-------------------------------------------------------------------------------CPD
NOCPD

Codigo de proteccion para EEPROM ACTIVADO


Codigo de proteccion para EEPROM DESACTIVADO

--------------------------------------------------------------------------------

WRT
NOWRT

Memoria de programa protegida ACTIVADA


Memoria de programa protegida DESACTIVADA

-------------------------------------------------------------------------------*/
#fuses

XT,NOWDT,PUT,NOPROTECT,NODEBUG,BROWNOUT,NOLVP,NOCPD,NOWRT

//******************************************************************************

//******************************************************************************
//

Paso No3 (INDICAR CUAL ES LA FRECUENCIA DE TRABAJO)

//******************************************************************************
#use delay(clock=4000000)
//******************************************************************************

//******************************************************************************
//

Paso No4 (Declarar variables GLOBALES)

//******************************************************************************
#byte puertoa = 0x05
#byte puertob = 0x06
#byte puertoc = 0x07
#byte puertod = 0x08
#byte puertoe = 0x09

#byte trisa = 0x85


#byte trisb = 0x86
#byte trisc = 0x87
#byte trisd = 0x88

#byte trise = 0x89


//******************************************************************************
//******************************************************************************
//

Paso No8 Programa Principal

//******************************************************************************
void main(void)
{
trisb=0b00000000;

//CONFIGURO PUERTOS

trisc=0b00000001;

puertob=0b00000000;

//INICIALIZO VARIABLES

while(true)
{
if(bit_test(puertoc,0)==1) // tecla pulsada?
{
puertob=0b01110111;

// Display=A

delay_ms(1500);
puertob=0b00111001;

// Display=C

delay_ms(1500);
puertob=0b01111001;

// Display=E

delay_ms(1500);
puertob=0b01110001;

// Display=F

delay_ms(1500);
puertob=0b01110110;
delay_ms(1500);

// Display=H

}
else

// si la tecla no esta pulsada

{
puertob=0b00000000;
}
}
}

LCD

//LAZO

// Apago el display

//******************************************************************************
//

Paso 1: INDICAR EL TIPO DE MICROCONTROLADOR A USAR

//******************************************************************************
#include <16f877a.h>

//******************************************************************************
//******************************************************************************
//

Paso 2: DEFINIR FUSIBLES DE PROGRAMACION

//******************************************************************************
/*
LP

Low power osc < 200 khz

XT

Crystal osc <= 4mhz

HS

High speed Osc (> 4mhz)

RC

Resistor/Capacitor Osc with CLKOUT

-------------------------------------------------------------------------------WDT

Watch Dog Timer ACTIVADO

NOWDT

Watch Dog Timer DESACTIVADO

-------------------------------------------------------------------------------PUT
NOPUT

Power Up Timer ACTIVADO


No Power Up Timer DESACTIVADO

-------------------------------------------------------------------------------PROTECT

Codigo de Proteccion de lectura ACTIVADO

NOPROTECT Codigo de Proteccion de lectura DESACTIVADO


-------------------------------------------------------------------------------DEBUG

Modo de depuracion IN-Circuit ACTIVADO

NODEBUG

Modo de depuracion IN-Circuit DESACTIVADO

-------------------------------------------------------------------------------BROWNOUT

Reset de bajo voltaje ACTIVADO

NOBROWNOUT Reset de bajo voltaje DESACTIVADO


--------------------------------------------------------------------------------

LVP
NOLVP

Programacion de bajo voltaje en B3(PIC16) o B5(PIC18) ACTIVADO


Programacion de bajo voltaje en B3(PIC16) o B5(PIC18) DESACTIVADO

-------------------------------------------------------------------------------CPD
NOCPD

Codigo de proteccion para EEPROM ACTIVADO


Codigo de proteccion para EEPROM DESACTIVADO

-------------------------------------------------------------------------------WRT
NOWRT

Memoria de programa protegida ACTIVADA


Memoria de programa protegida DESACTIVADA

-------------------------------------------------------------------------------*/
#fuses XT,NOWDT,PUT,NOPROTECT,NODEBUG,BROWNOUT,NOLVP,NOCPD,NOWRT

//******************************************************************************

//******************************************************************************
//

Paso 3: INDICAR FRECUENCIA DE TRABAJO

//******************************************************************************
#use delay(clock=4000000)
//******************************************************************************

//******************************************************************************
//

Paso 4: DECLARAR VARIABLES GLOBALES

//******************************************************************************
//******************************************************************************

#byte puertob = 0x06

#byte puertoc = 0x07


#byte puertod = 0x08
#byte puertoe = 0x09

#byte trisb = 0x86


#byte trisc = 0x87
#byte trisd = 0x88
#byte trise = 0x89

//******************************************************************************
//

Paso 5: INCLUIR ARCHIVOS DE CABECERA (*.h) "OPCIONAL"

//******************************************************************************
#include <LCD_DyE.h>
//******************************************************************************
//******************************************************************************

//******************************************************************************
//

Paso 8: PROGRAMA PRINCIPAL

//******************************************************************************
void main(void)
{
float pi=3.1415926;
int a=255;
int b=18;

trisb=0x00;

trisc=0x00;
trisd=0x00;
trise=0x00;

puertob=0x00;
puertoc=0x00;
puertod=0x00;
puertoe=0x00;

lcd_init();
lcd_gotoxy(1,1); //c,f
printf(lcd_putc,"ALBERTO & ORLANDO");
delay_ms(5000);

lcd_gotoxy(1,2); //c,f
printf(lcd_putc,"%f",pi);
delay_ms(5000);

lcd_send_byte(0,clear_display);

lcd_gotoxy(1,1); //c,f
printf(lcd_putc,"PI=%3f ",pi);

lcd_gotoxy(1,2); //c,f
printf(lcd_putc,"a=%u b=%3u",a,b);

while(true);
}

You might also like