![]() |
|
![]() |
#1 |
Đệ tử 1 túi
Tham gia ngày: Jul 2011
Bài gửi: 25
: |
hom nay em làm tiếp tới lcd nhưng sao nó hok chạy
http://www.picvietnam.com/forum//sho...0&postcount=51 làm theo code này và chan em nối 1;gnd 2;vcc 3;chia ap ra 2.5v câu vào 4,5,6 d0->d2 7.8.9.10.11.12.13.14. 15 len vcc 16 đất nhưng sao em nạp vào nó chỉ sáng chứ hok ra chữ em đổi xt->hs rồi dùng #use delay(clock=12000000) Các bác cho hỏi em làm như thế đúng chưa |
![]() |
![]() |
![]() |
#2 | |
Đệ tử 7 túi
Tham gia ngày: May 2005
Bài gửi: 258
: |
Trích:
Code:
/*----------------------------------------------------------------------------- * Author : nhh * Date : 05/04/06 * Hardware : PIC16F877A * Compiler : CCS C 3.249 * Description : Hien thi LCD *=============================================================================*/ #include <16F877A.h> #include <DEFS_16F877A.h> #fuses XT,NOWDT,NOPROTECT,NOLVP #use delay(clock=4000000) #define RS RD0 #define RW RD1 #define E RD2 #define LCD PORTB const unsigned char key[]="HELLOPICVIETNAM!"; int i = 0; /*Ham yeu cau goi lenh dieu khien LCD*/ void comnwrt(void) { RS = 0; RW = 0; E = 1; delay_ms(1); E = 0; delay_ms(1); } /*Ham yeu cau goi du lieu hien thi len LCD*/ void datawrt(void) { RS = 1; RW = 0; E = 1; delay_ms(1); E = 0; delay_ms(1); } /*Ham main*/ void main(void) { set_tris_B(0); set_tris_D(0); delay_ms(100); // Tao tre 100ms cho LCD khoi dong LCD = 0x38; // Hai hang, ma tran dot 5*7, 8 bit interface comnwrt(); LCD = 0x0C; // Bat hien thi, tat con tro comnwrt(); LCD = 0x86; // Vi tri hang 1,cot 7 comnwrt(); while(true) { LCD = key[i]; datawrt(); delay_ms(100); i++; if(i==5) // Hien thi xong HELLO { LCD = 0xC3; // Vi tri hang 2,cot 4 comnwrt(); delay_ms(100); } if(i==16) // Hien thi xong PICVIETNAM! { delay_ms(1100); LCD = 0x01; // Xoa man hinh hien thi comnwrt(); delay_ms(500); LCD = 0x86; // Vi tri hang 1,cot 7 comnwrt(); i = 0; } } }
__________________
viết chương trình cho vdk chạy ổn định là cả một vấn đề. |
|
![]() |
![]() |
![]() |
Ðiều Chỉnh | |
Xếp Bài | |
|
|