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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

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);
                }
        }
}
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:771630 發表于 2023-1-26 02:11 | 只看該作者
調一下對比度,你這是對比度有問題
回復

使用道具 舉報

板凳
ID:1061573 發表于 2023-1-26 05:05 來自觸屏版 | 只看該作者
我看csdn上 很多直接vo對比度空接  根本不管
回復

使用道具 舉報

地板
ID:1061573 發表于 2023-1-26 06:45 來自觸屏版 | 只看該作者
XLinliY.Zhang 發表于 2023-1-26 02:11
調一下對比度,你這是對比度有問題

我按照csdn 上例程來的  很多csdn博主都把VO對比度空接了
回復

使用道具 舉報

5#
ID:1059013 發表于 2023-1-26 13:13 | 只看該作者
如何代碼沒有bug,那么調低單片機的主頻試試
回復

使用道具 舉報

6#
ID:965189 發表于 2023-1-26 14:19 | 只看該作者
有一些12864的背面有對比度調節電位器。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产视频福利一区 | 久久一热| 国产永久免费 | 精品视频久久久 | 成人免费在线播放视频 | 中文字幕av高清 | 亚洲综合一区二区三区 | avmans最新导航地址 | 国产欧美精品区一区二区三区 | 久久综合狠狠综合久久综合88 | 毛片大全 | 亚洲综合日韩精品欧美综合区 | 欧美成人精品激情在线观看 | 精品三区 | 91精品国产91久久久久久吃药 | 国产日韩欧美激情 | 国产区一区 | 日日天天 | 国产精品亚洲成在人线 | 日本成人在线观看网站 | 欧美日韩成人在线 | 亚洲不卡av在线 | 九九热免费在线观看 | 日韩久久久久久久久久久 | www.伊人.com| 桃色五月| 亚洲精品视频在线 | 91精品久久久久久久久久入口 | 亚洲综合免费 | 国产一区二区三区在线看 | 精品国产乱码久久久久久中文 | 国产精品三级久久久久久电影 | 亚洲福利一区 | 欧美激情在线精品一区二区三区 | 99久久久国产精品 | 色视频网站免费 | 在线一区视频 | 成人三区四区 | 亚洲免费视频播放 | 国产免费一区二区三区最新6 | 日日日色|