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

Temas similares

29/12/2009 #161

Avatar de george.manson.69

Respuesta: Programa control de un robot(control of a robot)
PantroPKL dijo: Ver Mensaje
hola, revise tu proyecto y esta muy interesanre, pero como me falta un poco de experiencia en programacion quisiera a ver si me puedes mandar el codigo fuente del este progama, y que compilador usaste? te lo agradeceria mucho, mi mail
NoLeíLasPolíticasDelForoYPorEsoMeEditaronElMensaje @ForosDeElectrónica.Com
Use el compilador CCS C compiler....para mayor infrmacion pedes acceder a su paginas..
www.ccsinfo.com
o busca informacion en google...hay un monton de info en google...
a que te refieres con el codigo fuente....el archivo .hex?
31/12/2009 #162


Respuesta: Ccs c programas hechos en mplab(Proyecto completo)
primero programamaste en ccs, ese archivo esta en .c , despues compilaste y te resulto un archivo .hex, el codigo al que me refiero es el programa antes de compilar pero en visual, con el cual mandas los comandos para el transmisor, ese es el codigo que me gustaria revisar....
^_^
02/01/2010 #163

Avatar de george.manson.69

Respuesta: Ccs c programas hechos en mplab(Proyecto completo)
PantroPKL dijo: Ver Mensaje
primero programamaste en ccs, ese archivo esta en .c , despues compilaste y te resulto un archivo .hex, el codigo al que me refiero es el programa antes de compilar pero en visual, con el cual mandas los comandos para el transmisor, ese es el codigo que me gustaria revisar....
^_^
ok ok!!! bueno deja cheko en mis documentos si es que un tengo la hoja de proyecto donde esta escrito el codigo.
mañana sin falta te lo envio...ok!

PantroPKL dijo: Ver Mensaje
primero programamaste en ccs, ese archivo esta en .c , despues compilaste y te resulto un archivo .hex, el codigo al que me refiero es el programa antes de compilar pero en visual, con el cual mandas los comandos para el transmisor, ese es el codigo que me gustaria revisar....
^_^
Te mando el codigo fuente del control!!!

Espero que te ayude

Bueno Subo un buen manual para quienes ya entraron al mundo de programacion en C. Contiene en otro archivo .zip las simulaciones.

Y tambien subo un programa que recien he hecho que es un OSCILOSCOPIO via232, con una entrada analoga mides el voltaje y te lo proyecta a una grafica.

Al bajar el archivo contiene un texto para saber como funciona y con su respectivo codigo del Micro. Espero que les funciones ya que yo lo probe fisicamente y funciona al 99.99% ya que nada es perfecto en la vida.

Código:
///////////////////////////////////////
//AUTOR:JORGE ARTURO RODRIGUEZ HERNANDEZ
//TITLE;Enviar datos
//DATE:28/AGOSTO/'09
///////////////////////////////////////

//CONFIGURACION///////////////////
#include<16F886.h>
#device ADC=10
#fuses INTRC_IO,NOWDT,NOLVP,MCLR,NOPROTECT
#use delay(clock=8000000)
#use rs232(uart1,baud=2400)

float VALOR;
float VOLTAJE;

void config(void){
    set_tris_a(0x01);
    set_tris_c(0x80);
    setup_adc(ADC_CLOCK_INTERNAL|VSS_VDD);
    setup_adc_ports(sAN0);
    setup_comparator(NC_NC_NC_NC);
}

void main(void){
    config();

    do{
        delay_ms(10);
        VALOR=read_adc();
        VOLTAJE=(VALOR*5)/1023; //Transformamos a volatge
        printf("%.3f\n",VOLTAJE);
    }while(TRUE);
}
Archivos Adjuntos
Tipo de Archivo: zip CONTROL DE ROBOT MOVIL.zip (62,3 KB (Kilobytes), 292 visitas)
Tipo de Archivo: rar Imagen del Proyecto.rar (141,8 KB (Kilobytes), 276 visitas)
Tipo de Archivo: zip OSCILOSCOPIO SIMPLE.zip (289,9 KB (Kilobytes), 303 visitas)
Tipo de Archivo: zip Curso de MCU_PROTEUS.zip (1,51 MB (Megabytes), 330 visitas)
Tipo de Archivo: zip Curso de MCU_Proteus_Programas.zip (596,4 KB (Kilobytes), 335 visitas)
10/01/2010 #164

Avatar de george.manson.69

Manual de USB modo BULK TRANSFER
Este es un manual para aquellos que quieren hacer aplicaciones por USB modo BULK transfer te menciona paso por paso para la contruccion de software en C# 2008.

Ademas un extra agrego. uin CALCULADOR DE TIMERS.

este programa te ayuda a calcular los timer0,1,2 para pic10/12/16/18
aveces necesitamos calcular el timer para cada cuando quiere que se produsca una interrupcion y todo lo demas...

espero que les ayude...

<------------------------------Espero sus comentarios-------------------------->
Archivos Adjuntos
Tipo de Archivo: zip USB_BULK TRANSFER_CURSO.zip (1,40 MB (Megabytes), 373 visitas)
Tipo de Archivo: zip USB_BULK_TRANSFER.zip (360,3 KB (Kilobytes), 302 visitas)
25/01/2010 #165


Respuesta: Ccs c programas hechos en mplab(Proyecto completo)
hola!! yo programo en c18 pics 18 pero ahora quiero programar pic12 y 16 en c, y queria saber si con el ccs puedo programar tambien por registros, es decir, configurar los registros adcon adcon1 etc, es que todos los programas que he visto lo hacen con instrucciones que no conozco y que realmente no se lo que se ejecuta por detras. . . y tambien me podria evitar los fuses haciendolo como en c18, con los #pragma config que es al fin y al cabo como esta en el datasheet!! gracias!!
25/01/2010 #166

Avatar de george.manson.69

Respuesta: Ccs c programas hechos en mplab(Proyecto completo)
Pablet dijo: Ver Mensaje
hola!! yo programo en c18 pics 18 pero ahora quiero programar pic12 y 16 en c, y queria saber si con el ccs puedo programar tambien por registros, es decir, configurar los registros adcon adcon1 etc, es que todos los programas que he visto lo hacen con instrucciones que no conozco y que realmente no se lo que se ejecuta por detras. . . y tambien me podria evitar los fuses haciendolo como en c18, con los #pragma config que es al fin y al cabo como esta en el datasheet!! gracias!!
debes de usar esto:

#byte TRISB=0x86
#byte PORTB=0x06

entonces despues del main:

void main(void){
TRISB=0x00; //TODAS SALIDAS
PORTB=0x00;
}
y asi...solo hay definirlos con #byte al principio del programa
25/01/2010 #167


Respuesta: Ccs c programas hechos en mplab(Proyecto completo)
tengo que definir la direccion de cada registro¿?¿?¿? eso no lo hace la libreria que declaro?
26/01/2010 #168

Avatar de george.manson.69

Respuesta: Ccs c programas hechos en mplab(Proyecto completo)
el archivo
#include¨16F628A.H¨ // POR EJEMPLO

esa no viene los registros como tu te lo sabes, sino viene por ejemplo
en lugar de TRISB.

viene SET_TRIS_B(0x00); que es igual a TRISB=0x00;

pero debes de definir el TRISB ve como te explique arriba
26/01/2010 #169

Avatar de COSMICO

Respuesta: Ccs c programas hechos en mplab(Proyecto completo)
george.manson.69.
FELICITACIONES POR TU TRABAJA Y APORTES.
Quisiera preguntarte, estoy trabajando usb en modo HID, con algunos ejemplos de C CCS.
Pero solo logro que al oprimir determinada letra me envie algun mensaje al terminal virtual..
Quiero hacerlo trabajar en modo eco, que reciba los caracteres y los
imprima directamente al terminal.Como te digo soy nuevo en esto, si pudieras ayudarme
te lo agradeceria...

Amigo george.manson.69.
Exelente labor..
Este foro me agrada mucho..
Felicitaciones de nuevo, este es el lugar para aprender..

george.manson.69.
estoy tratando de simular tus ejemplos de usb,,pero no funcionan en mi pc..
abren los ejecutables arranca la simulacion, pero no logro integrar, por ejemplo
el terminal virtual del sensor de temperatura para que muestre los valores
leidos desde la simulacion..
AYUUUUDAA POR FAVOR.
27/01/2010 #170


Respuesta: Ccs c programas hechos en mplab(Proyecto completo)
Muy bueno el post amigo me sirve de mucho es excelente
28/01/2010 #171

Avatar de george.manson.69

Respuesta: Ccs c programas hechos en mplab(Proyecto completo)
COSMICO dijo: Ver Mensaje
george.manson.69.
FELICITACIONES POR TU TRABAJA Y APORTES.
Quisiera preguntarte, estoy trabajando usb en modo HID, con algunos ejemplos de C CCS.
Pero solo logro que al oprimir determinada letra me envie algun mensaje al terminal virtual..
Quiero hacerlo trabajar en modo eco, que reciba los caracteres y los
imprima directamente al terminal.Como te digo soy nuevo en esto, si pudieras ayudarme
te lo agradeceria...

Amigo george.manson.69.
Exelente labor..
Este foro me agrada mucho..
Felicitaciones de nuevo, este es el lugar para aprender..

george.manson.69.
estoy tratando de simular tus ejemplos de usb,,pero no funcionan en mi pc..
abren los ejecutables arranca la simulacion, pero no logro integrar, por ejemplo
el terminal virtual del sensor de temperatura para que muestre los valores
leidos desde la simulacion..
AYUUUUDAA POR FAVOR.
Acual es el programa exactamente es el que estas usando(osea el que bajaste de aqui). Esque tengo varios de USB de temperatura y no se cual sera...si puedes decirme cual es!! para poder ayudarte...

Nota los programas pueden funciar pefectamente de Window Xp.
Mientras el programa que contiene el Micro...los he calado y me han funcionado de maravilla...asegurate que funcione bien al conectar el USB a la compu que te lo detecte.

caponero dijo: Ver Mensaje
Muy bueno el post amigo me sirve de mucho es excelente

Gracias caponero!!! y espera mas proyectos, en este caso se termino la comunicacion serial va hacer proyectos con USB en modo BULK TRANSFER...
y otra vez gracias..y saludos!!!
28/01/2010 #172

Avatar de COSMICO

Respuesta: Ccs c programas hechos en mplab(Proyecto completo)
george.manson.69 dijo: Ver Mensaje
Acual es el programa exactamente es el que estas usando(osea el que bajaste de aqui). Esque tengo varios de USB de temperatura y no se cual sera...si puedes decirme cual es!! para poder ayudarte...

Nota los programas pueden funciar pefectamente de Window Xp.
Mientras el programa que contiene el Micro...los he calado y me han funcionado de maravilla...asegurate que funcione bien al conectar el USB a la compu que te lo detecte.




Gracias caponero!!! y espera mas proyectos, en este caso se termino la comunicacion serial va hacer proyectos con USB en modo BULK TRANSFER...
y otra vez gracias..y saludos!!!
El programa es aquel, en el cual se digita la tecla "a" o "x" y sale el mensaje respectivo
lo que yo quiero es que al oprimir cualquier tecla se vea reflejada en la terminal virtual.
como trabajar el rs232 en modo eco,pero con el usb.., gracias por tu ayuda.
02/02/2010 #173

Avatar de COSMICO

Respuesta: Ccs c programas hechos en mplab(Proyecto completo)
Ya pude resolver lo de la simulacion de los circuitos en proteus.
Casi me saco un ojo con eso..
solo fue reinstalar las librerias usb de proteus, algo por ahy me estaba fallando.
08/02/2010 #174

Avatar de COSMICO

Respuesta: Proyectos recOpilados
Amigo george..
A proposito de tu CURSO DE MCU Y PROTEUS,,
Trate como propones de hacer desplazar la palabra HOLA del pequeño publik que pones como ejemplo de derecha a izquierda, y despues de tanto matarme la cabeza y no lograrlo
decidi cambiar la conexion de las matrices, para que las columnas fueran barridas de derecha a izquierda, segun la perspectiva de vista del monitor de mi pc; y encontre que la letra "L" salia invertida, lo cual me obligo a invertir la posicion de esos bytes en la tabla.
A mi manera de pensar, esa no es la forma; me podrias colaborar con eso y regalandome una explicacion detallada de como funciona el codigo para estas matrices..Te agradesco
y perdon la molestia..
10/02/2010 #175

Avatar de george.manson.69

Guia de USB & labview: Simple Conexion
Este pequeña guia solo te menciona como hacer un enlaze en labview para que te detecte la conexion del usb con el VID&PID asignado al micro.
Y como no salirme del tema tambien se encuetra el programa que debe de ir al micro, que es hecho en CCS. cosa que igual al manual de USB modo bulk transfer.(arriba)

COSMICO dijo: Ver Mensaje
Amigo george..
A proposito de tu CURSO DE MCU Y PROTEUS,,
Trate como propones de hacer desplazar la palabra HOLA del pequeño publik que pones como ejemplo de derecha a izquierda, y despues de tanto matarme la cabeza y no lograrlo
decidi cambiar la conexion de las matrices, para que las columnas fueran barridas de derecha a izquierda, segun la perspectiva de vista del monitor de mi pc; y encontre que la letra "L" salia invertida, lo cual me obligo a invertir la posicion de esos bytes en la tabla.
A mi manera de pensar, esa no es la forma; me podrias colaborar con eso y regalandome una explicacion detallada de como funciona el codigo para estas matrices..Te agradesco
y perdon la molestia..
Intentaste poner las palabras al reves por ejemplo:

en el arreglo donde estan las variables que se usan para vizualizar las letras

0x00,0xx00,0x00,0x00//H
0x00,0x00,0x00,0x00//O
0x00,0xx00,0x00,0x00//L
0x00,0x00,0x00,0x00//A

por ejemplo cambia las letras en lugar de que empieze el arreglo de arriba a bajo,
que empieze de abajo a arriba.

0x00,0x00,0x00,0x00//A
0x00,0xx00,0x00,0x00//L
0x00,0x00,0x00,0x00//O
0x00,0xx00,0x00,0x00//H

y cambia el "for" que empieze desde 7 a 0. lo subo despues ya que no traigo nada ahorita sobre el curso de mcu.
Archivos Adjuntos
Tipo de Archivo: pdf USB&Labview.pdf (1,06 MB (Megabytes), 231 visitas)
10/02/2010 #176

Avatar de COSMICO

Respuesta: Ccs c programas hechos en mplab(Proyecto completo)
george.
Te agradesco y estamos charlando sobre el tema..
10/02/2010 #177


Respuesta: Ccs c programas hechos en mplab(Proyecto completo)
Hola george, tengo una inquietud, me gustaría hacer este mismo tipo de comunicacion pero entre un PIC12F629 como transmisor y un PIC16F628A como receptor, ya lo he intentado y no me ha dado resultados... adjunto te mando los codigos que desarrolle con el compilador c ccs y con la ayuda del libro COMPILADOR C CCS Y SIMULADOR PROTEUS PARA MICROCONTROLADORES... Cualquier tipo de ayuda sería de gran aporte, ya que llevo varios días intentándolo...Gracias. La lógica que quiero desarrollar es muy parecida a la que haces en tus ejemplos...
Archivos Adjuntos
Tipo de Archivo: txt Tx.txt (751 Bytes, 102 visitas)
Tipo de Archivo: txt Rx.txt (980 Bytes, 80 visitas)
11/02/2010 #178


Respuesta: Ccs c programas hechos en mplab(Proyecto completo)
Hola a todos disculpen estoy programando una lcd de 4bits en un pic 18f8720 a 20 Mhz en la simulacion me sale correctamente pero en la practica no me sale... quiera ver quien me puede ayudar porque la verdad no encuentro el error... por cierto la patita rw esta a tierra....
13/02/2010 #179

Avatar de george.manson.69

Respuesta: Ccs c programas hechos en mplab(Proyecto completo)
magdalena dijo: Ver Mensaje
Hola a todos disculpen estoy programando una lcd de 4bits en un pic 18f8720 a 20 Mhz en la simulacion me sale correctamente pero en la practica no me sale... quiera ver quien me puede ayudar porque la verdad no encuentro el error... por cierto la patita rw esta a tierra....

sube el diagrama y el programa..para entender mejor la falla.
13/02/2010 #180


Respuesta: Ccs c programas hechos en mplab(Proyecto completo)
ok pero me dijeron que podia ser por los tiempos ustedes saben algo de eso... como es a 20Mhz o tambien porque no he desactivado alguna funcion que este haciendo ese puerto... agradeceria mucho su ayuda...

aqui esta el .h

Código:
#include <18F8720.h>
#device adc=8

#FUSES NOWDT                 	//No Watch Dog Timer
#FUSES WDT128                	//Watch Dog Timer uses 1:128 Postscale
#FUSES EC                    	//External clock with CLKOUT
#FUSES NOPROTECT             	//Code not protected from reading
#FUSES NOOSCSEN              	//Oscillator switching is disabled, main oscillator is source
#FUSES BROWNOUT              	//Reset when brownout detected
#FUSES BORV25                	//Brownout reset at 2.5V
#FUSES NOPUT                 	//No Power Up Timer
#FUSES NOCPD                 	//No EE protection
#FUSES STVREN                	//Stack full/underflow will cause reset
#FUSES NODEBUG               	//No Debug mode for ICD
#FUSES LVP                   	//Low Voltage Programming on B3(PIC16) or B5(PIC18)
#FUSES NOWRT                 	//Program memory not write protected
#FUSES NOWRTD                	//Data EEPROM not write protected
#FUSES NOWAIT                	//Wait selections unavailable for Table Reads or Table Writes
#FUSES MCU                   	//Microcontroller Mode
#FUSES NOWRTC                	//configuration not registers write protected
#FUSES NOWRTB                	//Boot block not write protected
#FUSES NOEBTR                	//Memory not protected from table reads
#FUSES NOEBTRB               	//Boot block not protected from table reads
#FUSES NOCPB                 	//No Boot Block code protection

#use delay(clock=20000000)
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)
#use i2c(Master,Fast,sda=PIN_C4,scl=PIN_C3)

aqui esta el .c

#include "D:\Pruebas1\Nueva carpeta\PRUEBALCD.h"
#include "D:\Pruebas1\Nueva carpeta\lcdnuevo.c"


void main()
{
   #byte PORTE=0xF84
   #byte lcd = 0xF84  // Direccion de la estructura "lcd".
//#byte lcd = 9      // Direccion del puerto d

  setup_adc_ports(NO_ANALOGS|VSS_VDD);
   setup_adc(ADC_OFF);
   setup_psp(PSP_DISABLED);
   setup_spi(SPI_SS_DISABLED);
   setup_wdt(WDT_OFF);
   setup_timer_0(RTCC_INTERNAL);
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DISABLED,0,1);
   setup_timer_3(T3_DISABLED|T3_DIV_BY_1);
   setup_timer_4(T4_DISABLED,0,1);
   setup_comparator(NC_NC_NC_NC);
   setup_vref(FALSE);
   
   lcd_init();
      lcd_putc("hola mundo");
   delay_ms(10000);
//Setup_Oscillator parameter not selected from Intr Oscillator Config tab

   // TODO: USER CODE!!

}

aqui esta la libreria lcd

///////////////////////////////////////////////////////////////////////////
// LCD                                   
///////////////////////////////////////////////////////////////////////////
//     E0  RS
//     E1  ENABLE
//     E4  D4
//     E5  D5
//     E6  D6
//     E7  D7
//   (Sin 'RW')
//
// Funciones soportadas:
//                         lcd_init()
//                         lcd_gotoxy( BYTE col, BYTE fila)
//                         lcd_putc( char c)
//                              \f  Clear display                             
//                              \n  Go to start of second line                
//                              \b  Move back one position
//
///////////////////////////////////////////////////////////////////////////
#define use_porte_lcd TRUE  //LCD conectado al puerto b.
//
struct lcd_pin_map {
   BOOLEAN rs;       // RE0
   BOOLEAN enable;   // RE1
   BOOLEAN unused1;  // RE2
   BOOLEAN unused2;  // RE3
   int data : 4;     // RE4-RE7
} lcd;
//
#byte lcd = 0xF84  // Direccion de la estructura "lcd".

#define set_tris_lcd(x) set_tris_e(x)
#define lcd_type 2           // Tipo de LCD: 0=5x7, 1=5x10, 2=2 lineas
#define lcd_line_two 0x40    // Dirección de la LCD RAM para la 2da. linea
//
//Defino la cadena de inicializacion del LCD.
BYTE const LCD_INIT_STRING[4] = {0x20 | (lcd_type << 2), 0xc, 1, 6};
//
//Configuro el estado de cada pin para lectura y escritura:
struct lcd_pin_map const LCD_WRITE = {0,0,0,0,0}; // Escribir.
struct lcd_pin_map const LCD_READ = {0,0,0,0,15}; // Leer.
//
//Funciones:
BYTE lcd_read_byte() {
      BYTE low,high;
      set_tris_lcd(LCD_READ);
      delay_cycles(1);
      lcd.enable = 1;
      delay_cycles(1);
      high = lcd.data;
      lcd.enable = 0;
      delay_cycles(1);
      lcd.enable = 1;
      delay_us(1);
      low = lcd.data;
      lcd.enable = 0;
      set_tris_lcd(LCD_WRITE);
      return( (high<<4) | low);
}
//
void lcd_send_nibble( BYTE n ) {
      lcd.data = n;
      delay_cycles(1);
      lcd.enable = 1;
      delay_us(2);
      lcd.enable = 0;
}
//
void lcd_send_byte( BYTE address, BYTE n ) {
      lcd.rs = 0;
      while ( bit_test(lcd_read_byte(),7) ) ;
      lcd.rs = address;
      delay_cycles(1);
      delay_cycles(1);
      lcd.enable = 0;
      lcd_send_nibble(n >> 4);
      lcd_send_nibble(n & 0xf);
}
//
void lcd_init() {
    BYTE i;
    set_tris_lcd(LCD_WRITE);
    lcd.rs = 0;
    lcd.enable = 0;
    delay_us(180);
    for(i=1;i<=3;++i) {
       lcd_send_nibble(3);
       delay_us(60);
    }
    lcd_send_nibble(2);
    for(i=0;i<=3;++i)
       lcd_send_byte(0,LCD_INIT_STRING[i]);
}
//
void lcd_gotoxy( BYTE x, BYTE y) {
   BYTE address;
   if(y!=1)
     address=lcd_line_two;
   else
     address=0;
     address+=x-1;
     lcd_send_byte(0,0x80|address);
}
//
void lcd_putc( char c) {
   switch (c) {
     case '\f'   : lcd_send_byte(0,1);
                   delay_ms(2);
                                           break;
     case '\n'   : lcd_gotoxy(1,2);        break;
     case '\b'   : lcd_send_byte(0,0x10);  break;
     default     : lcd_send_byte(1,c);     break;
   }
}
y aqui esta el esquema... noc como ingresarlo... me sale error... bueno si me pueden ayudar con esto seria chevere... igual esta conectado al puerto e
¿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.