久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5418|回復: 16
打印 上一主題 下一主題
收起左側

單片機+LCD12864一直藍屏,無任何顯示 如何一步步的排查問題?

  [復制鏈接]
跳轉到指定樓層
樓主
按照教學視頻編寫的程序,輸入進去不顯示,只藍屏,孩子弄一天了,到底怎么回事。

12864.jpg (213.08 KB, 下載次數: 80)

12864.jpg
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:908826 發表于 2021-12-26 08:35 | 只看該作者
嘿嘿嘿,你這可以把12864的程序貼出來讓大家看看到底是軟件的問題還是硬件的問題
回復

使用道具 舉報

板凳
ID:140371 發表于 2021-12-26 12:00 | 只看該作者
單片機+ lcd12864  只藍屏
要檢查:
1.硬件接線對嗎?(包括單片機有無正常工作 .. lcd12864接線有無問題,程式中使用管腳與接線是否相符)
2.編寫的程序適合這個LCD對嗎?(LCD 12864不只一總型號..不同的型號驅動程是有差別)
3.編寫的程序對嗎?
4.lcd 12864對比調整適當
5.lcd損壞 .....(這種情形相當少見)
只要不是lcd損壞 ...完成1 至 4 項 一定會顯示



回復

使用道具 舉報

地板
ID:97554 發表于 2021-12-26 14:18 | 只看該作者
這個如果不是某某開發板的套件加配套程序的話很難說明到底哪里除了問題,12864問題不比1602,要復雜的多,比如同一廠家的LCD12864只是后綴不同都需要不同的接線以及驅動程序,而且不同的主控芯片需要不同的初始化程序。把問題敘述的更清楚些也許更容易讓大家幫助你解決問題。
回復

使用道具 舉報

5#
ID:97554 發表于 2021-12-26 14:22 | 只看該作者
比如,你貼出來的甚至連接線都看不清楚誰跟誰。起碼的液晶屏的型號,與MCU連線,以及程序全部貼好,然后大家再根據具體情況幫助你判斷問題的所在。這樣會更好些,不讓你讓大家浪費時間在這猜想,這樣根本猜不出個所以然,因為問題太多了。

畢竟像貼圖這種情況只需要連接背光的AK兩個引腳即可。
回復

使用道具 舉報

6#
ID:903924 發表于 2021-12-26 16:59 | 只看該作者
12864的第三個焊點旁邊有一個焊點 看看有沒有焊上  加一個調節屏幕的電阻試試  10K的可調電阻
回復

使用道具 舉報

7#
ID:627300 發表于 2021-12-26 18:44 | 只看該作者
Qiuhan 發表于 2021-12-26 16:59
12864的第三個焊點旁邊有一個焊點 看看有沒有焊上  加一個調節屏幕的電阻試試  10K的可調電阻

一般都是用的LCD12864背部的可調電阻  如果想用第三個焊點VO來外接可調電阻的話需要把背部的通路斷掉
回復

使用道具 舉報

8#
ID:3212 發表于 2021-12-26 19:55 | 只看該作者
有一個小經驗:之前我玩這個12864的時候也是用的接線的方式,故障也是差不多:有背光,就是不顯示。
后來搞了很久,才發現是一根接線質量差,是中間斷的。走了好多彎路才糾正過來
回復

使用道具 舉報

9#
ID:403593 發表于 2021-12-26 20:21 | 只看該作者
我仿佛看到了曾經的自己。首先,要在正常使用的開發板上,用原廠點屏代碼測試,最好連引腳都不要動,能成功點亮了再說。然后,自己焊接的實驗板,先實現正常的下載點燈都沒問題了,再考慮修改移植代碼。這樣用杜邦線連接模塊最好只用于驗證,實際使用最好是畫圖打板,反正現在打板也是免費,順便練習畫圖技能。現在萬能寶上面的杜邦線質量普遍不怎么樣,我已經被坑過好幾次了,所以,有條件最好自己制作杜邦線,或者直接焊接。
回復

使用道具 舉報

10#
ID:403593 發表于 2021-12-26 20:21 | 只看該作者
middfat 發表于 2021-12-26 19:55
有一個小經驗:之前我玩這個12864的時候也是用的接線的方式,故障也是差不多:有背光,就是不顯示。
后來 ...

確實是,現在很難買到質量好的杜邦線了。。。
回復

使用道具 舉報

11#
ID:997175 發表于 2021-12-26 20:26 | 只看該作者
應該是對比度的問題
回復

使用道具 舉報

12#
ID:232791 發表于 2021-12-28 09:02 | 只看該作者
1.程序問題——占大頭,所謂的教程程序一般都得修修改改才能用。
2.上面說的對比度問題
3.接線問題
這些問題都可以跟屏幕廠家溝通,都不是上面大問題
至于屏幕損壞,只要是才買的這種幾率很小很小
回復

使用道具 舉報

13#
ID:584814 發表于 2021-12-28 15:25 | 只看該作者
如果沒有老師實地指導,建議買成品的試驗套件,想省錢某魚就可以不用買全新。
套件一般都廠家有標配的例程,先搞出花樣提高興趣并且先感覺一下,然后移置到自己DIY的板上。
如果有實地指導除外,否則不同器件的接線和編程都是不一樣的,對于你這種自制寶貝只能理論上點贊。
回復

使用道具 舉報

14#
ID:893997 發表于 2021-12-29 15:47 | 只看該作者
這樣一般都是底層驅動對不上
回復

使用道具 舉報

15#
ID:993527 發表于 2021-12-30 17:41 | 只看該作者
我退貨了,謝謝各位熱血的朋友,就不一一回復啦
回復

使用道具 舉報

16#
ID:994918 發表于 2021-12-30 22:54 | 只看該作者
多看幾遍12864的說明書DATASHEET,將引腳功能、數據、控制 代碼記熟,先排除硬件問題。再仔細校對控制時序。
static void lcd12864_write_command(uint8 cmd)/*寫命令*/
{
    while(lcd12864_chek_busy());
    LCD12864_RS = 0;
    LCD12864_RW = 0;
    LCD12864_EN = 0;
    delay1us();
    LCD12864_DATA = cmd;
    delay50us();
    LCD12864_EN = 1;
    delay50us();
    LCD12864_EN = 0;
   return temp1;
}
// 描述: lcd12864寫數據
// 參數: dat:寫入的數據.
// 返回: none.
//========================================================================
static void lcd12864_write_data(uint8 dat)
{
    while(lcd12864_chek_busy());
    LCD12864_RS = 1;
    LCD12864_RW = 0;
    LCD12864_EN = 0;
    LCD12864_DATA = dat;
    delay50us();
    LCD12864_EN = 1;
    delay50us();
    LCD12864_EN = 0;
}

//========================================================================
// 描述: lcd12864初始化
// 參數: none.
// 返回: none.
//========================================================================
void lcd12864_init()
{
    //引腳配置
    LCD12864_RS_OUT;
    LCD12864_RW_OUT;
    LCD12864_E_OUT;
    LCD12864_RST_OUT;  
    LCD12864_DATA_OUT;

    LCD12864_RST = 1;  
    LCD12864_RST = 0;            
    LCD12864_RST = 1;                //復位RST=1
    lcd12864_write_command(0x34);         //34H--擴充指令操作
    delay5us();
    lcd12864_write_command(0x30);         //功能設置,一次送8位數據,基本指令集
    delay5us();
    lcd12864_write_command(0x0C);         //顯示狀態開關:整體顯示開,光標顯示關,光標顯示反白關
    delay5us();
    lcd12864_write_command(0x01);         //清DDRAM
    delay5us();      
    lcd12864_write_command(0x02);         //DDRAM地址歸位
    delay5us();
    lcd12864_write_command(0x80);         //設定DDRAM 7位地址000,0000到地址計數器AC
    delay5us();
}

//========================================================================
// 描述: lcd12864設定顯示位置
// 參數: X,Y:坐標.
// 返回: none.
//========================================================================
void lcd12864_display_pos(uint8 X,uint8 Y)
{                          
   uint8  pos;
   if (Y==0)
     {Y=0x80;}
   else if (Y==1)
     {Y=0x90;}
   else if (Y==2)
     {Y=0x88;}
   else if (Y==3)
     {Y=0x98;}
   pos = X+Y ;  
   lcd12864_write_command(pos);     //顯示地址
}

//========================================================================
// 描述: lcd12864清屏
// 參數: none.
// 返回: none.
//========================================================================
void lcd12864_clear()
{
    lcd12864_write_command(0x30);//
    lcd12864_write_command(0x01);//清除顯示
    delay(1);
}

//========================================================================
// 描述: lcd12864寫單個字符
// 參數: X,Y;坐標; sig:要顯示的字符.
// 返回: none.
//========================================================================
void lcd12864_show_char(uint8 X,uint8 Y,uint8 sig)
{   
    lcd12864_display_pos(X,Y);
    lcd12864_write_data(sig);             //輸出單個字符
}

//========================================================================
// 描述: lcd12864寫字符串
// 參數: X(0~3)行,Y(0~7)個字符; str:要顯示的字符串;
// 返回: none.
//========================================================================
void lcd12864_show_string(uint8 X,uint8 Y,uint8 *str)
{
    uint8 i = 0;
    lcd12864_display_pos(X,Y);
    while(str[i] != '\0')
    {
         lcd12864_write_data(str[i]);
         i++;
    }
}

//========================================================================
// 描述: lcd12864寫數字()
// 參數: X(0~3)行,Y(0~7)個字符; num:要顯示的數字;
// 返回: none.
//========================================================================
void lcd12864_show_num(uint8 x,uint8 y,int num)
{
        char men[8];
        char *str = men;
        sprintf(str,"%d",num);
        lcd12864_show_string(x,y,str);
}

//========================================================================
// 描述: lcd12864顯示圖像
// 參數: p:要顯示的圖像.
// 返回: none.
//========================================================================
void lcd12864_show_image(uint8 *p)
{
    int ygroup,x,y,i;
    int temp;
    int tmp;
            
    for(ygroup=0;ygroup<64;ygroup++)           //寫入液晶上半圖象部分
    {                           //寫入坐標
        if(ygroup<32)
        {
            x=0x80;
            y=ygroup+0x80;
        }else
        {
            x=0x88;
            y=ygroup-32+0x80;   
        }         
        lcd12864_write_command(0x34);        //寫入擴充指令命令
        lcd12864_write_command(y);           //寫入y軸坐標
        lcd12864_write_command(x);           //寫入x軸坐標
        lcd12864_write_command(0x30);        //寫入基本指令命令
        tmp=ygroup*16;
        for(i=0;i<16;i++)
                {
                    temp=p[tmp++];
                    lcd12864_write_data(temp);
        }
    }
    lcd12864_write_command(0x34);        //寫入擴充指令命令
    lcd12864_write_command(0x36);        //顯示圖象
}

回復

使用道具 舉報

17#
ID:981034 發表于 2021-12-31 16:46 | 只看該作者
第一接線套路,二程序套路
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲一区二区三区视频 | 久久五月婷 | 五月婷婷在线播放 | 成人欧美一区二区三区白人 | 在线观看免费av网 | 日韩精品一区二区在线 | 国产精品一区二区三区免费观看 | 伊人色综合久久久天天蜜桃 | 91精品国产色综合久久 | 国产亚洲精品a | 亚洲情综合五月天 | a在线观看| www.日本国产 | 亚洲欧美综合 | 亚洲欧美成人影院 | 在线一区 | 久久精品亚洲欧美日韩精品中文字幕 | 中文二区 | 成人国产精品一级毛片视频毛片 | 天天操天天干天天曰 | 亚洲国产成人久久综合一区,久久久国产99 | 成人在线精品 | 国产激情在线播放 | 奇米影视77| 黄色毛片网站在线观看 | 亚洲综合一区二区三区 | 91高清视频| 午夜专区 | 国产福利91精品一区二区三区 | 99久久中文字幕三级久久日本 | 美女福利视频网站 | 日韩福利在线观看 | 另类专区成人 | 国产精品夜夜夜一区二区三区尤 | 在线观看亚洲专区 | 国产精品久久久久久久一区二区 | 中文字幕亚洲一区二区三区 | 99精品视频在线观看免费播放 | 成人精品视频在线观看 | 日本国产精品视频 | 欧美成人精品二区三区99精品 |