OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 8285|回复: 6

用STM32F103c8t6 驱动LCD1602有问题,请大佬帮忙看看

[复制链接]

3

主题

7

帖子

0

精华

初级会员

Rank: 2

积分
56
金钱
56
注册时间
2019-10-15
在线时间
14 小时
发表于 2020-12-2 20:38:55 | 显示全部楼层 |阅读模式
10金钱

$M_0KM}@FNTVZ$QOV%GJL56.jpg

LCD1602 - 副本.zip

6.49 MB, 下载次数: 73

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

7

帖子

0

精华

初级会员

Rank: 2

积分
56
金钱
56
注册时间
2019-10-15
在线时间
14 小时
 楼主| 发表于 2020-12-2 23:08:19 | 显示全部楼层
/*******************LCD1602初始化************************/
void LCD1602_GPIO_init(void)
{             
     GPIO_InitTypeDef  GPIO_InitStructure;
         //开A,B口时钟
         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB, ENABLE);         
         //RS=PB5,RW=PB4,EN=PB3
     GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5;                                 
     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;        //IO口速度为50MHz
         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出
     GPIO_Init(GPIOB, &GPIO_InitStructure);//根据设定参数初始化GPIOB                                         
     //LCD1602的8跟数据线PA0~PA7
         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7;
     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//推挽输出
     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//IO口速度为50MHz
     GPIO_Init(GPIOA, &GPIO_InitStructure);//根据设定参数初始化GPIOA

}
void LCD_init(void)
{
           LCD_Write_Command(0x38);//设置LCD两行显示,一个数据由5*7点阵表示,数据由8跟线传输
           LCD_Write_Command(0x0c);//开整体显示,关光标,不闪烁
           LCD_Write_Command(0x06);//设定输入方式,增量不移位
           LCD_Write_Command(0x01);//清除屏幕显示
           LCD_Write_Command(0x80);//设置数据指针起点
}

/*******************写指令函数************************/
void LCD_Write_Command(unsigned char com)                                   
{
        EN=0; //使能
    RS=0; //写指令
        RW=0; //选择写入
         
        GPIO_Write(GPIOA, 0X00FF&com);//该函数一般用来往一次性一个GPIO的多个端口设置
    delay_ms(1);
        EN=1;
        delay_ms(5);
    EN=0;
}

/*******************写数据函数************************/
void LCD_Write_Date(unsigned char date)                       
{  
        EN=0; //使能
    RS=1; //写数据
        RW=0; //选择写入   

        GPIO_Write(GPIOA, 0X00FF&date);//GPIOA的第八位用来作为8位数据口                                          
        delay_ms(1);
        EN=1;  
        delay_ms(5);
        EN=0;
}

回复

使用道具 举报

2

主题

582

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2690
金钱
2690
注册时间
2014-5-23
在线时间
188 小时
发表于 2020-12-3 11:24:48 | 显示全部楼层
有啥问题,没看出来
回复

使用道具 举报

0

主题

81

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
365
金钱
365
注册时间
2017-2-13
在线时间
124 小时
发表于 2020-12-3 11:59:55 | 显示全部楼层
有可能是亮度太亮导致的
回复

使用道具 举报

11

主题

53

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
461
金钱
461
注册时间
2019-3-22
在线时间
185 小时
发表于 2021-3-20 16:48:39 | 显示全部楼层
我也是整个问题,你的问题解决了吗?
回复

使用道具 举报

3

主题

43

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
371
金钱
371
注册时间
2013-6-1
在线时间
54 小时
发表于 2021-8-16 15:42:50 | 显示全部楼层
同样问题,你们都搞定了吗
回复

使用道具 举报

0

主题

3

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2022-3-21
在线时间
14 小时
发表于 2022-4-8 21:05:25 | 显示全部楼层
怎么解决的啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-27 14:30

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表