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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

請教大佬關于LCD12864反白顯示程序問題

[復制鏈接]
跳轉到指定樓層
樓主
本帖最后由 wanli2018 于 2022-3-6 17:25 編輯

請問一下這個程序怎樣讓  write_com(0x82); lcm_w_word("—名稱設置");  名稱設置  反白就是字是空白的 空白區添沖  顯示成圖三

51hei圖片20220306114454.png (85.64 KB, 下載次數: 61)

51hei圖片20220306114454.png

51hei圖片20220306114441.png (20.06 KB, 下載次數: 63)

51hei圖片20220306114441.png

51hei圖片_20220306172527.png (447.59 KB, 下載次數: 56)

51hei圖片_20220306172527.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:41656 發表于 2022-3-6 13:40 | 只看該作者
看看是否有專門指令 若沒有可以把要寫入LCD的數據部分0和1取反就行了
回復

使用道具 舉報

板凳
ID:265485 發表于 2022-3-6 17:24 | 只看該作者
aidianzi 發表于 2022-3-6 13:40
看看是否有專門指令 若沒有可以把要寫入LCD的數據部分0和1取反就行了

就是指令沒有看懂這個程序是別人的 我移植過來的  能詳細說說嗎 加Q 364470601
回復

使用道具 舉報

地板
ID:824490 發表于 2022-3-7 00:22 | 只看該作者
7920有個反白顯示的指令,你查一下手冊
回復

使用道具 舉報

5#
ID:123289 發表于 2022-3-7 16:32 | 只看該作者
顯示取漢字字模的時候,將字模的0、1反向一下即可。
或者再建一個反向字模庫,此庫與原字庫0、1相反。
方法很多。
我在寫程序時,會設立以下標記:
1、閃標記:B_FLASH,=0/1 = 正常顯示/閃動顯示
2、反白標記:B_INV,=0/1 = 正常顯示/反白顯示
這樣,在顯示時只要改變對應位置的標記,就可以決定顯示的反白與閃動。(當然,標記不止兩個)
此時,輸出字模的方案是: (字模 XOR B_INV) AND (B_FLASH * B_300MS OR  /B_FLASH )
其中: B_300MS 在定時中斷服務程序中,每0.3秒反轉一次0/1。顯示切換也是,每0.3秒一次

大多數人采用的方式是:輸出字模 = 字模,樓主也是這樣的方式。
各有各的好處,供樓主參考。
回復

使用道具 舉報

6#
ID:265485 發表于 2022-3-9 13:36 | 只看該作者
名字不是重點 發表于 2022-3-7 00:22
7920有個反白顯示的指令,你查一下手冊

具體程序怎樣更改呢困擾很久了
#ifndef __LCD12864_H__
#define __LCD12864_H__
#include "zk.h"
#include <delay.h>

#define uchar unsigned char
#define uint  unsigned int

/*-----------------------------定義12864液晶屏數據線---------------------------------*/
sbit LCM_RS  = P5^0;   //模式位,為0輸入指令,為1輸入數據
sbit LCM_RW  = P5^1;   //讀寫位,為0讀,為1寫
sbit LCM_EN  = P5^2;   //使能位,高脈沖   
sbit LCD12864_PSB_PORT = P5^4;
#define Lcd_Bus P4     //LCM12864數據總線,P0.0--P0.7對應連接DB0--DB7
/*------------------------------------------------------------------------------------*/
/*12864液晶顯示屏并口驅動程序--------------------------------------------------------*/
//檢查忙位
void chk_busy()
{
   LCM_RS=0; LCM_RW=1; LCM_EN=1;
   Lcd_Bus=0xff;
   while(Lcd_Bus&0x80);
   LCM_EN=0;
}
/*寫指令到LCD------------------------------------------------------------------------*/
void write_com(uchar cmdcode)
{
        chk_busy();
        LCM_RS=0; LCM_RW=0; LCM_EN=1;
        Lcd_Bus=cmdcode;
        DelayUs2x(5);
        LCM_EN=0;
        DelayUs2x(5);
}
/*寫數據到LCD------------------------------------------------------------------------*/
void write_data(uchar Dispdata)
{         
        chk_busy();
        LCM_RS=1; LCM_RW=0; LCM_EN=1;
        Lcd_Bus=Dispdata;
        DelayUs2x(5);
        LCM_EN=0;
        DelayUs2x(5);
}
/*向LCM發送一個字符串,長度64字符之內-------------------------------------------------*/
void lcm_w_word(uchar *s)
{
        while(*s>0) { write_data(*s); s++; }  //應用:lcm_w_word("您好!");
}
回復

使用道具 舉報

7#
ID:265485 發表于 2022-3-9 13:37 | 只看該作者
具體這個程序怎樣更改呢?比喻這個程序最后顯示 lcm_w_word("您好!");  把您好 顯示取反


#ifndef __LCD12864_H__
#define __LCD12864_H__
#include "zk.h"
#include <delay.h>

#define uchar unsigned char
#define uint  unsigned int

/*-----------------------------定義12864液晶屏數據線---------------------------------*/
sbit LCM_RS  = P5^0;   //模式位,為0輸入指令,為1輸入數據
sbit LCM_RW  = P5^1;   //讀寫位,為0讀,為1寫
sbit LCM_EN  = P5^2;   //使能位,高脈沖   
sbit LCD12864_PSB_PORT = P5^4;
#define Lcd_Bus P4     //LCM12864數據總線,P0.0--P0.7對應連接DB0--DB7
/*------------------------------------------------------------------------------------*/
/*12864液晶顯示屏并口驅動程序--------------------------------------------------------*/
//檢查忙位
void chk_busy()
{
   LCM_RS=0; LCM_RW=1; LCM_EN=1;
   Lcd_Bus=0xff;
   while(Lcd_Bus&0x80);
   LCM_EN=0;
}
/*寫指令到LCD------------------------------------------------------------------------*/
void write_com(uchar cmdcode)
{
        chk_busy();
        LCM_RS=0; LCM_RW=0; LCM_EN=1;
        Lcd_Bus=cmdcode;
        DelayUs2x(5);
        LCM_EN=0;
        DelayUs2x(5);
}
/*寫數據到LCD------------------------------------------------------------------------*/
void write_data(uchar Dispdata)
{         
        chk_busy();
        LCM_RS=1; LCM_RW=0; LCM_EN=1;
        Lcd_Bus=Dispdata;
        DelayUs2x(5);
        LCM_EN=0;
        DelayUs2x(5);
}
/*向LCM發送一個字符串,長度64字符之內-------------------------------------------------*/
void lcm_w_word(uchar *s)
{
        while(*s>0) { write_data(*s); s++; }  //應用:lcm_w_word("您好!");
}
回復

使用道具 舉報

8#
ID:824490 發表于 2022-3-9 16:06 | 只看該作者
wanli2018 發表于 2022-3-9 13:36
具體程序怎樣更改呢困擾很久了
#ifndef __LCD12864_H__
#define __LCD12864_H__

應該 是要先設定為擴展指令,然后再使用反白指令。至于是先顯示再反白,還是先反白再顯示要試一下。





回復

使用道具 舉報

9#
ID:844772 發表于 2022-3-9 16:44 | 只看該作者
write_com(0x04)——write_com(0x07) 分別代表1——4行的反顯。你查擴展命令就知道了。
回復

使用道具 舉報

10#
ID:265485 發表于 2022-3-9 23:27 | 只看該作者
glinfei 發表于 2022-3-9 16:44
write_com(0x04)——write_com(0x07) 分別代表1——4行的反顯。你查擴展命令就知道了。

請問一下這個反白里 R1 和R0代表是什么意思這個有點看不懂  功能設定里的X 是代表0 還是多少?求大佬指教

51hei截圖20220309232353.jpg (18.79 KB, 下載次數: 49)

51hei截圖20220309232353.jpg
回復

使用道具 舉報

11#
ID:824490 發表于 2022-3-10 00:44 | 只看該作者
wanli2018 發表于 2022-3-9 23:27
請問一下這個反白里 R1 和R0代表是什么意思這個有點看不懂  功能設定里的X 是代表0 還是多少?求大佬指教 ...

R1/R0,就是1到4行的行號。00,表示第一行,11表示第4行。
反白指令是雙穩態,第一次使用對應行反白,再一次使用,又不反白了。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 天天操网| 成人性视频在线播放 | 成人激情视频在线观看 | 成人在线不卡 | 在线观看成人 | 全免费a级毛片免费看视频免费下 | 欧美一级久久久猛烈a大片 日韩av免费在线观看 | 国产精品久久久久久久久 | 色综合色综合网色综合 | 亚洲一区二区免费电影 | 中文av网站 | 亚洲一区中文字幕 | av毛片| 香蕉一区二区 | 精品一区二区久久久久久久网站 | 日韩视频在线免费观看 | 91久久 | 日日摸日日添日日躁av | 日韩午夜场 | 二区在线观看 | 一区二区小视频 | 久草新在线 | 欧美aⅴ | 欧美一级视频在线观看 | 最近日韩中文字幕 | 久久亚洲一区 | 九九免费 | 99热在这里只有精品 | 亚洲精品第一页 | 国产女人叫床高潮大片免费 | 久久久久国产精品免费免费搜索 | 日韩精品视频在线 | 天天草天天操 | 久久高清 | 亚洲一区二区三区 | 欧美日韩久久久 | 国产精品一区二区三区在线 | 亚洲成av人片在线观看 | 欧美国产日本一区 | 91久久国产精品 | 久久精品亚洲精品国产欧美 |