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

標題: stm32f103單片機+LCD12864一直藍屏,無任何顯示 改如何調試? [打印本頁]

作者: hehe、    時間: 2023-1-25 20:13
標題: stm32f103單片機+LCD12864一直藍屏,無任何顯示 改如何調試?

.h

#ifndef _LCD12864_H_
#define _LCD12864_H_

#include "stm32f10x.h"
#include "sys.h"

typedef struct{

        u8 c51 ;
        u8 num ;
        u8 *dat;

}LCD_InitTypeDef;

#define CS  GPIO_Pin_1 //RS
#define SID GPIO_Pin_2 //RW
#define CLK GPIO_Pin_3 //EN
#define PSB GPIO_Pin_4 //串并選擇 H并 L串
#define CMD_PROT GPIOA

#define CS_HIGH GPIO_SetBits(CMD_PROT,CS)
#define CS_LOW GPIO_ResetBits(CMD_PROT,CS)

#define SID_HIGH GPIO_SetBits(CMD_PROT,SID)
#define SID_LOW GPIO_ResetBits(CMD_PROT,SID)

#define CLK_HIGH GPIO_SetBits(CMD_PROT,CLK)
#define CLK_LOW GPIO_ResetBits(CMD_PROT,CLK)

#define PSB_HIGH GPIO_SetBits (CMD_PROT,PSB)
#define PSB_LOW GPIO_ResetBits(CMD_PROT,PSB)

#define CMD 0XF8
#define DAT 0XFA



void LCD12864_UserConfig(void);
void LCD12864_Write_Init(void);
void LCD12864_Opne(void);
void LCD12864_Shut(void);
void LCD12864_Write_Cmd_Data(u8 cmd,u8 data);
void LCD12864_Write_Word(LCD_InitTypeDef LCD_InitStructure);
void LCD12864_Write_Number(u8 c51,u16 num);

#endif

.c


#include "stm32f10x.h"
#include "Delay.h"
#include "LCD12864.h"

void LCD12864_UserConfig(void){

        GPIO_InitTypeDef GPIO_InitStructure;

        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);

        GPIO_InitStructure.GPIO_Pin   = CS|SID|CLK|PSB; //CMD
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
        GPIO_InitStructure.GPIO_Mode  = GPIO_Mode_Out_PP;
        GPIO_Init(CMD_PROT,&GPIO_InitStructure);
}
void LCD12864_Write_Byte(u8 data){

        CS_HIGH;
        for(u8 i=0;i<8;i++){ // 1000 0000 << 0 >>

                ((data<<i)&0x80) ? SID_HIGH:SID_LOW;

                CLK_LOW;
                CLK_HIGH;
        }
        CS_LOW;
}
void LCD12864_Write_Cmd_Data(u8 cmd,u8 data){

        LCD12864_Write_Byte(cmd);
        LCD12864_Write_Byte(data&0xf0);//HIGH 0X38 1000 0000 & 1111 0000 1000 <<4
        LCD12864_Write_Byte((data<<4)&0xf0);
        Delay_ms(2);
}
void LCD12864_Write_Init(void){

        PSB_LOW;
        LCD12864_Write_Cmd_Data(CMD,0x30);
        LCD12864_Write_Cmd_Data(CMD,0x06);
        LCD12864_Write_Cmd_Data(CMD,0x0C);
        LCD12864_Write_Cmd_Data(CMD,0x01); //清屏
        LCD12864_Write_Cmd_Data(CMD,0x80);
}
void LCD12864_Opne(void){

        LCD12864_Write_Cmd_Data(CMD,0x0C);
}
void LCD12864_Shut(void){

        LCD12864_Write_Cmd_Data(CMD,0x08);
}
void LCD12864_Write_Word(LCD_InitTypeDef LCD_InitStructure){

        LCD12864_Write_Cmd_Data(CMD,LCD_InitStructure.c51);

        for(u8 i=0;i<LCD_InitStructure.num;i++){

                LCD12864_Write_Cmd_Data(DAT,*LCD_InitStructure.dat++);

                Delay_ms(200);
        }
}

void LCD12864_Write_Number(u8 c51,u16 num){

        const u8 number[] = {"0123456789"};

        LCD12864_Write_Cmd_Data(CMD,c51);                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             

        LCD12864_Write_Cmd_Data(DAT,number[num/1000]);    //1314 1
        LCD12864_Write_Cmd_Data(DAT,number[num%1000/100]);//1314 3
        LCD12864_Write_Cmd_Data(DAT,number[num%100/10]);  //1314 1
        LCD12864_Write_Cmd_Data(DAT,number[num%100%10]);  //1314 4        
}


main

#include "stm32f10x.h"
#include "LCD12864.h"
#include "Delay.h"


LCD_InitTypeDef LCD_InitStructure;

int main(void){

        LCD12864_UserConfig();
    LCD12864_Write_Init();

        LCD12864_Opne();

        LCD_InitStructure.c51 = 0X80; //0X80-0X8F 16 8
        LCD_InitStructure.num = 16;
        LCD_InitStructure.dat = (u8*)&"勝日尋芳泗水濱,";
        LCD12864_Write_Word(LCD_InitStructure);

        LCD_InitStructure.c51 = 0X90; //0X90-0X9F 16 8
        LCD_InitStructure.num = 16;
        LCD_InitStructure.dat = (u8*)&"無邊光景一時新。";
        LCD12864_Write_Word(LCD_InitStructure);

        LCD_InitStructure.c51 = 0X88; //0X88-0X8F 16 8
        LCD_InitStructure.num = 16;
        LCD_InitStructure.dat = (u8*)&"等閑識得東風面,";
        LCD12864_Write_Word(LCD_InitStructure);

        LCD_InitStructure.c51 = 0X98; //0X98-0X9F 16 8
        LCD_InitStructure.num = 16;
        LCD_InitStructure.dat = (u8*)&"萬紫千紅總是春。";
        LCD12864_Write_Word(LCD_InitStructure);

        Delay_ms(500);

        LCD12864_Write_Cmd_Data(CMD,0x01);

        LCD12864_Write_Number(0x80,1314);//u8 0-255 u16 0-65535

        while(1){

                for(u8 i=0;i<200;i++){

                        LCD12864_Write_Number(0x90,i);//u8 0-255 u16 0-65535
                        Delay_ms(200);
                }
        }
}

作者: XLinliY.Zhang    時間: 2023-1-26 02:11
調一下對比度,你這是對比度有問題
作者: hehe、    時間: 2023-1-26 05:05
我看csdn上 很多直接vo對比度空接  根本不管
作者: hehe、    時間: 2023-1-26 06:45
XLinliY.Zhang 發表于 2023-1-26 02:11
調一下對比度,你這是對比度有問題

我按照csdn 上例程來的  很多csdn博主都把VO對比度空接了
作者: fishafish    時間: 2023-1-26 13:13
如何代碼沒有bug,那么調低單片機的主頻試試
作者: 君工創    時間: 2023-1-26 14:19
有一些12864的背面有對比度調節電位器。




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 久久久久久国产精品免费免费男同 | 久草精品视频 | 91麻豆精品国产91久久久更新资源速度超快 | av一区在线观看 | 福利久久 | 毛片免费在线 | 欧美 日韩 国产 成人 在线 | 中文字幕免费视频 | 欧美精品在线观看 | 久久国产一区二区三区 | 日韩欧美综合在线视频 | av在线一区二区三区 | 97精品国产手机 | 香蕉视频一区二区 | 91在线视频观看免费 | 精品欧美一区二区三区免费观看 | 成人久久久久久久久 | 中文字幕一区二区三区在线观看 | 网站一区二区三区 | 成人免费视频网站在线观看 | 人人干人人看 | 亚洲综合区 | 在线免费观看毛片 | 日韩欧美国产精品 | 国产美女一区二区 | 国产一区二区三区在线视频 | 国产一区二区日韩 | 国产精品精品久久久 | 久在线观看 | 拍真实国产伦偷精品 | 亚洲综合日韩精品欧美综合区 | av一区二区三区四区 | 欧美精品久久久久 | 91视频久久 | 91观看| 欧美视频日韩 | 在线观看亚洲专区 | 日韩成人中文字幕 | 免费人成激情视频在线观看冫 | 亚洲精品久久久久avwww潮水 | 性生生活大片免费看视频 |