欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

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

QQ登錄

只需一步,快速開始

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

單片機(jī)+LCD12864屏為何無顯示?附程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:825883 發(fā)表于 2021-6-16 08:40 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
各位老師好,下面程序編譯通過,應(yīng)在12864(帶字庫)屏幕閃顯示“空不異色”4個(gè)漢字,現(xiàn)在不顯示,什么原因???
#include<reg52.h>
#include<intrins.h>


sbit RS=P2^0;
sbit RW=P2^1;
sbit EN=P2^2;
#define uchar unsigned char
#define uint unsigned int

void delay(uchar i)//*************************延時(shí)1ms函數(shù)
{
uchar n,i1,j1;
for(n=0;n<=i;n++){
        _nop_();
        i1 = 2;
        j1= 199;
        do
        {
                while (--j1);
        } while (--i1);}
}


void read_busy()//****************************判斷忙函數(shù)
{
RS=0;
RW=1;
EN=1;
        delay(10);
while(P0&0X80);
EN=0;
}


void write_LCD_command(uchar value)//**********************寫指令函數(shù)
{
read_busy();
RS=0;//1êy¾Y¼Ä′æÆ÷£¬2Ö¸áî¼Ä′æÆ÷
RW=0;
EN=1;
P0=value;
EN=0;
}


void write_LCD_byte(uchar value)//************寫數(shù)據(jù)函數(shù)
{
read_busy();
RS=1;
RW=0;
EN=1;
P0=value;
EN=0;
}


void write_LCD_data(uchar *s)//***************連續(xù)寫數(shù)據(jù)函數(shù)
{
   while(*s>0)  //
         {     
      write_LCD_byte(*s);//
      s++;      //
    }
}


void initi_LCD()//*******************************LCD12864初始化函數(shù)
{
delay(10);
write_LCD_command(0x30);
delay(1);
write_LCD_command(0x0C);
delay(1);
write_LCD_command(0x0C);//
delay(1);
write_LCD_command(0x01);//
delay(1);
write_LCD_command(0x06);
delay(10);
}
void main()//********************************************************主函數(shù)
{
initi_LCD();
write_LCD_command(0x01);
write_LCD_command(0X90);
        
write_LCD_data("空不異色");
        delay(1000);
while(1);


}

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

使用道具 舉報(bào)

沙發(fā)
ID:844772 發(fā)表于 2021-6-16 09:23 | 只看該作者
沒看到具體情況,我覺得啊,檢測(cè)busy你留了太長(zhǎng)延時(shí),4個(gè)_nop_()就夠了,但發(fā)命令和數(shù)據(jù),EN前要加延時(shí),你一個(gè)沒有加。

評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

板凳
ID:825883 發(fā)表于 2021-6-16 20:13 | 只看該作者
glinfei 發(fā)表于 2021-6-16 09:23
沒看到具體情況,我覺得啊,檢測(cè)busy你留了太長(zhǎng)延時(shí),4個(gè)_nop_()就夠了,但發(fā)命令和數(shù)據(jù),EN前要加延時(shí), ...

謝謝解答,我已經(jīng)改了,還是不顯示。
回復(fù)

使用道具 舉報(bào)

地板
ID:825883 發(fā)表于 2021-6-16 20:35 | 只看該作者
問題找到了,判斷忙函數(shù)前忘了加上:
P0=0X00;
可是我又看了原來1602屏的判斷忙函數(shù),為何第一句是P0=0xff呢?
12864判斷忙函數(shù)第一句還不能寫成P0=0xff。
為什么??

回復(fù)

使用道具 舉報(bào)

5#
ID:96682 發(fā)表于 2021-6-16 23:33 來自觸屏版 | 只看該作者
33943417 發(fā)表于 2021-6-16 20:35
問題找到了,判斷忙函數(shù)前忘了加上:
P0=0X00;
可是我又看了原來1602屏的判斷忙函數(shù),為何第一句是P0=0xf ...

這個(gè)和屏幕所使用的硬件有關(guān)
回復(fù)

使用道具 舉報(bào)

6#
ID:844772 發(fā)表于 2021-6-17 08:37 | 只看該作者
33943417 發(fā)表于 2021-6-16 20:35
問題找到了,判斷忙函數(shù)前忘了加上:
P0=0X00;
可是我又看了原來1602屏的判斷忙函數(shù),為何第一句是P0=0xf ...

學(xué)到了,這玩意的硬件在這還有差異,以前不加也能用啊,升級(jí)這個(gè)功能干啥呢?
回復(fù)

使用道具 舉報(bào)

7#
ID:390416 發(fā)表于 2021-6-19 08:46 | 只看該作者
LCD12864中文資料包 容易看明白 http://m.raoushi.com/bbs/dpj-200462-1.html
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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