亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? msp430x21x1_ca_06.c

?? msp430單片機 IAR代碼,很好用的
?? C
字號:
//*******************************************************************************
//  MSP430x21x1 Demo - Comp_A, Slope ADC to measure temperature
//
//  Description: This example uses the slope A/D method to measure a thermistor
//  resistance and converts that resistance to temperature. The thermistor is
//  connected to pin P2.1, the reference resistor to P2.0, and the capacitor
//  to P2.3. For the measurement, the capacitor is first charged up fully.
//  Then it is discharged through the reference resistor. The capacitor voltage
//  is tied to the comparator_A's + input with it's minus input tied to the
//  .25Vcc reference of the comparator. The time for the capacitor to discharge
//  through the reference resistor to .25Vcc is measured with Timer_A. The output
//  of the comparator is used to automatically trigger a capture of the Timer_A
//  count value. The capacitor is then fully charged again and discharged through
//  the thermistor in the same way. The ratio of the two discharge times is
//  equivalent to the ratio of the two resistors (thermistor and reference).
//  Since the value of the reference resistor is known, the value of the thermistor
//  can be calculated, and therefore the temperature is known.
//  ACLK = LFXT1 = 32768, MCLK = SMCLK = default DCO
//  //* External watch crystal installed on XIN XOUT is required for ACLK *//	
//
//
//             MSP430F21x1/11x1
//            -----------------
//        /|\|              XIN|-
//         | |                 | 32kHz
//         --|RST          XOUT|-
//           |                 |
//    +-10K--|P2.0             |
//    |      |                 |
//    +-NTC--|P2.1             |
//    |      |                 |
//    +------|P2.3             |
//    |      |                 |
//   ===2.2  |                 |
//    |      |                 |
//    ------ |VSS              |
//
//   M. Mitchell / A. Dannenberg
//   Texas Instruments, Inc
//   July 2005
//   Built with CCE Version: 3.2.0 and IAR Embedded Workbench Version: 3.30A
//*******************************************************************************

#include  <msp430x11x1.h>

// Define Inputs/Outputs
#define Ref    (0x01)                       // Reference resistor on P2.0
#define Sensor (0x02)                       // Thermistor on P2.1

// Global variables
unsigned int port_pin, TEMP_SOURCE;         // Temporary holder for passing port pin locations
volatile int TEMP_FTHERM;                   // TEMP_FTHERM = Thermistor temperature reading
long int REF_RES, THERM_RES;                // REF_RES = discharge count for Reference resistor
long int RTHERM;                            // THERM_RES = discharge count for Thermistor
                                            // RTHERM = Thermistor resistance value

// System Routines
void initialize(void);                      // Configure modules and control Registers
unsigned int measure_count(unsigned int);   // measure count value for Thermistor, Reference
                                            // resistor

// Temperature table: Resistance/100 values for 110 deg. F down to 10 deg. F, according
// to the values for the type of thermistor used.
const unsigned int RES_TAB[101] = {47, 48, 49, 50, 51, 52, 53, 56, 57, 58, 60 ,61, 62, 64, 65,
                           67, 68, 70, 72, 73, 75, 77, 79, 81, 82, 84, 86, 89, 91, 93,
                           95, 98, 100, 102, 105, 108, 110, 113, 116, 119, 122, 125, 128,
                           131, 135, 138, 142, 145, 149, 153, 157, 161, 165, 170, 174,
                           179, 183, 188, 193, 199, 204, 210, 215, 221, 227, 233, 240,
                           246, 253, 260, 268, 275, 283, 291, 299, 308, 316, 325, 335,
                           344, 354, 365, 375, 386, 398, 409, 422, 434, 447, 460, 474,
                           488, 503, 518, 534, 550, 567, 585, 603, 622};

// Main Function
void main(void)
{
  int i, j;

  initialize();                             // Initialize system

  for (;;)                                  //
  {
  port_pin = Ref;                           // Set temp holder to Ref resistor pin
  REF_RES = measure_count(port_pin);        // Measure REF_RES discharge count
  port_pin = Sensor;                        // Set temp holder to Sensor (thermistor) pin
  THERM_RES = measure_count(port_pin);      // Measure THERM_RES discharge count
  P2DIR |= Ref;                             // Change Ref to output to hold other inputs low -
                                            // uses less power than to leave floating

  RTHERM = (100 * THERM_RES) / REF_RES;     // Calculate Thermistor

  // obtaining Thermistor temperature reading from table...
  i=0;
  j=110;
  while ((RTHERM - RES_TAB[i]) > 0)
  {
    i++;
    j=j-1;                                  // j = value of Thermistor temperature + 1
  }
  TEMP_FTHERM = j-1;                        // TEMP_FTHERM = Thermistor temperature reading
  _NOP();                                   // PUT BREAKPOINT HERE. Watch TEMP_FTHERM in watch window
  }
}

// setup ports, Timers, and variables - run once at start
void initialize(void)
{
  volatile int i;
  WDTCTL = WDTPW + WDTHOLD;                 // Stop watchdog timer
  for(i=0;i<10000;i++);                     // Delay for XTAL to stabilize
  P1OUT = 0x00;                             // Setup P1
  P1DIR = 0xCF;                             // Outputs = P1.0,1,2,3,6,7
                                            // Inputs = P1.4,5
  P2OUT = 0x00;                             // Setup P2
  P2DIR = 0x00;                             // All pins are outputs
  CAPD =  Ref+Sensor;                       // Disable input buffers for sensor inputs
  CACTL2 = P2CA0;                           // Setup CA:  +comp = P2.3
  _EINT();                                  // Enable interrupts
}

// measure count value for Thermistor, Reference resistor, and Potentiometer
unsigned int measure_count(unsigned int TEMP_SOURCE)
{
  unsigned int TIMERCCR_COUNT;              // Temporary holder for CCR count on measure routine
  unsigned int TIMERA_COUNT;                // Temporary holder for TA discharge count

  CCR1 = 3605;                              // CCR1 ~ TAR+5ms (5tau)
  CAPD &= ~Ref;                             // Must be enabled for output function
  P2OUT |= Ref;                             // Ref Set
  P2DIR |= Ref;                             // Ref Output
  CCTL1 = CCIE;                             // Compare mode, interrupt
  TACTL = TASSEL0+TACLR+MC1;                // ACLK, TA clear, continuous mode
  LPM0;                                     // enter LPM0, wait for CCR1 interrupt
  P2DIR &= ~Ref;                            // Ref = HiZ, charge complete
  CAPD |= Ref;                              // Input buffer disabled for tri-state
  P2OUT &= ~Ref;                            // Ref = reset
  TIMERA_COUNT = TAR;                       // Store TAR count in temporary holder at start
                                            // of conversion
  CACTL1 = CARSEL+CAREF0+CAON;              // -comp = 0.25*Vcc, comp on
  CCTL1 = CM1+CCIS0+CAP+CCIE;               // Neg, CCIB, cap, interrupt
  P2DIR |= TEMP_SOURCE;                     // Select Thermistor or Reference
  CAPD &= ~TEMP_SOURCE;                     // Must be enabled for output function
  LPM0;                                     // Enter LPM0, wait for CCR1 interrupt
  TIMERCCR_COUNT = CCR1;                    // TIMERCCR_COUNT = TAR (CCR1) at EOC
  TIMERCCR_COUNT -= TIMERA_COUNT;           // TIMERCCR_COUNT = discharge time count
  P2DIR &= ~TEMP_SOURCE;                    // Disable selection
  CAPD |= TEMP_SOURCE;                      // Input buffer disabled for tri-state
  CACTL1 = 0x00;                            // Disable comparator
  CCTL1 = 0x00;                             // Disable CCTL1
  TACTL = 0x00;                             // Disable timer_A
  return(TIMERCCR_COUNT);                   // Return discharge time count
}

// Timer A1 interrupt service routine
#pragma vector=TIMERA1_VECTOR
__interrupt void Timer_A1(void)
{
  LPM0_EXIT;                                // Exit LPM0
  CCTL1 &= ~CCIFG;                          // Clear CCR1 interrupt flag
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜日韩在线观看| 欧美日产在线观看| 精品视频1区2区3区| 国产亚洲欧洲997久久综合| 一区二区三区毛片| 国产91丝袜在线播放九色| 欧美一区二区视频免费观看| 国产精品国产三级国产a| 国产一区二区三区在线观看免费| 欧美在线综合视频| 亚洲天堂福利av| 成人av在线电影| 久久久久久黄色| 精品一区二区在线免费观看| 欧美图区在线视频| 夜夜嗨av一区二区三区网页| 波多野结衣精品在线| 久久久高清一区二区三区| 日本91福利区| 欧美tickling挠脚心丨vk| 日韩精品视频网站| 欧美人伦禁忌dvd放荡欲情| 亚洲一二三区不卡| 欧美在线观看一区| 亚洲自拍另类综合| 欧美日韩视频一区二区| 亚洲国产精品久久人人爱| 欧美主播一区二区三区美女| 一区二区三区免费观看| 在线免费一区三区| 亚洲一区二区在线播放相泽| 欧美三级电影在线看| 日韩精品视频网站| 欧美videossexotv100| 久久不见久久见免费视频7| 精品免费一区二区三区| 国产xxx精品视频大全| 欧美韩日一区二区三区| 色综合中文字幕国产| 中文字幕一区二区三区视频| 色综合久久久久综合体| 亚洲精选免费视频| 欧美精品18+| 精品一区二区三区欧美| 国产女人18毛片水真多成人如厕 | 欧美久久久久久蜜桃| 五月综合激情婷婷六月色窝| 日韩无一区二区| 国产精品综合一区二区三区| 国产精品卡一卡二| 欧美日韩一区二区三区四区五区| 日本视频中文字幕一区二区三区| 日韩欧美国产一区二区三区| 国产在线看一区| 一区在线观看免费| 在线成人高清不卡| 国产精品一二二区| 夜色激情一区二区| 日韩亚洲欧美高清| av电影天堂一区二区在线观看| 亚洲一区二区av电影| 精品久久人人做人人爽| 9色porny自拍视频一区二区| 性做久久久久久久免费看| 久久精品欧美一区二区三区不卡 | 91精品国产丝袜白色高跟鞋| 久久99国产精品久久99果冻传媒| 欧美国产禁国产网站cc| 欧美卡1卡2卡| av午夜一区麻豆| 日日夜夜精品视频天天综合网| 国产欧美日韩久久| 欧美日韩大陆一区二区| 盗摄精品av一区二区三区| 亚洲成人av在线电影| 欧美激情一区二区三区不卡 | 自拍偷自拍亚洲精品播放| 欧美一区二区三区视频免费播放| 不卡一区二区中文字幕| 日本 国产 欧美色综合| 亚洲九九爱视频| 久久九九全国免费| 这里只有精品视频在线观看| 91丨porny丨最新| 国产在线精品一区二区不卡了 | 99久久免费精品高清特色大片| 三级亚洲高清视频| 亚洲欧美日韩久久| 中文成人综合网| 欧美精品一区二区三| 欧美日韩免费在线视频| 色婷婷av一区| av在线免费不卡| 国产乱对白刺激视频不卡| 丝袜a∨在线一区二区三区不卡| 国产精品国产三级国产三级人妇| 国产亚洲人成网站| 欧美精品一区二| 欧美成人性战久久| 日韩欧美卡一卡二| 欧美一区二区三区在线观看视频| 欧美影院一区二区三区| 91视频免费看| 色先锋资源久久综合| 成人福利电影精品一区二区在线观看| 九色|91porny| 黄页网站大全一区二区| 久久99深爱久久99精品| 国内久久精品视频| 国产中文字幕精品| 国产麻豆成人传媒免费观看| 紧缚奴在线一区二区三区| 麻豆成人综合网| 国内久久精品视频| 国产在线播精品第三| 国产精品一区二区免费不卡| 国产精品66部| 国产激情一区二区三区桃花岛亚洲 | 久久国产麻豆精品| 久久精品免费观看| 国产精品资源在线看| 成人网在线免费视频| 99久久伊人久久99| 欧美午夜一区二区| 欧美美女黄视频| 日韩欧美123| 欧美极品美女视频| 国产精品久久久久久久久快鸭| 亚洲天堂2014| 亚洲a一区二区| 热久久一区二区| 国产成人av电影在线| 成人国产免费视频| 欧美日韩精品一区二区天天拍小说| 欧美日韩激情在线| 久久婷婷国产综合国色天香 | 日韩一级片在线观看| 久久久久久久av麻豆果冻| 亚洲视频图片小说| 日韩专区一卡二卡| 丁香天五香天堂综合| 久久久久久夜精品精品免费| 久久久亚洲综合| 亚洲综合丝袜美腿| 国产在线精品一区二区夜色| 91美女片黄在线观看91美女| 欧美一区二区三区在| 中文在线资源观看网站视频免费不卡| 一区二区三区欧美| 国产主播一区二区三区| 欧美亚洲国产一区在线观看网站| 日韩精品自拍偷拍| 一区二区三区四区不卡视频| 精品在线播放免费| 欧美日韩一级黄| 亚洲国产岛国毛片在线| 日本在线观看不卡视频| 成人国产精品免费观看动漫| 日韩一区和二区| 亚洲精品菠萝久久久久久久| 国产在线播放一区| 91精品国产入口| 亚洲日本乱码在线观看| 国产一区二区精品久久| 91精选在线观看| 亚洲欧洲国产日本综合| 国产剧情在线观看一区二区| 欧美年轻男男videosbes| 亚洲少妇中出一区| 国产一区二区三区黄视频| 欧美日韩国产区一| 亚洲三级电影网站| 丰满放荡岳乱妇91ww| 欧美mv日韩mv国产| 亚洲va欧美va天堂v国产综合| 成人激情免费网站| 久久影视一区二区| 免费欧美高清视频| 欧美裸体bbwbbwbbw| 一区二区视频在线| 91免费看片在线观看| 国产人久久人人人人爽| 狠狠色狠狠色综合系列| 日韩免费观看高清完整版| 日韩中文字幕一区二区三区| 欧美亚洲免费在线一区| 依依成人综合视频| 91久久精品午夜一区二区| 国产精品国产三级国产aⅴ无密码| 懂色av噜噜一区二区三区av| 2024国产精品| 国产成人精品免费视频网站| 久久一留热品黄| 韩国中文字幕2020精品| 精品粉嫩aⅴ一区二区三区四区 | 一区二区三区精品久久久| 色哟哟国产精品| 亚洲在线观看免费视频| 在线观看日韩毛片| 日日摸夜夜添夜夜添精品视频|