![]() |
Модераторы: PILOT, ManiaK, Mazzi |
![]() ![]() ![]() |
|
Alena |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 26.10.2006 Репутация: нет Всего: нет |
Мне нужно в конце исправить программу, чтобы значения температуры записывались в память и затем датчик мог понимать что температурк повысилвсь или понизилась! Помогите, пожалуйста!
Descriptiion: Use ADC12 and the integrated temperature sensor to detect // temperature gradients. The temperature sensor output voltage is sampled // ~ every 80ms and compared with the defined delta values using an ISR. // (ADC12OSC/256)/ determines sample time which needs to be greater than // 30us for temperature sensor. // ADC12 is operated in repeat-single channel mode with the sample and // convert trigger sourced from Timer_A CCR1. The ADC12MEM)_IFG at the end // of each converstion will trigger an ISR. // ACLK = n/a, MCLK = SMCLK = default DCO ~ 800k, ADC12CLK = ADC12OSC // // MSP430Fx49 // ----------------- // /|\| XIN|- // | | | // --|RST XOUT|- // | | // |A10 P1.0|-->LED // // A. Dannenberg // Texas Instruments Inc. // January 2004 // Built with IAR Embedded Workbench Version: 2.21B //***************************************************************************** #include <msp430x14x.h> #define ADCDeltaOn 12 // ~2 Deg C delta static unsigned int FirstADCVal; // holds 1st ADC result void main(void) { WDTCTL = WDTPW + WDTHOLD; // Stop watchdog P1OUT = 0x00; // Clear P1 P1DIR = 0x01; // P1.0 as output ADC12CTL1 = SHS_1 + SHP + CONSEQ_2; // TA trig., rpt conv. ADC12MCTL0 = SREF_1 + INCH_10; // Channel A10, Vref+ ADC12IE = 0x01; // Enable ADC12IFG.0 ADC12CTL0 = SHT0_8 + REF2_5V + REFON + ADC12ON + ENC; // config ADC12 TACCTL1 = OUTMOD_4; // Toggle on EQU1 (TAR = 0) TACTL = TASSEL_2 + MC_2; // SMCLK, cont-mode while (!(0x01 & ADC12IFG)); // First conversion? FirstADCVal = ADC12MEM0; // Read out 1st ADC value _BIS_SR(LPM0_bits + GIE); // Enter LPM0 w/ interrupt } #pragma vector=ADC_VECTOR __interrupt void ADC12ISR (void) { if (ADC12MEM0 <= FirstADCVal + ADCDeltaOn) P1OUT &= ~0x01; // LED off else P1OUT |= 0x01; // LED on } |
|||
|
||||
Albinos_x |
|
|||
![]() Evil Skynet ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3288 Регистрация: 28.5.2004 Где: X-6120400 Y-1 4624650 Репутация: нет Всего: 108 |
вопрос, имхо, не в том разделе задан...
-------------------- "Кто владеет информацией, тот владеет миром" Уинстон Черчилль |
|||
|
||||
Alexei |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 382 Регистрация: 20.8.2003 Репутация: 4 Всего: 4 |
||||
|
||||
![]() ![]() ![]() |
Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)" | |
|
На данный раздел помимо Правил форума распространяются текже следующие правила:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |