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 2 3 4 5 6 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,930 veces)
Sourraund


Desconectado Desconectado

Mensajes: 1.247


The Lord of the World


Ver Perfil WWW
Re: Introduccion a la programacion de PICS en lenguaje C (CCS)
« Respuesta #160 en: 18 Febrero 2010, 10:47 am »

Hay algunas lecciones del post en los que no se pueden ver las imagenes de la simulación en el Proteus, hay algún modo de poder visualizarlas?

Saludos.


« Última modificación: 22 Febrero 2010, 11:49 am por Sourraund » En línea

Ingredientes: Sal y disfuta.
Cómete el mundo.

http://www.sourraundweb.tk
Sourraund


Desconectado Desconectado

Mensajes: 1.247


The Lord of the World


Ver Perfil WWW
Re: Introduccion a la programacion de PICS en lenguaje C (CCS)
« Respuesta #161 en: 24 Febrero 2010, 11:13 am »

Cuando quiero usar un lcd, sea el ejemplo que sea, siempre me sale este error:
"DSIM model LCDALPHA.DLL failed to authorize - Missing or invalid Customer Key"

¿Alguien sabe como puedo solucionarlo?

Saludos y gracias.


En línea

Ingredientes: Sal y disfuta.
Cómete el mundo.

http://www.sourraundweb.tk
elektronische

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Re: Introduccion a la programacion de PICS en lenguaje C (CCS)
« Respuesta #162 en: 19 Marzo 2010, 03:51 am »

Tengo un problema tratando de conectar un teclado de 4x3 a una LCD mediante un PIC 16F877A, no logro hacer que obtenga los datos del teclado, ajunto el código y el diagrama en ISIS, tal vez me puedan ayudar.

#include <16f877a.h>                      //PIC utilizado
#fuses HS,NOWDT,NOPROTECT,NOLVP           //Configuramos los fuses
#use delay (clock=4000000)                //Oscilador a 4Mhz
#INCLUDE "lcd.c"                         //Incluyo LCD.C
#INCLUDE "kbd.c" 


void lcd_mostrar(void);
char a;
#byte PORTD=0xF81
#define use_portb_kbd TRUE

void main(void)
{
   port_b_pullups(TRUE);
   kbd_init();
   lcd_init();
   lcd_mostrar();
}

void lcd_mostrar(void)
{
a=kbd_getc();
lcd_putc(a);

}

En línea

dNnYaU~

Desconectado Desconectado

Mensajes: 3



Ver Perfil
Re: Introduccion a la programacion de PICS en lenguaje C (CCS)
« Respuesta #163 en: 19 Abril 2010, 02:59 am »

Buen día, antes que nada, me agrada este foro, recién lo he encontrado y hay mucha información valiosa gracias a los que se dan el tiempo de ayudar. aunque yo no cuento con suficiente tiempo si me gustaría aportar de lo poco que he hecho con PICs en CCS.
Bueno... por lo pronto quisiera comentarle aqui al colega y para todos aquellos que tengan el mismo problema o simplemente quieran agilizar el tiempo de programación con un LCD, me agradaría adjuntarles una librería que en lo personal no me ha dado problemas.

Así que aquí viene mi primer pregunta:

¿Como adjunto un archivo en este foro para compartir información?  :P
 

Cuando quiero usar un lcd, sea el ejemplo que sea, siempre me sale este error:
"DSIM model LCDALPHA.DLL failed to authorize - Missing or invalid Customer Key"

¿Alguien sabe como puedo solucionarlo?

Saludos y gracias.


En línea

INSPIRACION, MOTIVACION, RENOVACION,  ACTITUD,  CONFRONTACION, CONCENTRACION, CONOCIMIENTO... RESPIRA...                                                        "LO DE MAS... ES LO DE MENOS"-
                                                                               ~'dnny@u '~
tercules

Desconectado Desconectado

Mensajes: 1


Ver Perfil
problemas com 16f876a(CCS)
« Respuesta #164 en: 24 Junio 2010, 19:32 pm »

hola amigos quisiera que me den una mano con este codigo cual sera el  problema con el copilador:
codigo:
#include <16F876.H>                     
#fuses HS,XT,NOPUT,NOPROTECT,NOWDT           
#use delay(clock=8M)                         
#include <Flex_lcd.c>                           

#use fast_io(a)                             
#use fast_io(b)
#use fast_io(c

///****   DEFINIMOS NOMBRES A PUERTOS   ****///
#bit CENTENAS  = 0x06.4
#bit UNIDADES  = 0x06.5   
#bit SPEEDUP   = 0x06.6   
#bit SPEEDDOWN = 0x06.7

///****    VARIABLES GLOBALES  ***///
int  contador,stop,Duty,FlagRamp,
     mil,cen,dec,uni,
     uni2,dec2,cen2,mil2;

void reset()
{                                 
 mil=0; dec=0; cen=0; uni=0;                   
 uni2=0; dec2=0; cen2=0; mil2=0;
 contador=0;
 output_b(0x00);
 output_c(0x00);
 output_a(0x00);
 Stop=0;
 FlagRamp=0;
 Duty=0;
 set_pwm1_duty(0);                           //Borra la pantalla LCD
}
///****    FUNCIÓN PANTALLA DE ARRANQUE   ****///
void inicial()                                 
 {
 lcd_gotoxy(2,1); lcd_putc("BOBINADORA 3.0");   
 lcd_gotoxy(2,2); lcd_putc("INOXSTEEL 2009");
 delay_ms(3000);
 lcd_putc("\f");
 }

///****    FUNCIÓN FIN DE BOBINADO   ****///
void Fin()                                 
 {
 int i;
 for (i=0;i<5;i++)
 {
  lcd_putc("\f");
  delay_ms(300);
  lcd_gotoxy(5,1); lcd_putc("BOBINADO");
  lcd_gotoxy(4,2); lcd_putc("FINALIZADO");
  delay_ms(300);
 }
 lcd_putc("\f");
 reset();
 }

///****     INTERRUPCIÓN TIMER0    ****///
///      TIMER0 EN MODO CONTADOR       ///
/// LLEVA EL CONTEO POR SENSOR EXTERNO ///

#int_TIMER0
Void TIMER0_isr(void)                         
 {                                             
 contador=1;
 set_timer0(255);
 clear_interrupt(int_TIMER0);
 }
   
///****           INTERRUPCIÓN RB0           ****///
/// PUESTA EN MARCHA SI HAY CANTIDAD INTRODUCIDA ///

#int_EXT

void Start_isr(void)
  {
   if (uni!=0 || cen!=0)
    {lcd_putc("\f"); Stop=1;}
 
  clear_interrupt(int_EXT);
  }

///****       INTERRUPCIÓN RB4-RB7         ****///
/// TOMA LOS DATOS RECIBIDOS EN LOS PULSADORES ///
///    CENTENAS, UNIDADES, VELOCIDAD + Y -     /// 

#int_RB
Void Pulsadores_isr()
   {
   if (SPEEDUP==1)  if (duty<82) Duty+=4;
   if (SPEEDDOWN==1)if (duty>2) Duty-=4;
   if (CENTENAS==1) cen++;
   if (UNIDADES==1) uni++;
                                     
   if (uni>9) {dec++; uni=0;}             
   if (dec>9) dec=0;                   
   if (cen>9) {mil++; cen=0;}     
   if (mil>9) mil=0; 

   clear_interrupt(int_RB);
   }
 
///****       INTERRUPCIÓN TIMER1          ****///
/// SE ENCARGA DEL ARRANQUE SUAVE DEL MOTOR    ///
/// AL INICIAR EL BOBINADO - DE 0% A 50% VEL.  /// 

#int_TIMER1
Void SoftStart()
   {
    if (stop==1 && Duty<42 && FlagRamp==0)
       {Duty+=2; set_timer1(50000);}
   
    if (Duty==42) FlagRamp=1;
   }

///****FUNCIÓN PRINCIPAL****/// 

Void Main(Void)                               
  {
   int16 speed;
   speed=0;
   
   set_tris_a(0b110000);
   set_tris_b(0b11110001);
   set_tris_c(0b00000000);

   ///**** HABILITACIÓN Y AJUSTE DE INTERRUPCIONES****///
   enable_interrupts(int_EXT);
   enable_interrupts(int_TIMER0);
   enable_interrupts(int_TIMER1);
   enable_interrupts(int_RB);
   enable_interrupts(global);

   ext_int_edge(L_TO_H);
   setup_timer_0(RTCC_EXT_L_TO_H|RTCC_DIV_1);
   setup_timer_2(T2_DIV_BY_16,82,1);
   setup_timer_1(T1_INTERNAL|T1_DIV_BY_8);
   setup_ccp1(CCP_PWM);

   clear_interrupt(int_RB);
   clear_interrupt(int_EXT);
   clear_interrupt(int_RTCC);
   clear_interrupt(int_ccp1);

   reset();                                       

   lcd_init();                                       

   inicial();

while (true)
  {
///****BLOQUE PRINCIPAL DE PRESELECCIÓN****///
 
   if (stop==0)
   {
    lcd_gotoxy(1,1);  lcd_putc("INTRODUCE EL N");     
    lcd_gotoxy(15,1); lcd_putc(223);                         
    lcd_gotoxy(1,2);  lcd_putc("DE ESPIRAS");
    lcd_gotoxy(12,2); printf(lcd_putc,"%u",mil);                           
    lcd_gotoxy(13,2); printf(lcd_putc,"%u",cen);   
    lcd_gotoxy(14,2); printf(lcd_putc,"%u",dec);   
    lcd_gotoxy(15,2); printf(lcd_putc,"%u",uni);   
   }

///****BLOQUE EN FUNCIONAMIENTO****///

   if (Stop==1)
   { 
    lcd_gotoxy( 1,1); lcd_putc("BOBINANDO");
    delay_ms(20);
    lcd_gotoxy(11,1); printf(lcd_putc,"V.%03Lu",Speed);
    lcd_gotoxy(16,1); lcd_putc("%");
    lcd_gotoxy( 1,2); lcd_putc("ESPIRAS N");
    lcd_gotoxy(10,2); lcd_putc(223);
    lcd_gotoxy( 1,1); lcd_putc("         ");
    delay_ms(20);
    lcd_gotoxy(12,2); printf(lcd_putc,"%u",mil2);
    lcd_gotoxy(13,2); printf(lcd_putc,"%u",cen2);   
    lcd_gotoxy(14,2); printf(lcd_putc,"%u",dec2);   
    lcd_gotoxy(15,2); printf(lcd_putc,"%u",uni2);   
 
    set_pwm1_duty(duty);              //PWM para control de velocidad

    Speed = Duty;                     //Variable de % de velocidad en pantalla
    Speed = (( Speed * 100) / 82 );

    if (contador==1)                 
    {uni2++; contador=0;}                   
    if (uni2>9) {dec2++; uni2=0;}   
    if (dec2>9) {cen2++; dec2=0;}
    if (cen2>9) {mil2++; cen2=0;}

    if (mil2==mil && dec2==dec &&   
    cen2==cen && uni2==uni) 
   {Stop=0; lcd_putc("\f"); fin();} 
  }
 }
}
En línea

samael.sys

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Re: Introduccion a la programacion de PICS en lenguaje C (CCS)
« Respuesta #165 en: 1 Julio 2010, 22:45 pm »

Hola Amigos he probado parte de lo q aki se habla de los PIC, yo estoy usando el 16f877 con algo de lo q aki hay, por el momento solo quiero encender un led, al parcer el programa esta bien; pero cuando lo simulo en proteus no me funciona, aki les dejo el codigo :

//#include "C:\pruebas pic\control_motores.h"
#include <16F877.h>
#device adc=8

#FUSES NOWDT                    //No Watch Dog Timer
#FUSES RC                       //Resistor/Capacitor Osc with CLKOUT
#FUSES NOPUT                    //No Power Up Timer
#FUSES NOPROTECT                //Code not protected from reading
#FUSES BROWNOUT                 //Reset when brownout detected
#FUSES LVP                      //Low Voltage Programming on B3(PIC16) or B5(PIC18)
#FUSES NOCPD                    //No EE protection
#FUSES NOWRT                    //Program memory not write protected
#FUSES NODEBUG                  //No Debug mode for ICD

#use delay(clock=4000000)
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)
#byte port_b=0x06
void main()
{

   port_b_pullups(TRUE);
   setup_adc_ports(NO_ANALOGS);
   setup_adc(ADC_OFF);
   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);
   
   
   // TODO: USER CODE!!
   set_tris_b (0x00);                  // Declaramos puerto B como salida
   set_tris_a (0x1F);
   port_b=0;
   output_high(PIN_B0);
   //delay_ms (10);             // esperamos 10 ms
}



GRACIAS!!!! :D
En línea

INVINCIBLE

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Re: Introduccion a la programacion de PICS en lenguaje C (CCS)
« Respuesta #166 en: 10 Julio 2010, 06:49 am »

Buenas noches colegillasª!!

Mi pregunta es la siguiente...una vez que tengo compilado el codigo en c en el CCS y me simula ese codigo en el Proteus ...cual es el paso a seguir para poder grabar el contenido a la PIC respectiva suponienod que use la f1684a? Tengo entendido que primero debo generar un .ASM y luego el .HEX ... Por favor espero su gentil respuesta ..

Gracias
En línea

JCCC

Desconectado Desconectado

Mensajes: 17


Ver Perfil
Re: Introduccion a la programacion de PICS en lenguaje C (CCS)
« Respuesta #167 en: 15 Julio 2010, 23:25 pm »

tienes el programa compilando y corriendo...
ya tienes generado el .HEX, con el winpinc800, icprog o cualquier otro programa lo programas (con un programador de PICs) no es necesario el ASM.
posdata: al menos pasate un rato por san google....
En línea

Tokes

Desconectado Desconectado

Mensajes: 140


Ver Perfil
Re: Introduccion a la programacion de PICS en lenguaje C (CCS)
« Respuesta #168 en: 25 Julio 2010, 02:33 am »

samael:

He compilado tu código exactamente como lo pusiste y si funciona (al menos en mi máquina).

Es todo.
En línea

osmar6

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Re: Introduccion a la programacion de PICS en lenguaje C (CCS)
« Respuesta #169 en: 5 Agosto 2010, 22:04 pm »

hola!! soy nuevo en esto de programar pic C  y me gustaria saber si es posible grabar en el pic con el programa CCS?? disculpen la ignoracia, pero como dije soy nuevo en esto.. desde ya muchas gracias..
En línea

Páginas: 1 2 3 4 5 6 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,118 Ú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