Hi,
Would you help me? See attachment firmware and diagram.
Thank you!
Caio de Morais
//#include "msp430g2553.h"
#include "msp430f2132.h"
//Variavel que recebe o valor do conversor a/d ao ser ligado
unsigned int tempCalibrated = 0;
//Rotina de configuração do conversor a/d
void ConfigureAdc(void) {
ADC10CTL1 = INCH_1 + ADC10DIV_3;
ADC10CTL0 = SREF_0 + ADC10SHT_3 + REFON + ADC10ON + ADC10IE;
__delay_cycles(1000);
ADC10CTL0 |= ENC + ADC10SC;
__bis_SR_register(CPUOFF + GIE);
tempCalibrated = ADC10MEM;
}
unsigned int value = 0;
#pragma vector=ADC10_VECTOR
__interrupt void ADC10_ISR (void)
{
__bic_SR_register_on_exit(CPUOFF);
}
int main( void ) {
WDTCTL = WDTPW + WDTHOLD; // Desliga Watchdog timer
//P1DIR = 0x01 + 0x02 + 0x04 + 0x08 + 0x10 + 0x20 + 0x40 +0x80 ; // Define pinos 1.0 e 1.6 como saída (0100 0001)
P1DIR = 0xFF;
BCSCTL1 = CALBC1_1MHZ; // Seleciona fonte de clock
DCOCTL = CALDCO_1MHZ; // Configura fonte de clock
BCSCTL2 &= ~(DIVS_3); // Demais configurações de clock
ConfigureAdc();
__enable_interrupt(); // Habilita interrupções
while(1) {
__delay_cycles(1000); // Atraso de 1000 ciclos
ADC10CTL0 |= ENC + ADC10SC; // Valor do AD = sensor interno de temp.
__bis_SR_register(CPUOFF + GIE); // Desliga CPU e habilita interrupções
value= ADC10MEM; // Obtem o valor do AD
//value = 0;
if (value == tempCalibrated) {
P1OUT = 0x01 ;
}
if (0.2 <= tempCalibrated < 15) {
P1OUT = 0x01;
P1OUT = 0x02; }
if (15 <= tempCalibrated < 30) {
P1OUT = 0x01;
P1OUT = 0x02;
P1OUT = 0x04; }
if (30 <= tempCalibrated < 45) {
P1OUT = 0x01;
P1OUT = 0x02;
P1OUT = 0x04;
P1OUT = 0x08; }
if (45 <= tempCalibrated < 60) {
P1OUT = 0x01;
P1OUT = 0x02;
P1OUT = 0x04;
P1OUT = 0x08;
P1OUT = 0x10; }
if (60 <= tempCalibrated < 75) {
P1OUT = 0x01;
P1OUT = 0x02;
P1OUT = 0x04;
P1OUT = 0x08;
P1OUT = 0x10;
P1OUT = 0x20; }
if (75 <= tempCalibrated < 90) {
P1OUT = 0x01;
P1OUT = 0x02;
P1OUT = 0x04;
P1OUT = 0x08;
P1OUT = 0x10;
P1OUT = 0x20;
P1OUT = 0x40; }
if (90 < tempCalibrated <= 100) {
P1OUT = 0x01;
P1OUT = 0x02;
P1OUT = 0x04;
P1OUT = 0x08;
P1OUT = 0x10;
P1OUT = 0x20;
P1OUT = 0x40;
P1OUT = 0x80;}
}
}
