Introduccion a la programacion de PICS en lenguaje C (CCS)

Iniciado por MARCO_RECARGADO, 26 Julio 2007, 17:47 PM

0 Miembros y 1 Visitante están viendo este tema.

jfranco

hola amigo rony te doy las gracias por tu interes..abri tu archivo en el ccs compiler version  v4.068 es la que tengo lo compile..no salio error pero al probarlo en el proteus que tengo version 7.2 me sale rb0 encencidido aprieto el pulsador en  ra0  y apaga el led de rb0 y enciende los dos ultimo rb2 rb3 vuelvo a apretar y me enciende rb1  que version tienes tu de proteus porq quize abrir tu archivo de tu carpeta me sale un mensaje y no puede abrirse gracias

ronny22

hola jfranco,hagamos una cosa,a mi tambien me paso algo parecido y creo que se debe a que por alguna razon quedan los errores guardados en la simulacion de proteus,lo que vas a hacer es crear el circuito nuevamente en proteus,no utilices el mismo que tienes aorita,asi descartaremos el problema.

otra cosa que vas a hacer es cuando selecciones el pic16f84a en proteus,le vas a dar click derecho encima del pic y le vas a dar a edit properties , luego en donde dice Processor Clock Frequency muchas veces viene con 1MHz , lo vas a cambiar por 4MHz.

y bueno te da error el archivo de proteus .DNS  porq mi version es la 7.4 SP3,un poco mas avanzada que la q tienes y por eso no abre el archivo q te mande

ronny22

hola jfranco,aca te dejo otros dos ejemplos que a mi me funcionan tambien,espero te funcionen y cualquier cosa me avisas.

programa 1

#include <16f84a.h>
#fuses XT,NOWDT,NOPROTECT,
#use delay(clock=4000000)
#byte porta=5
void main()
{
set_tris_b(0b11110000);
set_tris_a(0xff);
output_b(0);

while(true)
{

if(bit_test(porta,0)==0) //aca pregunto por el bit RA0 de PORTA de otra manera
{
  output_high(pin_b0);
  output_low(pin_b1);
  output_low(pin_b2);
  output_low(pin_b3);
  delay_ms(500);      //aqui le puse medio segundo para visualizarlo mejor
  output_low(pin_b0);
}
if(bit_test(porta,1)==0)
  {
  output_low(pin_b0);
  output_high(pin_b1);
  output_low(pin_b2);
  output_low(pin_b3);
  }
if(bit_test(porta,2)==0)
  {
  output_low(pin_b0);
  output_low(pin_b1);
  output_high(pin_b2);
  output_high(pin_b3);
  }
}
}

fin de programa 1


programa 2

#include <16f84a.h>
#fuses XT,NOWDT,NOPROTECT,
#use delay(clock=4000000)

void main()
{
set_tris_b(0b11110000);
set_tris_a(0xff);
output_b(0);

while(true)
{

if(input(pin_a0)==0) //aca pregunto por el pin RA0 de PORTA de otra manera SIN
                               //EL SIGNO DE ADMIRACION q puse en el programa anterior
{
  output_high(pin_b0);
  output_low(pin_b1);
  output_low(pin_b2);
  output_low(pin_b3);
  delay_ms(500);      //aqui le puse medio segundo para visualizarlo mejor
  output_low(pin_b0);
}
if(input(pin_a1)==0)
  {
  output_low(pin_b0);
  output_high(pin_b1);
  output_low(pin_b2);
  output_low(pin_b3);
  }
if(input(pin_a2)==0)
  {
  output_low(pin_b0);
  output_low(pin_b1);
  output_high(pin_b2);
  output_high(pin_b3);
  }
}
}


fin de programa 2

bueno jfranco espero haberte ayudado.

de todas maneras te recomiendo que bajes este manual del compilador de CCS C COMPILER en español

http://www.megaupload.com/?d=M5RIWX0D

y q tambien te descargues este archivo q alli esta un libro que te podra ayudar a empezar y entender muchas cosas

http://www.taringa.net/posts/taringa/2425914/Todo-Para-Programar-Pic-en-C-y-Basic.html

y la clave de este archivo es: and_nitro

espero te ayude colega,cualquier cosa pide ayuda,chau y suerte

ikariam

compañero aun tengo mi duda lo que pasa es que quiero manejar un servo con el pic 16f877 y con ccs . el material que me recomendaste era para manejar un motor paso a paso que es bastante dsitinto.. espero su ayudaaaa

el servo al qye me rtefiero es un servocontrolador de hitech

lugo_chile

Hace al menos una semana he comenzado a interesarme en este tema (estoy llevando acabo un proyecto) ... quiero controlar electrovalvulas con un pic... es decir hacer un programa en c que me controla la PIC y de acuerdo al día y la Hora se active (abran) las electrovalvulas y dejen pasar el agua ciertos minutos, un numero definido de veces y luego se cierren...
Además quiero poder monitoriar y modificar (de ser necesario) dichos horarios a traves de internet...
encontre una tarjeta que incluye un PIC 18F452 y un ENC28J60 para su control via TCP/IP, estoy estudiando sus manales para ver como trabajan estos diminutos cerebros y como funcionan en forma conjunta... deseo ir adelantando en lo que será la programación C y por eso estoy aqui... durante el estudio de mi carrera de Analista estudie y algo hice en C++, espero eso me ayude...

Si alguien me cuanta como seguir o tiene un tutorial que pueda instruirme y guiarme estaría agradecido...

Gracias..

ronny22

hola que tal lugo_chile.aca te dejo un post en el cual hay un programa y el circuito en proteus de un programa que muestra la hora y fecha por una pantalla lcd y el codigo esta en lenguaje c,de seguro te sirve de algo.

http://www.ucontrol.com.ar/forosmf/proyectos-con-pic/reloj-tiempo-real-lcd-con-pic16f877a-proteus-ccs-c-compiler/

con lo de controlar la tarjeta que piensas hacer via internet ps no te podre ayudar ya que de eso no se nada,si puedes postea el proyecto que deseas hacer en este foro que te pasare a ver si te sugieren o dan opiniones con respecto a tu proyecto.suerte

http://www.ucontrol.com.ar/forosmf/index.php

ronny22

hola ikariam, aca te dejo un post donde hablan sobre los servomotores y como programarlos en lenguaje c.

Algoritmo para controlar hasta 8 servos con una sola interrupción (en C)

http://www.todopic.com.ar/foros/index.php?topic=20335.0%3Bdo=Bookmark

Meta

Cita de: MARCO_RECARGADO en  9 Diciembre 2008, 15:35 PM


Queridos amigos aqui tenemos recien salidito PROTEUS 7.4 SP3
a disfrutarlo.


Cortesia de nuestros amigos del FORO SONSIVRI

Setup:
http://rapidshare.com/files/170201339/Proteus_7.4_Sp3_setup_sonsivri.com.rar

Patch:
Version 6.2
http://rapidshare.com/files/170740810/Proteus_7.4_sp3_patch_6.2_sonsivri.com.rar

Procedimiento:

1) Desinstalar cualquier version de proteus.
2) Instalar la nueva version (tambien la llave)
3) Aplicar el patch (el patch debe estar en la misma carpeta donde se instalo proteus)

Funcionando yo al menos no he tenido ningun contratiempo con ISIS ya llevo simulando 2 dias y no he encontrado ningun bug. ARES todavia no lo pruebo bien.

tambien lo pueden encontrar en el inicio de este post.

Saludos


Hola:

¿Puedes conseguir Proteus más actualizado por casualidad?



Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/

lugo_chile

ronny22:  gracias... voy a estudiarlo y te aviso...

Respecto al otro foro me inscribire y posteare el proyecto...

Gracis de Nuevo



lugo_chile

Una nueva consulta...

He encontrado diferentes codigos para estudiar... pero veo que como en todos los temas hay diferentes lenguajes...

Esta C, CCS, MikroC, PBasic, Pascal... de los 3 primeros Son lo mismo?

Gracias