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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

LCD12864顯示不清晰,是什么原因,小白求教

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:993578 發(fā)表于 2024-3-28 14:51 | 只看該作者 |只看大圖 回帖獎勵 |正序瀏覽 |閱讀模式

求教LCD12864如何調(diào)節(jié) 代碼如下:.h文件》》

#ifndef __lcd12864_H_
#define __lcd12864_H_

#include "sys.h"

#define WRITE_CMD 0xF8 // 寫命令
#define WRITE_DAT 0xFA // 寫數(shù)據(jù)

// 接口(SID: PB1  SCLK: PB0)
#define SID PBout(9)
#define SCLK PBout(8)

void lcd_GPIO_init(void);
void Lcd_Init(void);

void SendByte(u8 Dbyte);
void LCD_Clear(void);
void LCD_Display_Words(uint8_t x, uint8_t y, uint8_t *str);
void LCD_Display_Picture(uint8_t *img);

void Lcd_WriteData(u8 Dat);
void Lcd_WriteCmd(u8 Cmd);

#endif



.c》》
#include "lcd.H"
#include "delay.h"

/*!
*  @brief      GPIO_init
*  @since      v1.0
*  @param  None
*/

void lcd_GPIO_init()
{

        GPIO_InitTypeDef GPIO_InitStructure;
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); // 使能PB,PE端口時鐘

        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9 | GPIO_Pin_8; // LED0-->PB.5 端口配置
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;           // 推挽輸出
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;           // IO口速度為50MHz

        GPIO_Init(GPIOB, &GPIO_InitStructure); // 根據(jù)設(shè)定參數(shù)初始化GPIOB.5
        // GPIO_SetBits(GPIOB, GPIO_Pin_5);           // PB.5 輸出高
        SID = 1;
        SCLK = 1;
}

/* 字符顯示RAM地址    4行8列 */
u8 LCD_addr[4][8] = {
        {0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87}, // 第一行
        {0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97}, // 第二行
        {0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x8D, 0x8E, 0x8F}, // 第三行
        {0x98, 0x99, 0x9A, 0x9B, 0x9C, 0x9D, 0x9E, 0x9F}  // 第四行
};

/*!
*  @brief      LCD串行發(fā)送一個字節(jié)
*  @since      v1.0
*  @param  byte   寫入字節(jié)
*  @author     Z小旋
*/
void SendByte(u8 byte)
{
        u8 i;
        for (i = 0; i < 8; i++)
        {
                if ((byte << i) & 0x80) // 0x80(1000 0000)  只會保留最高位
                {
                        SID = 1; // 引腳輸出高電平,代表發(fā)送1
                }
                else
                {
                        SID = 0; // 引腳輸出低電平,代表發(fā)送0
                }
                /*或
                        SID =        (Dbyte << i) & 0x80;

                        上面那樣為了方便理解
                */
                SCLK = 0;         // 時鐘線置低  允許SID變化
                delay_us(5); // 延時使數(shù)據(jù)寫入
                SCLK = 1;         // 拉高時鐘,讓從機讀SID
        }
}

/*!
*  @brief      LCD寫指令
*  @since      v1.0
*  @param  Cmd   要寫入的指令
*  @author     Z小旋
*/
void Lcd_WriteCmd(u8 Cmd)
{
        delay_ms(1);                  // 由于我們沒有寫LCD正忙的檢測,所以直接延時1ms,使每次寫入數(shù)據(jù)或指令間隔大于1ms 便可不用寫忙狀態(tài)檢測
        SendByte(WRITE_CMD);  // 11111,RW(0),RS(0),0
        SendByte(0xf0 & Cmd); // 高四位
        SendByte(Cmd << 4);          // 低四位(先執(zhí)行<<)
}

/*!
*  @brief      LCD寫數(shù)據(jù)
*  @since      v1.0
*  @param  Dat   要寫入的數(shù)據(jù)
*  @author     Z小旋
*/
void Lcd_WriteData(u8 Dat)
{
        delay_ms(1);
        SendByte(WRITE_DAT);  // 11111,RW(0),RS(1),0
        SendByte(0xf0 & Dat); // 高四位
        SendByte(Dat << 4);          // 低四位(先執(zhí)行<<)
}
/*!
*  @brief      LCD初始化
*  @since      v1.0
*  @param  None
*  @author     Z小旋
*/
void Lcd_Init(void)
{
        delay_ms(50);                // 等待液晶自檢(延時>40ms)
        Lcd_WriteCmd(0x30); // 功能設(shè)定:選擇基本指令集
        delay_ms(1);                // 延時>100us
        Lcd_WriteCmd(0x30); // 功能設(shè)定:選擇8bit數(shù)據(jù)流
        delay_ms(1);                // 延時>37us
        Lcd_WriteCmd(0x0c); // 開顯示
        delay_ms(1);                // 延時>100us
        Lcd_WriteCmd(0x01); // 清除顯示,并且設(shè)定地址指針為00H
        delay_ms(30);                // 延時>10ms
        Lcd_WriteCmd(0x06); // 進入設(shè)定點,初始化完成
}

/*!
*  @brief      顯示字符或漢字
*  @since      v1.0
*  @param  x: row(0~3)
*  @param  y: line(0~7)
*  @param         str: 要顯示的字符或漢字
*  @author     Z小旋
*/
void LCD_Display_Words(uint8_t x, uint8_t y, uint8_t *str)
{
        Lcd_WriteCmd(LCD_addr[x][y]); // 寫初始光標位置
        while (*str > 0)
        {
                Lcd_WriteData(*str); // 寫數(shù)據(jù)
                str++;
        }
}
/*!
*  @brief      顯示圖片
*  @since      v1.0
*  @param  *pic   圖片地址
*  @author
*/
void LCD_Display_Picture(uint8_t *img)
{
        uint8_t x, y, i;
        Lcd_WriteCmd(0x34);                // 切換到擴充指令
        Lcd_WriteCmd(0x34);                // 關(guān)閉圖形顯示
        for (i = 0; i < 1; i++) // 上下屏寫入
        {
                for (y = 0; y < 32; y++) // 垂直Y寫32次
                {
                        for (x = 0; x < 8; x++) // 橫向X寫8次
                        {
                                Lcd_WriteCmd(0x80 + y);                // 行地址
                                Lcd_WriteCmd(0x80 + x + i); // 列地址
                                Lcd_WriteData(*img++);                // 寫高位字節(jié)數(shù)據(jù) D15-D8
                                Lcd_WriteData(*img++);                // 寫低位字節(jié)數(shù)據(jù) D7-D0
                        }
                }
        }
        Lcd_WriteCmd(0x36); // 打開圖形顯示
        Lcd_WriteCmd(0x30); // 切換回基本指令
}
/*!
*  @brief      清屏函數(shù)
*  @since      v1.0
*  @param  None
*  @author     Z小旋
*/
void LCD_Clear(void)
{
        Lcd_WriteCmd(0x01); // 清屏指令
        delay_ms(2);                // 延時以待液晶穩(wěn)定【至少1.6ms】
}


main》》

#include "stm32f10x.h"
#include "sys.h"
#include "lcd.h"
#include "delay.h"
#include "usart.h"
#include "adc.h"

int main(void)
{
    uart_init(115200);
    delay_init();
    lcd_GPIO_init();
    Lcd_Init();

    while (1) {
        /*漢字顯示*/
        LCD_Display_Words(0, 0, "清時明月漢時關(guān)");
        LCD_Display_Words(1, 0, "萬里長征人未還");
        LCD_Display_Words(2, 0, "但使龍城飛將在");
        LCD_Display_Words(3, 0, "不教胡馬度陰山");
    }
}


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

使用道具 舉報

來自 24#
ID:993578 發(fā)表于 2024-4-1 15:14 | 只看該作者
VO口接了一個電位器,調(diào)整了下,顯示正常了,感謝各位
回復(fù)

使用道具 舉報

23#
ID:1034262 發(fā)表于 2024-3-31 19:18 | 只看該作者
調(diào)整偏壓!調(diào)整偏壓!調(diào)整偏壓!說3遍。
回復(fù)

使用道具 舉報

22#
ID:106977 發(fā)表于 2024-3-31 18:51 | 只看該作者
現(xiàn)在4寸,分辨率800×480的TFT彩屏價格60元左右,還帶觸摸。你這個屏還花三十多元,想想是買便宜了還是買貴了?
回復(fù)

使用道具 舉報

21#
ID:883242 發(fā)表于 2024-3-29 19:33 | 只看該作者
發(fā)燙的話,應(yīng)該是亮度調(diào)節(jié),電流很大。對比度調(diào)節(jié)電位器電流非常微弱,不會發(fā)燙。
回復(fù)

使用道具 舉報

20#
ID:1074206 發(fā)表于 2024-3-29 18:31 來自手機 | 只看該作者
調(diào)一下背光就可以解決
回復(fù)

使用道具 舉報

19#
ID:1109356 發(fā)表于 2024-3-29 09:48 | 只看該作者
確實是對比度太高。
看接線是用SPI串口,也可以換成LCD屏(st7735驅(qū)動,SPI串口)或OLED屏 (1306驅(qū)動,IIC),都蠻便宜的(1元到十幾元不等),可在程序中做初始化時設(shè)置對比度和亮度。
回復(fù)

使用道具 舉報

18#
ID:517951 發(fā)表于 2024-3-29 08:00 | 只看該作者
a1592608215 發(fā)表于 2024-3-28 16:58
我沒有微調(diào)電阻,可以用普通電阻替代么

可以先用電位器調(diào)整負壓, 調(diào)到合適的值以后, 再換用對應(yīng)的普通電阻就可以了.
回復(fù)

使用道具 舉報

17#
ID:149451 發(fā)表于 2024-3-29 07:19 | 只看該作者
a1592608215 發(fā)表于 2024-3-28 16:31
背部有一個旋鈕,我用螺絲刀轉(zhuǎn)動,會清晰,但是旁邊的兩個電阻以及那個旋鈕特別燙,這是什么原因呢,我買的 ...

三十幾還便宜,您可真豪橫!也就幾元的東西
回復(fù)

使用道具 舉報

16#
ID:195496 發(fā)表于 2024-3-28 17:52 | 只看該作者
對比度過重了,要調(diào)整一下
回復(fù)

使用道具 舉報

15#
ID:993578 發(fā)表于 2024-3-28 17:07 | 只看該作者
zhuls 發(fā)表于 2024-3-28 16:50
如要沒有特定需求,不如買彩屏。分辯率更高,顯示更好,能顯示的內(nèi)容也更多,價格還更低。

大佬彩屏可以推薦個型號么,我是stm32f103c8t6
回復(fù)

使用道具 舉報

14#
ID:993578 發(fā)表于 2024-3-28 16:58 | 只看該作者
hhdsdy 發(fā)表于 2024-3-28 16:34
很多的液晶屏對比度調(diào)節(jié)需要外接,取一個10K的微調(diào)電阻,中心腳接液晶屏的VO引腳,兩端直接并在液晶屏的 ...

我沒有微調(diào)電阻,可以用普通電阻替代么
回復(fù)

使用道具 舉報

13#
ID:993578 發(fā)表于 2024-3-28 16:57 | 只看該作者

一般買多少錢的?12864LCD帶中文字庫
回復(fù)

使用道具 舉報

受到警告 12#
ID:961114 發(fā)表于 2024-3-28 16:51 | 只看該作者
下圖 P2.4控制顯示外設(shè) OLED12864復(fù)位,
左邊的 SPI-OLED12864有拉出外界控制復(fù)位PIN, 正確思維,顯示只管降成本,STC保證系統(tǒng)可靠就行
中間的 I2C-OLED12864有拉出外界控制復(fù)位PIN, 正確思維,顯示只管降成本,STC保證系統(tǒng)可靠就行
右邊的不將復(fù)位受控管腳引出的 I2C-OLED12864某一個寶應(yīng)用工程師是太稚

1.jpg (67.29 KB, 下載次數(shù): 82)

1.jpg
回復(fù)

使用道具 舉報

11#
ID:69038 發(fā)表于 2024-3-28 16:50 | 只看該作者
如要沒有特定需求,不如買彩屏。分辯率更高,顯示更好,能顯示的內(nèi)容也更多,價格還更低。
回復(fù)

使用道具 舉報

10#
ID:161164 發(fā)表于 2024-3-28 16:45 | 只看該作者
a1592608215 發(fā)表于 2024-3-28 16:31
背部有一個旋鈕,我用螺絲刀轉(zhuǎn)動,會清晰,但是旁邊的兩個電阻以及那個旋鈕特別燙,這是什么原因呢,我買的 ...

太貴了
回復(fù)

使用道具 舉報

9#
ID:88256 發(fā)表于 2024-3-28 16:34 | 只看該作者
a1592608215 發(fā)表于 2024-3-28 16:25
沒有金屬電位器,這個是需要買一個么

很多的液晶屏對比度調(diào)節(jié)需要外接,取一個10K的微調(diào)電阻,中心腳接液晶屏的VO引腳,兩端直接并在液晶屏的電源上,讓VO有0到5V的可調(diào)電壓即可(有個別的液晶屏還需要負的電壓)。
回復(fù)

使用道具 舉報

8#
ID:993578 發(fā)表于 2024-3-28 16:31 | 只看該作者
背部有一個旋鈕,我用螺絲刀轉(zhuǎn)動,會清晰,但是旁邊的兩個電阻以及那個旋鈕特別燙,這是什么原因呢,我買的這個lcd12864 三十多元,是不是太便宜了,大概要多少錢的好用些?
回復(fù)

使用道具 舉報

7#
ID:993578 發(fā)表于 2024-3-28 16:30 | 只看該作者
cedtek 發(fā)表于 2024-3-28 16:21
模組背面一般有一個調(diào)節(jié)液晶偏壓的電位器,可以使用一字螺絲批緩慢調(diào)節(jié)、邊調(diào)節(jié)邊從液晶的可視角度(好像手 ...

我調(diào)節(jié)完之后,有變清晰,但是旁邊的兩個電阻以及這個旋鈕特別燙,上電就燙,是不是lcd12864有問題,我tb上三十多元買的,另外這個一般多少錢的lcd12864好用呢
回復(fù)

使用道具 舉報

6#
ID:993578 發(fā)表于 2024-3-28 16:27 | 只看該作者
winwor 發(fā)表于 2024-3-28 16:03
液晶屏對比度過高,在屏背部找一個金屬電位器調(diào)節(jié)一下

背部有一個旋鈕,我用螺絲刀轉(zhuǎn)動,會清晰,但是旁邊的兩個電阻以及那個旋鈕特別燙,我買的這個lcd12864 三十多元,是不是太便宜了,大概要多少錢的好用些?
回復(fù)

使用道具 舉報

5#
ID:993578 發(fā)表于 2024-3-28 16:25 | 只看該作者
winwor 發(fā)表于 2024-3-28 16:03
液晶屏對比度過高,在屏背部找一個金屬電位器調(diào)節(jié)一下

沒有金屬電位器,這個是需要買一個么
回復(fù)

使用道具 舉報

地板
ID:866313 發(fā)表于 2024-3-28 16:21 | 只看該作者
模組背面一般有一個調(diào)節(jié)液晶偏壓的電位器,可以使用一字螺絲批緩慢調(diào)節(jié)、邊調(diào)節(jié)邊從液晶的可視角度(好像手冊中有說明)觀察,不同角度觀察到的顯示效果是不同的,實在不清楚詢問一下模組的賣家最佳可視角度是什么再來調(diào)節(jié)偏壓

回復(fù)

使用道具 舉報

板凳
ID:540100 發(fā)表于 2024-3-28 16:03 | 只看該作者
液晶屏對比度過高,在屏背部找一個金屬電位器調(diào)節(jié)一下
回復(fù)

使用道具 舉報

沙發(fā)
ID:149451 發(fā)表于 2024-3-28 16:01 | 只看該作者
調(diào)節(jié)負壓,使對比度滿意為止。另背光如果暗,那得換背光板
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 日韩高清中文字幕 | 久草免费在线视频 | 免费一看一级毛片 | 亚洲午夜精品视频 | 国产精品成人一区二区 | 亚洲精品视频免费看 | 亚洲成人精品 | 国产探花在线观看视频 | 黑人精品欧美一区二区蜜桃 | 99成人免费视频 | 一区二区三区四区电影视频在线观看 | 欧美激情视频一区二区三区在线播放 | 亚洲夜夜爽| 黄色日批视频 | 久久久久久国模大尺度人体 | 日韩电影中文字幕在线观看 | 国产真实乱全部视频 | 色婷婷综合在线观看 | 亚洲人精品午夜 | 国产欧美精品 | 欧洲一区二区视频 | 欧美福利一区 | 97人人澡人人爽91综合色 | 欧美特级黄色 | 成人av播放| 瑞克和莫蒂第五季在线观看 | 日本黄色大片免费 | 欧洲国产精品视频 | 一级黄色毛片免费 | 99精品视频一区二区三区 | 国产欧美日韩一区二区三区在线 | 欧美成人一区二区 | 国产精品久久久久久久久免费丝袜 | 国产一区二区精 | 欧美xxxx性 | 一级a爱片性色毛片免费 | 一本久久a久久精品亚洲 | 国产99久久精品一区二区永久免费 | 欧美色性| 亚洲免费精品 | 狠狠综合久久av一区二区小说 |