找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 4113|回復(fù): 4
打印 上一主題 下一主題
收起左側(cè)

1602第二行不能顯示,程序有問(wèn)題??

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:53308 發(fā)表于 2013-10-3 22:34 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式

原程序如下想在1602顯示屏下行顯示字符,用了WriteCom命令寫0x80+0x40,操作,不能在下行顯示,請(qǐng)大神們指教下那里寫錯(cuò)了。謝謝


#include<reg51.h>

#define GPIO_LCD P0                        //Data IO

sbit RS=P2^6;                                //RS data:H,Com:L
sbit RW=P2^5;                                //RW read:H,Write:L
sbit LCDE=P2^7;                                //LCDE delay,H,delay,L

void IntLCD();                                //Int LCD,command
void WriteCom(unsigned char);                        //
void WriteDat(unsigned char);
void Delay(unsigned int);
unsigned char code HelloYu[]="Hello!Li Ai Dang";

void main(void)
{
unsigned char i=0;
        IntLCD();                                   // use int LCD first
        //while(1)                           //putout Data to IO
        //{                                           // 16th times
        for(;i<16;i++)
        WriteDat(HelloYu);
        //}
        while(1)
        {
        }
}

/*********************************************
*函數(shù)名稱:WriteCom
*功能:寫命令
*
***********************************************/
void WriteCom(unsigned char n)
{
RS=0;
RW=0;
GPIO_LCD=n;
Delay(10);
LCDE=1;
Delay(10);
LCDE=0;
}

/*********************************************
*函數(shù)名稱:WriteDat
*功能:寫數(shù)據(jù)
*
***********************************************/
void WriteDat(unsigned char m)
{
RS=1;
RW=0;
GPIO_LCD=m;
Delay(10);
LCDE=1;
Delay(10);
LCDE=0;
}
/*********************************************
*函數(shù)名稱:IntLCD
*功能:初始化LCD
*
***********************************************/
void IntLCD()
{
WriteCom(0x38);               //設(shè)置16*2,5*7的顯示
WriteCom(0x0c);                   //設(shè)置下劃線不顯示,塊狀光標(biāo)顯示
WriteCom(0x06);                   //寫一個(gè)指針加1
WriteCom(0x01);                   //清屏幕
WriteCom(0x80+0x40);                   //設(shè)置指針起始位置??俺設(shè)置了T_T,LCD不理我
}
/*********************************************
*函數(shù)名稱:Delay
*功能:延時(shí)函數(shù)
*
***********************************************/
void Delay(unsigned int c)
{
unsigned char a,b;
for(;c>0;c--)
        for(a=1;a>0;a--)
                for(b=22;b>0;b--);
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:53205 發(fā)表于 2013-10-4 22:25 | 只看該作者
肯定不顯示啦,你的寫數(shù)據(jù)的子函數(shù)的參數(shù)又不是指針變量,你應(yīng)該寫成WriteDat(HelloYu[i]);
回復(fù)

使用道具 舉報(bào)

板凳
ID:55675 發(fā)表于 2013-10-7 14:18 | 只看該作者
接我試試
回復(fù)

使用道具 舉報(bào)

地板
ID:55947 發(fā)表于 2013-10-15 00:32 | 只看該作者
piaogu
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表