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
Thông báo
Collapse
No announcement yet.
Lcd16x2(LM016L)giao tiếp với 89c51?
Collapse
X
-
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
-
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, 12: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 afrendlyCảm ơn bạn. Mình hỏi để thợ có thể tham khảo thôi chứ không đủ kiển thức để sửa, mà cũng không có đồ nghề, mua đồ nghề quá tiền máy. Gọi nhiều lần mà thợ hẹn mãi chưa có tới ấy bạn. Mình muốn sửa được chứ bỏ thì uống, nhưng sợ là được mỗi người thợ mà lại không sửa nổi....
-
Channel: Điện tử gia dụng
hôm nay, 00:34 -
-
bởi mèomướpDạ nó bị tắc ẩm hoặc rò thiếu gas hoặc lốc yếu hoặc van tiết lưu có vấn đề hoặc tất cả những nguyên nhân trên ạ. Chú ko chuyên về mảng này thì bán đi, giành thời gian trồng rau sạch đem ra chợ bán lấy tiền mua tủ mới ạ. Còn...
-
Channel: Điện tử gia dụng
Hôm qua, 17:01 -
-
bởi afrendlyXin chào mọi người. Mình lại có vấn đề về đồ điện cần nhờ mọi người hỗ trợ giúp. Mình có tủ lạnh Sharp dùng cũng lâu rồi. Trước có bị kém lạnh, không đông đá thì có thợ họ mang về, sục đường ga gì đó hết 900k và đã dùng...
-
Channel: Điện tử gia dụng
Hôm qua, 16:53 -
-
bởi dinhthuong92Đấy, cái tôi thắc mắc là chỗ màu hồng ấy bạn, để áp vào cao chứ không bị sụt gần bằng áp pin thì rất cần cuộc cảm để làm điều đó. Tuy nhiên, trong công thức bác thớt dẫn không thấy mặt L, và một vài mạch MPPT tôi đã kiểm...
-
Channel: Nguồn!
09-05-2026, 10:01 -
-
bởi mèomướpDạ mạch sạc là 1 cục nguồn, nó sẽ điều chỉnh công suất đầu ra để có tổng trở bằng nội trở của pin ạ. Và cái cách nó chỉnh công suất đầu ra sẽ là dạng buck, boot. Đều cần đến cuộn cảm ạ. Tất nhiên chú thích thì có thể dùng dạng tuyến tính transistor để bù trừ nhưng mà nó đốt năng lượng vô ích ạ...
-
Channel: Nguồn!
08-05-2026, 16:26 -
-
bởi dinhthuong92Tng trở R của tải (gồm pin và mạch sạc) trong công thức đó rõ ràng khống có L xuất hiện. Nếu tính các dây dẫn thì rất nhỏ, bỏ qua. Vì nội trở pin là rất nhỏ, có thể nói luôn lớn hơn nội trở solar, nên mạch MPPT sẽ hầu như luôn tính...
-
Channel: Nguồn!
08-05-2026, 11:00 -
-
bởi dinhthuong92Chào bác. Đã là công thức phải tổng quát chứ, nó phải thể hiện cả quá trình, rối thì quá độ hay xác lập tính sau vì tùy điều kiện. Cũng như công thức tính diện tích chả hạn, phải là tích phân....
-
Channel: Nguồn!
08-05-2026, 10:49 -

Comment