Nếu mình dùng 1 PORT để đk LCD thì ok, nhưng nếu mình ko dành PORT đó để đk mà dùng PORT khác làm chức năng RS, RW, EN thì LCD ko chạy đc, mình cũng đã định nghĩa lại nhưng ko thành công. Bác nào có cách thì chỉ dùm mình nhé. ThankS!
Thông báo
Collapse
No announcement yet.
LCD và PIC
Collapse
X
-
Trường hợp này giống của cậu :
http://www.ccsinfo.com/forum/viewtop...er=asc&start=0
Với HTPIC :
http://www.lcdinterfacing.info/Inter...PIC16F877A.php
Comment
-
Sau một thời gian vật lộn với LCD (không lỗi này thì lỗi kia) mình cũng hiển thị được. Tuy nhiên còn một vướng mắc sau:
- Mình dùng PIC16F877A điều khiển LCD. Chân dữ liệu D4-D7 của LCD nối vào chân RD4 - RD7 của PIC. Chân điều khiển R/W nối GND, RS nối RD2, E nối RD0. Chân nguồn Vdd mình điều khiển bằng cách nối với chân RE2 (do khi không dùng LCD thì mình dùng port d làm việc khác).
- Vấn đề là: trong hàm main nếu đặt RE2 = 1 trước khi gọi hàm lcd_init() thì hiển thị bình thường. Nếu chuyển lệnh này ra sau hàm lcd_init() thì LCD hiển thị 1 hàng giống như trường hợp chỉ cấp nguồn, ko gửi dữ liệu, trong khi thử các chân dữ liệu của LCD bằng led thì vẫn thấy nháy (cả 4 chân).
Có bác nào biết được vấn đề này là sao ko?
(Một triệu chứng nữa là: mình có 1 hàm hiển thị LCD, 1 hàm sử dụng port d để hiển thị led đơn. Nếu gọi hàm hiển thị LCD sau hàm hiển thị led đơn thì cũng gặp hiện tượng như trên.)
Comment
-
Nguyên văn bởi whalebeat Xem bài viếtSau một thời gian vật lộn với LCD (không lỗi này thì lỗi kia) mình cũng hiển thị được. Tuy nhiên còn một vướng mắc sau:
- Mình dùng PIC16F877A điều khiển LCD. Chân dữ liệu D4-D7 của LCD nối vào chân RD4 - RD7 của PIC. Chân điều khiển R/W nối GND, RS nối RD2, E nối RD0. Chân nguồn Vdd mình điều khiển bằng cách nối với chân RE2 (do khi không dùng LCD thì mình dùng port d làm việc khác).
- Vấn đề là: trong hàm main nếu đặt RE2 = 1 trước khi gọi hàm lcd_init() thì hiển thị bình thường. Nếu chuyển lệnh này ra sau hàm lcd_init() thì LCD hiển thị 1 hàng giống như trường hợp chỉ cấp nguồn, ko gửi dữ liệu, trong khi thử các chân dữ liệu của LCD bằng led thì vẫn thấy nháy (cả 4 chân).
Có bác nào biết được vấn đề này là sao ko?
(Một triệu chứng nữa là: mình có 1 hàm hiển thị LCD, 1 hàm sử dụng port d để hiển thị led đơn. Nếu gọi hàm hiển thị LCD sau hàm hiển thị led đơn thì cũng gặp hiện tượng như trên.)
Vấn đề của bạn là bạn tham lam quá , tích hợp nhiều thứ trên 1 port ... nên trong phần mềm phải xử lý khéo ( có nhiều trường hợp không thể xử lý được do các trường hợp xung đột nhau ) ... Tuy vậy tôi đoán là của bạn chỉ hiển thị các chức năng tuần tự ... và bạn " yếu " và chưa có nhiều kinh nghiệm về lập trình nên bị tắc.
--- Bạn dùng chân để điều khiển nguồn cho LCD ( có phải khi bạn không dùng LCD bạn sẽ điều khiển chân chân này tắt LCD đi ??? để cho chữ hay LCD không bị loạn ? ).
Nếu có dùng cái này khi bạn dùng LCD bạn phải :
Kích hoạt nguồn trước
RE2 =1 ;
Trễ 1 thời gian ( delay chẳng hạn ... cho chắc ăn )
Rồi mới Init_LCD ();
Cách này làm là đúng ... vì LCD đã cấp điện, khởi động đầy đủ và sẵ sàng Init ( giao tiếp)
--- Còn cách này : Init_LCD(); rồi mới RE2=1 ; .... là sai ( LCD cần cấp điện, các IC cần hoạt động trước khi ... dữ liệu giao tiếp, khởi tạo hoạt động .
/// Còn trường hợp về hàm sau LED ... khi đã tắt điện LCD đi ( bằng chân RE2 ) để thực hiện hàm led trên Port D ... muốn dùng LCD lại thì ... lại phải kích hoạt RE2 ... init LCD ... rồi mới đến cái hàm hiển thịModule RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Đấu tắt điện cho máy tính bảngbởi bqvietBqv cáo lỗi vì chưa đủ khả năng diễn giải để người đọc hiểu. Người làm kỹ thuật sâu đôi khi như thế đó. Về việc nạp pin không vào dù cell mới, khả năng cái mạch quản lý đó đã hỏng - cũng chính là nguyên nhân đám cell cũ hỏng từ đầu.
-
Channel: Thiết bị điện tử cá nhân
06-12-2025, 17:17 -
-
Trả lời cho Xin hỏi về mạch thu FM/AM trong catsettebởi nguyendinhvanTheo tôi, nó chỉ là cái Tuy- ê - nơ, hoặc là khối Trung Văn Tần, nó một phần trong cái Da đì ô thôi. Vì có thấy một chỗ có ba chân hàn, giiống như chân Cờ rít sờ tăng 455 ki nô hẹc. Còn khối Tuy ê nơ thì không nhìn thây cái Di ốt Va di cáp...
-
Channel: Điện thanh
05-12-2025, 19:59 -
-
Trả lời cho Đấu tắt điện cho máy tính bảngbởi afrendlyCó vẻ ngoài hiểu biết của mình rồi. Cuối cùng mình quyết định tìm mua 2 pin trên Shopee, giá 200K thay vào. Tuy nhận pin được 1%, sạc mãi không vào nhưng cũng mở được máy lên. Vậy cũng tạm. Cảm ơn bạn đã hỗ trợ nhé....
-
Channel: Thiết bị điện tử cá nhân
04-12-2025, 01:27 -
-
Trả lời cho Máy điện châm ?bởi nick22Đúng như bạn nói, máy điện châm hiện nay trên thị trường đã khá đa dạng về mẫu mã, chức năng và giá thành.
-
Channel: Điện tử y sinh
01-12-2025, 13:23 -
-
Trả lời cho Làm thế nào để check IC LM358bởi thetungĐể check IC sống hay chết thì đơn giản : bạn lắp cái mạch ( khuếch đại hoặc dao động ) chạy bằng con IC đó ,nhưng vị trí IC thì lắp cái đế .... thế là cứ cắm rút thì biết . Còn không thì kiếm cái này : https://shopee.vn/Xu-M%C3%A1y-ki%E1%...di-%C4%91%E1%B...
-
Channel: Hướng dẫn tìm thông tin linh kiện
28-11-2025, 14:34 -
. Đúng là gà quá.

Comment