các anh xem giùm em sao em không hiển thị được kí tự lên lcd lệnh điều khiển thỉ nhận được mà không hiển thị được kí tự các anh xem giúp code em có viết sai chổ nào không
Lcd16x2(LM016L)giao tiếp với 89c51?
Collapse
X
-
Tags: None
-
không ai giúp em à
#include <REGX51.H>
#include <stdio.h>
#include <string.h>
sbit BS=P0^7;
sbit RS=P2^7;
sbit RW=P2^6;
sbit EN=P2^5;
sbit a=P1^0;
sbit b=P1^1;
sbit c=P1^2;
sbit d=P1^3;
sbit e=P1^4;
sbit f=P1^5;
#define PortData P0
//--------------control LCD--------------------------
#define Clear 0x01
#define BackTopLine 0x02
#define MovePointerLeft 0x04
#define MoveDisplayRight 0x05
#define MovePointerRight 0x06
#define MoveDisplayLeft 0x07
#define OffPointerOffDisplay 0x08
#define OffDisplayOnPointer 0x0a
#define OnDisplayOffPointer 0x0c
#define OnDisplayFlashingPointer 0x0e
#define OffPointerFlashingPointer 0x0f
#define MovePositionCursorLeft 0x10
#define MovePositionCursorRight 0x14
#define MoveDisplayEntireLeft 0x18
#define MoveDisplayEntireRight 0x1c
#define PressCursorBeginline1 0x80
#define PressCursorBeginline2 0xc0
#define TwoLineAndMatrix5x7 0x38
//-------------------------------------------------------
void BusyLcd();
void ControlLcd(unsigned char Code);
void WriteLcd(char Code);
void Delay(int t);
void KTlcd();
void SanKey();
//------------------------------------------------
void Delay(int t)
{
while(t--);
}
void ControlLcd(unsigned char Code)
{
PortData=Code;
RS=0;
RW=0;
EN=1;
EN=0;
// BusyLcd();
}
void WriteLcd(char Code)
{
PortData=Code;
RS=1;
RW=0;
EN=1;
EN=0;
// BusyLcd();
}
//void BusyLcd()
//{
// RS=0;
// RW=1;
// PortData=0xff;
// while(BS)
// {
// EN=0; Delay(1);
// EN=1;
// }
//}
void KTlcd()
{
ControlLcd(0x38);
ControlLcd(0x0e);
ControlLcd(0x01);
//ControlLcd(0x06);
// ControlLcd(0x1c);
}
void main()
{
KTlcd();
WriteLcd('1');
WriteLcd('2');
WriteLcd('3');
WriteLcd('4');
WriteLcd('5');
WriteLcd('6');
WriteLcd('7');
WriteLcd('8');
WriteLcd('9');
}
-
em chạy mô phònh mà nó hông ra chử được lệnh điều khiển thỉ nhận mà không xuất chữ được mấy pác xem giúp code mình viết sai ở đâu
#include <REGX51.H>
#include <stdio.h>
#include <string.h>
sbit BS=P0^7;
sbit RS=P2^7;
sbit RW=P2^6;
sbit EN=P2^5;
#define PortData P0
//--------------control LCD--------------------------
#define Clear 0x01
#define BackTopLine 0x02
#define MovePointerLeft 0x04
#define MoveDisplayRight 0x05
#define MovePointerRight 0x06
#define MoveDisplayLeft 0x07
#define OffPointerOffDisplay 0x08
#define OffDisplayOnPointer 0x0a
#define OnDisplayOffPointer 0x0c
#define OnDisplayFlashingPointer 0x0e
#define OffPointerFlashingPointer 0x0f
#define MovePositionCursorLeft 0x10
#define MovePositionCursorRight 0x14
#define MoveDisplayEntireLeft 0x18
#define MoveDisplayEntireRight 0x1c
#define PressCursorBeginline1 0x80
#define PressCursorBeginline2 0xc0
#define TwoLineAndMatrix5x7 0x38
//-------------------------------------------------------
void BusyLcd();
void ControlLcd(unsigned char Code);
void WriteLcd(char Code);
void Delay(int t);
//------------------------------------------------
void Delay(int t)
{
while(t--);
}
void ControlLcd(unsigned char Code)
{
PortData=Code;
RS=0;
RW=0;
EN=1; Delay(1);
EN=0;
// BusyLcd();
}
void WriteLcd(char Code)
{
PortData=Code;
RS=1;
RW=0;
EN=1; Delay(1);
EN=0;
// BusyLcd();
}
void BusyLcd()
{
RS=0;
RW=1;
PortData=0xff;
while(BS)
{
EN=0; Delay(1);
EN=1;
}
}
void main()
{
ControlLcd(0x38); Delay(100);
ControlLcd(0x0e); Delay(100);
ControlLcd(0x01); Delay(100);
ControlLcd(0x80); Delay(50000);
ControlLcd(0x0c);Delay(50000);
WriteLcd(0x61);Delay(50000);
while(1);
}
Comment
-
diễn đàn này chắc tế mấy pác cao thủ chắc còn cóc ké thì quăng sang 1 bênNguyên văn bởi aphu Xem bài viếtÔng in cái bản vẽ của ông ra thành file pdf, nhiều người coi được mới giúp được cho ông, ai ở không đâu mà đi cài phần mềm rồi coi cho ông mà giúp ông được.
Comment
-
CODE không sai.Nguyên văn bởi thanhnha220 Xem bài viếtdiễn đàn này chắc tế mấy pác cao thủ chắc còn cóc ké thì quăng sang 1 bên
Chân RS và chân RW trên mạch bị dính với nhau...do dùng Label không cẩn thận
p/s:Bạn nên rút kinh nghiệm khi vẽ mạch đừng dùng nhiều Label như vậy, vừa xấu lại khó kiểm soát.Hôm nay trời nắng chang chang.
Mèo con đi học chẳng mang thứ gì.
Chỉ mang một cái bút chì.
Và mang một mẩu bánh mì con con.
Comment
-
không biết thì hỏi, muốn giỏi phải học. nhưng không biết mà có thái độ không tốt thì làm sao ai giúp nhiệt tình cho bạn, bạn cứ nghĩ là mình không chịu khó giải quyết đựoc thì cứ lên mạng là phải có người trả lời giải quyết cho bạn ngay à. thật là thái độ làm việc như thế thì không chủ động chút nào cả.Nguyên văn bởi thanhnha220 Xem bài viếtdiễn đàn này chắc tế mấy pác cao thủ chắc còn cóc ké thì quăng sang 1 bên
bạn đừng phật ý nhé !chỉ có tâm hồn là nơi duy nhất: có thể biến thiên đường thành địa ngục và ngược lại có thể biến địa ngục hóa thiên đường
Everything should be made as simple as possible, but not simpler
Comment
-
Thôi mà...Dù sao bạn ấy cũng có thành ý hỏi, đưa ra vấn đề đến mấy lần...Chắc sợ câu hỏi bị chìm vào quên lãng nên mới PAM ầm ầm vậy.Nguyên văn bởi daohuytien Xem bài viếtkhông biết thì hỏi, muốn giỏi phải học. nhưng không biết mà có thái độ không tốt thì làm sao ai giúp nhiệt tình cho bạn, bạn cứ nghĩ là mình không chịu khó giải quyết đựoc thì cứ lên mạng là phải có người trả lời giải quyết cho bạn ngay à. thật là thái độ làm việc như thế thì không chủ động chút nào cả.
bạn đừng phật ý nhé !
Nhìn Code mình biết đây không phải là người lần đầu chơi với LCD, chắc bị em nào đá nên lú thôi...
Bỏ thời gian căng mắt giúp người ta tí... cũng chẳng saoHôm nay trời nắng chang chang.
Mèo con đi học chẳng mang thứ gì.
Chỉ mang một cái bút chì.
Và mang một mẩu bánh mì con con.
Comment
-
mất mấy ngày rùi mà chưa xong nên có phần cáu gắt tìm hoài hông ra lỗi lần sau mình sẽ phát ngôn vừa phải mong anh chị em bớt chút thời gian quý bàu giúp min với tại pam kiểu nhẹ nhàng không gây được ấn tượng chả ai thèm đọc hết pam dữ dằng mới có người tham gia
Comment
-
bó tay mình nối trực tiếp mà nó củng hông chạy là sao chứNguyên văn bởi Acxen_lupine Xem bài viếtCODE không sai.
Chân RS và chân RW trên mạch bị dính với nhau...do dùng Label không cẩn thận
p/s:Bạn nên rút kinh nghiệm khi vẽ mạch đừng dùng nhiều Label như vậy, vừa xấu lại khó kiểm soát.
Comment
-
bó tay mình nối trực tiếp mà nó củng hông chạy là sao chứNguyên văn bởi Acxen_lupine Xem bài viếtCODE không sai.
Chân RS và chân RW trên mạch bị dính với nhau...do dùng Label không cẩn thận
p/s:Bạn nên rút kinh nghiệm khi vẽ mạch đừng dùng nhiều Label như vậy, vừa xấu lại khó kiểm soát.
Comment
-
Mạch của bạn hai cái Label RS và RW phía VDK bị đặt trùng cho 1 dây nên 2 đường này chập nhau.Nguyên văn bởi thanhnha220 Xem bài viếtbó tay mình nối trực tiếp mà nó củng hông chạy là sao chứ
Mình đã thử: sửa lại mạch, copy code ở bài #5, dịch, chạy ngon: LCD hiện ra chữ 'a'.Last edited by Acxen_lupine; 06-03-2013, 11:51.Hôm nay trời nắng chang chang.
Mèo con đi học chẳng mang thứ gì.
Chỉ mang một cái bút chì.
Và mang một mẩu bánh mì con con.
Comment
Bài viết mới nhất
Collapse
-
-
bởi bqvietĐám UPS cửa cuốn đời cổ vẫn chạy 1 biến áp sắt từ vừa để hạ áp điện lưới nạp bình điện, vừa để kích áp bình điện thành sóng vuông đầu ra đấy thôi. Kiểu tiết kiệm này đã có từ mấy chục năm nay. Sơ đồ đại loại như link
https://www.homemade-circuits.com/si...rchargerchang/...-
Channel: Nguồn!
06-09-2026, 16:49 -
-
bởi dinhthuong92Không biết nó thiết kế kiểu gì mà dùng chung được cuộn cảm L cho cả mạch Buck hạ áp để sạc pin và Boost nâng áp cho Led. Muốn vẽ mạch để xem mà nhiều linh kiện quá, e không kham nổi!
Bác nào có sơ đồ xin up lên cho mọi người tham khảo nhé!...-
Channel: Nguồn!
04-09-2026, 11:09 -
-
-
Trả lời cho TCL - Tập hợp các vấn đề về màn hình màu TCLbởi dtvankhoeBác nào có file rom này cho em xin em cảm ơn ạ TCL L43S6500 – TPD.RT2841.PB772
-
Channel: Điện tử truyền hình
30-08-2026, 21:08 -

Comment