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
-
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
Hôm qua, 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 -
-
bởi ngochung90Tình hình là em có mua mạch 3s về để hàn vào khối pin 12v, hàn xong em đo tại các chân từ B-, B1, B2, B+ thì điện áp pin vẫn đủ 12,6v, nhưng tại 2 chân ra P- P+ thì đo chỉ được 6,3v là bị sao các bác, và chân P- P + này đồng thời là chân sạc xả thì mình cắm sạc xả cùng lúc được ko ạ
...-
Channel: Điện tử dành cho người mới bắt đầu
28-11-2025, 10:32 -

Comment