示例#1
0
文件: 7_SEG.c 项目: Sel2016/microchip
void main()
{
SET_TRIS_A(0b00000001);

SETUP_ADC_PORTS(AN0);

SETUP_ADC(ADC_CLOCK_INTERNAL);

ENABLE_INTERRUPTS(GLOBAL | INT_TIMER0);
SETUP_TIMER_0(RTCC_INTERNAL | RTCC_8_BIT| RTCC_DIV_16);
SET_TIMER0(100);

while(true)
     {
     SET_ADC_CHANNEL(0);        //Configura o canal de leitura 0
     delay_us(100);             //Tempo de ajuste do canal (necessário) 
     ad0 = READ_ADC();          //Faz a conversão AD e a salva na variável ad0
   
     ad0 = (ad0 * 5000)/1023;
          
     d1 = ad0/1000;
     d2 = (ad0/100) % 10;
     d3 = (ad0/10) % 10;
     
     delay_ms(500);    
     }
}
void main()
{
   SET_TRIS_B(0xFF);    //configura PORTB entrada / 0=salida / 1=entrada
   SET_TRIS_A(0x00);    //configura PORTD salida  
   OUTPUT_A(0x00);   //inicializando PORTD en 0x00
      
   while(true)
   {
      if (input(PIN_B1) == 1 ){
         output_low(PIN_A0);   //establece la salida del PORTD
      }else {
         output_high(PIN_A0);
      }
   }
}
示例#3
0
void main(main){

enable_interrupts( GLOBAL );
//enable_interrupts( INT_RDA );
//   enable_interrupts( INT_RTCC );

 // setup_adc(ADC_CLOCK_INTERNAL); //configura el converso
  setup_adc(ADC_CLOCK_DIV_32);
  setup_adc_ports(ALL_ANALOG);

 ds1307_init ();      ///se inicializa el ds1307
   delay_ms(1000);
   SET_TRIS_A( 0xFF );

//ds1307_set_date_time (9, 9, 14, 21, 22, 28, 10); /// se escribe en el displositivo
fprintf(COM_int,"Hola Mundo");
while(true){
    ds1307_get_date (day, month, yr, dow);  /// se obtiene la fecha
    ds1307_get_time (hrs, min, sec);   /// se obtiene la hora
   // fprintf(COM_int,"AT$MSGSND=4,\"");
   // fprintf(COM_int, "20%d%02d%02d, %d, %d, %d\"\n\r", yr, month, day, hrs, min, sec);

      set_adc_channel(0);
      valor=read_adc();
      delay_ms(10);
      set_adc_channel(1);
      valor1=read_adc();
      delay_ms(10);
      set_adc_channel(2);
      valor2=read_adc();
      delay_ms(10);
      set_adc_channel(3);
      valor3=read_adc();
      delay_ms(10);
      set_adc_channel(4);
      valor4=read_adc();
      delay_ms(10);
      set_adc_channel(5);
      valor5=read_adc();
      delay_ms(10);
      fprintf(COM_int, "#PT01,20%d%02d%02d,%02d%02d%02d,%Lu,%Lu,%Lu,%Lu,%Lu,%Lu,000,999$\"\n\r"yr,month, day, hrs, min, sec, valor, valor1, valor2, valor3, valor4, valor5);
      output_high(pin_c1);
      delay_ms(1000);
      output_low(pin_c1);
      delay_ms(1000);

}
}
示例#4
0
main() {
/*
Vista frontal, motor detras de la barra

|------|------|------|------|------|------|------|------|
0     128    256    384    512    640    768    896   1024

*/

   SET_TRIS_A( 0xFF );
   SET_TRIS_B( 0x00 );
   SET_TRIS_C( 0x00 );

   inicializar();
   
   while(true) {
      leer();
      
      if(lectura < 128) {
         giro_derecha100();
      } else if(lectura < 256) {
         giro_derecha75();
      } else if(lectura < 384) {
         giro_derecha50();
      } else if(lectura < 512) {
         giro_derecha25();
      } else if(lectura < 640) {
         giro_izquierda25();
      } else if(lectura < 768) {
         giro_izquierda50();
      } else if(lectura < 896) {
         giro_izquierda75();
      } else if(lectura < 1024) {
         giro_izquierda100();
      }      
      
   }
}
// ****************************************************************
// Definicion de Funciones
void Configuracion(){
   SET_TRIS_B(0xFF);    //configura PORTB entrada / 0=salida / 1=entrada
   SET_TRIS_A(0x00);    //configura PORTD salida  
   OUTPUT_A(0x00);   //inicializando PORTD en 0x00
   CMCON = 0x07;
}