Sei sulla pagina 1di 3

//encabezado de la programacion

#include<18f4550.h>
#fuses INTRC,nowdt,nomclr
#use delay(clock=4M)
..................................................................
r directo el pulsador
para conect
port_b_pullups(true);
.........................................
para lcd
#define use_portb_lcd TRUE
#include<lcd.c>
void main ()
{lcd_init();
printf(lcd_putc, "Mensaje");
lcd_gotoxy(1,1);
break;
}
////////////////////////////////////
para visualizar numeros debemos crear un int16
int16 a=0,z=15,c;
y para imprimirlo lo hacemos ashi
printf(lcd_putc, "\f%lu num1 %lu num2 \n %lu resul",a,z,c);
//////////////////////////////////////////
para q aumente de 0.1a 0.2...
debemos hacerle flotante y aki no coge el aumento a++;
float a=0;
if(input(pin_b0)==1)
{
delay_ms(10);
while(input(pin_b0)==1)
{}
a+=0.1;
printf(lcd_putc,"\f %f incremento ",a);
}
//////////////////////////////
para adc hacemos asi
#device adc=1023
int16 x;
void main ()
{
lcd_init();
setup_adc_ports(AN0);
setup_adc(adc_clock_internal);
set_adc_channel(0);
do
{
x=read_adc();
lcd_gotoxy(1,1);
printf(lcd_putc,"\f adc= %lu",x);
delay_ms(100);
}while(true);
}
//////////////////////////////////
PARA CAMBIAR EL VOLTAJE DE REFERENCIA EN el adc debemos conectar el ref al volta
je q queremos y cambiamos el setup asi

setup_adc_ports(AN0_to_AN2|VSS_VREF);
//////////////////////////7
// para limpiar pantall, mandar a la segunda linea y mover una posicion consecut
ivamente
\f Clear display
\n Go to start of second line
\b Move back one position
...........................................
encender y apagar un led
void main (void)
{
while(true){
output_high(pin_a0);
delay_ms(500);
output_low(pin_a0);
delay_ms(500);
}
}
........................................................
CIRCUITO ANTIREBOTE asi c tiene q hacer con un delay y un while
if(!input(pin_a0)==1)
{ delay_ms(10);
while(!input(pin_a0)==1);
{}
a++;
}
////////////////////////////////////////////////////////
si queremos por electronica debemos poner un capacitor en paralelo al pulsador
.......................................
para contador hacemos lo siguiente
void conta()
{
if(!input(pin_a2)==1)
{
delay_ms(10);
while (!input(pin_a2)==1);
{}
cont++;
}
if(cont>6)
{
cont=0;
}
}
............................................................
para un switch
void operaciones()
{
switch(cont){
case 0:
c=a+z;
break;
}
}
................................................................................

................
para GLCD
#INCLUDE <HDM64GS12.C>
#INCLUDE <GRAPHICS.C>
char mensaje[]="Stalin Pavon";
char mensaje2[]="Chayayin",mensaje3[]="19/02/14";
void main()
{
glcd_init(on);
//Inicializar LCD
do
{
glcd_circle(5,5,3,yes,on);
glcd_rect(3,10,5,20,NO,ON);
//Dibujar un cuadrado sin relleno
glcd_line(6,25,106,50,on);
//linea recta o inclinada
glcd_text57(30,128,mensaje,1,on);//Escribir el texto que contiene la variable m
ensaje
glcd_text57(0,55,mensaje2,1,on);//Escribir el texto que contiene la variable me
nsaje2
glcd_text57(80,55,mensaje3,1,on);//Escribir el texto que contiene la variable m
ensaje3
}while(true);
}

Potrebbero piacerti anche