TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: arquito en 06 de Junio de 2007, 17:21:37
-
Hola a todos;
Resulta que tengo hecho un programilla en C con CCS, para el PIC16F819; me compila todo OK, y mi duda es de donde saco el codigo ASM que le metere al programador para programar el susodicho PIC; ¿es el codigo que me sale dandole a la pestañita VIEW-->C/ASM LIST? por que me he quedado un poco frio al ver que lo que me sale ahi son cerca de 750 lineas de codigo, y no se si sera suficiente la memoria del PIC para meterle todo eso; al compilar me sale que ROM=23% y RAM=5%, supongo que eso quiere decir que si, pero me quedaria mas tranquilo si alguno de vosotros me lo dice.
La otra dudilla que tengo, ya mas de programacion, es la siguiente: mi programa, lo que se supone que hace, es que cuando le llega un dato al PIC, en funcion de su valor(pueden ser 4 valores distintos), saca por un LCD una frase; lo que no se, es si la rutina LCD_INIT, debo ponerla cada vez que vaya escribir, o si valdria simplemente con ponerla al principio del programa, y luego cuando vaya a escribir en el LCD poner el printf(lcd_putc," TEXTO " ) de turno cada vez....
espero que me podais responder y resolverme estas dudas que tengo.... Mil gracias y un saludo a todos¡¡¡¡
-
Un compilador o ensamblador al finalizar el proceso de linkeado debiera generarte un archivo .HEX
Es éste el archivo que debes usar con tu programador para quemar el pic.
Saludos
-
preguntastes 2 cosas, ahi van las respuestas:
Resulta que tengo hecho un programilla en C con CCS, para el PIC16F819; me compila todo OK, y mi duda es de donde saco el codigo ASM que le metere al programador para programar el susodicho PIC; ¿es el codigo que me sale dandole a la pestañita VIEW-->C/ASM LIST? por que me he quedado un poco frio al ver que lo que me sale ahi son cerca de 750 lineas de codigo, y no se si sera suficiente la memoria del PIC para meterle todo eso; al compilar me sale que ROM=23% y RAM=5%, supongo que eso quiere decir que si, pero me quedaria mas tranquilo si alguno de vosotros me lo dice.
bueno, como te dijo maunix, el archivo que entra en el pic es el *.hex y cuando uses tu programador tienes que jalar el archivo de tu proyecto con la extension *.hex, y lo de las 750 lineas, si ves el datasheet del 16f819 vas a encontrarte que tiene 2K de memopria de programa, osea 2048 lineas, tu tienes 750,... no se si corresponda con el 23% porque ROM es la memoria de programa donde escribes tu codigo y RAM la memoria de datos donde estan alojados tus registros.
La otra dudilla que tengo, ya mas de programacion, es la siguiente: mi programa, lo que se supone que hace, es que cuando le llega un dato al PIC, en funcion de su valor(pueden ser 4 valores distintos), saca por un LCD una frase; lo que no se, es si la rutina LCD_INIT, debo ponerla cada vez que vaya escribir, o si valdria simplemente con ponerla al principio del programa, y luego cuando vaya a escribir en el LCD poner el printf(lcd_putc," TEXTO " ) de turno cada vez....
la rutina de inicializaxion del LCD se hace una sola vez, luego solo escribes datos y mandas comandos.
-
Muchas gracias maunix y micro_cadaver por vuestras respuestas... me lo habeis dejado bien clarito, asi da gusto¡¡¡jeje... por cierto micro_cadaver, en lo referente a la segunda pregunta entonces, esto seria correcto???(pongo la parte que me interesa que veas):
lcd_init(); //inicializa lcd
while(valor<0X55); // Dato digital menor que q 1.66V(01010101 segun el conversor)
{
delay_ms(2); //retardo para apreciarse todos los caracteres
printf(lcd_putc," Vacio " ) ; //muestra por pantalla el mensaje
}
while((valor>0X55)&(valor<0X56)); // Dato digital mayor que q 1.66V(01010101 segun el conversor) y menor que 1.7V(01010111)
{
delay_ms(2); //retardo para apreciarse todos los caracteres
printf(lcd_putc," Quedan "
"0.1 Litros" ) ; //muestra por pantalla el mensaje
}
MIl gracias¡¡¡ de verdad.
-
sipitos :-)
-
jejeje , gracias micro_cadaver... un abrazo¡¡¡¡ :o
-
jajaja okas, aunque ni te me peges porque toy con el estomago flojo :8}, aca en peru le dicen a esa enfermedad : se te rompio el caño, estas con la wacha floja...etc
-
jajaja okas, aunque ni te me peges porque toy con el estomago flojo :8}, aca en peru le dicen a esa enfermedad : se te rompio el caño, estas con la wacha floja...etc
offtopic:
por acá decimos "andar con el barro flojo" :D :D :D