LCD 1602 PIC CSS - vuson.tk
Số trang: 4
Loại file: pdf
Dung lượng: 123.25 KB
Lượt xem: 12
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Trang cá nhân : http://vn.360plus.yahoo.com/vuvanson_bk/ or vuson.tkTài liệu tham khảo về vi điều khiển LCD 1602 PIC CSS.
Nội dung trích xuất từ tài liệu:
LCD 1602 PIC CSS - vuson.tkMinhha Technologies www.minhhaco.comTrong ví dụ sau sử dụng CCS làm trình biên dịch#include #fuses HS,NOWDT,NOPROTECT,NOLVP#use delay(clock=20000000) // Sử dụng Crystal 20 MHz// Định nghĩa các chân cho LCD như sau// Dùng điều khiển 4 bit ( 4 bit cao D4 đến D7)// PIN_B0 ENABLE// PIN_B1 RS// PIN_B2 RW// PIN_B4 D4// PIN_B5 D5// PIN_B6 D6// PIN_B7 D7// Chân D0-D3 Không sử dụng// Chân RB3 của PIC cũng không sử dụng// Định nghĩa struct của LCD tương ứng với các bit//-------------------------------------------------------------------------struct lcd_pin_map{ BOOLEAN ENABLE; // on to an I/O port to gain BOOLEAN RS; // access to the LCD pins. BOOLEAN RW; // The bits are allocated from BOOLEAN unused; // low order up. ENABLE will Int8 data : 4; // be pin B0. } lcd;#byte lcd = 6 // Sử dụng Port B của PIC16F877A. Nếu dùng loại khác cần thay //đổi giá trị này ( Xem datasheet để sửa đổi)#define lcd_type 2 // LCD1602 lcd_type = 2BYTE const LCD_INIT_STRING[4] = {0x20 | (lcd_type Minhha Technologies www.minhhaco.com{ BYTE low,high; set_tris_b(LCD_READ); // Set D4 - D7 là input lcd.RW = 1; delay_cycles(1); lcd.ENABLE = 1; delay_cycles(1); high = lcd.data; // Đọc 4 bít cao lcd.ENABLE = 0; delay_cycles(1); lcd.enable = 1; delay_us(1); low = lcd.data; // Đọc 4 bit thấp lcd. ENABLE = 0; set_tris_b(LCD_WRITE); // Set D4 - D7 là output return( (high 4); lcd_send_nibble(n & 0xf);}//-------------------------------------------------------------------------// Hàm init cho LCD. Khi bật nguồn cần INIT thì LCD mới hoạt động// Input = NoneMinhha Technologies www.minhhaco.com// Output = None//-------------------------------------------------------------------------void lcd_init() { BYTE i; set_tris_b(LCD_WRITE); // D4 -D7 = output lcd.RS = 0; lcd.RW = 0; lcd.ENABLE = 0; delay_ms(15); // Chờ cho LCD sẵn sàng từ khi bật nguồn. // Xem datasheet để biết thời gian trễ for(i=1;iMinhha Technologies www.minhhaco.com{ switch (c) { case f : lcd_send_byte(0,1); lcdline=1; delay_ms(2); // Xem datasheet để có thêm chi tiết break; case : lcd_gotoxy(1,++lcdline); break; case : lcd_send_byte(0,0x10); break; default : lcd_send_byte(1,c); break; }}//-------------------------------------------------------------------------// Đọc 1 ký tự từ LCD tại toạ độ X,Y// Thường dùng để kiểm tra LCD hay Update LCD// Sẽ tận dụng được bộ nhớ của MCU do không phải lưu giá trị tại MCU//-------------------------------------------------------------------------char lcd_getc( BYTE x, BYTE y){ char value; lcd_gotoxy(x,y); // Chuyển con trỏ tới toạ độ X,Y lcd.RS =1; value = lcd_read_byte(); lcd.RS =0; return(value);}void main(){ char k; lcd_init(); lcd_putc(fReady... ); lcd_putc(“Hello Microchip”); while (1) ;}
Nội dung trích xuất từ tài liệu:
LCD 1602 PIC CSS - vuson.tkMinhha Technologies www.minhhaco.comTrong ví dụ sau sử dụng CCS làm trình biên dịch#include #fuses HS,NOWDT,NOPROTECT,NOLVP#use delay(clock=20000000) // Sử dụng Crystal 20 MHz// Định nghĩa các chân cho LCD như sau// Dùng điều khiển 4 bit ( 4 bit cao D4 đến D7)// PIN_B0 ENABLE// PIN_B1 RS// PIN_B2 RW// PIN_B4 D4// PIN_B5 D5// PIN_B6 D6// PIN_B7 D7// Chân D0-D3 Không sử dụng// Chân RB3 của PIC cũng không sử dụng// Định nghĩa struct của LCD tương ứng với các bit//-------------------------------------------------------------------------struct lcd_pin_map{ BOOLEAN ENABLE; // on to an I/O port to gain BOOLEAN RS; // access to the LCD pins. BOOLEAN RW; // The bits are allocated from BOOLEAN unused; // low order up. ENABLE will Int8 data : 4; // be pin B0. } lcd;#byte lcd = 6 // Sử dụng Port B của PIC16F877A. Nếu dùng loại khác cần thay //đổi giá trị này ( Xem datasheet để sửa đổi)#define lcd_type 2 // LCD1602 lcd_type = 2BYTE const LCD_INIT_STRING[4] = {0x20 | (lcd_type Minhha Technologies www.minhhaco.com{ BYTE low,high; set_tris_b(LCD_READ); // Set D4 - D7 là input lcd.RW = 1; delay_cycles(1); lcd.ENABLE = 1; delay_cycles(1); high = lcd.data; // Đọc 4 bít cao lcd.ENABLE = 0; delay_cycles(1); lcd.enable = 1; delay_us(1); low = lcd.data; // Đọc 4 bit thấp lcd. ENABLE = 0; set_tris_b(LCD_WRITE); // Set D4 - D7 là output return( (high 4); lcd_send_nibble(n & 0xf);}//-------------------------------------------------------------------------// Hàm init cho LCD. Khi bật nguồn cần INIT thì LCD mới hoạt động// Input = NoneMinhha Technologies www.minhhaco.com// Output = None//-------------------------------------------------------------------------void lcd_init() { BYTE i; set_tris_b(LCD_WRITE); // D4 -D7 = output lcd.RS = 0; lcd.RW = 0; lcd.ENABLE = 0; delay_ms(15); // Chờ cho LCD sẵn sàng từ khi bật nguồn. // Xem datasheet để biết thời gian trễ for(i=1;iMinhha Technologies www.minhhaco.com{ switch (c) { case f : lcd_send_byte(0,1); lcdline=1; delay_ms(2); // Xem datasheet để có thêm chi tiết break; case : lcd_gotoxy(1,++lcdline); break; case : lcd_send_byte(0,0x10); break; default : lcd_send_byte(1,c); break; }}//-------------------------------------------------------------------------// Đọc 1 ký tự từ LCD tại toạ độ X,Y// Thường dùng để kiểm tra LCD hay Update LCD// Sẽ tận dụng được bộ nhớ của MCU do không phải lưu giá trị tại MCU//-------------------------------------------------------------------------char lcd_getc( BYTE x, BYTE y){ char value; lcd_gotoxy(x,y); // Chuyển con trỏ tới toạ độ X,Y lcd.RS =1; value = lcd_read_byte(); lcd.RS =0; return(value);}void main(){ char k; lcd_init(); lcd_putc(fReady... ); lcd_putc(“Hello Microchip”); while (1) ;}
Tìm kiếm theo từ khóa liên quan:
vi điều khiển vi xử lý LCD 1602 PIC CSS cách sử dụng CSS trình biên dịchGợi ý tài liệu liên quan:
-
Chuyên đề: Nghiên cứu Ngôn ngữ hình thức, Văn phạm phi ngữ cảnh và Automata đẩy xuống
84 trang 348 0 0 -
Đề cương chi tiết học phần Vi xử lý
12 trang 280 0 0 -
Giáo trình Vi điều khiển (Nghề: Cơ điện tử - Trình độ: Cao đẳng) - Trường Cao đẳng nghề Ninh Thuận
127 trang 256 0 0 -
Báo cáo môn học vi xử lý: Khai thác phần mềm Proteus trong mô phỏng điều khiển
33 trang 171 0 0 -
Giáo trình Vi điều khiển (Nghề: Điện công nghiệp - Cao đẳng) - Trường Cao đẳng Cơ giới (2022)
144 trang 154 0 0 -
Báo cáo môn Vi xử lý - TÌM HIỂU VỀ CÁC BỘ VI XỬ LÝ XEON CỦA INTEL
85 trang 150 0 0 -
Báo cáo bài tập lớn môn Kỹ thuật vi xử lý: Thiết kế mạch quang báo - ĐH Bách khoa Hà Nội
31 trang 130 0 0 -
Đề cương chi tiết học phần Vi điều khiển
15 trang 126 0 0 -
Ứng dụng vi điều khiển PIC 16F877A trong thí nghiệm vật lí phổ thông
12 trang 116 0 0 -
Bài tập lớn môn Vi xử lý, vi điều khiển: Thiết kế bộ điều khiển tốc độ của động cơ điện một chiều
27 trang 112 0 0