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

標題: LCD12864顯示不清晰,是什么原因,小白求教 [打印本頁]

作者: a1592608215    時間: 2024-3-28 14:51
標題: LCD12864顯示不清晰,是什么原因,小白求教

求教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, "不教胡馬度陰山");
    }
}



作者: w1179benp    時間: 2024-3-28 16:01
調(diào)節(jié)負壓,使對比度滿意為止。另背光如果暗,那得換背光板
作者: winwor    時間: 2024-3-28 16:03
液晶屏對比度過高,在屏背部找一個金屬電位器調(diào)節(jié)一下
作者: cedtek    時間: 2024-3-28 16:21
模組背面一般有一個調(diào)節(jié)液晶偏壓的電位器,可以使用一字螺絲批緩慢調(diào)節(jié)、邊調(diào)節(jié)邊從液晶的可視角度(好像手冊中有說明)觀察,不同角度觀察到的顯示效果是不同的,實在不清楚詢問一下模組的賣家最佳可視角度是什么再來調(diào)節(jié)偏壓


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

沒有金屬電位器,這個是需要買一個么
作者: a1592608215    時間: 2024-3-28 16:27
winwor 發(fā)表于 2024-3-28 16:03
液晶屏對比度過高,在屏背部找一個金屬電位器調(diào)節(jié)一下

背部有一個旋鈕,我用螺絲刀轉(zhuǎn)動,會清晰,但是旁邊的兩個電阻以及那個旋鈕特別燙,我買的這個lcd12864 三十多元,是不是太便宜了,大概要多少錢的好用些?
作者: a1592608215    時間: 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好用呢
作者: a1592608215    時間: 2024-3-28 16:31
背部有一個旋鈕,我用螺絲刀轉(zhuǎn)動,會清晰,但是旁邊的兩個電阻以及那個旋鈕特別燙,這是什么原因呢,我買的這個lcd12864 三十多元,是不是太便宜了,大概要多少錢的好用些?
作者: hhdsdy    時間: 2024-3-28 16:34
a1592608215 發(fā)表于 2024-3-28 16:25
沒有金屬電位器,這個是需要買一個么

很多的液晶屏對比度調(diào)節(jié)需要外接,取一個10K的微調(diào)電阻,中心腳接液晶屏的VO引腳,兩端直接并在液晶屏的電源上,讓VO有0到5V的可調(diào)電壓即可(有個別的液晶屏還需要負的電壓)。
作者: lkc8210    時間: 2024-3-28 16:45
a1592608215 發(fā)表于 2024-3-28 16:31
背部有一個旋鈕,我用螺絲刀轉(zhuǎn)動,會清晰,但是旁邊的兩個電阻以及那個旋鈕特別燙,這是什么原因呢,我買的 ...

太貴了
作者: zhuls    時間: 2024-3-28 16:50
如要沒有特定需求,不如買彩屏。分辯率更高,顯示更好,能顯示的內(nèi)容也更多,價格還更低。
作者: STC莊偉    時間: 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

作者: a1592608215    時間: 2024-3-28 16:57
lkc8210 發(fā)表于 2024-3-28 16:45
太貴了

一般買多少錢的?12864LCD帶中文字庫
作者: a1592608215    時間: 2024-3-28 16:58
hhdsdy 發(fā)表于 2024-3-28 16:34
很多的液晶屏對比度調(diào)節(jié)需要外接,取一個10K的微調(diào)電阻,中心腳接液晶屏的VO引腳,兩端直接并在液晶屏的 ...

我沒有微調(diào)電阻,可以用普通電阻替代么
作者: a1592608215    時間: 2024-3-28 17:07
zhuls 發(fā)表于 2024-3-28 16:50
如要沒有特定需求,不如買彩屏。分辯率更高,顯示更好,能顯示的內(nèi)容也更多,價格還更低。

大佬彩屏可以推薦個型號么,我是stm32f103c8t6
作者: 大漠落日    時間: 2024-3-28 17:52
對比度過重了,要調(diào)整一下
作者: w1179benp    時間: 2024-3-29 07:19
a1592608215 發(fā)表于 2024-3-28 16:31
背部有一個旋鈕,我用螺絲刀轉(zhuǎn)動,會清晰,但是旁邊的兩個電阻以及那個旋鈕特別燙,這是什么原因呢,我買的 ...

三十幾還便宜,您可真豪橫!也就幾元的東西
作者: rayin    時間: 2024-3-29 08:00
a1592608215 發(fā)表于 2024-3-28 16:58
我沒有微調(diào)電阻,可以用普通電阻替代么

可以先用電位器調(diào)整負壓, 調(diào)到合適的值以后, 再換用對應(yīng)的普通電阻就可以了.
作者: shoppingx    時間: 2024-3-29 09:48
確實是對比度太高。
看接線是用SPI串口,也可以換成LCD屏(st7735驅(qū)動,SPI串口)或OLED屏 (1306驅(qū)動,IIC),都蠻便宜的(1元到十幾元不等),可在程序中做初始化時設(shè)置對比度和亮度。
作者: kk17328    時間: 2024-3-29 18:31
調(diào)一下背光就可以解決
作者: Hephaestus    時間: 2024-3-29 19:33
發(fā)燙的話,應(yīng)該是亮度調(diào)節(jié),電流很大。對比度調(diào)節(jié)電位器電流非常微弱,不會發(fā)燙。
作者: lgwd    時間: 2024-3-31 18:51
現(xiàn)在4寸,分辨率800×480的TFT彩屏價格60元左右,還帶觸摸。你這個屏還花三十多元,想想是買便宜了還是買貴了?
作者: coody_sz    時間: 2024-3-31 19:18
調(diào)整偏壓!調(diào)整偏壓!調(diào)整偏壓!說3遍。
作者: a1592608215    時間: 2024-4-1 15:14
VO口接了一個電位器,調(diào)整了下,顯示正常了,感謝各位




歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 天天精品视频 | 欧美片网站yy | 亚洲国产日韩在线 | 视频一区二区在线播放 | 亚洲国产日韩在线 | 日韩一区二区三区在线 | 俺去俺来也在线www色官网 | 亚洲精品福利视频 | 九九视频在线 | 欧美福利影院 | 91麻豆精品国产91久久久久久久久 | 麻豆三级视频 | 男女激情视频网站 | 国产精品二 | 色多多视频在线观看 | 日韩中文在线视频 | 国产寡妇亲子伦一区二区三区四区 | 国产三级在线看 | 中文字幕三级 | 天天操天天拍 | 狠狠干狠狠干 | 久久久久久爱 | 91久久国产综合久久91精品网站 | 亚洲欧美另类在线 | 欧美精品二区三区四区免费看视频 | 大香蕉毛片 | 日韩精品久久久 | 成人免费视频观看 | 激情五月综合 | 亚洲小视频在线观看 | 香蕉成人网 | 三上悠亚久久 | 999毛片 | 免费国产精品视频 | www.一区二区| 日韩欧美小视频 | 欧美又大又硬又粗bbbbb | 国内自拍偷拍 | 国产精品久久久久久久午夜 | 国产日本在线 | 日韩欧美视频在线 |