![]() |
|
Tài trợ cho PIC Vietnam |
Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC |
![]() |
|
Ðiều Chỉnh | Xếp Bài |
|
![]() |
#1 |
Đệ tử 1 túi
Tham gia ngày: Mar 2011
Bài gửi: 14
: |
giúp cái LCD mấy bạn
cái này là code:
#include <18f4680.h> #include <def_877a.h> #FUSES NOWDT, XT, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT #use delay(clock=12000000) #include <lcd_lib_4bit.c> void main() { set_tris_c(0b11111000); LCD_Init(); LCD_SetPosition(0x00+4); Printf(LCD_putchar,"TAN PHAP"); LCD_putcmd(0xC0); LCD_SetPosition(0x40+1); Printf(LCD_putchar,"DTVT09C TEXTLCD"); } test phần cứng sao lại ko ra chữ gì hêt |
![]() |
![]() |
![]() |
#2 | |
Đệ tử 7 túi
Tham gia ngày: May 2005
Bài gửi: 258
: |
Trích:
cấu hình lại chân trong <lcd_lib_4bit.c> #define LCD_RS PIN_C2 #define LCD_RW PIN_C1 #define LCD_EN PIN_C0 #define LCD_D4 PIN_D4 #define LCD_D5 PIN_D5 #define LCD_D6 PIN_D6 #define LCD_D7 PIN_D7
__________________
viết chương trình cho vdk chạy ổn định là cả một vấn đề. |
|
![]() |
![]() |
![]() |
#3 |
Đệ tử 2 túi
|
chạy bình thường mà bạn, co thấy lỗi gì đâu.
__________________
------------------Tham gia diễn đàn với tinh thần: HỌC HỎI LÀ CHÍNH---------------------- |
![]() |
![]() |
![]() |
#4 |
Đệ tử 1 túi
Tham gia ngày: Aug 2007
Bài gửi: 16
: |
- Viết code trong CCS thì không cần lệnh set_tris nếu không có khai báo #USE io_fast(port).
- Theo Thanh Lâm thấy bạn khai báo thạch anh 12M vậy ở chỗ FUSE phải là HS(>4M) chứ không phải XT(<=4M). - Một vấn đề nữa là trong CCS thư viện #include <def_877a.h> (thư viện người sử dụng định nghĩa) cũng không cần đến, vì gần như CCS đã hỗ trợ hết các chân cổng. Bạn thắc mắc chỗ nào hãy mail cho TL. Thân! |
![]() |
![]() |
![]() |
#5 |
Đệ tử 1 túi
Tham gia ngày: Mar 2011
Bài gửi: 14
: |
DO MÌNH NẠP RA PHẦN CỨ THÌ MÀN HÌNH lcd CỨ XANH LÈ.HĨ
|
![]() |
![]() |
![]() |
#6 |
Đệ tử 2 túi
Tham gia ngày: Nov 2010
Bài gửi: 38
: |
|
![]() |
![]() |
![]() |
#7 |
Đệ tử 2 túi
Tham gia ngày: Nov 2010
Bài gửi: 38
: |
Mình sử dụng driver lcd_lib_4bit.c thì hiển thị được rồi. Còn dùng driver lcd.c có sẵn thì vẫn chưa hiển thị được ai giúp mình với. Sơ đồ chân kết nối của mình với LCD như sau
LCD_ENABLE_PIN PIN_D0 LCD_RS_PIN PIN_D1 LCD_RW_PIN PIN_D2 LCD_DATA4 PIN_D4 LCD_DATA5 PIN_D5 LCD_DATA6 PIN_D6 LCD_DATA7 PIN_D7 Trong file lcd.c có nói đến lệnh #define LCD_DATA_PORT getenv("SFR:PORTD") giải thích mình cái này luôn [code] #include <16F887.h> #device *=16 adc=8 #fuses HS,NOWDT,NOPROTECT,NOLVP #use delay(clock=4000000) #include <lcd.c> #define LCD_ENABLE_PIN PIN_D0 #define LCD_RS_PIN PIN_D1 #define LCD_RW_PIN PIN_D2 #define LCD_DATA4 PIN_D4 #define LCD_DATA5 PIN_D5 #define LCD_DATA6 PIN_D6 #define LCD_DATA7 PIN_D7 void main() { LCD_init(); LCD_putc("N"); } [code/] |
![]() |
![]() |
![]() |
Ðiều Chỉnh | |
Xếp Bài | |
|
|