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

Code giao tiếp msp430g2553 và module thời gian thực bq32000 hiển thị lcd

40 74 0

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 40
Dung lượng 33,18 KB

Nội dung

Code giao tiếp ic TI Msp430g2553 và module thời gian thực BQ32000 hiển thị lcd 1602 HIỂN THỊ THỜI GIAN THỰC LÊN LCD, CÁC BẠN CÓ THỂ DÙNG CODE NÀY ĐỂ PHÁT TRIỂN ĐỀ TÀI LUẬN VĂN, HOẶC CÓ THỀ ỨNG DỤNG NGOÀI THỰC TẾ... LẮP RÁP CHO CÁC NHÀ XƯỞNG, VƯỜN RAU ĐỂ TỰ ĐỘNG HẸN GIỜ TƯỚI TIÊU

CODE GIAO TIẾP MSP430G2553 VÀ MODULE THỜI GIAN THỰC BQ32000 HIỂN THỊ LCD NGUYỄN BỈNH NHÂN 0798186889 https://www.facebook.com/nguyen.binhnhan.9/ File main Giao tiếp LCD tích hợp vào hàm main lun nha… // -//KHAI BAO THU VIEN #include "msp430g2553.h" #include "intrinsics.h" #include "string.h" #include "stdio.h" // -union reg { struct bit { unsigned char b0:1; unsigned char b1:1; unsigned char b2:1; unsigned char b3:1; unsigned char b4:1; unsigned char b5:1; unsigned char b6:1; unsigned char b7:1; }_BIT; unsigned char _BYTE; }; union reg* P2_DIR=(union reg*)0x2a; //khai bao dia chi o nho union reg* P2_OUT=(union reg*)0x29; union reg* P2_SEL=(union reg*)0x2e; union reg* P2_IN=(union reg*)0x28; union reg* P1_SEL=(union reg*)0x26; union reg* P1_DIR=(union reg*)0x22; //khai bao dia chi o nho union reg* P1_OUT=(union reg*)0x21; union reg* P1_IN=(union reg*)0x20; // ======================================== ======================================== ====================================== //KHAI BAO BIEN RTC: int sec=00,min=00,hour=00,set=0, sophut=0, sogio=0, sogio1=0, sophut1=0, sogio2=0, sophut2=0, min_caidat=0, dem=0, temp_caidat_max=0, temp_caidat_min, humi_caidat=0; unsigned char calen[]={'H','B','T','N','S','B','C'}; unsigned char CH_T1[4], CH_T2[4]; // ======================================== ====================================== //DINH NGHIA GIAO TIEP DHT11: //===dinh nghia chan cho DHT11====: #define DHT_IN (P1_IN->_BIT.b7) #define DHT_OUT (P1_OUT->_BIT.b7) #define DHT_DIR (P1_DIR->_BIT.b7) //================================ //BIEN DHT11: unsigned char nhietdo, doam; // ======================================== ====================================== //DINH NGHIA LCD: #define MCLK_F // frequency of Master Clock in MHz / ***************************************************** *********************** * HARD DEFINITIONS ***************************************************** *************************/ /* Display ON/OFF Control definitions */ #define DON 0x0F /* Display on */ #define DOFF 0x0B /* Display off #define CURSOR_ON 0x0F /* Cursor on #define CURSOR_OFF 0x0D /* Cursor off #define BLINK_ON #define BLINK_OFF 0x0F /* Cursor Blink */ */ */ */ 0x0E /* Cursor No Blink */ /* Cursor or Display Shift definitions */ #define SHIFT_CUR_LEFT #define SHIFT_CUR_RIGHT #define SHIFT_DISP_LEFT 0x04 /* Cursor shifts to the left */ 0x05 /* Cursor shifts to the right */ 0x06 /* Display shifts to the left */ #define SHIFT_DISP_RIGHT 0x07 /* Display shifts to the right */ /* Function Set definitions */ #define FOUR_BIT 0x2C /* 4-bit Interface */ #define EIGHT_BIT 0x3C /* 8-bit Interface */ #define LINE_5X7 0x30 /* 5x7 characters, single line */ #define LINE_5X10 0x34 /* 5x10 characters */ #define LINES_5X7 0x38 /* 5x7 characters, multiple line */ // ======================================== ====================== // Your YM1602C 16x2 must be supplied with a voltage between 4.5V-5.5V // However, signal pins can understand 3.3V logic level from MSP430 as '1' // Check your hardware connecting and map it to these definitions below // Map: LCD PIN Output_Port _ out/dir -> Output_Pin #define LCD_RS #define LCD_RS_DIR #define LCD_EN #define LCD_EN_DIR P1_OUT -> _BIT.b0 P1_DIR -> _BIT.b0 P1_OUT -> _BIT.b1 P1_DIR -> _BIT.b1 // This driver just help you to "write" LCD, not to read LCD "status" // So that, you must pull your pin LCD_RW to GND (0V) #define LCD_DATA_4 P1_OUT -> _BIT.b2 #define LCD_DATA_4_DIR P1_DIR -> _BIT.b2 #define LCD_DATA_5 P1_OUT -> _BIT.b3 #define LCD_DATA_5_DIR P1_DIR -> _BIT.b3 #define LCD_DATA_6 P1_OUT -> _BIT.b4 #define LCD_DATA_6_DIR P1_DIR -> _BIT.b4 #define LCD_DATA_7 P1_OUT -> _BIT.b5 #define LCD_DATA_7_DIR P1_DIR-> _BIT.b5 // ======================================== ============ /*or another PINS MAPPING TABLE: #define LCD_RS P2_out -> _bit.b1 #define LCD_RS_DIR #define LCD_EN P2_dir -> _bit.b1 P2_out -> _bit.b2 #define LCD_EN_DIR P2_dir -> _bit.b2 #define LCD_DATA_4 P2_out -> _bit.b4 #define LCD_DATA_4_DIR P2_dir -> _bit.b4 #define LCD_DATA_5 P2_out -> _bit.b5 #define LCD_DATA_5_DIR P2_dir -> _bit.b5 #define LCD_DATA_6 P1_out -> _bit.b6 #define LCD_DATA_6_DIR P1_dir -> _bit.b6 #define LCD_DATA_7 P1_out -> _bit.b7 #define LCD_DATA_7_DIR P1_dir -> _bit.b7 */ /**************************************************** ************************ * MODULE PRIVATE FUNCTIONS: * void lcd_delay_us (unsigned long t); * void lcd_delay_ms (unsigned long t); * void lcd_put_byte(unsigned char rs, unsigned char data); * ***************************************************** *************************/ // ======================================== ====================================== //DINH NGHIA I2C: //I2C PIN CONFIG: #define SCL BIT1 #define SDA BIT0 // #define P2 P2IN // #define SCL_1 #define SCL_0 P2OUT |= SCL // P2OUT &= ~SCL // #define SCLdir_1 P2DIR |= SCL // #define SCLdir_0 P2DIR &= ~SCL // #define SDA_1 #define SDA_0 P2OUT |= SDA // P2OUT &= ~SDA // #define SDAdir_1 P2DIR |= SDA // #define SDAdir_0 P2DIR &= ~SDA // // ======================================== ====================================== //CHUONG TRINH DELAY: void delay_ms(unsigned int ms){ while(ms ){ delay_cycles(1000); } } unsigned int value; //================================ void lcd_delay_us (unsigned long t) { int i; for (i = 0; i

Ngày đăng: 23/08/2023, 17:58

w