
рддреЛ рдПрдордХреЗ рдлрд░реНрдорд╡реЗрдпрд░ рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЛ рдмрд┐рдЫрд╛рдиреЗ рдХрд╛ рд╕рдордп рдЖ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рдореИрдВ рдЕрдкрдиреА рдШрдбрд╝реА рдХреЗ рд▓рд┐рдП рдмреНрд░рд╛рдВрдб-рдирдП рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП
рдмрд┐рдЧрдмреА рдХреЛ рдзрдиреНрдпрд╡рд╛рдж рджреЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЬрд┐рд╕реЗ рдЙрдиреНрд╣реЛрдВрдиреЗ рдкреНрд░рд┐рдВрдЯ рдХрд┐рдпрд╛ рдФрд░ рдореБрдЭреЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирд┐: рд╢реБрд▓реНрдХ рднреЗрдЬрд╛ред рдорд╛рдорд▓реЗ рдХреЛ рдЫрд╛рдкрдиреЗ рдХреЗ рдкреНрд░рд╕реНрддрд╛рд╡ рдХреЗ рд▓рд┐рдП
рдЧрд┐рд░рдЧрд┐рдЯрдХрд╛ рдХреЛ рднреА рдзрдиреНрдпрд╡рд╛рджред
рдЗрд╕рд▓рд┐рдП, рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдХреЛрдб рдХреЙрдореНрдкрдорд░ рд╕реНрдЯреВрдбрд┐рдпреЛ V 5.3.0 рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛
рдореИрдВ рдХреЛрдб рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирд╣реАрдВ рд▓рд┐рдЦреВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдореИрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдВрджреБрдУрдВ рдкрд░ (рдореЗрд░реА рд░рд╛рдп рдореЗрдВ) рд▓рд┐рдЦреВрдВрдЧрд╛ред
рдореИрдВ рддреБрд░рдВрдд рдПрдХ рдЖрд░рдХреНрд╖рдг рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдХрд╛рд░реНрдпрдХреНрд░рдо рдЖрджрд░реНрд╢ рдирд╣реАрдВ рд╣реИ рдФрд░ рдЕрдиреБрдХреВрд▓рд┐рдд рдирд╣реАрдВ рд╣реИред
рдЪрд▓рд┐рдП рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ
рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдкреНрд░рддреАрдХ рддрд╛рд▓рд┐рдХрд╛, рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдмрд╛рд░ рдЖрдЗрдХрди рдФрд░ рдШрдбрд╝реА рдХреЗ рд▓рд┐рдП рд╕рдВрдЦреНрдпрд╛рдУрдВ рд╡рд╛рд▓реА рдПрдХ рдкреНрд░рддреАрдХ рдЪрд┐рд╣реНрди рдлрд╛рдЗрд▓ рд╢рд╛рдорд┐рд▓ рд╣реИред рд╕рднреА рдбреЗрдЯрд╛ рдХреЛ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕реНрдХреНрд░реАрди рдкрд░ рдкрд┐рдХреНрд╕реЗрд▓-рдмрд╛рдп-рдкрд┐рдХреНрд╕реЗрд▓ рдбрд┐рд╕реНрдкреНрд▓реЗ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реЛрддрд╛ рд╣реИред
рдлрд╝рд╛рдЗрд▓ TI_USCI_I2C_master.h рднреА рд╢рд╛рдорд┐рд▓ рд╣реИред рдпрд╣ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдФрд░ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ I2C рдорд╛рд╕реНрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ USCI рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП TI рд╕реЗ рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИред
рдирд┐рд╖реНрдХрд░реНрд╖ рдФрд░ рдкрд░рд┐рднрд╛рд╖рд╛рдПрдБ#include <msp430g2553.h> #include "Symbols.h" #include "TI_USCI_I2C_master.h" /* Bit operations */ #define BIT_SET(lval, mask) ((lval) |= (mask)) #define BIT_CLR(lval, mask) ((lval) &= ~(mask)) #define BIT_TEST(val, mask) (((val) & (mask))==(mask)) /* BSL */ #define TXD BIT1 // P1.1: BSL TxD #define RXD BIT5 // P1.5: BSL RxD /* BT */ #define BT_TXD BIT1 // P2.1: UART BT TxD #define BT_RXD BIT0 // P2.0: UART BT RxD #define BT_PWR BIT2 // P2.2, P3.2 #define BT_LED BIT3 // P3.3 /* LCD */ #define PIN_RESET BIT2 // P1.2 RESET #define PIN_SCE BIT3 // P1.3 CS #define PIN_SDIN BIT4 // P1.4 SDA //mosi #define PIN_SCLK BIT1 // P3.1 SCK #define PIN_LED BIT0 // P3.0 #define LCD_C 0 // Command #define LCD_D 1 // Data /* Buttons & vibro */ #define B_CENT BIT4 // P2.4 #define B_UP BIT3 // P2.3 #define B_DOWN BIT5 // P2.5 #define vibro BIT4 // P3.4 /* System configuration */ #define TIMER1A_CLOCK 1000000L // Timer1_A clock rate (1 MHz) #define UART_BAUD 9600 // desired UART baud rate #define BT_BITTIME (TIMER1A_CLOCK/UART_BAUD) // Bit interval #define BT_HALF_BT ((BT_BITTIME+1)/2) // Half-bit interval #define Slave_Address 0x68 // address RTC
рдХрд╛рд░реНрдп рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рд╣рдо рдмрд╛рд╣рд░реА рдШрдбрд╝реА рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдордХреЗ рдореЙрдбреНрдпреВрд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддреЗ рд╣реИрдВ:
- рдбреАрд╕реАрдУ - рдирд┐рд░реНрдорд┐рдд рдЬрдирд░реЗрдЯрд░ рдХреА рдЖрд╡реГрддреНрддрд┐ 8 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ;
- рдЯрд╛рдЗрдорд░ 0 - рдкреНрд░рджрд░реНрд╢рди рдмреИрдХрд▓рд╛рдЗрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдкреАрдбрдмреНрд▓реВрдПрдо;
- рдЯрд┐рдорд░ 1 - рдмреАрдЯреА рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд░ рдХреЗ рд▓рд┐рдП рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдпреВрдПрдЖрд░рдЯреА;
- WDT + - рдШрдВрдЯреЗ рдХреА рдЬрд╛рдБрдЪ рдХреЗ рд▓рд┐рдП рдЕрдВрддрд░рд╛рд▓ рдЯрд╛рдЗрдорд░;
- рдлреНрд▓реИрд╢ - рдкрд░рд┐рд╡рд░реНрддрдиреАрдп рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдФрд░ рджрд┐рдирд╛рдВрдХ / рд╕рдордп рдХрд╛ рднрдВрдбрд╛рд░рдг;
- ADC10 - рдмреИрдЯрд░реА рдкрд░ рд╡реЛрд▓реНрдЯреЗрдЬ рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ADCред
рдкреНрд░рд╛рд░рдВрдн WDTCTL = WDTPW + WDTHOLD;
рдмреАрдЪ рдореЗрдВ рдЖрддрд╛ рд╣реИ
рд╕рднреА рд░реБрдХрд╛рд╡рдЯ рд╕рдВрдЪрд╛рд▓рдХреЛрдВ рдореЗрдВ, рдЕрдиреНрдп рд╡реНрдпрд╡рдзрд╛рди рдкрд╣рд▓реЗ рдЕрдХреНрд╖рдо рд╣реЛрддреЗ рд╣реИрдВ, рдЬреЛ, рдЬрдм рд╣реИрдВрдбрд▓рд░ рдЦрддреНрдо рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЙрд╕реЗ рд╡рд╛рдкрд╕ рдЪрд╛рд▓реВ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдмреАрдЯреА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╕рдордп, рдпрд╛ рддреЛ рдШрдбрд╝реА рдмрд╛рдзрд┐рдд рд╣реЛрддреА рд╣реИ рдЕрдЧрд░ рдШрдбрд╝реА рд╕рдХреНрд░рд┐рдп рдореЛрдб рдореЗрдВ рд╣реЛрддреА рд╣реИ, рдпрд╛ рдпрджрд┐ рдШрдбрд╝реА рдмрд┐рдЬрд▓реА рдмрдЪрдд рдореЛрдб рдореЗрдВ рд╣реЛрддреА рд╣реИ, рддреЛ рдкреА 2ред
LPM3 рдореЛрдб рдореЗрдВ, SMCLK рдЕрдХреНрд╖рдо рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЯрд╛рдЗрдорд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ BT рд╕реЗ P2 рдкреЛрд░реНрдЯ рдмрд╛рдзрд┐рдд рд╣реИ, рддреЛ MK рдХреЛ рд╕рдХреНрд░рд┐рдп рдореЛрдб рдореЗрдВ рд░рдЦреЗрдВ рдФрд░ BT_RXD рдкрд┐рди рдХреЛ Timer1 рдЗрдирдкреБрдЯ рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд░реЗрдВред
рдбреЗрдЯрд╛ рд░рд┐рд╕реЗрдкреНрд╢рди (рд╕рдВрджреЗрд╢ рдЕрдВрдд рд╡рд░реНрдг 0x00) рдХреЗ рдЕрдВрдд рдореЗрдВ, рдкреНрд░рд╛рдкреНрдд рдкрдВрдХреНрддрд┐ рд╕рдВрд╕рд╛рдзрд┐рдд рд╣реИред рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХрд╛ рдкрд╣рд▓рд╛ рд╡рд░реНрдг рдПрдХ рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рд╣реИред "1" - рдлреЛрди рдШрдбрд╝реА рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реИ; "2" - рдЖрдиреЗ рд╡рд╛рд▓реЗ рдПрд╕рдПрдордПрд╕; "3" - рдЗрдирдХрдорд┐рдВрдЧ рдХреЙрд▓; "4" рд╡рд╣ рдкрд╛рда рд╣реИ рдЬрд┐рд╕реЗ рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдШрдбрд╝реА рд╕реНрдХреНрд░реАрди рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ; "5" - рддрд╛рд░реАрдЦ рдФрд░ рд╕рдордп рдлреЛрди рд╕реЗ рднреЗрдЬрд╛ рдЧрдпрд╛ рдерд╛ред
рд▓рд╛рдЗрди рдкрд╛рд░реНрд╕рд┐рдВрдЧ unsigned int il; unsigned char z,k; switch (inputString[0]) { case '1': {
рдкреА 2 рдЗрдВрдЯрд░рдкреНрдЯ рд╣реИрдВрдбрд▓рд░ рдмрдЯрди рдкреНрд░реЗрд╕ рдХреЗ рд▓рд┐рдП рднреА рдЬрд╛рдБрдЪ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдмрдЯрди рджрдмрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдкрд╛рд╡рд░ рд╕реЗрд╡рд┐рдВрдЧ рдореЛрдб рдмрд╛рд╣рд░ рдирд┐рдХрд▓ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкреА 2 рдЗрдВрдЯрд░рдкреНрдЯ рд╣реИрдВрдбрд▓рд░ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдмрдЯрди рдХреЗ рд▓рд┐рдП, рдПрдХ "рд▓реЙрдиреНрдЧ" рдкреНрд░реЗрд╕ рдЯреЗрд╕реНрдЯ рдЪрдХреНрд░ рд╣реИред
WDT + рдЗрдВрдЯрд░рдкреНрдЯ рд╣реИрдВрдбрд▓рд░ рдмреАрдЯреА рдХреА рд╕реНрдерд┐рддрд┐ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИ, рдЖрд░рдЯреАрд╕реА рд╕реЗ рд╕рдордп рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдорд╛рдВрдб рджреЗрддрд╛ рд╣реИ, рдПрдбреАрд╕реА рдХреЛ рдЪрд╛рд▓реВ рдХрд░рдиреЗ рдХрд╛ рдЖрджреЗрд╢ рджреЗрддрд╛ рд╣реИред
ADC10 рдЗрдВрдЯрд░рдкреНрдЯ рд╣реИрдВрдбрд▓рд░ рдмреИрдЯрд░реА рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрдорд╛рдВрдб рджреЗрддрд╛ рд╣реИред рд░реВрдкрд╛рдВрддрд░рдг рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж ADC10 рдХреЛ рдмрд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдлреНрд▓реИрд╢ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд╕реВрддреНрд░
рдпрд╣рд╛рдВрдФрд░ рдмреНрд░рд╛рдВрдб рдирдП рдорд╛рдорд▓реЗ рдХреА рдПрдХ рдФрд░ рддрд╕реНрд╡реАрд░:


рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣, рдореИрдВ рд╕рд╡рд╛рд▓реЛрдВ рдФрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рддрддреНрдкрд░ рд╣реВрдВред
рднрд╛рдЧ 1 - рд╢реБрд░реВ рдХрд░рдирд╛рднрд╛рдЧ 2 - рдмреЛрд░реНрдб рдФрд░ рдШрдЯрдХ