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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

無字庫LCD12864的顯示問題

查看數: 5107 | 評論數: 14 | 收藏 1
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發布時間: 2020-5-5 22:02

正文摘要:

如果接到單片機的IO口是按照 D7對應P0.7 D6-P0.6 按照這個順序接到D0-P0.0 LCD12864就能正常顯示 先提前謝謝各位大佬幫忙解答問題

回復

ID:440553 發表于 2020-5-9 00:40
可能需要重新取模,或者在程序中改變一下,使其能夠對應
ID:267719 發表于 2020-5-8 12:39
uchar Swap_uchar(uchar data)
{
        uchar i=0;
        uchar result=0;
        for (i=0;i<8;i++)
        {
                result>>1;
                if (data&0x80)
                {
                        result|=0x80;
                }
                data<<1;
        }
        return result;
}

void Lcd_com_N(uchar data)
{
        Lcd_com(Swap_uchar(data));
}

//LCD初始化函數
void lcd_init()
{
        Lcd_com_N(0x3f); //LCD開顯示
        Lcd_com_N(Oxc0); //LCD行初始地址,共64行
        Lcd_com_N(0xb8); //LCD頁初始地址,共3頁
        Lcd_com_N(0x40); //LCD列初始地址,共64列
        led_clear(0);        //清屏                                                                                                                                  該函數內的 Lcd_com 改為 Lcd_com_N
}

//************** 中文顯示 **************//
void zhongwen(uchar cslor2,uchar X,uchar Y,uint flag)
{
        int i;
        flag=flag*32;
        control(cslor2); // 選擇屏幕顯示                                                                                 該函數control內的 Lcd_com 改為 Lcd_com_N
        Lcd_com_N(0xb8+(X*2));//選擇—個漢字的上部
        Lcd_com_N(0x40+(Y*16));
        for(i=0;i<16;i++)
        {
                Lcd_date(Swap_uchar(Chinese[flag++])) ;//先輸入一個漢上面 16列       
        }
        Lcd_com_N(0xb8+(X*2)+1);//選擇一個漢字的下部|
        Lcd_com_N(0x40+(Y*16));
        for(i=0;i<16;i++)
        {
                Lcd_date(Swap_uchar(Chinese[flag++]));//輸入一個漢字的下部                       
        }
}
ID:267719 發表于 2020-5-8 12:35
uchar Swap_uchar(uchar data)
{
        uchar i=0;
        uchar result=0;
        for (i=0;i<8;i++)
        {
                result>>1;
                if (data&0x80)
                {
                        result|=0x80;
                }
                data<<1;
        }
        return result;
}

void Lcd_com_N(uchar data)
{
        Lcd_com(Swap_uchar(data));
}

//LCD初始化函數
void lcd_init()
{
        Lcd_com_N(0x3f); //LCD開顯示
        Lcd_com_N(Oxc0); //LCD行初始地址,共64行
        Lcd_com_N(0xb8); //LCD頁初始地址,共3頁
        Lcd_com_N(0x40); //LCD列初始地址,共64列
        led_clear(0);        //清屏                                                                                     該函數led_clear內的 Lcd_com 改為 Lcd_com_N
}

//************** 中文顯示 **************//
void zhongwen(uchar cslor2,uchar X,uchar Y,uint flag)
{
        int i;
        flag=flag*32;
        control(cslor2); // 選擇屏幕顯示                                                                                 該函數control內的 Lcd_com 改為 Lcd_com_N
        Lcd_com_N(0xb8+(X*2));//選擇—個漢字的上部
        Lcd_com_N(0x40+(Y*16));
        for(i=0;i<16;i++)
        {
                Lcd_date(Chinese[flag++]) ;//先輸入一個漢上面 16列                                        該函數Lcd_date內的 Lcd_com 改為 Lcd_com_N
        }
        Lcd_com_N(0xb8+(X*2)+1);//選擇一個漢字的下部|
        Lcd_com_N(0x40+(Y*16));
        for(i=0;i<16;i++)
        {
                Lcd_date(Chinese[flag++]);//輸入一個漢字的下部                                                該函數Lcd_date內的 Lcd_com 改為 Lcd_com_N
        }
}


ID:732506 發表于 2020-5-7 22:35
man1234567 發表于 2020-5-7 15:51
其實走到桌子對面更便捷

將顯示屏在線路板上的位置轉180度,是可以減少飛線的,成品做好后是無所謂上下方向的。
ID:584814 發表于 2020-5-7 15:51
hotpet 發表于 2020-5-7 10:31
無須更改線路或軟件,將顯示屏旋轉180度即可。

其實走到桌子對面更便捷
ID:282850 發表于 2020-5-7 15:51
另外,贊同你對調,美觀與方便焊接線第一,軟件服從硬件。也可以說,硬件不足軟件補。
ID:282850 發表于 2020-5-7 15:48
man1234567 回答的方法正確,重新取模不行,因為指令數還沒有反轉。
Lcd_com(0x3f); -----------全改成Lcd_com(swap(0x3f));也可以寫入反轉交換后的數,不用swap
Lcd_date( aa  )-------------全改成Lcd_date(swap(aa));也可以重新取模,高位在下改高位在上
ID:732506 發表于 2020-5-7 10:31
無須更改線路或軟件,將顯示屏旋轉180度即可。
ID:584814 發表于 2020-5-7 09:41
Li.Chi 發表于 2020-5-6 13:02
想問下這個函數具體要怎么使用呢?請大佬指點一下

Lcd_date(swap(Chinese[flag++]));
俺能力有限還不清楚就沒法幫了。
ID:419842 發表于 2020-5-6 13:02
man1234567 發表于 2020-5-6 11:09
1、成品打板后并不存在所說的美觀就是亂成一團放在盒子里也木有問題除非搭棚;
2、如果非得要這樣“好看” ...

想問下這個函數具體要怎么使用呢?請大佬指點一下
ID:584814 發表于 2020-5-6 11:09
1、成品打板后并不存在所說的美觀就是亂成一團放在盒子里也木有問題除非搭棚;
2、如果非得要這樣“好看”,做個小程序將P0要口輸出的數據(程例中Lcd_date鏡像)從高到低轉成從低到高再輸出相當于反過來接。網上抄的程例加進去后只要改Lcd_date那句就可以。
unsigned char swap (unsigned char pData)
{
unsigned char value=0,tmp=0;
unsigned char ii,jj;
for (ii=0x80,jj=0;ii!=0;ii=ii>>1,jj++)
{
if (pData & ii) tmp=1;
else tmp =0;
value |= tmp << jj;
}
return value;
}
ID:592807 發表于 2020-5-6 08:31
并口的液晶屏,如果你將接口順序反過來的話,指令和數據也要反過來,比如0x01 你要換成0x80,0x01其實就時D7-D0分別取值 0 0 0 0 0 0 0 1
ID:97554 發表于 2020-5-6 08:28
重新取模吧,重新取高位生成字模再試試
ID:96682 發表于 2020-5-6 07:39
美不美觀,關鍵是看各元器件如何布局排版

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 羞羞的视频在线看 | 久久久九九 | 久草福利 | 国产成人a亚洲精品 | 久久久精品影院 | 欧日韩不卡在线视频 | 欧美性视频在线播放 | 自拍视频一区二区三区 | 亚洲精选一区二区 | 爱高潮www亚洲精品 中文字幕免费视频 | 欧美一区二区三区四区五区无卡码 | 成人二区 | www.成人久久 | 一区二区三区精品在线 | 一区二区中文字幕 | 亚洲狠狠| 在线国产一区 | 国产成人99久久亚洲综合精品 | 久久免费高清视频 | 久久精品国产免费 | 国产999精品久久久久久绿帽 | 亚洲欧洲视频 | 欧美日韩不卡合集视频 | 香蕉av免费| 奇米在线 | 国产精品久久久久一区二区三区 | 久久精品a级毛片 | 国产1区2区3区 | 精品亚洲永久免费精品 | 自拍视频网 | 亚洲a在线观看 | jvid精品资源在线观看 | 美女露尿口视频 | 国产精品久久久久久久久久软件 | 91国在线观看| 日本不卡一区二区三区在线观看 | 羞羞在线观看视频 | 中国美女一级黄色片 | 亚洲精品欧美 | 日韩欧美手机在线 | 成人免费在线小视频 |