TODOPIC
Microcontroladores PIC => dsPIC => Mensaje iniciado por: letxu2 en 20 de Abril de 2007, 13:46:54
-
Hola,
Una vez mas recurro a vuestro conocimiento. Me gustaria saber si alguien tiene alguna experiencia o algo usando el LCD y el sensor de temperatura de la dsPICDEM 1.1 para el 30F6014. El LCD mas o menos lo tengo controlado porque he encontrao el datasheet de los perifericos con sus ejemplos y es cosa de ponerme a ello, pero con sensores reales... no tengo nada de idea y no se ni como empezar, he estado buscando y en microchip no encuentro nada, si alguien sabe como capturar el dato para que me de el valor en grados o algun ejemplo me seria de gran ayuda. Muchas gracias
-
¿Sabes cuál es?
-
Pues depues de buscar por internet al parecer el sensor es el siguiente de temperatura TC1047A: No es muy seguro porque he encontrao el nombre en un post ya q en micrchip mucho anuncio, pero no pone nada o por lo menos yo no lo he encontrado. Esta incluido dentro de la placa DSPICDEM 1.1. Aun asi acpeto sugerencias sobre sensores de temperaturas sencillos de utilizar, tengo q hacer el trabajo en muy poco tiempo, asi q cuanto mas sencillo mucho mejor.
-
Se coloca un programa realizado con MikroC DSPIC
El mismo está probado, solo falta adecuarla al valor real de la temperatura mediante la función
de transferencia dada por la relación 10 mV/C
/*
* Project name:
Temperatura
* Target Platform:
dsPIC;
* Copyright:
Carlos CANAL
* Revision History:
20061103:
- Initial release;
* Description:
Visualizar en forma cruda en el LCD del Modulo DSPICDem1 una
temperatura analógica mediante la lectura del integrado TC1047A.
El cual se encuentra conectado a la entrada analogica AN8 (RB8)
El cual tiene una relación de 10 mV/C. A 25 Cº entrega 750mV.
* Test configuration:
MCU: dsPIC30F6014
Dev.Board: dsPICDem1
Oscillator: External, 7.3728 MHz
Ext. Modules:
Notas:
*/
// #include <built_in.h>
int i ;
unsigned int adcRes, adcRes1;
const char msg[] = "Temperatura placa";
//-------------- Interrupt routine
void main() {
char txt[5];
ADPCFG = 0xFEFF; //RB8 Entrada analógica
// Con cero se selecciona una entrada anlógica
PORTB = 0x0000;
TRISB = 0xFFFF;
TRISG = 0xFCBF; //SDI Entrada, SDO, SCL y SS Salida //all inputs - needed for ADC to work
PORTD = 0;
TRISD = 0;
LATGbits.latG9 = 1; //Subo lalinea SS
Delay_ms(500); //Espero 500 mseg para empezar a configurar el LCD
Spi2_Init_Advanced(_SPI_MASTER, _SPI_8_BIT, _SPI_PRESCALE_PRI_1, _SPI_PRESCALE_SEC_1, _SPI_SS_DISABLE, _SPI_DATA_SAMPLE_MIDDLE, _SPI_CLK_IDLE_LOW, _SPI_ACTIVE_2_IDLE);
//Inicializo el SPI2 del 30F6014
Delay_1sec; //Espero 1 seg
LATGbits.latG9 = 0; //Bajo la linea SS
Spi2_Write(0x80);
Spi2_Write(0x82);
LATGbits.latG9 = 1;
while (1){
adcRes = Adc_Read(8); //Leo la entrada analogica AN8
WordToStr(adcRes, txt); //
LATGbits.latG9 = 0;
Spi2_Write(0xC5); //Direcciono Fila 1 columna 1
Spi2_Write(0x01);
Spi2_Write(0x01);
for (i = 0; i <= 17; i++) { //Escribo el mensaje
Spi2_Write(0xA8);
Spi2_Write(msg);
}
Spi2_Write(0xC5); //Direcciono Fila 3 columna 2
Spi2_Write(0x03);
Spi2_Write(0x02);
for (i = 0; i <= 5; i++) { //Escribo la temperatura
Spi2_Write(0xA8);
Spi2_Write(txt);
}
LATGbits.latG9 = 1;
Delay_1sec; //Espero 1 seg
}
}//~!
-
Hola a tod@s!
Yo estaba haciendo algo parecido a lo que explica letxu2 pero usando un dsPIC30F4013 y un LCD gráfico Toshiba con su controlador (A05155). Sin embargo lo estoy programando con MPLAB, con el compilador C30...¿Es lo mismo que el MikroC DSPIC?¿Podría basarme en el código que ha posteado carlos7890 o es completamente diferente?¿La estructura de programa y el modo de funcionamiento de los componenetes es el mismo?
En definitiva...¿puedo reaprobechar algo de código del posteado anteriormente?
Miles de gracias!
-
Buennass:
Yo no tengo ni idea de MikroC Dspic, pero lo que ha posteado Carlos es muy parecido al lenguaje C, del C30. La manera de manejar los bits de los registros, el modulo spi, los puertos... es todo bastante parecido. Te aconsejo que le eches un vistazo al Dspic Tools Libraries, y compares, esta en la pagina de microchip.
Suerte!
-
Clarita:
Esta placa de Microchip tiene un 18F242 encargado de manejar el GLCD, el cual tiene implementado rutinas en SPI. Por lo cual te recomiendo que visites la pagina del compilador MikroC, el cual tiene una herramienta para generar el codigo para diferentes GLCD, tambien permite cargar un archivo BMP y generar el codigo.
Saludos