Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

23/04/2010 #221

Avatar de COSMICO

Respuesta: Ccs c programas hechos en mplab(Proyecto completo)
Amigo gracias. Lo pruebo y te comento como me fue
24/04/2010 #222

Avatar de Vegetal Digital

Respuesta: Ccs c programas hechos en mplab(Proyecto completo)
No te faltaria dividirlo? algo así:
Código HTML:
resultado=resultado/numero_sensores_a_manejar;
24/04/2010 #223

Avatar de COSMICO

Respuesta: Ccs c programas hechos en mplab(Proyecto completo)
ok gracias a ti tambien
Vegetal Digital.
25/04/2010 #224

Avatar de george.manson.69

Respuesta: Ccs c programas hechos en mplab(Proyecto completo)
Ok me habia faltado eso lo mero bueno jaja....

Código:
for(sensores=0;sensores<=numero_sensores a manajer;sensores++){
            set_adc_channel(sensores);
            delay_us(50);
            channels(sensores)=read_adc();
}
 
for(sensores=0;sensores<=numero_sensores a manajer;sensores++){
            resultado+=channels(sensores);
}

resultado=resultado/numero_sensores_a_manejar;
recuerda que si pones las entradas analogas de 10 bit debes de poner una variable
de "resultado " de tipo int32, o si es 8 bit tambien pon una variable de mismo tipo.
25/04/2010 #225

Avatar de COSMICO

Respuesta: Ccs c programas hechos en mplab(Proyecto completo)
De nuevo gacias amigo,george.manson.69
tan pronto pueda lo pongo en practica
29/04/2010 #226

Avatar de george.manson.69

Respuesta: Ccs c programas hechos en mplab(Proyecto completo)
Les quiero compartir un espacio sobre manuales que he hecho durante este tema recopilados...y seguira aumentando...ya que ultimamente pesa mas de 2 MB y no puedo subirlos en este tema...espero que les guste...

http://mcuproyects.blogspot.com/
02/05/2010 #227

Avatar de dragondgold

Respuesta: Ccs c programas hechos en mplab(Proyecto completo)
Hola resulta que escribí un programa de una simple lectura del puerto analógico del PIC pero el compilador me rechaza los comandos referidos al uso del ADC y no estan mal escritos que puede ser? Les dejo el código. Uso CCS.

Código:
#include <16F628A.h>
#device adc=10
#use delay(clock=4000000)
#fuses XT,NOWDT,NOMCLR,NOPROTECT
/*PUERTOS*/
#byte PORTA = 0x05
#byte TRISA = 0x85
#byte PORTB = 0x06
#byte TRISB = 0x86
/*VARIABLES*/
INT16 adc;                                               //VALOR DEL ADC (BINARIO)
FLOAT tension = 0.000;                                   //TENSION DEL ADC (VOLTS)

VOID main(VOID){
TRISB = 0;
setup_adc_ports(AN0);
setup_adc(ADC_CLOCK_INTERNAL);
set_adc_channel(0);
delay_us(20);
                        WHILE(1){
adc = read_adc();                               //LECTURA CANAL AN1
tension = 5.000 * adc / 1024.000;               //CONVERSION A VOLTAJE
IF((tension<2.5)&&(tension>1.00)){
            output_high(PIN_A2);
}
ELSE{
            output_low(PIN_A2);
}
delay_us(20);
                        }
}
02/05/2010 #228

Avatar de COSMICO

Respuesta: Ccs c programas hechos en mplab(Proyecto completo)
dragondgold.
El pic 628 no tiene entradas analogas, fijate en el datasheet
por eso te da Error; pasate a un pic 16f819, o a un pic 16f88
PROBLEM.rar
miralo con pic 873
04/05/2010 #229


Respuesta: Ccs c programas hechos en mplab(Proyecto completo)
hola,

estoy estudiando una asignatura de uC, y estoy buscando informacion sobre como implementar una comunicacion 1-wire entre pics y sensores. en concreto, habria un pic master (pic16fxxx), un pic esclavo (pic12fxx) y dos sensores.
estoy buscando una forma de implementar el programa en C la parte del pic esclavo, pero no se como hacerlo. todos los ejemplos son de dispositivos slaves de tipo sensores, que apenas mandan la medicion de temperatura, por ejemplo.

gracias de antemano.
12/05/2010 #230


Respuesta: Ccs c programas hechos en mplab(Proyecto completo)
george.manson.69 dijo: Ver Mensaje
Código:
//------------------------------------
//TITULO: SENSOR DE TEMPERATURA Y ENVIADO A LA PC
//AUTOR: JORGE ARTURO RODRIGUEZ HERNANDEZ
//FECHA: 12\JUNIO\'09
//------------------------------------

#include <12f675.h>
#fuses XT,NOWDT,NOCPD,NOPROTECT,MCLR,NOPUT
#use delay(clock=4000000)
#use rs232(baud=2400,xmit=PIN_A2,rcv=PIN_A1)

void config(void){
		set_tris_a(0x3b);
		setup_comparator(NC_NC_NC_NC);
		setup_adc(ADC_CLOCK_INTERNAL);
		setup_adc_ports(sAN0);
}

void main(void){
		int x,y;
		config();
		
		do{
			x=read_adc();
			delay_ms(500);
			y=2*x;
			printf("LA TEMP= %u",y);
			printf("°C\r\n");
		}while(TRUE);
}

Hola que tal, estoy muy interasado. Pero no lo tienes com para el 16f877a???

Y cómo es, paralelo, seria,?? Baudio, etc...???


Saludos y gracias!!!
12/05/2010 #231

Avatar de COSMICO

Respuesta: Ccs c programas hechos en mplab(Proyecto completo)
Mira. kaimar
Son muy pocos los cambios
TERMO.rar
13/05/2010 #232

Avatar de FRYCK

Respuesta: Ccs c programas hechos en mplab(Proyecto completo)
hola Kaymar te dejo el código con las modificaciones que pedías saludos
Código PHP:
#include <16F877A.h>
#device adc=8
#FUSES NOWDT                    //No Watch Dog Timer
#FUSES XT                       //Crystal osc <= 4mhz for PCM/PCH , 3mhz to 10 mhz for PCD
#FUSES NOPUT                    //No Power Up Timer
#FUSES NOPROTECT                //Code not protected from reading
#FUSES NODEBUG                  //No Debug mode for ICD
#FUSES NOBROWNOUT               //No brownout reset
#FUSES NOLVP                    //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOCPD                    //No EE protection
#FUSES NOWRT                    //Program memory not write protected
#use delay(clock=4000000)
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)
void config(){
   
setup_adc_ports(ALL_ANALOG);
   
setup_adc(ADC_CLOCK_INTERNAL);
   
setup_psp(PSP_DISABLED);
   
setup_spi(FALSE);
   
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
   
setup_timer_1(T1_DISABLED);
   
setup_timer_2(T2_DISABLED,0,1);
   
setup_comparator(NC_NC_NC_NC);
   
setup_vref(FALSE);
}
void main(){
      
int x,y;
      
config();
      do{
         
x=read_adc();
         
delay_ms(500);
         
y=2*x;
         
printf("LA TEMP= %u",y);
         
printf("°C\r\n");
      }while(
TRUE);

16/05/2010 #233


Respuesta: Ccs c programas hechos en mplab(Proyecto completo)
Muchas Gracias, no saben cuanto me han ayudado tus ejemplos george.manson.69, soy nuevo esto de los pics y CCS, estoy intentando controlar la posicion de un servo y posteriormente un motor a pasos, pero cuando movia el motor a pasos, se volvia loco el servo, pero con los ejemplos me di cuenta que no establecia prioridades en la interrupciones.

le muestro mi codigo

Código:
//    Ancho pulso medio  1.5 ms ->  90 ticks de TMR0
//    Ancho pulso maximo 2.5 ms -> 155 ticks de TMR0

#include <16f877a.h>
#fuses XT,NOWDT,NOPROTECT,NOLVP,PUT,BROWNOUT
#use delay(clock=4000000)
#use standard_io(b)
#define PIN_SERVO1 PIN_B0
#priority int_RTCC,rda

const int AJUSTE_FINO_DE_RTCC =  30;
const int ticks_PULSO_MINIMO  =  75;
const int ticks_PULSO_MEDIO   =  96;
const int ticks_PULSO_MAXIMO  = 119;
int1 flagRTCC     = 0;
int   contRTCC    = 0;
int1 flagSERVO1 = 0;
int   tSERVO1     = ticks_PULSO_MEDIO;

#int_RTCC

void RTCC_isr(){
   ++contRTCC;
   if(contRTCC==4){
      set_TIMER0(AJUSTE_FINO_DE_RTCC);
   }

   if(contRTCC==5){
      flagRTCC=1;
      contRTCC=0x00;
   }
}
void main() {
   int ValTIMER0;
   setup_counters(RTCC_INTERNAL,RTCC_DIV_16);
   enable_interrupts(int_rda);
   enable_interrupts(global);
      set_TIMER0(0);
   enable_interrupts(INT_RTCC);

    do {
      // DISPARO DEL PULSO PWM
      if(flagRTCC==1){
         flagRTCC=0;
         output_high(PIN_SERVO1);
         flagSERVO1=1;    
      }
      // CONTROL DE ANCHO DEL PULSO PWM

      if(flagSERVO1==1){
         valTIMER0 = get_TIMER0();
         if(valTIMER0>tSERVO1){
            flagSERVO1=0;
            output_low(PIN_SERVO1);
         }   
      } 
      // CONTROL DEL SERVOMOTOR MEDIANTE PUSH

      if(input(pin_b1)==0 && input(pin_b4)==1 && input(pin_b5)==1){
      //delay_ms(200);
      tSERVO1=ticks_PULSO_MINIMO;}
      else if (input(pin_b2)==0 && input(pin_b4)==1 && input(pin_b5)==1){
      //delay_ms(200);
      tSERVO1=ticks_PULSO_MAXIMO;}
      else if (input(pin_b3)==0 && input(pin_b4)==1 && input(pin_b5)==1){
      //delay_ms(200);
      tSERVO1=ticks_PULSO_MEDIO;}
          
     // CONTROL DEL MOTOR A PASOS MEDIANTE PUSH
      if (input(pin_b4)==0){
      delay_ms(300);
   
      output_low(pin_b6);
      delay_ms(100);
      output_low(pin_b7);
     delay_ms(100);
      output_high(pin_b7);
    delay_ms(100);
      output_low(pin_b7);
  delay_ms(100);
      output_high(pin_b7);
      delay_ms(100);
      output_low(pin_b7);
      delay_ms(100);
      output_high(pin_b7);
      delay_ms(100);
      output_low(pin_b7);}
             
     else if (input(pin_b5)==0){
     delay_ms(300);
     
     output_high(pin_b6);
   delay_ms(100);
     output_low(pin_b7);
    delay_ms(100);
     output_high(pin_b7);
     delay_ms(100);
     output_low(pin_b7);
    delay_ms(100);
     output_high(pin_b7);
     delay_ms(100);
     output_low(pin_b7);
    delay_ms(100);
     output_high(pin_b7);
     delay_ms(100);
     output_low(pin_b7);}
   
   } while (TRUE);
  
}
si me presentaran mejoras a mi codigo se los agradecería, les adjunto la simulacion en proteus.

Nota: Para el control del motor a pasos empleo un driver que es el l297 y un puente h que es el l298, asi que al pic unicamente lo que le solicito es un tren de 2 pulsos, por lo que se me ocurrio hacerlos con delays...
Archivos Adjuntos
Tipo de Archivo: rar motor a pasos y servomotor.rar (18,8 KB (Kilobytes), 186 visitas)
16/05/2010 #234


Respuesta: Ccs c programas hechos en mplab(Proyecto completo)
Muchas gracias a ambos por su ayuda!!!!

Saludos y nos vemos pronto !!!
17/05/2010 #235


Respuesta: Ccs c programas hechos en mplab(Proyecto completo)
Te felicito por poner estos programas, yo no se programar en C ( he hecho algunos en asembler y me han quedado bien) los voy a leer para tener una idea como hiciste tus programas sin embrago me ubiera gustado que hubieras puesto algunos comentarios despues de cada sentencia para tener una idea mas clara ya que soy de muy lento aprendizaje y en serio tengo que leer algo varias veces para poder comprenderlo a cabalidad de todas maneras bien por lo que has puesto para todos los interesados, felicidades.
25/05/2010 #236


Respuesta: Ccs c programas hechos en mplab(Proyecto completo)
george un favor me puedes eXplicar como funciona el scroll qUE pusistes de ejemplo lo pruebo y si trabaja de maravilla pero aun no comprendo la sintaxis de como trabaja por favor si fueras tan amable de explicarlo te dejo mi mail

Como no cumplo las políticas del Foro me editaron el mensaje @ políticas del Foro.Com

gracias
07/06/2010 #237

Avatar de george.manson.69

Respuesta: Ccs c programas hechos en mplab(Proyecto completo)
aqui les tengo un exemplo de uso de un GLCD programado en pic c compiler

Para simularlo se debe de tener proteus 7.6 sp4
Imágenes Adjuntas
Tipo de Archivo: jpg SIMU.jpg (225,5 KB (Kilobytes), 84 visitas)
Archivos Adjuntos
Tipo de Archivo: zip GLCD_ex.zip (125,9 KB (Kilobytes), 162 visitas)
08/06/2010 #238


Respuesta: Ccs c programas hechos en mplab(Proyecto completo)
Hola que tal como están???
Disculpe molestarlos pero tengo un pequeño y gran problema...
estoy recibiendo datos con la interrupción RDA, Funciona perfecto... pero al momento de que ya he recibido 40 datos el programa no corre más... tengo que apagar y prender el pic para q vuelva a trabajar... noc como pueda solucionar el problema... si alguien podria ayudarme se lo agradeceria mucho...
08/06/2010 #239

Avatar de FRYCK

Respuesta: Ccs c programas hechos en mplab(Proyecto completo)
hola magdalena coloca mas datos de tu problema como que tipo de micro controlador utilizas, el circuito es simulado, el código si es posible postealo para poderte ayudar
saludos
09/06/2010 #240

Avatar de george.manson.69

Respuesta: Ccs c programas hechos en mplab(Proyecto completo)
magdalena sube el progrograma para ver que puede ser...o la simulacion si puedes para buscar una falla...
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.