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
-
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:
-
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
-
Nguyê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
-
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
-
Nguyê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 Lê Gia TứMình muốn tìm mua đồng hồ vạn năng giá khoảng 200k có đo tần số cao khoảng 0~1mhz mọi người tư vấn giúp mình với
-
Channel: Điện tử dành cho người mới bắt đầu
hôm nay, 15:47 -
-
Trả lời cho Mạch tự động bật nguồnbởi davidcopyChỉ cần dùng R C mắc vô phím power là ok....
-
Channel: Điện tử gia dụng
Hôm qua, 20:47 -
-
Trả lời cho Hỏi cách điều chế xungbởi davidcopydùng mach khuếch opamp...
-
Channel: Kỹ thuật điện tử tương tự
Hôm qua, 20:42 -
-
Trả lời cho Thắc mắc về hạ áp cho adapter laptopbởi davidcopy
-
Channel: Điện tử dành cho người mới bắt đầu
Hôm qua, 18:56 -
-
bởi bqvietĐấy gọi là cái "điểm gãy" trong đồ thị điện áp - dung lượng còn lại. Dùng điện áp hở cực để xác định sắp hết hoặc gần đầy thì vẫn tạm ổn. Dùng để đo SOC/DOD thì đừng. Ngay cả số km đã đi cũng chả xác định được...
-
Channel: Điện tử dành cho người mới bắt đầu
17-01-2025, 21:36 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi dinhthuong80Vâng, em cũng nghĩ thế khi search được hãng ấy là SRNE, nên em test luôn những cái còn lại, và kết quả đều như nhau.
Nhận thấy kết quả khó chấp nhận, em cũng phân vân có nên mail cho họ để họ thử kiểm tra mã đó không; giữa...-
Channel: Điện tử công suất
17-01-2025, 11:33 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi dinhthuong80Xin cảm ơn bác bqviet luônnhiệt tình cho biết nhiều thông tin quí báu, cảm ơn bạn mèomướp có ví dụ đơn giản và dễ hiểu, cảm ơn tất cả đã bớt chút thời gian quí báu vào đây đọc bài.
Cảm ơn bác nhathung1101 cho thông tin và chúc mừng bác mua được những tấm pin NLMT cực tốt theo...-
Channel: Điện tử công suất
17-01-2025, 11:22 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi mèomướpDạ chú nhat... cứ coi pin mặt trời như 1 cái ắc qui nhìu ngăn mắc nối tiếp ấy ạ. Khi 1 ngăn yếu thì cả cái ắc qui yếu luôn ạ. Nó có nhìu bộ nối tiếp mắc song song nên bị che 1 khoảng nhỏ ảnh hưởng nhìu nhưng chắc ko đến nỗi mất 50% đâu ạ...
-
Channel: Điện tử công suất
17-01-2025, 06:36 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi nhathung1101Nếu nói bị cái lá che sáng mà giảm 50% thì tôi càng không tin, bởi trên vườn tôi mặc kệ ông trời làm vệ sinh.
Tức là lá tự rụng, gió tự dọn. Ai hơi đâu mà leo lên dọn. Nếu phải như thế thì tôi dek thèm lắp làm gì.-
Channel: Điện tử công suất
16-01-2025, 21:44 -
Comment