Tình hình là em đang lập trình cho LCD 16x2. Mô phỏng trên Proteus thì chạy bình thường. Nhưng khi lắp vào mạch thì chỉ hiển thị được dòng trên. Có bác nào gặp lỗi này rồi vào giúp em vs. (LCD em mới mua ko lẽ hư rồi)
Thông báo
Collapse
No announcement yet.
LCD 16x2 chỉ hiển thị được 1 dòng???
Collapse
X
-
bạn kiểm tra phần cứng.xem có bị lỗi gì ko.Thạch anh.sử dụng trong mạch có đúng tần số ko?Nguyên văn bởi magicboy_267 Xem bài viếtTình hình là em đang lập trình cho LCD 16x2. Mô phỏng trên Proteus thì chạy bình thường. Nhưng khi lắp vào mạch thì chỉ hiển thị được dòng trên. Có bác nào gặp lỗi này rồi vào giúp em vs. (LCD em mới mua ko lẽ hư rồi)TRUNG TÂM ĐIỆN TỬ VIỄN THÔNG - TUẤN MAI
Địa chỉ:Đội 5 kim chung - Đông anh- Hà nội
Mobile : 0978304449
yahoo: trongtuanvctv
Mail:
-
Mình đã kiểm tra rồi. Mọi thứ bình thường. mình nghĩ hiển thị đc dòng 1 thì dòng 2 cũng phải đc chứ. Ko lẽ LCD đã hư rồi.hic hic.Nguyên văn bởi trongtuanvct Xem bài viếtbạn kiểm tra phần cứng.xem có bị lỗi gì ko.Thạch anh.sử dụng trong mạch có đúng tần số ko?
Comment
-
theo mình bạn kiểm tra thạnh anh dao động.khi bạn lập trình thì bạn sử dụng loại bao nhiêu MHZ.thì khi bạn lắp mạch thực tế bạn cũng phải sử dụng thạch anh đúng tần số đó.bạn có thể gửi sơ đồ phần cứng.và phần mềm cho mình mình sẽ kiểm tra cho.TRUNG TÂM ĐIỆN TỬ VIỄN THÔNG - TUẤN MAI
Địa chỉ:Đội 5 kim chung - Đông anh- Hà nội
Mobile : 0978304449
yahoo: trongtuanvctv
Mail:
Comment
-
code của mình đâyNguyên văn bởi chanhvan08 Xem bài viếtBạn đưa code lên xem thử, có khi tại code mà proteus vẫn bình thường ấy!
#include <REGX51.H>
#include <string.h>
#include <math.h>
#include <stdlib.h>
sfr LCDdata = 0xA0; // cong P2, 8 bit du lieu.
sbit BF = 0xA7; // co ban, bit DB7.
sbit RS = P1^2; // chon thanh ghi
sbit RW = P1^1; // doc/ghi
sbit EN = P1^0; //cho phep chot du lieu
/*===========cac chuong trinh con cua LCD==========*/
/*--------------kiem tra su san sang cua LCD------------------------*/
void delay(long time);
void wait(void)
{
RS=0; //chon thanh ghi lenh
RW=1; //?oc tu LCD
LCDdata=0xff; //gia tri 0xff
while(BF) //kiem tra co ban
{
EN=0; //dua xung cao xuong thap ?e chot.
EN=1; //dua chan cho phep len cao
}
}
/*------------------------thiet lap lenh cho LCD--------------------------*/
void LCDcontrol(unsigned char x)
{
RS=0;//chon thanh ghi lenh
RW=0;//ghi len LCD.
LCDdata=x ;// gia tri x
EN=1;//cho phep muc cao
EN=0;//xung cao xuong thap
wait();//?oi LCD san sang.
}
/*------------------------------Khoi tao LCD-------------------------*/
void LCDinit(void)
{
LCDcontrol(0x38);//2 dong va ma tran 5x7;
LCDcontrol(0x0c);//bat man hinh, bat con tro
LCDcontrol(0x01);//xoa man hinh
}
/*-------------------------thiet lap du lieu cho LCD-----------------*/
void LCDwrite(unsigned char c)
{
RS=1;//ghi du lieu
RW=0;//ghi du lieu len LCD
LCDdata=c;//gia tri C
EN=1;//cho phep muc cao
EN=0;//xung cao xuong thap
wait();//cho
}
void LCDwrites(unsigned char *s)
{
unsigned char data lens,count;
lens=strlen(s);
for(count=0;count<lens;count++)
{
LCDwrite(*(s+count));
}
}
void LCDwrites2(unsigned char *s)
{
unsigned char data lens,count;
lens=strlen(s);
for(count=0;count<lens;count++)
{
LCDwrite(*(s+count));
delay(1000);
}
}
/*=====================chuong trinh tre================*/
void delay(long time)
{
while(time--);
}
/*========================ham chinh==================*/
sbit RD_adc=P1^3;
sbit WR_adc=P1^4;
sbit INTR=P1^5;
void docadc()
{
WR_adc=1;
delay(200);
WR_adc=0;
while(!INTR);
RD_adc=0;
delay(200);
}
void main(void)
{
unsigned char p=0,s=0;
LCDinit(); // khoi tao LCD
LCDcontrol(0x83);
LCDwrites2("Temperature");
LCDcontrol(0xC5);
LCDwrites2("Sensor");
delay(25000);
LCDcontrol(0x01);
LCDcontrol(0x80);
LCDwrites2("Copyright(C)2012");
delay(25000);
LCDcontrol(0x01);
LCDcontrol(0x80);
LCDwrites("Nhiet do:");
while(1)
{
LCDcontrol(0xc5);
docadc();
s=P0;
if (s<100)
{
LCDwrite(s/10+0x30);
LCDwrite(s%10+0x30);
} else
{
LCDwrite(s/100+0x30);
p=s%100;
LCDwrite(p/10+0x30);
LCDwrite(p%10+0x30);
}
LCDwrites(" oC");
delay(20000);
}
}
Comment
-
mình dùng thạch anh 12MHz.Nguyên văn bởi trongtuanvct Xem bài viếttheo mình bạn kiểm tra thạnh anh dao động.khi bạn lập trình thì bạn sử dụng loại bao nhiêu MHZ.thì khi bạn lắp mạch thực tế bạn cũng phải sử dụng thạch anh đúng tần số đó.bạn có thể gửi sơ đồ phần cứng.và phần mềm cho mình mình sẽ kiểm tra cho.
Sơ đồ của mình đây: (sao ko up dc file dsn nhỉ)
Comment
-
bạn gửi một sơ đồ hoàn chỉnh đi.gửi sơ đồ như vậy thì làm sao biết được điểm bị lỗi.mà mạch quét LCD này phải dùng thạch anh 25MHZ chứ.TA 12MHZ.thì làm sao hoạt động đượcTRUNG TÂM ĐIỆN TỬ VIỄN THÔNG - TUẤN MAI
Địa chỉ:Đội 5 kim chung - Đông anh- Hà nội
Mobile : 0978304449
yahoo: trongtuanvctv
Mail:
Comment
-
#define Disp_func 0x38
#define Disp_entry 0x06
#define Disp_cnlt 0x08
#define Disp_on 0x04
void Init_lcd(void){
Dips_cmd(Disp_func);
Dips_cmd(Disp_entry);
Dips_cmd(Disp_cnlt|Disp_on);
Dips_cmd (0x01);
}
như vậy mới lên được 2 dòng
thêm hàm này
LCDcontrol(0x40);// hiển thị tại dòng thứ 2
lúc đó mới lên được dong 2 của LCD
Comment
-
bạn chia sẻ lên diễn đàn để mọi người cùng rút kinh nghiệm điNguyên văn bởi magicboy_267 Xem bài viếtcám ơn tất cả mọi người. Mình làm đc rồi.hihi.
mình cũng đang quan tâm đề tài này . Cảm ơn bạn (nếu bạn share)
Su dung LCD 16x2
mới tìm đc

Comment
Bài viết mới nhất
Collapse
-
bởi theidiotcatViệc lựa chọn một chiếc laptop gaming phù hợp với nhu cầu, ngân sách chưa bao giờ là dễ dàng. Và điều đó càng khó hơn trong năm 2026 khi mà mức giá liên tục tăng.
Nếu bạn chưa biết nên chọn một chiếc laptop gaming như thế nào...-
Channel: Đánh giá sản phẩm DTVN
26-06-2026, 10:29 -
-
bởi theidiotcatVới mức ngân sách 20 - 30 triệu đồng trong năm 2026, các bạn sinh viên và dân văn phòng có thể tìm thấy nhiều lựa chọn cao cấp, mạnh mẽ, pin “trâu”, đặc biệt là các mẫu laptop AI hỗ trợ cho học tập và làm việc.
Trong phân...-
Channel: Đánh giá sản phẩm DTVN
26-06-2026, 10:25 -
-
bởi theidiotcatDưới đây là một số mẫu laptop nổi bật trong phân khúc dưới 20 triệu giúp các bạn văn phòng, sinh viên và đặc biệt là tân sinh viên có thể dễ dàng lựa chọn được mẫu laptop phù hợp với nhu cầu và ngân sách của mình.
Thị...-
Channel: Đánh giá sản phẩm DTVN
26-06-2026, 10:07 -
-
bởi theidiotcatViệc chọn mua một bộ máy tính phục vụ cho các nhu cầu làm việc văn phòng và sử dụng cơ bản hàng ngày đang trở nên dễ dàng và tiết kiệm hơn bao giờ hết. Thay vì phải đau đầu trích ngân sách để mua cả vi xử lý lẫn card đồ họa rời...
-
Channel: Đánh giá sản phẩm DTVN
25-06-2026, 11:23 -
-
bởi theidiotcatViệc nâng cấp từ một dàn máy tính cũ lên cấu hình mới luôn khiến nhiều người đắn đo về mức chi phí bỏ ra. Nếu bạn đang tìm kiếm một sự lột xác hoàn toàn về hiệu năng mà vẫn cân đối được dòng tiền, combo giữa vi xử lý Ryzen...
-
Channel: Đánh giá sản phẩm DTVN
25-06-2026, 11:06 -
-
Trả lời cho Lực dọc trục làm hỏng ổ bi.bởi nguyendinhvanVí dụ một trang như thế này
...-
Channel: Điện tử công suất
24-06-2026, 19:57 -
-
Trả lời cho Lực dọc trục làm hỏng ổ bi.bởi nguyendinhvanỔ bi có loại chịu lực dọc, loại chịu lực ngang.
Bạn kiếm một quyển Data cũng một hãng vòng bi nào đó. Họ sẽ cấp cho bạn đủ thông số kỹ thuật.
Khi lựa chọn được mã sản phẩm, bạn chỉ việc tìm mua mã đó, hoặc đặt hàng....-
Channel: Điện tử công suất
24-06-2026, 19:52 -
-
bởi GargiChào mọi người, tôi đang gặp một vấn đề kỹ thuật và muốn được nghe ý kiến của mọi người.
Tôi đã lắp một đĩa xích vào trục đầu ra của hộp số hành tinh bánh răng xoắn dùng cho truyền động xích. Sau vài tháng hoạt động, ổ bi đầu ra bị hỏng.
Bản thân...-
Channel: Điện tử công suất
24-06-2026, 13:22 -
-
bởi vi van phamSau hàng chục năm, không biết có ai còn nghĩ gì về tôi? Riêng tôi, nhớ nhiều về dientuviet nam. net. Ngày ấy tìm 1 người bạn đam mê về điện từ khó như trúng số độc đăc. Tôi đã trúng số độc đắc khi được mời về dientuvietnam.net...
-
Channel: Tâm tình dân kỹ thuật
23-06-2026, 22:43 -
-
bởi FotiniChào mọi người.
Cấu trúc khung giàn của tôi sử dụng một động cơ servo tích hợp trên mỗi trục (https://www.oyostepper.es/category-8...integrado.html), với một dây nối đất chung.
Việc kích hoạt từng trục riêng lẻ hoạt động tốt, nhưng...-
Channel: Điện tử dành cho người mới bắt đầu
18-06-2026, 14:03 -

Comment