1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

msp430x20x1 ca 02 _Code mẫu

5 119 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 5
Dung lượng 14,27 KB

Nội dung

//****************************************************************************** // MSP430F20x1 Demo - Comp_A, Detect Threshold, Set P1.0 if P1.1 > 0.25*Vcc // // Description: Use Comparator_A to detect a voltage threshold // Using an external potentiometer, an unknown voltage is applied to P1.1 // Comparator_A compares the unknown voltage to an internal reference // voltage, in this example 0.25*VCC If the unknown voltage is higher // than 0.25*VCC, P1.0 is set, if not, P1.0 is reset // ACLK = n/a, MCLK = SMCLK = default DCO // // // MSP430F20x1 - // /|\ | XIN|- // | | | // -|RST XOUT|- // | | | // RLED // | | | // -|VSS // // M Buccini / L Westlund // Texas Instruments Inc // December 2005 // Built with CCE Version: 3.2.0 and IAR Embedded Workbench Version: 3.40A //****************************************************************************** #include void main (void) { WDTCTL = WDTPW + WDTHOLD; P1DIR |= 0x01; // Stop WDT // P1.0 output CACTL1 = CARSEL + CAREF0 + CAON; CACTL2 = P2CA4; while (1) // 0.25 Vcc = -comp, on // P1.1/CA1 = +comp // Test comparator_A output { if ((CAOUT & CACTL2)) P1OUT |= 0x01; else P1OUT &= ~0x01; // if CAOUT set, set P1.0 // else reset } } //****************************************************************************** // MSP430F20x1 Demo - Comp_A, Simple 2.2V Low Battery Detect // // Description: Two comparator_A reference generators 0.25*Vcc and ~0.55V // are compared for a simple battery check of 2.2V In the subroutine // Batt_Check, a small capacitor between P2.3 and Vss is first charged // to 0.25*Vcc and then compared to ~0.55V If 0.25*Vcc, // is above ~0.55V, P1.0 is toggled, else set Batt_Check is called // constantly in an endless loop - in an actual application, Batt_Check // should be called infrequently to save power // ACLK = n/a, MCLK = SMCLK = default DCO // // There is a tolerance of the Comp_A reference generator and in the // device specific datasheet In most applications, the tolerence of the // reference generator is more than adequate to detect Low Battery // // MSP430F20x1 // - // /|\ | // | | | // -|RST XOUT|- // | XIN|- | // + -|P1.1/CA1 // | | | // ===.1uf| // | | // + -|Vss P1.0| >LED | | // void Batt_Check(void); unsigned int i; // // M Buccini / L Westlund // Texas Instruments Inc // December 2005 // Built with CCE Version: 3.2.0 and IAR Embedded Workbench Version: 3.40A //****************************************************************************** #include void main (void) { WDTCTL = WDTPW + WDTHOLD; P1DIR |= 0x01; // P1.0 output CACTL2 = P2CA4; while (1) // Stop WDT // P1.1 = CA1 // Mainloop { Batt_Check(); } } void Batt_Check(void) { CACTL1 = CAREF_1 + CAON; i = 16384; // 0.25*Vcc on P1.1, Comp on // delay while(i>0) { i ; } CACTL1 = CARSEL + CAREF_2 + CAREF_1 + CAON; // 0.55V on -, Comp on if (CACTL2 & CAOUT) P1OUT ^= 0x01; else P1OUT |= 0x01; CACTL1 = 0x00; } // P1.0 toggle // P1.0 set // Disable Comp_A, save power ... Batt_Check(void) { CACTL1 = CAREF_1 + CAON; i = 16384; // 0.25*Vcc on P1.1, Comp on // delay while(i>0) { i ; } CACTL1 = CARSEL + CAREF_2 + CAREF_1 + CAON; // 0.55V on -, Comp on if (CACTL2 & CAOUT) P1OUT...#include void main (void) { WDTCTL = WDTPW + WDTHOLD; P1DIR |= 0x01; // Stop WDT // P1.0 output CACTL1 = CARSEL + CAREF0 + CAON; CACTL2 = P 2CA4 ; while (1) // 0.25... //****************************************************************************** #include void main (void) { WDTCTL = WDTPW + WDTHOLD; P1DIR |= 0x01; // P1.0 output CACTL2 = P 2CA4 ; while (1) // Stop WDT // P1.1 = CA1 // Mainloop { Batt_Check();

Ngày đăng: 25/12/2017, 09:13

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w