欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
單片機LCD1602不顯示數字,程序有問題 求幫助
[打印本頁]
作者:
我再睡會就起來
時間:
2020-4-15 20:36
標題:
單片機LCD1602不顯示數字,程序有問題 求幫助
PM~A_@3GC1CB)C@P%I~UV9S.png
(28.97 KB, 下載次數: 33)
下載附件
2020-4-15 20:34 上傳
程序,謝謝各位大佬
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit RS=P2^0;
sbit RW=P2^1;
sbit E=P2^2;
#define LCD1602_GPIO P1
void LCD1602_WriteCom(uchar com);
void LCD1602_WriteDat(uchar dat);
void LCD1602_Init();
void Delayms(uint a);
uchar Disp_PromNUM[]="NUM:";
uchar Disp_PromNAME[]="NAME:";
uchar Disp_Num[]="1730120526";
uchar Disp_Name[]="SHI LEI";
void main(void)
{
uchar i;
LCD1602_Init();
for(i=0;Disp_PromNUM[i]!='\0';i++)
{
LCD1602_WriteDat(Disp_PromNUM[i]);
Delayms(2);
}
LCD1602_WriteCom(0x84);
for(i=0;i<8;i++)
{
LCD1602_WriteDat(Disp_Num[i]);
Delayms(2);
}
LCD1602_WriteCom(0xc0);
for(i=0;Disp_PromNAME[i]!='\0';i++)
{
LCD1602_WriteDat(Disp_PromNAME[i]);
Delayms(2);
}
LCD1602_WriteCom(0xC5);
for(i=0;Disp_Name[i]!='\0';i++)
{
LCD1602_WriteDat(Disp_Name[i]);
Delayms(2);
}
while(1);
}
void LCD1602_WriteCom(uchar com)
{
E=0;
RS=0;
RW=0;
LCD1602_GPIO=com;
Delayms(1);
E=1;
Delayms(5);
E=0;
}
void LCD1602_WriteDat(uchar dat)
{
E=0;
RS=1;
RW=0;
LCD1602_GPIO=dat;
Delayms(1);
E=1;
Delayms(5);
E=0;
}
void LCD1602_Init()
{
LCD1602_WriteCom(0x38);
LCD1602_WriteCom(0x0c);
LCD1602_WriteCom(0x06);
LCD1602_WriteCom(0x01);
LCD1602_WriteCom(0x80);
}
void Delayms(uint a)
{
uint i,j;
for(j=0;j<a;j++)
{
for(i=o;i<125:i++);
}
}
復制代碼
作者:
黃youhui
時間:
2020-4-16 08:43
你的LCD帶字庫嗎?
作者:
wulin
時間:
2020-4-16 09:37
程序沒有問題,是樓主抄錯了。
錯誤:for(i=o;i<125:i++);
正確:for(i=0;i<125;i++);
作者:
benclee
時間:
2020-4-16 09:50
void Delayms(uint a)
{
uint i,j;
for(j=0;j<a;j++)
{
for(i=0;i<125;i++);//i=0不是o,125后面是;,不是:
}
}
作者:
hgw683
時間:
2020-4-16 09:55
1、首先判斷IO設置是否正確:向并口寫入指令,將指令讀回比較是否正確(或用萬用表測量);
作者:
hgw683
時間:
2020-4-16 09:57
2、在指令發送讀回正確的前提下,若還是無顯示,適當增加延時再試;
作者:
hgw683
時間:
2020-4-16 09:59
1、首先檢測端口指令是否發送正確:發送后設置斷點,檢驗端口電平是否你設置的值(高低電平都要試一遍);
2、適當增加延時驗證
3、指令是否正確?
作者:
hgw683
時間:
2020-4-16 10:06
1、端口驗證:LCD屏的各個接口IO通過CPU設置高低電平判斷是否正確;
2、適當增加延時時間驗證;
3、指令是否正確;
作者:
angmall
時間:
2020-4-16 10:24
void Delayms(uint a)
{
uint i,j;
for(j=0;j<a;j++)
{
for(i=o;i<125:i++);
}
}
給你改了,對比一下就知道哪里錯了。
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit RS=P2^0;
sbit RW=P2^1;
sbit E=P2^2;
#define LCD1602_GPIO P1
void LCD1602_WriteCom(uchar com);
void LCD1602_WriteDat(uchar dat);
void LCD1602_Init();
void Delayms(uint a);
uchar Disp_PromNUM[]="NUM:";
uchar Disp_PromNAME[]="NAME:";
uchar Disp_Num[]="1730120526";
uchar Disp_Name[]="SHI LEI";
void main(void)
{
uchar i;
LCD1602_Init();
for(i=0;Disp_PromNUM[i]!='\0';i++)
{
LCD1602_WriteDat(Disp_PromNUM[i]);
Delayms(2);
}
LCD1602_WriteCom(0x84);
for(i=0;i<8;i++)
{
LCD1602_WriteDat(Disp_Num[i]);
Delayms(2);
}
LCD1602_WriteCom(0xc0);
for(i=0;Disp_PromNAME[i]!='\0';i++)
{
LCD1602_WriteDat(Disp_PromNAME[i]);
Delayms(2);
}
LCD1602_WriteCom(0xC5);
for(i=0;Disp_Name[i]!='\0';i++)
{
LCD1602_WriteDat(Disp_Name[i]);
Delayms(2);
}
while(1);
}
void LCD1602_WriteCom(uchar com)
{
E=0;
RS=0;
RW=0;
LCD1602_GPIO=com;
Delayms(1);
E=1;
Delayms(5);
E=0;
}
void LCD1602_WriteDat(uchar dat)
{
E=0;
RS=1;
RW=0;
LCD1602_GPIO=dat;
Delayms(1);
E=1;
Delayms(5);
E=0;
}
void LCD1602_Init()
{
LCD1602_WriteCom(0x38);
LCD1602_WriteCom(0x0c);
LCD1602_WriteCom(0x06);
LCD1602_WriteCom(0x01);
LCD1602_WriteCom(0x80);
}
void Delayms(uint a)
{
uint i,j;
for(j=0;j<a;j++)
{
for(i=0;i<125;i++);
}
}
復制代碼
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1