Báo cáo project 2
Báo cáo project Mục Lục: Danh sách Hình Vẽ Nhóm Page Báo cáo project A.Lời Nói Đầu Để giúp sinh viên học tập, trau dồi thêm kiến thức thiết kế phần cứng tiếp cận sâu với vi điều khiển Viện Điện Tử Viễn Thông trường ĐH.Bách Khoa Hà Nội tổ chức môn học Project Trong môn học Project nhóm em phân công hướng dẫn thầy ThS.Nguyễn Tiến Dũng Nhờ có bảo hướng dẫn cụ thể thầy lên nhóm em hoàn thành Project Trong trình thực Project hướng dẫn bảo tận tình thầy ThS.Nguyễn Tiến Dũng anh hướng dẫn Nguyễn Quang Tuấn Anh, chúng em học tập trau dồi cho thân nhiều kiến thức lạ, bổ ích, biết cách tiếp cận đề đưa ý tưởng giải đề Qua rèn luyện cho phẩm chất kỹ sư tương lai Mặc dù nhận giúp đỡ, bảo, tận tình từ phía thầy bước đầu làm quen với loại vi điều khiển lên chúng em gặp phải vài khó khăn tiếp cận nhanh chóng tìm hiểu làm chủ Cuối chúng em xin gửi lời cảm ơn tới thầy ThS.Nguyễn Tiến Dũng anh Nguyễn Quang Tuấn Anh hướng dẫn chúng em hoàn thành Project Chúng em xin chân thành cảm ơn! Nhóm Page Báo cáo project B.Nội Dung Phần 1: Mô Tả Đề Tài Các Phần Mềm Và Thiết Bị Mô Phỏng Sử Dụng Phần mềm altium designer 10: vẽ mạch phần cứng Phần Mềm CCS4.0: dùng đề viết code cho vi điều khiển MSP430, giúp lạp xuống kit launchpad msp430 Kit launchpad msp430: công cụ test mô phần cứng Hình 1: Kit launchpad msp430 Yêu Cầu Của Đề Tài Mạch OBU thu tín hiệu trả phí Mạch phát tín hiệu trả phí đặt cổng thu phí Hiển thị thông tin tùy chọn Không phát trùng lặp tín hiệu tới nhiều OBU Truyền thông tốc độ tới 20km/h Phần 2: Tìm Hiểu Về Linh Kiện Phần Cứng Sử Dụng Vi Điều Khiển MSP430G2553 Nhóm Page Báo cáo project Hình 2: MSP430G2553 Giới thiệu tổng quát : Các dòng vi điều khiển msp430 hãng TI ( Texas Instruments) sản xuất, TI sản xuất cung cấp nhiều linh kiện điện tử module khác Vi điều khiển( Micro controller unit – MCU ) đơn vị xử lý nhỏ, tích hợp toàn nhớ ROM , RAM , port truy xuất , giao tiếp ngoại vi trực tiếp chip nhỏ gọn Được thiết kế dựa cấu trúc VONNEUMAN , đặc điểm cấu trúc có bus CPU nhớ (data chương trình) , mà chúng phải có độ rộng bit tương tự MSP430 có số phiênbản như: MSP430x1xx, MSP430x2xx, MSP430x3xx, MSP430x4xx, MSP430x5xx Dưới đặc điểm tổng quát họ vi điều khiển MSP430: + Cấu trúc sử dụng nguồn thấp giúp kéo dài tuổi thọ Pin -Duy trì 0.1µA dòng nuôi RAM -Chỉ 0.8µA real-time clock -250 µA/ MIPS + Bộ tương tự hiệu suất cao cho phép đo xác -12 bit 10 bit ADC-200 kskp, cảm biến nhiệt độ, Vref , -12 bit DAC -Bộ giám sát điện áp nguồn + 16 bit RISC CPU cho phép nhiều ứng dụng, thể phần kích Nhóm Page Báo cáo project thước Code lập trình -Thanh ghi lớn nên loại trừ trường hợp tắt nghẽn tập tin làm việc -Thiết kế nhỏ gọn làm giảm lượng tiêu thụ điện giảm giá thành -Tối ưu hóa cho chương trình ngôn ngữ bậc cao C, C++ -Có chế độ định địa -Khả ngắt theo véc tơ lớn + Trong lập trình cho nhớ Flash cho phép thay đổi Code cách linh hoạt, phạm vi rộng, nhớ Flash lưu lại nhật ký liệu Sơ đồ chân : Chip MSP430 có kích thước nhỏ gọn , với 20 chân kiểu chân DIP Bao gồm port I/O (hay GPIO general purprose input/ output : cổng nhập xuất chung) Hình 3: Sơ đồ chân MSP430G2553 Ta thấy port có chân Port : có chân từ P1.0 đến P1.7 tương ứng với chân từ 2-7 14 , 15 Port : gồm có chân P2.0 – P2.7 ứng với chân – 13 , 18,19 Ngoài chức I/O pin port chân đa chức năng, ta thể thấy rõ bảng sau : Nhóm Page Báo cáo project Trên bảng chức chân , MCU có kiểu chân SMD loại 28 chân có thêm port nữa,nhưng xét kiểu DIP 20 chân kiểu TSSOP 20 chân , kiểu lại bạn tìm hiểu trang chủ nhà sản xuất Giải thích sơ lược chân : - Chân số chân cấp nguồn Vcc( ký hiệu chip DVcc ) , nguồn cho chip cấp mức 3,3V , cấp nguốn cao mức chip hoạt động sai hay cháy chip Nhóm Page Báo cáo project Để có mức nguồn ta phải dùng IC ổn áp riêng có ký hiệu LM1117 hay AD1117 , IC có kiểu chân SMD nhỏ gọn , cách mắc chip giống với IC nguồn LM78xx , nhiên lưu ý thứ tự chân có khác chút.Các bạn xem datasheet IC mà mắc cho phù hợp -Chân 20 chân nối cực âm (0V) , chân đặc biệt -Chân reset : Chính chân số 16 RST , bạn học PIC thấy chân reset có ký hiệu MCLR , bạn để ý thấy dấu gạch ngang có nghĩa chân tích cực mức thấp Mục đích việc reset nhằm cho chương trình chạy lại từ đầu Mạch reset cho chip : Nhóm Page Báo cáo project Hình 4: Mạch RESET cho chip Chú ý: tụ tụ pi xác tụ 102, thay đổi kết nỗi Jtag để nạp code cho chip không -Mạch dao động : Cũng giống dòng vi điều khiển khác Msp430 hỗ trợ người dùng thạch anh ( external crystal ), thạch anh ngoại vi cho phép lên tới 32,768 kHz mà thôi, tín hiệu mắc chân 18 19 Nhưng msp430 lại hỗ trợ thạch anh nội lên đến 16Mhz, tùy vào cách khai báo lập trình Và mặc định chip thạch anh nội Như không cần thiết phải sử dụng mạch dao động ngoại cho chip giống dòng khác - Port I/O : Nhóm Page Báo cáo project Port : có chân từ P1.0 đến P1.7 tương ứng với chân từ 2-7 14 , 15 Port : gồm có chân P2.0 – P2.7 ứng với chân – 13 , 18,19 Trong chế độ nhập (input) port có mạch điều khiển điện trở kéo dương – gọi PULL UP giá trị điện trở lớn khoảng 47K nên gọi WEAK PULL UP RESISTAN Việc điều khiển PULL UP tiến hành thông qua lập trình tác động lên ghi PxREN đề cập chương sau Điều giống việc thiết lập input port B vi điều khiển PIC, port B có điện trở kéo lên , người lập trình phải thao tác qua ghi OPTION_REG LCD 16x2 Hình dáng kích thước: Nhóm Page Báo cáo project Có nhiều loại LCD với nhiều hình dáng kích thước khác nhau, hình loại LCD thông dụng Hình : Hình dáng loại LCD thông dụng Khi sản xuất LCD, nhà sản xuất tích hợp chíp điều khiển (HD44780) bên lớp vỏ đưa chân giao tiếp cần thiết Các chân đánh số thứ tự đặt tên hình : Hình : Sơ đồ chân LCD Chức Các Chân Chân Nhóm Ký Hiệu Mô Tả Vss Chân nối đất cho LCD, thiết kế mạch ta nối chân với GND mạch điều khiển VDD Chân cấp nguồn cho LCD, thiết kế mạch ta nối chân với VCC=5V mạch điều khiển Page 10 Báo cáo project 7-14 15 16 Điều chỉnh độ tương phản LCD Chân chọn ghi (Register select) Nối chân RS với logic “0” (GND) logic “1” (VCC) để chọn ghi + Logic “0”: Bus DB0-DB7 nối với ghi lệnh IR LCD (ở chế độ “ghi” - write) nối với đếm địa LCD (ở chế độ “đọc” - read) + Logic “1”: Bus DB0-DB7 nối với ghi liệu DR bên LCD R/W Chân chọn chế độ đọc/ghi (Read/Write) Nối chân R/W với logic “0” để LCD hoạt động chế độ ghi, nối với logic “1” để LCD chế độ đọc E Chân cho phép (Enable) Sau tín hiệu đặt lên bus DB0-DB7, lệnh chấp nhận có xung cho phép chân E + Ở chế độ ghi: Dữ liệu bus LCD chuyển vào(chấp nhận) ghi bên phát xung (high-to-low transition) tín hiệu chân E + Ở chế độ đọc: Dữ liệu LCD xuất DB0-DB7 phát cạnh lên (low-to-high transition) chân E LCD giữ bus đến chân E xuống mức thấp DB0-DB7 Tám đường bus liệu dùng để trao đổi thông tin với MPU Có chế độ sử dụng đường bus : + Chế độ bit : Dữ liệu truyền đường, với bit MSB bit DB7 + Chế độ bit : Dữ liệu truyền đường từ DB4 tới DB7, bit MSB DB7 A Nguồn dương cho đèn K GND cho đèn Module thu Giới thiệu Nhóm VEE RS phát nRF24L01 2.4Ghz Page 11 Báo cáo project Hình 7: Module thu phát nRF24L01 Thông số kỹ thuật Radio: - Hoạt động giải tần 2.4 Ghz - Có 126 kênh - Truyền nhận liệu - Truyền tốc độ cao 1Mbps Mbps Công suất phát: - Có thể cài đặt công suất nguồn phát: 0,-6,-12,-18 dBm Thu: - Có lọc nhiễu đầu thu Khuếch đại bị ảnh hưởng nhiễu thấp (LNA) Nguồn cấp: - Hoạt động từ 1,9 – 3,6V Các chân I/O chạy 3,3 lẫn 5V Giao tiếp: Nhóm Page 12 Báo cáo project - pin SPI Tốc độ tối đa 8Mbps 3-32 bytes khung truyền nhận Hình 8: Sơ đồ khối nRF24L01 Phân Tích - Modul nRF24L01 hoạt động tần số sóng ngắn 2.4G nên Modul khả truyền liệu tốc độ cao truyền nhận liệu điều kiện môi - trường có vật cản Modul nRF24L01 có 126 kênh truyền Điều giúp ta truyền nhận - liệu nhiều kênh khác Modul khả thay đổi công suất phát chương trình, điều giúp - hoạt động chế độ tiết kiệm lượng Chú ý: Điện áp cung cấp cho 1.9à3.6V Điện áp thường cung cấp 3.3V Nhưng chân IO tương thích với chuẩn 5V Điều giúp giao tiếp rộng dãi với dòng vi điều khiển Nhóm Page 13 Báo cáo project Hình 9: Mạch Layout nRF24L01 Phần 3: Code Cho MPS430G2553 Và Thiết Kế Mạch Code Cho MPS430G2553 Code xây dựng giao tiếp UART máy tính MSP430 phát: #pragma vector=USCIAB0RX_VECTOR interrupt void USCI0RX_ISR(void) { unsigned char u8Receive; u8Receive = UCA0RXBUF; if (u8Receive == '\n') { g_u8StartSendFlag = 1; return; } Nhóm Page 14 Báo cáo project if (g_u8UartBufferPtr < UART_BUFFER_MAX) { g_pUartBuffer[g_u8UartBufferPtr++] = u8Receive; g_pUartBuffer[g_u8UartBufferPtr] = 0; } } Code để truyền tín hiệu thông qua module RF /* * main.c (Transmitter) */ void main(void) { unsigned long i = 0; unsigned char RxBuf[128]; WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer BCSCTL1 = CALBC1_1MHZ; // Set range DCOCTL = CALDCO_1MHZ; // Set DCO step + modulation */ P1DIR |= BIT0; P1OUT &= ~BIT0; UartInit(); Nhóm Page 15 Báo cáo project init_NRF24L01(); SetRX_Mode(); while (1) { if (nRF24L01_RxPacket(RxBuf) == 1) { UartSend(RxBuf, strlen(RxBuf)); SetRX_Mode(); } if (g_u8StartSendFlag == 1) { SetTX_Mode(); nRF24L01_TxPacket(g_pUartBuffer); SPI_RW_Reg(WRITE_REG+STATUS, 0XFF); // Clear Bit Send g_u8StartSendFlag = 0; g_u8UartBufferPtr = 0; LED_TOGGLE; SetRX_Mode(); } } } Nhóm Page 16 Báo cáo project 2 Thiết Kế Mạch Mạch nguyên lý module thu tín hiệu: Nhóm Page 17 Báo cáo project Hình 10: Mạch Nguyên Lý Mạch in: Hình 11: Lớp Top Hình 12: Lớp Bottom Nhóm Page 18 Báo cáo project Mạch Thực Tế Hoàn Thành Hình 13:Mạch sau hoàn thành C.Kết Luận Qua ngày trải nghiệm thực tế tiến hành thực Project này,chúng em học tập làm việc thực sự, nhờ kiến thức học hỏi bảo tận tình thầy, chúng em hiểu vững quy trình làm việc để tạo sản phẩm, học cách làm việc nhóm, cách tổ chức công việc hiệu Đúc rút kinh nghiệm thực tế quý báu Từ kinh nghiệm học quý báu chúng em học giúp ích cho chúng em nhiều cho công việc học tập nghiên cứu Một lần em xin cảm ơn thầy Ths.Nguyễn Tiến Dũng tạo điều kiện tốt cho chúng em hoàn thần tốt Project Nhóm Page 19 Báo cáo project D.Phụ Lục Code Xây Dựng Hàm Điều Khiển Mạch Phát main.c #include #include "nRF24l01.h" #include "string.h" #include "stdio.h" #include "LCD.h" #define LED_TOGGLE #define UART_BUFFER_MAX P1OUT ^= BIT0 32 void UartInit(void); void UartSend(unsigned char* pBuff, unsigned char u8Length); unsigned char g_pUartBuffer[UART_BUFFER_MAX] = { }; unsigned char g_u8UartBufferPtr = 0; unsigned char g_u8StartSendFlag = 0; /* * main.c (Transmitter) */ void main(void) { Nhóm Page 20 Báo cáo project unsigned long i = 0; unsigned char RxBuf[128]; WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer BCSCTL1 = CALBC1_1MHZ; DCOCTL = CALDCO_1MHZ; modulation */ // Set range // Set DCO step + P1DIR |= BIT0; P1OUT &= ~BIT0; UartInit(); init_NRF24L01(); SetRX_Mode(); while (1) { if (nRF24L01_RxPacket(RxBuf) == 1) { UartSend(RxBuf, strlen(RxBuf)); SetRX_Mode(); } if (g_u8StartSendFlag == 1) { SetTX_Mode(); nRF24L01_TxPacket(g_pUartBuffer); SPI_RW_Reg(WRITE_REG+STATUS, 0XFF); // Clear Bit Send g_u8StartSendFlag = 0; g_u8UartBufferPtr = 0; LED_TOGGLE; SetRX_Mode(); } } } // Uart received handler #pragma vector=USCIAB0RX_VECTOR interrupt void USCI0RX_ISR(void) { unsigned char u8Receive; u8Receive = UCA0RXBUF; if (u8Receive == '\n') { g_u8StartSendFlag = 1; return; } if (g_u8UartBufferPtr < UART_BUFFER_MAX) { g_pUartBuffer[g_u8UartBufferPtr++] = u8Receive; g_pUartBuffer[g_u8UartBufferPtr] = 0; } } void UartInit(void) { P1SEL = BIT1 + BIT2 ; Nhóm // P1.1 = RXD, P1.2=TXD Page 21 Báo cáo project P1SEL2 = BIT1 + BIT2 ; UCA0CTL1 |= UCSSEL_2; UCA0BR0 = 104; UCA0BR1 = 0; UCA0MCTL = UCBRS0; UCA0CTL1 &= ~UCSWRST; machine** IE2 |= UCA0RXIE; interrupt } bis_SR_register(GIE); // // // // // // P1.1 = RXD, P1.2=TXD SMCLK 1MHz 9600 1MHz 9600 Modulation UCBRSx = **Initialize USCI state // Enable USCI_A0 RX // Enter LPM0, interrupts enabled void UartSend(unsigned char* pBuff, unsigned char u8Length) { unsigned char i; for (i = 0; i < u8Length; i++) { while (!(IFG2 & UCA0TXIFG)); buffer ready? UCA0TXBUF = pBuff[i]; character } } // TX -> RXed Code Xây Dựng Hàm Điều Khiển Mạch Thu main.c #include #include "nRF24l01.h" #include "string.h" #include "stdio.h" #include "LCD.h" #define LED_TOGGLE P1OUT ^= BIT0 #define UART_BUFFER_MAX 32 void UartInit(void); Nhóm // USCI_A0 TX Page 22 Báo cáo project void UartSend(unsigned char* pBuff, unsigned char u8Length); unsigned char g_pUartBuffer[UART_BUFFER_MAX] = { }; unsigned char g_u8UartBufferPtr = 0; unsigned char g_u8StartSendFlag = 0; /* * main.c (Receiver) */ void main(void) { unsigned long i = 0; unsigned char RxBuf[128]; WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer BCSCTL1 = CALBC1_1MHZ; // Set range DCOCTL = CALDCO_1MHZ; // Set DCO step + modulation */ P1DIR |= BIT0; P1OUT &= ~BIT0; init_NRF24L01(); SetRX_Mode(); Nhóm Page 23 Báo cáo project lcd_init(0); lcd_clear(); while (1) { if (nRF24L01_RxPacket(RxBuf) == 1) { lcd_gotoxy(0,0); lcd_puts("ky tu hien thi"); lcd_gotoxy(0,1); lcd_putc(RxBuf[0]); lcd_putc(RxBuf[1]); lcd_putc(RxBuf[2]); SetTX_Mode(); nRF24L01_TxPacket("Received: "); nRF24L01_TxPacket(RxBuf); nRF24L01_TxPacket("\n\r"); SPI_RW_Reg(WRITE_REG+STATUS, 0XFF); // Clear Bit Send LED_TOGGLE; SetRX_Mode(); } } } Nhóm Page 24 [...]... SetRX_Mode(); } } } Nhóm 1 Page 16 Báo cáo project 2 2 Thiết Kế Mạch Mạch nguyên lý module thu tín hiệu: Nhóm 1 Page 17 Báo cáo project 2 Hình 10: Mạch Nguyên Lý Mạch in: Hình 11: Lớp Top Hình 12: Lớp Bottom Nhóm 1 Page 18 Báo cáo project 2 3 Mạch Thực Tế Hoàn Thành Hình 13:Mạch sau khi hoàn thành C.Kết Luận Qua những ngày trải nghiệm thực tế khi tiến hành thực hiện Project 2 này,chúng em đã học tập và... g_pUartBuffer[g_u8UartBufferPtr] = 0; } } void UartInit(void) { P1SEL = BIT1 + BIT2 ; Nhóm 1 // P1.1 = RXD, P1 .2= TXD Page 21 Báo cáo project 2 P1SEL2 = BIT1 + BIT2 ; UCA0CTL1 |= UCSSEL _2; UCA0BR0 = 104; UCA0BR1 = 0; UCA0MCTL = UCBRS0; UCA0CTL1 &= ~UCSWRST; machine** IE2 |= UCA0RXIE; interrupt } bis_SR_register(GIE); // // // // // // P1.1 = RXD, P1 .2= TXD SMCLK 1MHz 9600 1MHz 9600 Modulation UCBRSx = 1 **Initialize... Page 13 Báo cáo project 2 Hình 9: Mạch Layout của nRF24L01 Phần 3: Code Cho MPS430G2553 Và Thiết Kế Mạch 1 Code Cho MPS430G2553 Code xây dựng giao tiếp UART giữa máy tính và MSP430 phát: #pragma vector=USCIAB0RX_VECTOR interrupt void USCI0RX_ISR(void) { unsigned char u8Receive; u8Receive = UCA0RXBUF; if (u8Receive == '\n') { g_u8StartSendFlag = 1; return; } Nhóm 1 Page 14 Báo cáo project 2 if (g_u8UartBufferPtr... tần 2. 4 Ghz - Có 126 kênh - Truyền và nhận dữ liệu - Truyền tốc độ cao 1Mbps hoặc 2 Mbps Công suất phát: - Có thể cài đặt được 4 công suất nguồn phát: 0,-6,- 12, -18 dBm Thu: - Có bộ lọc nhiễu tại đầu thu Khuếch đại bị ảnh hưởng bởi nhiễu thấp (LNA) Nguồn cấp: - Hoạt động từ 1,9 – 3,6V Các chân I/O chạy được cả 3,3 lẫn 5V Giao tiếp: Nhóm 1 Page 12 Báo cáo project 2 - 4 pin SPI Tốc độ tối đa 8Mbps 3- 32. .. u8Length; i++) { while (!(IFG2 & UCA0TXIFG)); buffer ready? UCA0TXBUF = pBuff[i]; character } } 2 // TX -> RXed Code Xây Dựng Hàm Điều Khiển Mạch Thu main.c #include #include "nRF24l01.h" #include "string.h" #include "stdio.h" #include "LCD.h" #define LED_TOGGLE P1OUT ^= BIT0 #define UART_BUFFER_MAX 32 void UartInit(void); Nhóm 1 // USCI_A0 TX Page 22 Báo cáo project 2 void UartSend(unsigned... Tiến Dũng đã tạo mọi điều kiện tốt nhất cho chúng em có thể hoàn thần tốt Project 2 này Nhóm 1 Page 19 Báo cáo project 2 D.Phụ Lục 1 Code Xây Dựng Hàm Điều Khiển Mạch Phát main.c #include #include "nRF24l01.h" #include "string.h" #include "stdio.h" #include "LCD.h" #define LED_TOGGLE #define UART_BUFFER_MAX P1OUT ^= BIT0 32 void UartInit(void); void UartSend(unsigned char* pBuff, unsigned char... main.c (Transmitter) */ void main(void) { Nhóm 1 Page 20 Báo cáo project 2 unsigned long i = 0; unsigned char RxBuf[ 128 ]; WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer BCSCTL1 = CALBC1_1MHZ; DCOCTL = CALDCO_1MHZ; modulation */ // Set range // Set DCO step + P1DIR |= BIT0; P1OUT &= ~BIT0; UartInit(); init_NRF24L01(); SetRX_Mode(); while (1) { if (nRF24L01_RxPacket(RxBuf) == 1) { UartSend(RxBuf, strlen(RxBuf));... RxBuf[ 128 ]; WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer BCSCTL1 = CALBC1_1MHZ; // Set range DCOCTL = CALDCO_1MHZ; // Set DCO step + modulation */ P1DIR |= BIT0; P1OUT &= ~BIT0; UartInit(); Nhóm 1 Page 15 Báo cáo project 2 init_NRF24L01(); SetRX_Mode(); while (1) { if (nRF24L01_RxPacket(RxBuf) == 1) { UartSend(RxBuf, strlen(RxBuf)); SetRX_Mode(); } if (g_u8StartSendFlag == 1) { SetTX_Mode(); nRF24L01_TxPacket(g_pUartBuffer);... đổi thông tin với MPU Có 2 chế độ sử dụng 8 đường bus này : + Chế độ 8 bit : Dữ liệu được truyền trên cả 8 đường, với bit MSB là bit DB7 + Chế độ 4 bit : Dữ liệu được truyền trên 4 đường từ DB4 tới DB7, bit MSB là DB7 A Nguồn dương cho đèn nền K GND cho đèn nền 3 Module thu Giới thiệu Nhóm 1 VEE RS phát nRF24L01 2. 4Ghz Page 11 Báo cáo project 2 Hình 7: Module thu phát nRF24L01 Thông số kỹ thuật... void main(void) { unsigned long i = 0; unsigned char RxBuf[ 128 ]; WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer BCSCTL1 = CALBC1_1MHZ; // Set range DCOCTL = CALDCO_1MHZ; // Set DCO step + modulation */ P1DIR |= BIT0; P1OUT &= ~BIT0; init_NRF24L01(); SetRX_Mode(); Nhóm 1 Page 23 Báo cáo project 2 lcd_init(0); lcd_clear(); while (1) { if (nRF24L01_RxPacket(RxBuf) == 1) { lcd_gotoxy(0,0); lcd_puts("ky ... + BIT2 ; Nhóm // P1.1 = RXD, P1 .2= TXD Page 21 Báo cáo project P1SEL2 = BIT1 + BIT2 ; UCA0CTL1 |= UCSSEL _2; UCA0BR0 = 104; UCA0BR1 = 0; UCA0MCTL = UCBRS0; UCA0CTL1 &= ~UCSWRST; machine** IE2 |=... Giới thiệu Nhóm VEE RS phát nRF24L01 2. 4Ghz Page 11 Báo cáo project Hình 7: Module thu phát nRF24L01 Thông số kỹ thuật Radio: - Hoạt động giải tần 2. 4 Ghz - Có 126 kênh - Truyền nhận liệu - Truyền... project 2 Thiết Kế Mạch Mạch nguyên lý module thu tín hiệu: Nhóm Page 17 Báo cáo project Hình 10: Mạch Nguyên Lý Mạch in: Hình 11: Lớp Top Hình 12: Lớp Bottom Nhóm Page 18 Báo cáo project