intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

LCD 1602 PIC CSS - vuson.tk

Chia sẻ: Vu Son | Ngày: | Loại File: PDF | Số trang:4

274
lượt xem
126
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Trang cá nhân : http://vn.360plus.yahoo.com/vuvanson_bk/ or vuson.tk Tài liệu tham khảo về vi điều khiển LCD 1602 PIC CSS.

Chủ đề:
Lưu

Nội dung Text: LCD 1602 PIC CSS - vuson.tk

  1. Minhha Technologies www.minhhaco.com Trong 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 = 2 BYTE const LCD_INIT_STRING[4] = {0x20 | (lcd_type
  2. 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 = None
  3. Minhha 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;i
  4. Minhha 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 '\n' : lcd_gotoxy(1,++lcdline); break; case '\b' : 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...\n"); lcd_putc(“Hello Microchip”); while (1) ; }
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2