找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

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

求助!stm32f103c8t6驅(qū)動(dòng)12864串行顯示但沒(méi)有顯示

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
stm32f103c8t6單片機(jī),lcd12864液晶顯示屏
用st-link下載程序后,顯示屏不顯示“welcome” (程序要求顯示welcome)
有大佬幫忙解答一下嗎? 謝謝!

接線:
#define LCD_GPIO   GPIOA
#define LCD_EN     PAout(2)
#define LCD_RW     PAout(1)
#define LCD_RS     PAout(0


下面是lcd12864.c函數(shù)

#include "lcd12864.h"
void delay20ms()
{
        unsigned int i = 50;
        while(i)
        {
                i = i - 1;
        }
}

void LCD12864_int(void)
{
          GPIO_Configuration();
                // the initial delay time i make it all the same
                //初始化命令之間的延時(shí)所有定義為最長(zhǎng)延時(shí),20ms 手冊(cè)上說(shuō)是10 ms
                //這個(gè)延時(shí)可能會(huì)有點(diǎn)怪,我是為了后面還有作用,測(cè)試他的極限延時(shí),
                send_cmd(0x34)        ;
                delay20ms();
                send_cmd(0x30)        ;
                delay20ms();
                send_cmd(0x0c)        ;
                delay20ms();
                send_cmd(0x01)        ;
                delay20ms();
                send_cmd(0x06)        ;
                delay20ms();
}
//指定在液晶的哪一行顯示  
void LCD12864_Pos(unsigned char x, unsigned char y)
{
        unsigned char pos = 0;
        send_cmd(0x30);                                                //這里是最重要的                                                                                                //,不同的功能切換的時(shí)候事先一定要聲明是在哪個(gè)模式下的命令
        if(x == 0)
                x = 0x80;
        else if(x == 1)
                x = 0x90;
        else if(x == 2)
                x = 0x88;
        else if(x == 3)
                x = 0x98;
       
        pos = x + y;
        send_cmd(pos);
}

//顯示一個(gè)數(shù)據(jù)函數(shù)
void show_word(unsigned char ch)
{
        unsigned char data;                                                                                                                //發(fā)送數(shù)據(jù),也是要分三個(gè)字節(jié)來(lái)發(fā)送,注意這次是fa開(kāi)頭,是發(fā)送,且發(fā)送的是數(shù)據(jù)的意思      
        LCD_RS=1;
        data = ch;
        spi_function(0x0fa);
        spi_function(data & 0xf0);
        spi_function( (data << 4) & 0xf0);
        LCD_RS=0;       
}

void GPIO_Configuration()
{
                GPIO_InitTypeDef GPIO_InitStructure;
                RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA, ENABLE);
          GPIO_InitStructure.GPIO_Pin = LCD_EN | LCD_RW        | LCD_RS        ;
          GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;      
          GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
          GPIO_Init(LCD_GPIO, &GPIO_InitStructure);
                GPIO_SetBits(LCD_GPIO, LCD_EN | LCD_RW        | LCD_RS);         // turn off all led
}

//其實(shí)這貨是不是100us,我是沒(méi)算過(guò),隨便給它個(gè)數(shù)值,讓他自己玩兒去。
void delay100us(void)
{
        unsigned int i = 50;
        while(i)
        {
                i = i - 1;
        }
}
void spi_function(unsigned char del)
{
        unsigned char i = 8 , data;
        data = del;
        LCD_EN=1;                                                                //每次發(fā)送的數(shù)據(jù)或者命令的話,都先拉高時(shí)鐘線和數(shù)據(jù)線
        LCD_RW=1;
        delay100us();
        while(i)
        {
                if(data & 0x80)
                        LCD_RW=1;
                else
                        LCD_RW=0;
                delay100us();
                LCD_EN = 0;                                                        //時(shí)鐘線拉高,延時(shí)一段時(shí)間再拉低,拉低意味著數(shù)據(jù)線上的數(shù)據(jù)要被12864鎖存了
                delay100us();
                delay100us();
                LCD_EN=1;
                delay100us();       
                data = data << 1;
                i = i -1;       
        }
}

void send_cmd(unsigned char com)                                                                                //發(fā)送命令,分三個(gè)字節(jié)發(fā)送,注意第一個(gè)字節(jié)哦,f8,是指發(fā)送動(dòng)作,且是發(fā)送命令
{
        unsigned char data;
        LCD_RS=1;
        data = com;
        spi_function(0x0f8);
        spi_function(data & 0xf0);
        spi_function( (data << 4) & 0xf0);
        LCD_RS=0;
}



void LCD12864_write(unsigned char cmd,unsigned char dat)
{
        unsigned char data;                                                                                                                //發(fā)送數(shù)據(jù),也是要分三個(gè)字節(jié)來(lái)發(fā)送,注意這次是fa開(kāi)頭,是發(fā)送,且發(fā)送的是數(shù)據(jù)的意思
        LCD_RS=1;
        data = dat;
        if(cmd!=0) spi_function(0x0fa);
        else              spi_function(0x0f8);
        spi_function(data & 0xf0);
        spi_function( (data << 4) & 0xf0);
        LCD_RS=0;       
}


void LCD12864_writebyte(unsigned char *prointer)                               
{
    while(*prointer!='\0')
    {
        LCD12864_write(1,*prointer);
        prointer++;
    }
}

void LCD12864_clear(void)
{
    send_cmd(0x01);                        //清屏指令
                delay_ms(2);       
}

51hei圖片_20200421113032.jpg (1.34 MB, 下載次數(shù): 117)

51hei圖片_20200421113032.jpg

952058.JPG (151.23 KB, 下載次數(shù): 115)

952058.JPG

lcd12864接口圖.JPG (37.46 KB, 下載次數(shù): 133)

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

使用道具 舉報(bào)

沙發(fā)
ID:687324 發(fā)表于 2020-4-25 12:20 | 只看該作者
樓主,現(xiàn)在能行了嗎?我也遇到了同樣的問(wèn)題。。。
回復(fù)

使用道具 舉報(bào)

板凳
ID:592807 發(fā)表于 2020-4-25 19:04 | 只看該作者
spi初始化呢?
回復(fù)

使用道具 舉報(bào)

地板
ID:505153 發(fā)表于 2020-10-16 17:14 | 只看該作者
引腳需要接1k上啦   psb接地不接地都行
回復(fù)

使用道具 舉報(bào)

5#
ID:414556 發(fā)表于 2020-10-16 19:16 | 只看該作者
調(diào)一下對(duì)比度看看,有時(shí)候程序?qū)Σ伙@示就是對(duì)比度沒(méi)調(diào)好.
回復(fù)

使用道具 舉報(bào)

6#
ID:160500 發(fā)表于 2020-10-16 20:18 | 只看該作者
        RST_1;
        delay_us(10);
        RST_0;
        delay_us(20);
        RST_1;
        delay_us(10);
        write_com(0x30);//30---基本指令動(dòng)作
        HAL_Delay(5);
        write_com(0x30);//30---基本指令動(dòng)作
        HAL_Delay(5);
        write_com(0x0c);//開(kāi)顯示,關(guān)游標(biāo)
        HAL_Delay(5);
  slcdCls();//清屏,地址指針指向 00H
        write_com(0x03);
        HAL_Delay(10);

貼一段我的初始化
回復(fù)

使用道具 舉報(bào)

7#
ID:160500 發(fā)表于 2020-10-16 20:23 | 只看該作者
運(yùn)行中的圖片

51hei圖片_20201016202209.jpg (105.21 KB, 下載次數(shù): 124)

51hei圖片_20201016202209.jpg
回復(fù)

使用道具 舉報(bào)

8#
ID:476699 發(fā)表于 2020-10-16 20:30 | 只看該作者
片選,讀寫這些引腳都不用接個(gè)上拉的嗎?
回復(fù)

使用道具 舉報(bào)

9#
ID:819974 發(fā)表于 2020-12-23 20:50 | 只看該作者

能分享程序嗎?
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表