Picc CCS

Analogos

#include<i208.h>
#include<lcd_i208.h>
 
void main()
{
   CHAR tecla=48;      //Variable en la que guardaremos el valor de la tecla presionada
   int16 analogico=0;
   SETUP_ADC(ADC_CLOCK_INTERNAL);
   SETUP_ADC_PORTS(AN0);
   SET_ADC_CHANNEL(0);        //Configuracion del ADC 0
   lcd_init();        //Inicializamos LCD
   lcd_gotoxy(5,1);   //Mandamos cursor a LCD
   printf(lcd_putc,"Analogicos=");    //Imprimimos LCD
   tecla=0;
 
   WHILE(1)
   {
      analogico=read_adc(); 
      printf(lcd_putc,"\f");//Limpiamos LCD
      lcd_gotoxy(1,1);   //Mandamos cursor a LCD
      printf(lcd_putc,"Analogico=%lu",analogico);    //Imprimimos LCD
      delay_ms(200);
   }
}
 
Archivos descargables

 

Digitales

#include <i208.h>
 
#use standard_io(D) //Declaramos el puerto D con directivas del compilador
#use standard_io(B)
 
void main() //Funcion Principal
{
   WHILE(1)
   {
      if(input(PIN_B0)==1){
      output_high(PIN_D0);     //Poner el valor de 1 en el PIN B0
      }
      else{
      output_low(PIN_D0);      //Poner el valor de 0 en el PIN B0
      }
   }
}
 
Archivos descargables
  
 

Controlar 4 Display por i2c

 
#include <i208.h>      //Libreria i208
#include <SAA1064.H>   //Libreria SAA1064
 
void main(VOID) 
{
   INT w=0,x=0,y=0,z=0;  //Variables del contador
   init_display(_3mA);   //Inicaliza el SAA1064 con ADR a GND y Leds a 3mA podria configurarse a 6mA,9mA,12mA,15mA,18mA y 21mA
 
   WHILE(true)           //Bucle infinito
   {
      FOR(w=0;w<10;w++)               //Bucle para el digito 1
      {
         FOR(x=0;x<10;x++)            //Bucle para el digito 2
         {
            FOR(y=0;y<10;y++)         //Bucle para el digito 3
            {
               FOR(z=0;z<10;z++)      //Bucle para el digito 4
               {
                  write_display(w,x,y,z);  //Escribe en display (digito 1,digito 2, digito 3, digito 4)
                  delay_ms(100);           //Delay 100ms
               }
            }
         }
      }
   }
}
 
Archivos descargables
 

LCD y KEYPAD

 
#include <i208.h>
#include <LCD_i208.h>
#include <KBD_BLUE.h>
 
#use standard_io(A)
 
void main()
{
   CHAR tecla=48;      //Variable en la que guardaremos el valor de la tecla presionada
   lcd_init();        //Inicializamos LCD
   kbd_init();        //Inicializamos Teclado
   lcd_gotoxy(5,1);   //Mandamos cursor a LCD
   printf(lcd_putc,"Tecla=%c",tecla);    //Imprimimos LCD
   tecla=0;
 
   WHILE(1)
   {
      tecla=kbd_getc();                //Funcion que adquiere la tecla presionada
      if(tecla!=0){
      printf(lcd_putc,"\f");           //Limpiamos LCD
      lcd_gotoxy(5,1);                 //Mandamos cursor a LCD
      printf(lcd_putc,"Tecla=%c",tecla); //Imprimimos LCD
      }
   }
}
 
Archivos descargables
 

Servos

 
#include <i208.h>
 
         //Se puede definir asta SERVO8
#DEFINE SERVO1 PIN_D0 //Definimos el D0 como el SERVO1
 
#use standard_io(D) //Declaramos que usaremos el puerto D
 
#include <servos.h>  //declaramos la libreria de servos
 
void main(void) 
{
   init_servos();    //inicializamos servos
 
   servo_on(1);      //Habilitamos el SERVO1 
   servo(1,0);       //Funcion de posicion para servo servo(numero_servo,angulo_servo);
   delay_ms(2000);   //Dejamos habilitado el SERVO1 durante 2 segundos
   servo(1,90);      //Funcion de posicion para servo servo(numero_servo,angulo_servo);
   servo_off(1);     //Desabilitamos el SERVO1
   
   //Ciclo infinito
   while(1)
   {
   }
   //Fin de ciclo infinito
}
 
Archivos descargables
 

Carrito controlado por bluetooth mediante android 

Archivos descargables