Upload
harold-beltran
View
215
Download
2
Embed Size (px)
DESCRIPTION
programaciones y simulaciones con un pic
Citation preview
Encender y apagar un led
#include<18f2550.h>
#use delay(clock=8000000)
void main(void)
{
output_high(pin_b0);
delay_ms(60000);
output_low(pin_b0);
delay_ms(60000);
}
SECUENCIA DE LEDS #include<18f2550.h>
//#fuses
#use delay(clock=8000000)
int x=1,aux[20];
void main(void)
{
aux[1]=0b00000001;
aux[2]=0b00000010;
aux[3]=0b00000100;
aux[4]=0b00001000;
aux[5]=0b00010000;
aux[6]=0b00100000;
aux[7]=0b01000000;
aux[8]=0b10000000;
aux[9]=0b01000000;
aux[10]=0b00100000;
aux[11]=0b00010000;
aux[12]=0b00001000;
aux[13]=0b00000100;
aux[14]=0b00000010;
aux[15]=0b00000001;
aux[16]=0b00000000;
aux[17]=0b11111111;
aux[18]=0b00000000;
aux[19]=0b11111111;
while(true)
{
for(x=1;x<=19;x++)
{
output_b(aux[x]);
delay_ms(100);
}
}
Contador de 0 a 9
#include<16f877.h>
//fuses
#use delay(clock=4000000)
int display[10]={
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x67};
int unidades;
void main(void)
{
While(true)
{
for(unidades=0; unidades<10;unidades ++)
{
output_b(display[unidades]);
delay_ms(1000);
}
}
}
ENCENDER LCD
#include<18f2550.h>
//#fuses intxt,nowdt,nomclr
#use delay(clock=8000000)
#define use_portb_lcd true
#include<lcd.c>
int x;
void main(void)
{
lcd_init(); //iniciamos la lcd
lcd_putc('a'); //para escribir una sola letra (a)
lcd_putc("HAROLD"); //para escribir un nombre
lcd_putc("\f"); //para aparecer y desaparecer
lcd_putc("\fSENA");
lcd_putc("2012\nHAROLD");
delay_ms(1000);
lcd_putc("\f"); //aparecer y desaparecer
lcd_putc("PROYECTO");
lcd_putc("\f");
lcd_putc("\fELECTRONIK");
lcd_putc("\f");
lcd_putc("TECNOLOGO\n");
delay_ms(1000);
while(true)
{
lcd_putc("CONTANDO\n"); //Para cambiar de linea ("\n")
++x;
delay_ms(1000);
printf(lcd_putc,"*""%u",x);
}
}
//si yo quiero trabajar con una lcd mas grande tengo q hacer lo
siguiente para poder centrar lo escrito en la lcd:
//lcd_gotoxy(x,y);
//lcd_gotoxy(5,1);
//lcd_gotoxy(4,2);
MANEJO DE COMBERSOR ANALOGO DIGITAL
#include<18f2550.h>
#use delay(clock=8000000)
#define use_portb_lcd true
#include<lcd.c>
float Vleido,voltage;
void main(void)
{
lcd_init();
setup_adc(adc_clock_internal);
setup_adc_ports(an0);
while(true)
{
set_adc_channel(0);
delay_ms(10);
Vleido=read_adc();
voltage=(Vleido/255)*5;
lcd_gotoxy(1,1);
printf(lcd_putc,"voltios=","%1,2f",voltage);
}
}
ENCENDER LED CONPULSADOR
#include <18f2550.h>
//#fuses intxt,nowdt,nolvp,noprotect // lo de sabilito para poder
probarlo en proteus pero si lo voy a quemar tengo que habilitarlo
#use delay(clock=8000000)
#define use_portb_lcd true
#include <lcd.c>
int a,b,c,dato[20];
void main(void){
setup_oscillator(osc_8MHz);
{
set_tris_a(0x00);
lcd_init();
delay_ms(100);
while(true){
if(input(PIN_A1)==1){
a=0;
for(a=0;a<=9;){
if(a==10){
break;}
lcd_putc("\f Contador \n");