PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Cơ bản về vi điều khiển và PIC (http://www.picvietnam.com/forum/forumdisplay.php?f=8)
-   -   Trục trặc với LCD (http://www.picvietnam.com/forum/showthread.php?t=4684)

mingkang 02-08-2009 11:00 PM

Trục trặc với LCD
 
Mình vừa mua LCD TC1602A-09, về đem gắn vào mạch cùng mới con PIC6F877A, viết chương trình xuất dòng chữ "Mr.Khang", nạp vào PIC, rồi gắn vào mạch chạy thử thì LCD không xuất hiện dòng chữ nào, màn hình chỉ sáng nền LED thôi, chạy trên mô phỏng thì OK, có phải LCD bị hư không ?
Phần cứng đấu nối như hình bên dưới:
http://upanh.com/uploads/02-Aug-2009...fvsrx5v346.jpg
Đoạn chương trình đơn giản:
Code:

#include "16F877A.h"

#use delay(clock=4000000)

#FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT
#include <LCD.C>

void main(void)
{
  set_tris_d(0x00);
  lcd_init();
  printf(lcd_putc,"Mr.Khang"); 
 }

Xin được giúp đỡ. Thanks trước.

phamminhtuan 02-08-2009 11:28 PM

Bạn chỉnh điện áp ngõ ra ở chân Vo hay Vee gì đó, điều chỉnh ở độ đậm nhạt của LCD, có thể là do quá mờ mà bạn không thể thấy.

vidieukhiencdn 02-08-2009 11:34 PM

1 Attachment(s)
Bạn thử test = file này xem LCD bạn có sd được ko?

mingkang 03-08-2009 12:04 AM

Trích:

Nguyên văn bởi vidieukhiencdn (Post 28305)
Bạn thử test = file này xem LCD bạn có sd được ko?

hình như file này đấu nối chân khác kiểu của mình phải không ?

mingkang 03-08-2009 12:14 AM

Trích:

Nguyên văn bởi vidieukhiencdn (Post 28305)
Bạn thử test = file này xem LCD bạn có sd được ko?

Tình hình là đã chỉnh sửa mã nguồn cho phù hợp với cách đấu nối chân của mạch của mình, biên dịch lại rùi chạy vẫn không thấy gì...hic

nvtiep3ik50hut 09-08-2009 06:23 PM

Theo mình cái phần khai báo:
#FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT
Bạn thử sửa thành như này xem:
#FUSES HS,NOWDT,PUT,NOPROTECT,NOLVP

nhoczin 09-08-2009 08:32 PM

Mình cho rằng đây là lỗi phần cứng nhiều hơn, bạn ktra LCD bằng cách xóa hết chương trình trên PIC đi, cắm thẳng chân VEE xuống đất, nếu nó hiện dòng 1 toàn ô 5x7 màu đen là ok, LCD vẫn còn chạy, tiếp đó kiểm tra các chân cẳng, dây dợ xem có bị lỏng hay bị chập ko.

nbb3i 11-08-2009 02:38 AM

1 Attachment(s)
Trích:

Nguyên văn bởi nhoczin (Post 28506)
Mình cho rằng đây là lỗi phần cứng nhiều hơn, bạn ktra LCD bằng cách xóa hết chương trình trên PIC đi, cắm thẳng chân VEE xuống đất, nếu nó hiện dòng 1 toàn ô 5x7 màu đen là ok, LCD vẫn còn chạy, tiếp đó kiểm tra các chân cẳng, dây dợ xem có bị lỏng hay bị chập ko.

Sau khi đảm bảo rằng thằng LCD ko vấn đề gì thì bạn gắn thêm 1 con biến trở (loại vi chỉnh 10K hoặc 20K). Chân giữa của con biến trở gắn vào chân VEE rồi bắt đầu vặn :D đến khi nào dòng thứ nhất của LCD xuất hiện màu đen mờ mờ (nếu đậm quá thì vặn ngược lại cho nó nhạt bớt. Rồi sau đó kiểm tra 7 dây tín hiệu còn lại xem từ LCD tới PIC nó đã thông chưa (đừng kiểm tra bằng mắt nhé:D). Đảm bảo nối dây đúng như khai báo trong PIC rồi thì bạn nạp chương trình đã nạp trên Proteus xuống PIC rồi xem kết quả.
Nếu chữ của bạn xuất hiện thì bạn chỉnh lại cái biến trở sao cho chữ hiện lên nét nhất là được. Còn nếu nó ko xuất hiện thì tớ cũng pó tay. Lấy cái búa ra phang cho vài phát rồi đi mua PIC mới LCD mới :D
http://www.picvietnam.com/forum/atta...1&d=1249929844

vo_cam 11-08-2009 05:28 PM

Trích:

Nguyên văn bởi mingkang (Post 28307)
hình như file này đấu nối chân khác kiểu của mình phải không ?

điều chỉnh điện áp chân VEE của LCD, để độ tương phản đủ cho bạn nhìn thấy ký tự hiển thị trên LCD.Chúc thành công!

sonduy1 11-08-2009 06:52 PM

bạn thử cho chân RW nối mass thử.

ranhcon 13-08-2009 01:06 PM

bác nối chân VEE (3) xuống GND (1) chạy ok ngay, mạch của bác chắc là vẫn chạy nhưng vì ko chỉnh được contrast nên mình không nhìn thấy.
mà sao bác không dùng lệnh lcd_putc("mr khang"); nhỉ

nghia_tdh21 13-08-2009 04:10 PM

không biết bạn dùng mạch nạp loại nào, khi nạp bạn phải nhớ cấu hình bộ dao động cho đúng thì mới chạy.
Mình không cấu hình bằng dòng khai báo theo kiểu #FUSE...
Mình thường cấu hình cho pic ở trên chương trình nạp.

trongtuan_1109 20-09-2010 11:19 PM

Trích:

Nguyên văn bởi nbb3i (Post 28539)
Sau khi đảm bảo rằng thằng LCD ko vấn đề gì thì bạn gắn thêm 1 con biến trở (loại vi chỉnh 10K hoặc 20K). Chân giữa của con biến trở gắn vào chân VEE rồi bắt đầu vặn :D đến khi nào dòng thứ nhất của LCD xuất hiện màu đen mờ mờ (nếu đậm quá thì vặn ngược lại cho nó nhạt bớt. Rồi sau đó kiểm tra 7 dây tín hiệu còn lại xem từ LCD tới PIC nó đã thông chưa (đừng kiểm tra bằng mắt nhé:D). Đảm bảo nối dây đúng như khai báo trong PIC rồi thì bạn nạp chương trình đã nạp trên Proteus xuống PIC rồi xem kết quả.
Nếu chữ của bạn xuất hiện thì bạn chỉnh lại cái biến trở sao cho chữ hiện lên nét nhất là được. Còn nếu nó ko xuất hiện thì tớ cũng pó tay. Lấy cái búa ra phang cho vài phát rồi đi mua PIC mới LCD mới :D
http://www.picvietnam.com/forum/atta...1&d=1249929844

Bạn ơi cho mình hỏi sao mình xem datasheet con LCD TC1602A thì nó ko có hướng dẫn cách nối dây như file đính kèm của bạn vậy?
Bạn nào biết thì giúp mình nhé

kidmaster08 21-09-2010 08:41 AM

các bạn ơi cho mình hỏi về lệnh của 16f877a
những lệnh nào có 1 chu kỳ lệnh
những lệnh nào cần 2
lệnh ý mình muốn nói đến là lệnh asm ấy.mình thích ngôn ngữ này hơn vì nó giúp mình kiểm soát được hệ thống

ilusmmf 17-12-2010 01:11 AM

1 Attachment(s)
mình coppy đoạn code và phần cứng trong micro c và biên dịch trên micro c
char *text = "mikroElektronika";

void main() {
TRISB = 0; // PORTB is output
Lcd_Custom_Config(&PORTB,7,6,5,4,&PORTB,2,0,3); // Initialize LCD on PORTB
Lcd_Custom_Cmd(Lcd_CURSOR_OFF); // Turn off cursor
Lcd_Custom_Out(1, 1, text); // Print text at LCD
}

mô phỏng trên protues thì chạy rồi nhưng khi làm mạch thực thì chỉ thấy một màng hình 16x2 ô màu đen.( 2 chân a, k của lcd chân 16-gnd, chân 15 qua trở 330 nối lên 5 V).Chỉnh biến trở thì độ đậm nhạt có thay đổi nhưng chữ vẫn không hiện. Mình đã kiểm tra con Pic 16f877a bằng cách cho chương trình chạy led đơn giản thì vẫn chạy tốt, sợ lcd hư nên mượn lcd của đứa bạn kiểm tra thử vẫn bị tình trạng như trên. Mình không biết phải làm gì nữa, mong được sự giúp đỡ, mình rất cảm ơn.
mình nạp mạch bằng win pic 800 ở trên có bạn chỉ phải chỉnh lại khi nạp mạch, cho mình hỏi rõ là chỉnh như thế nào ạ.


Múi giờ GMT. Hiện tại là 09:02 AM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam