B́o Ćo Vi X̃ Ĺ Trường Đại học Cần Thơ THÍT Ḱ Ḥ TH́NG Đ̀N GIAO THÔNG HỌT Đ̣NG THEO TH̀I GIAN TḤC Lê Thanh Trìu1, Th.s Trần H̃u Danh2 TĨM TẮT An tòn giao thơng l̀ v́n đ̀ ŕt ćp b́ch c̉a x̃ ḥi ! Đ̉ gỉm thỉu tai nạn v̀ ̀n t́c giao thông người ta đ̃ tạo ḥ th́ng đ̀n giao thông Liên quan đ́n v́n đ̀ ǹy em đ̃ t̀m hỉu v̀ tḥc hịn th̀nh công ḥ th́ng đ̀n giao thông, hoạt đ̣ng ṭ đ̣ng theo thời gian tḥc Từ khóa: Đ̀n giao thơng, th̀i gian tḥc, msp430 GIỚI THỊU Đ̀ T̀I Ḥ th́ng đ̀n giao thông đ ̣c thít ḱ họt đ̣ng theo hai ch́ đ̣: ṭ đ̣ng vƠ th̉ công Ch́ đ̣ ṭ đ̣ng: ṃch ṭ đ̣ng thay đ̉i chu k̀ đ́m c̉a đ̀n t́n hịu theo th̀i gian tḥc Ch́ đ̣ th̉ công: ć th̉ thít ḷp chu k̀ c̉a đ̀n t́n hịu b̀ng tay Đ̀ tƠi đ ̣c tḥc hịn nh̀m ṃc đ́ch t̀m hỉu, c̃ng ć ḷi kín th́c đư ḥc vƠ tḥc hƠnh PH NG PHÁP TḤC HỊN 2.1 Thít Ḱ Ph̀n Ćng S đ̀ kh́i t̉ng qút ḥ th́ng đ̀n giao thông nh h̀nh Kh́i Real Time Kh́i CPU Kh́i Hỉn Tḥ Kh́i Đìu Khỉn Hình 1: S đ̀ kh́i ḥ th́ng đ̀n giao thông Sinh viên l p k̃ thụt ḿy t́nh K36, Mư ś SV: 1101066 Ḅ môn Địn t̉ vĩn thông, Khoa Công Ngḥ, ĐH Cần Th B́o Ćo Vi X̃ Ĺ Trường Đại học Cần Thơ 2.1.1 Kh́i CPU Kh́i CPU ć nhịm ṿ đỉu khỉn ṃi họt đ̣ng c̉a ṃch, kh́i CPU s̉ ḍng IC Msp430g2553 S l ̣c v̀ MSP430G2553 Địn ́p họt đ̣ng: 1.8 V - 3.6 V Ćc Ch́ đ̣ họt đ̣ng tít kịm l ̣ng: MSP430G2553 o Họt đ̣ng: 230 µA at MHz, 2.2 V o Ch́ đ̣ ch̀: 0.5 µA o Ch́ đ̣ t́t (RAM ṽn họt đ̣ng): 0.1 µA Ć ch́ đ̣ tít kịm l ̣ng Hình 2: IC Msp430g2553 Th̀i gian đ́nh th́c t̀ ch́ đ̣ ch̀ nh̉ h n 1μs Cấu trúc RISC-16 bit, Th̀i gian ṃt chu k̀ ḷnh lƠ 62.5 ns Tần ś xung ṇi lên t i 16 MHz v i hịu chỉnh tần ś +-1% H̃ tṛ Tḥch anh 32 KHz Tần ś lƠm vịc lên t i 16 MHz Timer_A 16 bit v i ghi Capture/Compare H̃ tṛ giao típ UART, I2C, SPI H̃ tṛ 10 kênh ADC … S đ̀ chơn IC Msp430g2553 vƠ ću tŕc bên Msp430g2553 Hình 3: S đ̀ chơn Msp430g2553 B́o Ćo Vi X̃ Ĺ Trường Đại học Cần Thơ Hình 4: S đ̀ ću tŕc bên Msp430g2553 2.1.2 Kh́i Real Time Kh́i Real Time s̉ ḍng chip đ̀ng h̀ th̀i gian tḥc BQ32000, công ty Texas Instruments s̉n xuất Kh́i nịm th̀i gian tḥc ̉ đơy đ ̣c hỉu lƠ th̀i gian tuỵt đ́i mƠ ng ̀i s̉ ḍng, t́nh b̀ng giơy, phút, gì,… BQ32000 họt đ̣ng ̉ ḿc địn ́p t̀ 3V-3.6V thụn ḷi giao típ v i d̀ng vi đìu khỉn Msp430 S l ̣c v̀ Chip BQ32000 Địn ́p họt đ̣ng: 3V-3.6V Ṭ đ̣ng chuỷn sang ngùn PIN nuôi Giao típ thông qua gío th́c I2C: H̃ tṛ xung đ̀ng ḅ lên đ́n 400KHz S̉ ḍng Tḥch Anh 32.768KHz T́ch ḥp ḅ ṭo dao đ̣ng Họt đ̣ng ̉ nhịt đ̣: t̀ -400C đ́n 850C Hình 5: Real Time Clock BQ32000 B́o Ćo Vi X̃ Ĺ Trường Đại học Cần Thơ S đ̀ chơn vƠ ćc ghi c̉a Chip BQ32000 Sơ đ̀ chân Chip RTC BQ32000 (H̀nh 6) Chơn OSCI vƠ OSCO: Ńi v i tḥch anh 32.768KHz ṭo dao đ̣ng ch́nh cho BQ32000 họt đ̣ng Chân VBACK : Ńi v i c̣c d ng c̉a PIN 3V lƠm ngùn pḥ nuôi Chip, ngùn ch́nh ḅ nǵt Chơn GND: Chơn ńi mass Chân SDA(Serial Data): Đ ̀ng truỳn d̃ lịu gĩa BQ32000 v i MCU Chân SCL(Serial Clock): Đ ̀ng truỳn xug Clock Chân IRQ: Ng̃ pḥ đ̉ ṭo xung vuông Chân VCC: Chơn cấp ngùn ch́nh cho BQ32000 Hình 6: S đ̀ chơn BQ32000 Ćc ghi ch́nh bên BQ32000 B̉ng 1: Ćc ghi ṃc đ̣nh B̉ng 2: Ćc ghi ch́c đ̣c bịt B́o Ćo Vi X̃ Ĺ Trường Đại học Cần Thơ Sơ đ̀ kh́i Real Time(H̀nh 7) P1.6 P1.7 Hình 7: S Đ̀ Kh́i Real Time 2.1.3 Kh́i hỉn tḥ Kh́i hỉn tḥ g̀m phần: Phần đ́m l̀i th̀i gian: ch́c đ́m l̀i ś giơy đ̉ chuỷn sang đ̀n t́n hịu kh́c Kh́i nƠy s̉ ḍng ph ng ph́p qút LED đọn(H̀nh 8) Hình 8: Kh́i Đ́m L̀i B́o Ćo Vi X̃ Ĺ Trường Đại học Cần Thơ Phần đ̀n t́n hịu: Ch́c hỉn tḥ đ̀n t́n hịu ch́nh vƠ đ̀n cho ng ̀i ḅ S̉ ḍng LED đ n đ̉ hỉn tḥ.(H̀nh 9) Hình 9: Kh́i Đ̀n T́n Hịu 2.1.4 Kh́i đìu khỉn Kh́i đìu khỉn v i ch́c thít ḷp chu k̀ c̉a đ̀n t́n hịu(H̀nh 10) CƠNG T́C (SW) Hình 10: Kh́i Đìu Khỉn B́o Ćo Vi X̃ Ĺ Trường Đại học Cần Thơ 2.1.5 Sơ lực v̀ ḅ nh́ Flash Ḅ nh Flash c̉a MSP430 đ ̣c t́ch ḥp s̃n ṃt ḅ đìu khỉn ch ng tr̀nh vƠ ćc họt đ̣ng xó Ḅ đìu khỉn g̀m ghi, ṃt ḅ ṭo dao đ̣ng, ṃt ḅ ṭo địn ́p Ḅ nh Flash c̉a MSP430 bao g̀m ṃt ś t́nh năng: Ḷp tr̀nh địn ́p ṇi Ḷp tr̀nh theo bit, byte học word Họt đ̣ng siêu tít kịm l ̣ng H̃ tṛ xó t̀ng đọn vƠ xó hƠng lọt Ch́ đ̣ đ̣c ḿc vƠ ḿc S đ̀ t̉ ch́c ḅ nh Flash c̉a MSP430(h̀nh 11) Hình 11: S đ̀ kh́i ḅ nh́ Flash Ḅ nh Flash c̉a MSP430 đ ̣c chia thƠnh ćc đọn(Segments) Ta ć th̉ ghi t̀ng bit hay t̀ng byte d̃ lịu vƠo ḅ nh Flash, nh ng xó ta ph̉i xó c̉ đọn Ḅ nh Flash đ ̣c chia thƠnh hai phần: Ḅ nh ch́nh vƠ ḅ nh thông tin Họt đ̣ng c̉a hai phần ḅ nh nƠy không ć g̀ kh́c Ch ng tr̀nh học d̃ lịu ć th̉ l u ̉ ṃt hai phần nƠy Hai phần ḅ nh nƠy kh́c v̀ ḱch th c đọn vƠ đ̣a ṿt ĺ B́o Ćo Vi X̃ Ĺ Trường Đại học Cần Thơ Phần ḅ nh thông tin: G̀m ć đọn, m̃i đọn ć ḱch th c lƠ 64byte Ḅ nh ch́nh: Ć th̉ ć hai đọn học nhìu h n, m̃i đọn ć ḱch th 512byte (H̀nh 12) c lƠ hình 12: S đ̀ ćc đọn c̉a ḅ nh́ Flash1 T̀ s đ̀ ta thấy ḅ nh thông tin g̀m đọn: A, B, C,D Ć đ̣a t̀ 0x01000 đ́n 0x010FF Do m̃i đọn ḅ nh thông tin ć ḱch th đọn nh h̀nh 13 c 64byte nên ta ć đ̣a c̉a ćc Hình 13: Phơn đọn ḅ nh́ thơng tin User’s guide Msp430x2xx Family,page 316, Texas Instruments B́o Ćo Vi X̃ Ĺ Trường Đại học Cần Thơ 2.1.6 Sơ lực họt đ̣ng c̉a ṃch: Khi Công t́c SW ̉ ṿ tŕ OFF: Ṃch cḥy theo ch́ đ̣ ṭ đ̣ng ̉ ch́ đ̣ nƠy ṃch s̉ ṭ đ̣ng thay đ̉i chu k̀ đ́m l̀i theo th̀i gian tḥc Khi Công t́c SW ̉ ṿ tŕ ON: Ṃch kh̉i đ̣ng ch́ đ̣ thít đ̣t chu k̀ đ́m l̀i CPU s̉ kỉm tra họt đ̣ng c̉a nút nhấn vƠ cḥy chu k̀ v̀a m i thít đ̣t: o Nút nhấn ć t́c ḍng thít ḷp ś giơy Đ̀n Đ̉ Khi nút nƠy đ ̣c nhấn th̀ ś giơy đ̀n Đ̉ s̃ tăng lên o Nút nhấn ć t́c ḍng thít ḷp ś giơy Đ̀n VƠng Khi nhấn nút nƠy th̀ ś giơy đ̀n vƠng s̃ tăng lên o Ś giơy đ̀n xanh s̃ ṭ đ̣ng đ ̣c t́nh nh sau: Giơy Xanh = Giơy Đ̉ – Giơy VƠng V́ ḍ: Khi ta thít ḷp ś giơy Đ̉ lƠ 15 vƠ ś giơy V̀NG lƠ ta s̃ ć đ ̣c ṃt chu k̀ đ̀n giao thông nh h̀nh 14 Hình 14: Chu k̀ đ̀n giao thơng B́o Ćo Vi X̃ Ĺ Trường Đại học Cần Thơ S đ̀ ṃch t̉ng qút(h̀nh 15) Hình 15: S đ̀ ṃch t̉ng qút 10 B́o Ćo Vi X̃ Ĺ Trường Đại học Cần Thơ 2.2 Thít Ḱ Ph̀n M̀m 2.2.1 Lưu đ̀ gỉi thụt L u đ̀ gỉi thụt t̉ng qút(H̀nh 16) Hình 16: L u đ̀ gỉi thụt t̉ng qút 2.2.2 Ćc chương tr̀nh Ṃt ś ch Ch Ch Ch Ch ng tr̀nh tiêu bỉu1: ng tr̀nh qút LED đọn ng tr̀nh giao típ BQ32000 ng tr̀nh đ̣c/ghi ḅ nh Flash ng tr̀nh cḥy theo chu k̀ tù chỉnh Xem pḥ ḷc code 11 B́o Ćo Vi X̃ Ĺ Trường Đại học Cần Thơ ḰT QUẢ VÀ ĐÁNH GIÁ 3.1 Ḱt qủ Ṃch cḥy v i ́ t ̉ng thít ḱ Họt đ̣ng theo th̀i gian tḥc Ć th̉ thít ḷp đ ̣c chu k̀ họt đ̣ng th̉ công Ṃch cḥy ̉n đ̣nh Ć th̉ kỉm tra th̀i gian tḥc thông qua UART hịn lên ḿy t́nh học hỉn tḥ tṛc típ LED 3.2 Đ́nh gí Tḥc hịn đ̀ tƠi tín đ̣ đư đ̀ Típ c̣n đ ̣c nh̃ng vấn đ̀ c b̉n c̉a d̀ng vi đìu khỉn Msp430 T̀m hỉu thêm đ ̣c ćc vấn đ̀ kh́c ḰT LUẬN Đ̀ tƠi hoƠn thƠnh v i yêu cầu đư đ̣t Do m i típ c̣n v i d̀ng vi đìu khỉn m i nên ṽn c̀n g̣p ṃt ś kh́ khăn Ch ng tr̀nh ch a đ ̣c t́i u Đ̀ tƠi ć th̉ ph́t trỉn thêm T̀I LỊU THAM KHẢO [1] TI’s Sample code - http://www.ti.com/lsds/ti/microcontroller/16-bit_msp430/ [2] User’s Guide MSP430g2553, Texas Instruments [3] MSP430 Microcontroller Basics, John Davies [4] Datasheet: BQ32000, MSP430G2553, Texas Instruments [5] http://www.alldatasheet.com 12 B́o Ćo Vi X̃ Ĺ Trường Đại học Cần Thơ PHỤ LỤC CODE 6.1 Ṃt ś ch ng trình tiêu bỉu 6.1.1 Chương tr̀nh giaoo típ I2C void i2c_init(unsigned char sla_add) //Khoi tao I2C { P1SEL |= BIT6 + BIT7; // Assign I2C pins to USCI_B0 P1SEL2|= BIT6 + BIT7; // Assign I2C pins to USCI_B0 UCB0CTL1 |= UCSWRST; // Enable SW reset UCB0CTL0 = UCMST+UCMODE_3+UCSYNC; UCB0CTL1 = UCSSEL_2+UCSWRST; UCB0BR0 = 10; // I2C Master, synchronous mode // Use SMCLK, keep SW reset // fSCL = SMCLK/12 = ~100kHz UCB0BR1 = 0; UCB0I2CSA = sla_add; UCB0CTL1 &= ~UCSWRST; // Set slave address // Clear SW reset, resume operation } //Ham doc du lieu tu RTC void i2c_read(unsigned char AddRes,unsigned char numbyte,unsigned char *poirev) { while (UCB0CTL1 & UCTXSTP); UCB0CTL1 |= UCTR + UCTXSTT; // Loop until I2C STT is sent // I2C TX, start condition while (!(IFG2&UCB0TXIFG)); UCB0TXBUF = AddRes; // Address start while (!(IFG2&UCB0TXIFG)); UCB0CTL1 &= ~UCTR; // I2C RX UCB0CTL1 |= UCTXSTT; // I2C start condition IFG2 &= ~UCB0TXIFG; // Clear USCI_B0 TX int flag while (UCB0CTL1 & UCTXSTT); // Loop until I2C STT is sent while (!(IFG2&UCB0RXIFG)); unsigned char i; for( i=0;i 4) & 0x07); = (dataread[2] & 0x0F) + 10*((dataread[2] >> 4) & 0x07); hour = (dataread[3] & 0x0F) + 10*((dataread[3] >> 4) & 0x03); day=(dataread[4] & 0x07) ; date = (dataread[5] & 0x0F) + 10*((dataread[5] >> 4) & 0x03); month = (dataread[6] & 0x0F) + 10*((dataread[6] >> 4) & 0x01); year = (dataread[7] & 0x0F) + 10*((dataread[7] >> 4) & 0x0f); 14 B́o Ćo Vi X̃ Ĺ Trường Đại học Cần Thơ 6.1.3 chương tr̀nh qút LED // Chuong trinh quet LED doan void quet(void) { for(unsigned char k=0;kvang) { chuc=i/10; donvi=i%10; ngan=(i-vang)/10; tram = (i-vang)%10; i ; quet(); } 15 B́o Ćo Vi X̃ Ĺ P2OUT = 0x06; for(i=vang;i>=0;i ) { chuc=(i)/10; donvi=(i)%10; ngan=i/10; tram = i%10; quet(); } P2OUT = 0x08; i=red; while(i>vang) { ngan=i/10; tram=i%10; chuc=(i-vang)/10; donvi = (i-vang)%10; i ; quet(); } P2OUT = 0x09; for(i=vang;i>=0;i ) { ngan=(i)/10; tram=(i)%10; chuc=i/10; donvi = i%10; quet(); docgio(); } } 16 Trường Đại học Cần Thơ B́o Ćo Vi X̃ Ĺ Trường Đại học Cần Thơ 6.1.5 Chương tr̀nh đ̣c/ghi ḅ nh́ Flash //Chuong trinh doc/ghi Flash #ifndef FLASH_H_ #define FLASH_H_ #ifndef TIMER0_A1_VECTOR #define TIMER0_A1_VECTOR TIMERA1_VECTOR #define TIMER0_A0_VECTOR TIMERA0_VECTOR #endif void flash_write_segmentC (unsigned char value, unsigned char position) { char *Flash_ptr; Flash_ptr = (char *) 0x1040; Flash_ptr += position; FCTL1 = FWKEY + ERASE; FCTL3 = FWKEY; *Flash_ptr = 0; FCTL1 = FWKEY + WRT; *Flash_ptr = value; FCTL1 = FWKEY; FCTL3 = FWKEY + LOCK; // Flash pointer // Initialize Flash pointer // Jump to desired address // Set Erase bit // Clear Lock bit // Dummy write to erase Flash segment // Set WRT bit for write operation // Write value to flash // Clear WRT bit // Set LOCK bit } void flash_read_segmentC (unsigned char *var, unsigned char position) { char *Flash_ptr; Flash_ptr = (char *) 0x1040; // Segment C pointer // Initialize Flash segment C pointer 17 B́o Ćo Vi X̃ Ĺ Trường Đại học Cần Thơ Flash_ptr += position; *var = *Flash_ptr; // Jump to desired address // copy value segment C to variable } void flash_write_segmentD (unsigned char value, unsigned char position) { char *Flash_ptr; // Flash pointer Flash_ptr = (char *) 0x1000; Flash_ptr += position; // Initialize Flash pointer // Jump to desired address FCTL1 = FWKEY + ERASE; FCTL3 = FWKEY; // Set Erase bit // Clear Lock bit *Flash_ptr = 0; // Dummy write to erase Flash segment FCTL1 = FWKEY + WRT; *Flash_ptr = value; // Set WRT bit for write operation // Write value to flash FCTL1 = FWKEY; // Clear WRT bit FCTL3 = FWKEY + LOCK; // Set LOCK bit } void flash_read_segmentD (unsigned char *var, unsigned char position) { char *Flash_ptr; // Segment C pointer Flash_ptr = (char *) 0x1000; Flash_ptr += position; *var = *Flash_ptr; } 18 // Initialize Flash segment C pointer // Jump to desired address // copy value segment C to variable B́o Ćo Vi X̃ Ĺ Trường Đại học Cần Thơ #endif /* FLASH_H_ */ void write_2_flash (void) { flash_write_segmentC (l, 0); flash_write_segmentD (m, 0); } void read_from_flash () { flash_read_segmentC (&l, 0); flash_read_segmentD (&m, 0); } 6.2 Ch ng trình ch́nh #include "msp430g2553.h" #include "modehienthi.c" int x=0,y=0; unsigned char datawrite[7] = {0x00,0x45,0xD4,0x6,0x03,0x05,0x013};// set to BQ3200 unsigned char sec_temp,sec_high,sec_low,sec_old; unsigned char min_temp,min_high,min_low; //***********************HAM CON Flash****************************** void write_2_flash (void); void read_from_flash (void); //****************CAU HINH UART**************************** void Init_UART() { #if P1SEL |= BIT1 + BIT2; P1SEL2 |= BIT1 + BIT2; UCA0CTL1 |= UCSSEL_2; //Baud rate = 1Mhz/9600=104; UCA0BR0 = 104; UCA0BR1 = 0; UCA0MCTL = UCBRS0; UCA0CTL1 &= ~UCSWRST; 19 B́o Ćo Vi X̃ Ĺ Trường Đại học Cần Thơ bis_SR_register(GIE); #endif } void main(void) { //*********************CAU HINH XUNG 1MHz******************* WDTCTL = WDTPW + WDTHOLD; // watchdog timer setup if (CALBC1_1MHZ ==0xFF || CALDCO_1MHZ == 0xFF) { while(1); // If calibration constants erased // not load, trap CPU!! } BCSCTL1 = CALBC1_1MHZ; //dinh nghia dao dong noi 1MHz DCOCTL = CALDCO_1MHZ; //*****CAU HINH NGAT********************************** P2IE |= 0x30;//Cho phep ngat tai chan P2.4 P2IES |= 0x30; // chon suon xung tac dong canh len _BIS_SR( GIE ); //Init_UART();//**************UART Enable //******CAU HINH FLASH MEMORY**************************** FCTL2 = FWKEY + FSSEL0 + FN1; // MCLK/3 for Flash Timing Generator value = 0; //******DINH HUONG PORT *************************** P2SEL=BIT6+BIT7; P2SEL2=BIT6+BIT7; //Khai bao BIT6 va BIT7 chuc nang I/O P1DIR |= 0x3f; P2DIR |= 0x0f; //********CHUONG TRINH CHINH ************************** i2c_init(0x68); //Khoi tao I2C //i2c_write(0x00,8,datawrite); //Ghi Thoi Gian while(1) { //***********Gui time len UART-> test BQ32000 /* i2c_read(0x00,8,dataread); sec = (dataread[1] & 0x0F) + 10*((dataread[1] >> 4) & 0x07); = (dataread[2] & 0x0F) + 10*((dataread[2] >> 4) & 0x07); hour = (dataread[3] & 0x0F) + 10*((dataread[3] >> 4) & 0x03); { 20 B́o Ćo Vi X̃ Ĺ Trường Đại học Cần Thơ while (!(IFG2&UCA0TXIFG)); UCA0TXBUF = hour; while (!(IFG2&UCA0TXIFG)); UCA0TXBUF = min; while(!(IFG2&UCA0TXIFG)); UCA0TXBUF = sec; delay_cycles(800000); } */ if ((_P2_IN->_BIT.b7)==1) //Neu chan P2.7 = { hiengio(); } else { if ((_P2_IN->_BIT.b6)==1) //Neu chan P2.6 = { read_from_flash (); option(l,m); } else { docgio(); if ((hour >= 0) && (hour = )&&(hour = 11 )&&(hour = 16 )&&(hour = 20 )&&(hour 40) l=0; //Neu nhap giay Do > 40 thi set ve P2IFG &=~0x10;//xoa co ngat } if(P2IFG & 0x20) { if(m= 10) //Giay Vang > 10 thi set ve m=0; P2IFG &=~0x20;//xoa co ngat } } 22 Trường Đại học Cần Thơ B́o Ćo Vi X̃ Ĺ Trường Đại học Cần Thơ PHỤ LỤC GI I THIỆU Đ̀ T̀I PH NG PHÁP THỰC HIỆN 2.1 Thít Ḱ Phần Ćng 2.1.1 Kh́i CPU S l ̣c v̀ MSP430G2553 S đ̀ chơn IC Msp430g2553 vƠ cấu trúc bên Msp430g2553 2.1.2 Kh́i Real Time S l ̣c v̀ Chip BQ32000 S đ̀ chơn vƠ ćc ghi c̉a Chip BQ32000 2.1.3 Kh́i hỉn tḥ 2.1.4 Kh́i đìu khỉn 2.1.5 S l ̣c v̀ ḅ nh Flash 2.1.6 S l ̣c họt đ̣ng c̉a ṃch: 2.2 Thít Ḱ Phần M̀m 11 2.2.1 L u đ̀ gỉi thụt 11 2.2.2 Ćc ch ng tr̀nh 11 KẾT QUẢ V̀ ĐÁNH GIÁ 12 3.1 Ḱt qủ 12 3.2 Đ́nh gí 12 KẾT LUẬN 12 T̀I LIỆU THAM KHẢO 12 PHỤ LỤC CODE 13 6.1 Ṃt ś ch ng tr̀nh tiêu bỉu 13 6.1.1 Ch ng tr̀nh giaoo típ I2C 13 6.1.2 Ch ng tr̀nh đ̣c d̃ lịu t̀ chip BQ32000 14 6.1.3 ch ng tr̀nh qút LED 15 6.1.4 Ch ng tr̀nh thít ḷp chu k̀ đ̀n giao thông 15 6.1.5 Ch ng tr̀nh đ̣c/ghi ḅ nh Flash 17 6.2 Ch ng tr̀nh ch́nh 19 23 ... cḥy v i ́ t ̉ng thít ḱ Họt đ̣ng theo th̀i gian tḥc Ć th̉ thít ḷp đ ̣c chu k̀ họt đ̣ng th̉ công Ṃch cḥy ̉n đ̣nh Ć th̉ kỉm tra th̀i gian tḥc thông qua UART hịn lên ḿy t́nh học... ́p t̀ 3V-3.6V thụn ḷi giao típ v i d̀ng vi đìu khỉn Msp430 S l ̣c v̀ Chip BQ32000 Địn ́p họt đ̣ng: 3V-3.6V Ṭ đ̣ng chuỷn sang ngùn PIN nuôi Giao típ thông qua gío th́c I2C:... đ̣ng c̉a ṃch: Khi Công t́c SW ̉ ṿ tŕ OFF: Ṃch cḥy theo ch́ đ̣ ṭ đ̣ng ̉ ch́ đ̣ nƠy ṃch s̉ ṭ đ̣ng thay đ̉i chu k̀ đ́m l̀i theo th̀i gian tḥc Khi Công t́c SW ̉ ṿ tŕ ON: Ṃch kh̉i đ̣ng