[Thắc mắc] Chống nhiễu cho LCD

Kisses Hacker

Art Supporter
Staff member
Sử dụng LCD 16x2 để hiển thị, theo dõi kết quả một cách trực quan, sinh động là việc cực kỳ quen thuộc của tất cả chúng ta :D

Nhưng từ trước đến giờ có một hiện tượng rất khó chịu của LCD mà mình chưa hiểu và chưa biết cách khắc phục, đó là tình trạng nhiễu, LCD hiện toàn tiếng Tây tiếng Tàu cóc nhái ễnh ương loằng ngoằng, phải reset mạch (có khi phải reset nhiều lần) thì mới trở lại bình thường :-( Thường xảy ra ngay lúc nạp code cho MCU hoặc tệ hơn là trong lúc đang chạy, và nếu ứng dụng cần khảo sát trong một khoảng thời gian dài thì việc reset là một thảm họa :5cool_beat_plaster:

Vậy chúng ta, những con người nghiên cứu, lăn lộn, ăn nằm với khoa học, hàng ngày đối mặt với điện và tử, chúng ta làm sao để khắc phục tình trạng này đây mọi người :doc
 
các tốt nhất là để WDT cho các ứng dụng chạy trong thời gian dài để lâu lâu MCU reset, hoặc tắt LCD lúc nạp đi. có hợp lý ko?
 

Tan Sy Nguyen

Cố Vấn CLB
Staff member
anh có xài LCD 20x4 trong LV, cũng bị trường hợp này. Em thử sử dụng 1 nguồn riêng cho LCD chạy rồi nối mass chung 2 bên thử xem. Có 1 lần nào đó anh làm vậy mà nó ko bị, ko biết có hên xui ko.
 

MMKC

Thành Viên PIF
Sử dụng LCD 16x2 để hiển thị, theo dõi kết quả một cách trực quan, sinh động là việc cực kỳ quen thuộc của tất cả chúng ta :D

Nhưng từ trước đến giờ có một hiện tượng rất khó chịu của LCD mà mình chưa hiểu và chưa biết cách khắc phục, đó là tình trạng nhiễu, LCD hiện toàn tiếng Tây tiếng Tàu cóc nhái ễnh ương loằng ngoằng, phải reset mạch (có khi phải reset nhiều lần) thì mới trở lại bình thường :-( Thường xảy ra ngay lúc nạp code cho MCU hoặc tệ hơn là trong lúc đang chạy, và nếu ứng dụng cần khảo sát trong một khoảng thời gian dài thì việc reset là một thảm họa :5cool_beat_plaster:

Vậy chúng ta, những con người nghiên cứu, lăn lộn, ăn nằm với khoa học, hàng ngày đối mặt với điện và tử, chúng ta làm sao để khắc phục tình trạng này đây mọi người :doc
Cái này hồi đó a cũng gặp tình trạng này hồi mới học LCD.
A để ý hầu hết code LCD mọi người viết trên mạng đều dùng Delay để xét xem LCD có rãnh không. Thời gian delay LCD đều có trong Datasheet của nhà sản xuất. Vì vậy, nếu delay không đúng sẽ không có sự đồng bộ giữa MUC và LCD => dẫn đến kết quả có thể sai, dễ nhất là em cứ bấm reset liên tục thì thấy LCD sẽ hiển thị sai.
Trong khi có LCD có một cờ Busy Flag để kiểm tra LCD có rãnh hay không( đa số mọi người hình như cắm xuống GND luôn ).
Em có thể tham khảo http://www.hocavr.com/index.php/en/app/textlcd để viết driver cho LCD
Không biết chém đúng chỗ không chứ a chưa code. :((

Em nghĩ PIF nên cho học luôn LCD của a bên hshopvn, giá ngang = LCD, mà nhiều chức năng hơn
 

nguyenquoctrung-hhk

Thành Viên PIF
theo mình nghĩ thì do một số chân input không được cấp mức logic (cái này học điện tử số thầy mình có nói) nên có thể gây ra nhiễu và hiện tùm lum, ngoài ra LCD mình mua cũng không rõ ràng về nguồn gốc ( đại khái là hàng trôi nổi :D) nên cũng không đảm bảo về chất lượng.
Lúc trước mình có làm đồ án cũng liên quan đến LCD, cách mình làm là cho các chân D0-D7 gắn với điện trở thanh (cỡ 10k) và kéo lên Vcc, chạy tốt, chưa thấy nhiễu :1cool_byebye:
 
Top