標題: AT89S51程序下載后能正常運行,斷電重啟后卻不能正常運行了? [打印本頁]
作者: gxjhgxjh 時間: 2020-7-8 21:14
標題: AT89S51程序下載后能正常運行,斷電重啟后卻不能正常運行了?
AT89S51下載后能正常運行斷電重啟后卻不能正常運行了,不知道是哪里出問題,網(wǎng)上也沒有搜到解決方法 。程序是1602液晶屏的,我改了一點給40266液晶屏用 ,不知道是不是程序的問。特來這里求助,請知道的指點一下。謝謝 !
就是下面這個程序:
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
uchar code table0[]="QQJL WEIXINDOUSHIJIAOLIUGONGJU"; //31字符
uchar code table1[]="WWW,COM WANGZJI"; //15
uchar num;
sbit lcden=P2^7;
sbit lcdrs=P2^6;
void delay(uint z)//延時函數(shù)
{
uintx,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void write_com(uchar com)//往LCD寫指令函數(shù)
{
lcdrs=0;//LCDRS為低時寫指令
P0=com;//往LCD數(shù)據(jù)口送指令
delay(5);//延時5毫秒
lcden=1;
delay(5);
lcden=0;
}
void write_data(uchar date)//往LCD寫數(shù)據(jù)函數(shù)
{
lcdrs=1;//LCDRS為低時寫數(shù)據(jù)
P0=date;//往LCD數(shù)據(jù)口送數(shù)據(jù)
delay(5);//延時5毫秒
lcden=1;
delay(5);
lcden=0;
}
void init()//初始化函數(shù)
{
lcden=0;//LCD使能信號端置零
write_com(0x38);//往LCD寫顯示模式設(shè)置的指令
write_com(0x06);//LCD開顯示,光標不顯示、不閃爍
write_com(0x06);//當讀或?qū)懸粋字符后地址指針加一且光標加一,整屏顯示不移動
write_com(0x01);//數(shù)據(jù)指針和所有顯示清零
}
void main()
{
init();
//第一行顯示
write_com(0x80+0x10);//第一行第一字符位置
for(num=0;num<31;num++) //這個數(shù)字20就是顯示字數(shù) 個數(shù)
{
write_data(table0[num]);
delay(200);
}
//第二行顯示
write_com(0x80+0x50);
for(num=0;num<15;num++)
{
write_data(table1[num]);
delay(200);
}
for(num=0;num<40;num++)
{
write_com(0x18);
delay(200);
}
while(1);
}
作者: man1234567 時間: 2020-7-9 09:58
重新刷一下單片機,疑似這貨有問題。
作者: f556 時間: 2020-7-9 11:36
估計是硬件問題,重點關(guān)注復位、晶振2個部分,其它MCU我遇過有時正常,有時不能開機(LCD無顯示)
作者: 我系_源 時間: 2020-7-9 11:45
估計是硬件問題,檢查一下復位
作者: 小黑的大表舅 時間: 2020-7-9 11:48
可能是硬件問題,這種問題一般出現(xiàn)不在代碼上面
作者: gxjhgxjh 時間: 2020-7-9 21:39
謝謝樓上的回復。
我剛開始也以為是硬件的問題,做了實驗應(yīng)該是代碼的問題,換另外的代碼就正常。
又在網(wǎng)上搜索學習一番,嚴重懷疑代碼有問題,可能就是最后的移屏代碼次序錯了,F(xiàn)在這樣: write_com(0x18);
delay(200);
}
while(1);
}
可能應(yīng)該改為:
while(1);
{ write_com(0x18);
delay(200);
}
馬上實驗可是那里的問題。
作者: gxjhgxjh 時間: 2020-7-9 22:09
剛才試驗了一下語法有錯誤通不過,還得好好學習一看怎么辦。
作者: gxjhgxjh 時間: 2020-7-14 22:25
多謝各位的回復
問題找到了就代碼的問題,這個代碼固定顯示好用,增加移屏顯示不好用,改用別的代碼后就正常了。
歡迎光臨 (http://www.torrancerestoration.com/bbs/) |
Powered by Discuz! X3.1 |