elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Informática
| |-+  Electrónica
| | |-+  Introduccion a la programacion de PICS en lenguaje C (CCS)
0 Usuarios y 2 Visitantes están viendo este tema.
Páginas: 1 ... 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 [22] 23 Ir Abajo Respuesta Imprimir
Autor Tema: Introduccion a la programacion de PICS en lenguaje C (CCS)  (Leído 617,928 veces)
skapunky
Electronik Engineer &
Colaborador
***
Desconectado Desconectado

Mensajes: 3.667


www.killtrojan.net


Ver Perfil WWW
Re: Introduccion a la programacion de PICS en lenguaje C (CCS)
« Respuesta #210 en: 2 Marzo 2012, 00:53 am »

Si lo programaste con CCS utilizando el wizard...no hace falta, porque te linkea a un archivo externo que forma parte del proyecto con los fuzes declarados.

El codigo que has puesto tu...no tiene ese include, en tu caso si los necesitas.


En línea

Killtrojan Syslog v1.44: ENTRAR
Meta


Desconectado Desconectado

Mensajes: 3.501



Ver Perfil WWW
Re: Introduccion a la programacion de PICS en lenguaje C (CCS)
« Respuesta #211 en: 18 Marzo 2012, 13:43 pm »

Hola:

¿Hay enlaces sobre CCS para bajarlo?

Bajé la Demo y nay nay.

Es para hacer pruebas con la entrenadora que compré,

Ver análisis personal.

Saludo.


En línea

zulay

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Re: Introduccion a la programacion de PICS en lenguaje C (CCS)
« Respuesta #212 en: 31 Marzo 2012, 18:35 pm »

hola alguien me puede decir para que sirve la isntruccion byte, ejemplo:
byte  x,y,z;
y para que sirve #FUSES XT, NOWDT, NOPROTECT, NOPUT

soy nuevo en esto
gracias
En línea

skapunky
Electronik Engineer &
Colaborador
***
Desconectado Desconectado

Mensajes: 3.667


www.killtrojan.net


Ver Perfil WWW
Re: Introduccion a la programacion de PICS en lenguaje C (CCS)
« Respuesta #213 en: 2 Abril 2012, 16:55 pm »

La instrucción byte es la declaración de variable tipo byte, en este caso en lenguace C, fijate:

int variable1;
byte variable2;

Lo segundo que comentas:

Citar
#FUSES XT, NOWDT, NOPROTECT, NOPUT

Són los fuzes de configuración del PIC, en este caso esta declaración es para el compilador CCS, por ejemplo el NOWTD deshabilitas el watchdog...hay varios y simplemente es mirar lo que hace cada uno. En el caso del MPLAB se declaran mediante la directiva "PRAGMA".
En línea

Killtrojan Syslog v1.44: ENTRAR
02arca14

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: Introduccion a la programacion de PICS en lenguaje C (CCS)
« Respuesta #214 en: 16 Abril 2012, 19:03 pm »

tengo duda sobre las banderas en pic c como utilizarlas
me pueden ayudar ::)
En línea

crva07

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Re: Introduccion a la programacion de PICS en lenguaje C (CCS)
« Respuesta #215 en: 22 Mayo 2012, 08:25 am »

Hola Marco..  este foro a sido el mejor que he visitado..  Necesito que me ayudes en un proyecto..  talves tengas algun codigo con el cual hayas hecho comuniacion I2C.. necesito leer los datos de un Acelerometro mma7660.. con el pic 16F877A. y mostrarlos en un lCD.. [ el acelerometro viene en un modulo ya soladado con resistencia y capacitores, los pines son (INT, SCL, SDA, VCC, GND).].....     intento hacer la comunicacion del Pic-Acelerometro.. pero no obtengo resultados..  ojala me pudieras ayudar..  te agradeceria un mundo 
En línea

ingtasco

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Introduccion a la programacion de PICS en lenguaje C (CCS)
« Respuesta #216 en: 25 Mayo 2012, 18:45 pm »

Buen dia mi nombre es alvaro y esto empezando en esto de los PIC, espero aportar algo de conocimiento ya que estoy terminando mi carrera como Ingeniero Electrónico.. Suena raro que ya culminando la carrera apenas vaya a empezar a trabajar con PIC. La respuesta es que en la U poco se enfocan a esta área, a pesar que es muy importante. Pero weno pa eso estamos acá  para aprender mas y mas y ser reciproco con el conocimiento.

Quisiera empezar preguntando : ¿Por donde empezar a trabajar con CCS? , ¿Arrancando con el Wizard o desde codigo 0?
En línea

mecatronico

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Re: Introduccion a la programacion de PICS en lenguaje C (CCS)
« Respuesta #217 en: 30 Junio 2012, 01:50 am »

olas a todos que tal me parece muy interesante este foro ya que puedes compartir muxas ideas y cosas mas weno io queria contar y preguntar a la vez es que io hice una tarea en mi univ de un controlador de velocidad de un motor dc la velocidad es vista en un lcd y mi velocidad de referencia la escojo con un potenciometro ,mediante el pic16f876A corrijo el error  ante  una perturbacion en el eje mediante un pid programado en el pic weno el trabjo si me flipa pero mi problem es que mi valor de refencia que me aparece en el lcd de mi trabajo no es igual ami valor de salida de mi lcd mm y no se si seran los parametros de mi motor que esten mal o sera mis valores kp ki kd habe si alguien me dice alguito de como corregir esto pls mayor inf les puedo pasar mi simulacion en proteus si entienden mi idea gracias ahi les va el programa de formacion del pid.

#include <16F876A.h>
#device adc=10
#FUSES NOWDT                    //No Watch Dog Timer
#FUSES HS                       //High speed Osc (> 4mhz)
#FUSES PUT                      //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

#use delay(clock=20000000)
#include <lcd.c>
#define  factor   3000/1023
#define  f2       0.23
#use fast_io(a)
#use fast_io(c)
#use fast_io(b)

float rpm,vel_m;
int   cont_t0;
int16 vel,vref,duty,aux;
signed long duty_c,uk_int;
float uk,uk_1,ek,ek_1,ek_2,f_vref;
int Kp,Ki,Kd;

void set_pwm1_dc(unsigned long duty_pwm);

#int_TIMER0
void TIMER0_isr()
{
   set_timer0(61);      // para contar 10 ms
   cont_t0++;
   if(cont_t0==10)
   {
      cont_t0=0;
      vel=get_timer1();   // contamos cuanros pulsos pasaron
      vel=vel*6;        // son 100 pulsos por revolucion
                        // asi obtenemos en revoluciones cada 100 milisegundos
                        // vel = #p/deci * 1rev/100p * 10 deci/1 seg * 60 seg/min
                        // vel esta en rpm
      lcd_gotoxy(9,2);
      printf(lcd_putc,"Vm=%Lu",vel);
      set_timer1(0);
   }
}

void main()
{
   set_tris_a(0xff);
   
   setup_adc(ADC_CLOCK_DIV_8);
   
   setup_adc_ports(AN0);
   set_adc_channel(0);
   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_256);
   setup_timer_1(T1_EXTERNAL|T1_DIV_BY_1);
   setup_timer_2(T2_DIV_BY_4,0XFF,4);
   setup_ccp1(CCP_PWM);
   set_pwm1_duty(0);
   setup_comparator(NC_NC_NC_NC);
   setup_vref(FALSE);
   set_timer0(61);
   set_timer1(0);
   clear_interrupt(INT_TIMER0);
   enable_interrupts(INT_TIMER0);
   enable_interrupts(GLOBAL);
   
   set_tris_c(0b11111011);
   set_tris_b(0);
   output_b(0);
   lcd_init();
   set_pwm1_dc(700);
   lcd_putc("   CONTROL PID\n");
   delay_ms(1000);
   output_b(0);
   
   uk=0;
   uk_1=0;
   ek=0;
   ek_1=0;
   ek_2=0;
   
   Kp=10;
   Ki=10;
   Kd=5;
   for(;;)
   {
      aux=read_adc();
      if(aux!=vref)
      {
         vref=aux;
         f_vref=vref;
         rpm=vref*factor;
         lcd_gotoxy(1,2);
         printf(lcd_putc,"Vr=%4.0f",rpm);     
      }
      vel_m=vel;
      ek=rpm-vel_m;
     
      uk=Kd*ek_2+(Kp+2*Kd)*ek_1+(Kp+Ki+Kd)*ek-uk_1;   // controlador pid
      ek_1=ek;
      ek_2=ek_1;
      uk_1=uk;
      uk_int=uk;
      duty_c=uk_int*f2;
      if(duty_c>1023)
         duty_c=1023;
      else if(duty_c<=0)
         duty_c=0;
      duty=duty_c;
      set_pwm1_dc(duty);       
   }
   
}

void set_pwm1_dc(unsigned long duty_pwm)
{
 #byte   CCP1CON=0x17
 #byte   CCPR1L=0x15
 
   bit_clear(CCP1CON,4);
   bit_clear(CCP1CON,5);
   if(bit_test(duty_pwm,0))
         bit_set(CCP1CON,4);
   if(bit_test(duty_pwm,1))
         bit_set(CCP1CON,5);
   duty_pwm>>=2;                 //rota dos veces
   duty_pwm&=0x00FF;             // dejamos solo un byte
   CCPR1L=duty_pwm;     
}

graxias ojala me puedan ayuda xD


una consulta quisiera saber mas ala detalle acerca de tu controlador de velcidad ps estoy necesitando urgente implementar uno para un curso la verdad es que recien he estado revisando temas afines a programacion por ende se me hace un poco complicado entender algunas instrucciones ,espero puedas ayudarme porfavor

el motor que deseo controlar es de 19w de potencia 24voltios con un encoder de 100PPR
PORFAVOR ESPERO QUE ME AYUDES  :huh:
En línea

demian662

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Re: Introduccion a la programacion de PICS en lenguaje C (CCS)
« Respuesta #218 en: 24 Julio 2012, 22:07 pm »

Si alguien puede ayudarme, estoy buscando el ccs compiler y no puedo encontrarlo, si alguien tiene un link que no este fuera de servicio seria muy util
En línea

hemerson

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Re: Introduccion a la programacion de PICS en lenguaje C (CCS)
« Respuesta #219 en: 19 Diciembre 2012, 13:55 pm »

Estoy iniciándome en lo que es programación me pueden ayudar con un manual que me ayude a comprender el código de antemano gracias
En línea

Páginas: 1 ... 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 [22] 23 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
introduccion ala programacion
Electrónica
cldo 0 3,285 Último mensaje 23 Marzo 2006, 00:59 am
por cldo
Programacion de PICS
Electrónica
Zeroql 7 12,955 Último mensaje 16 Octubre 2011, 00:24 am
por CCStuamigo
Introducción al Lenguaje PERL
Scripting
Dr.SysCrack 0 3,116 Último mensaje 19 Noviembre 2007, 03:04 am
por Dr.SysCrack
Introducción a la programación
Programación General
Meta 1 3,075 Último mensaje 23 Agosto 2010, 13:48 pm
por forever77
Introducción a la programación en Ruby
Scripting
peib0l 1 2,776 Último mensaje 8 Agosto 2010, 19:19 pm
por Novlucker
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines