Chương trình con Write2Pins() của bạn đang thực hiện ghi bit thấp nhất của nibble ra D7, còn bit cao nhất của nibble ra D4. Tương tự cho các bit còn lại. Đây có thể là lý do khiến chương trình của bạn chạy không đúng ý đồ.
Theo tôi hiểu, chân D7 của bạn (LATE5) đang nối vào chân tương ứng (D7) của module LCD, và tương tự cho các chân còn lại.
Thân,
|