OpenEdv-开源电子网

 找回密码
 立即注册

扫一扫,访问微社区

正点原子新作:阿波罗STM32F767&F429&探索者STM32F4开发板&赶快来下载资料哦。

查看: 8431|回复: 48

【分享】stm32的1602液晶驱动程序

[复制链接]

  离线 

53

主题

1158

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2119
金钱
2119
注册时间
2014-2-13
在线时间
386 小时
发表于 2015-2-6 09:35:42 | 显示全部楼层 |阅读模式
正点原子公众号
RT,突发奇想,拿块1602来折腾下,奉上代码,欢迎各位拍砖
(PS: 选择IO分配的时候,必须查看手册,符合5V的)

基于战舰STM32的1602液晶驱动程序.rar

1.88 MB, 下载次数: 18427

技术交流,Sell 中颖单片机,欢迎私信骚扰
回复

使用道具 举报

  离线 

53

主题

1158

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2119
金钱
2119
注册时间
2014-2-13
在线时间
386 小时
 楼主| 发表于 2015-2-6 09:37:23 | 显示全部楼层
[C] 纯文本查看 复制代码
/*******lcd1602.c**********/
#include \"lcd1602.h\"
#include \"delay.h\"

void GPIO_Configuration(void)
{
	GPIO_InitTypeDef	GPIO_InitStructure;
	
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOD,ENABLE);//????PB,PD?????±??

	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(GPIOD, &GPIO_InitStructure);				//??????GPIOD0~7

	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15|GPIO_Pin_14|GPIO_Pin_13;
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;	//???ì????
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;	//IO????????50MHz
	GPIO_Init(GPIOB, &GPIO_InitStructure);				//??????GPIB15,14,13
}

/* ???????§×?±??? */
void LCD1602_Wait_Ready(void)
{
	u8 sta;
	
	DATAOUT(0xff);
	LCD_RS_Clr();
	LCD_RW_Set();
	do
	{
		LCD_EN_Set();
		delay_ms(5);	//???±5ms??·???????
 		sta = GPIO_ReadInputDataBit(GPIOD, GPIO_Pin_7);//????×???×?
		LCD_EN_Clr();
	}while(sta & 0x80);//bit7????1±í?????§???????????ì???±????????0????
}

/* ?òLCD1602???§??????×????ü????cmd-???????ü???? */
void LCD1602_Write_Cmd(u8 cmd)
{
	LCD1602_Wait_Ready();
	LCD_RS_Clr();
	LCD_RW_Clr();
	DATAOUT(cmd);
	LCD_EN_Set();
	LCD_EN_Clr();
}

/* ?òLCD1602???§??????×?????????dat-???????????? */
void LCD1602_Write_Dat(u8 dat)
{
	LCD1602_Wait_Ready();
	LCD_RS_Set();
	LCD_RW_Clr();
	DATAOUT(dat);
	LCD_EN_Set();
	LCD_EN_Clr();
}

/* ???? */
void LCD1602_ClearScreen(void)
{
	LCD1602_Write_Cmd(0x01);
}

/* ?è??????RAM???????·???à????±ê??????(x,y)-????????????×?·?×?±ê */
void LCD1602_Set_Cursor(u8 x, u8 y)
{
	u8 addr;
	
	if (y == 0)
		addr = 0x00 + x;
	else
		addr = 0x40 + x;
	LCD1602_Write_Cmd(addr | 0x80);
}

/* ?????§??????×?·??®??(x,y)-????????????????×?±ê??str-×?·??®???? */
void LCD1602_Show_Str(u8 x, u8 y, u8 *str)
{
	LCD1602_Set_Cursor(x, y);
	while(*str != '\0')
	{
		LCD1602_Write_Dat(*str++);
	}
}

/* ??????1602???§ */
void LCD1602_Init(void)
{
	LCD1602_Write_Cmd(0x38);	//16*2??????5*7???ó??8????????
	LCD1602_Write_Cmd(0x0c);	//??????????±ê??±?
	LCD1602_Write_Cmd(0x06);	//??×??????????·×???+1
	LCD1602_Write_Cmd(0x01);	//????
}

技术交流,Sell 中颖单片机,欢迎私信骚扰
回复 支持 反对

使用道具 举报

  离线 

53

主题

1158

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2119
金钱
2119
注册时间
2014-2-13
在线时间
386 小时
 楼主| 发表于 2015-2-6 09:38:43 | 显示全部楼层
发现论坛的验证码变得高级了,同时版块也发生变化,哈哈
第一次贴代码上来,那些注释都变符咒了
技术交流,Sell 中颖单片机,欢迎私信骚扰
回复 支持 反对

使用道具 举报

  离线 

53

主题

1158

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2119
金钱
2119
注册时间
2014-2-13
在线时间
386 小时
 楼主| 发表于 2015-2-6 09:39:23 | 显示全部楼层
[C] 纯文本查看 复制代码
/**********main.c**********/
#include \"delay.h\"
#include \"sys.h\"
#include \"usart.h\"
#include \"led.h\"
#include \"lcd1602.h\"

int main(void)
{
	u8 str[] = \"ATOM@ALIENTEK\";
	
	delay_init();
	NVIC_Configuration();
	uart_init(9600);
	GPIO_Configuration();
	LED_Init();
	LCD1602_Init();
	LCD1602_Show_Str(1, 0, str);
 	LCD1602_Show_Str(2, 1, \"I love STM32\");
	while(1)
	{
		LED0 = 0;
		delay_ms(200);
		LED0 = 1;
		delay_ms(200);
	}
}


技术交流,Sell 中颖单片机,欢迎私信骚扰
回复 支持 反对

使用道具 举报

  离线 

113

主题

7460

帖子

12

精华

资深版主

Rank: 8Rank: 8

积分
10784
金钱
10784
注册时间
2013-9-10
在线时间
331 小时
发表于 2015-2-6 19:56:47 | 显示全部楼层
谢谢分享啊!!!
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

  离线 

53

主题

1158

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2119
金钱
2119
注册时间
2014-2-13
在线时间
386 小时
 楼主| 发表于 2015-2-6 22:30:31 | 显示全部楼层
回复【5楼】八度空间:
---------------------------------
代码还可完善吗?
技术交流,Sell 中颖单片机,欢迎私信骚扰
回复 支持 反对

使用道具 举报

  离线 

485

主题

9万

帖子

30

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
120495
金钱
120495
注册时间
2010-12-1
在线时间
963 小时
发表于 2015-2-6 22:49:20 | 显示全部楼层
谢谢分享...
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
微信公众平台:正点原子   点击扫码添加
回复 支持 反对

使用道具 举报

  离线 

113

主题

7460

帖子

12

精华

资深版主

Rank: 8Rank: 8

积分
10784
金钱
10784
注册时间
2013-9-10
在线时间
331 小时
发表于 2015-2-7 12:59:14 | 显示全部楼层
回复【6楼】黑夜之狼:
---------------------------------
我仔细看看才知道也
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

  离线 

113

主题

7460

帖子

12

精华

资深版主

Rank: 8Rank: 8

积分
10784
金钱
10784
注册时间
2013-9-10
在线时间
331 小时
发表于 2015-2-7 13:03:23 | 显示全部楼层
回复【6楼】黑夜之狼:
---------------------------------
函数1:void LCD1602_Wait_Ready(void)
函数2:void LCD1602_Write_Cmd(u8 cmd)
函数3:void LCD1602_Write_Dat(u8 dat)

以上三个函数可以合并成一个即可,通过形参进行设置等等,减少调用函数压栈和出栈的时间,提高效率

宏定义1:#define LCD_RS_Set() GPIO_SetBits(GPIOB, GPIO_Pin_15)
宏定义2:#define LCD_RS_Clr() GPIO_ResetBits(GPIOB, GPIO_Pin_15)

以上两个宏定义建议用位段操作,这样速度快
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

  离线 

53

主题

1158

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2119
金钱
2119
注册时间
2014-2-13
在线时间
386 小时
 楼主| 发表于 2015-2-7 13:24:59 | 显示全部楼层
回复【9楼】八度空间:
---------------------------------
对,写指令和写数据其实是可以合并,后面的你讲的宏定义,用位段操作,库函数有莫?
技术交流,Sell 中颖单片机,欢迎私信骚扰
回复 支持 反对

使用道具 举报

  离线 

113

主题

7460

帖子

12

精华

资深版主

Rank: 8Rank: 8

积分
10784
金钱
10784
注册时间
2013-9-10
在线时间
331 小时
发表于 2015-2-7 13:28:32 | 显示全部楼层
回复【10楼】黑夜之狼:
---------------------------------
原子哥的sys.h文件中就有定义,就是这样的,在M3权威手册里面也有讲到
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

  离线 

3

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
191
金钱
191
注册时间
2014-5-18
在线时间
14 小时
发表于 2015-6-11 19:07:21 | 显示全部楼层
怎么都没有看到你用到延时呢?你的IO口接上拉了吗?验证成功了吗?
回复 支持 反对

使用道具 举报

  离线 

53

主题

1158

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2119
金钱
2119
注册时间
2014-2-13
在线时间
386 小时
 楼主| 发表于 2015-6-12 09:55:27 | 显示全部楼层
回复【12楼】大鱼123:
---------------------------------
IO干嘛要上拉,延时是没必要的,看看手册就知道了,如果没验证过,也不会发上论坛
技术交流,Sell 中颖单片机,欢迎私信骚扰
回复 支持 反对

使用道具 举报

  离线 

3

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
191
金钱
191
注册时间
2014-5-18
在线时间
14 小时
发表于 2015-6-12 23:08:07 | 显示全部楼层

 选择IO分配的时候,必须查看手册,符合5V的这话啥意思呢?

为啥我验证不成功呢?

回复 支持 反对

使用道具 举报

  离线 

53

主题

1158

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2119
金钱
2119
注册时间
2014-2-13
在线时间
386 小时
 楼主| 发表于 2015-6-13 09:19:39 | 显示全部楼层
回复【14楼】大鱼123:
---------------------------------
stm32的IO并不是每一个都是兼容5V电平的,所以就说要查看手册
技术交流,Sell 中颖单片机,欢迎私信骚扰
回复 支持 反对

使用道具 举报

  离线 

0

主题

3

帖子

0

精华

新手上路

Rank: 1

积分
23
金钱
23
注册时间
2015-7-8
在线时间
0 小时
发表于 2015-7-8 10:18:06 | 显示全部楼层
谢谢楼主分享,今天也注册会员啦
回复 支持 反对

使用道具 举报

  离线 

0

主题

3

帖子

0

精华

新手上路

Rank: 1

积分
23
金钱
23
注册时间
2015-7-8
在线时间
0 小时
发表于 2015-7-8 14:54:16 | 显示全部楼层
楼主,你的液晶调出来了的 啊?我这液晶怎么调不出来液晶啊?咋回事啊?
回复 支持 反对

使用道具 举报

  离线 

53

主题

1158

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2119
金钱
2119
注册时间
2014-2-13
在线时间
386 小时
 楼主| 发表于 2015-7-8 23:02:32 | 显示全部楼层
回复【17楼】_Rein_:
---------------------------------
拿我的代码移植过去看看,我都测试过的
技术交流,Sell 中颖单片机,欢迎私信骚扰
回复 支持 反对

使用道具 举报

  离线 

0

主题

3

帖子

0

精华

新手上路

Rank: 1

积分
23
金钱
23
注册时间
2015-7-8
在线时间
0 小时
发表于 2015-7-14 10:04:19 | 显示全部楼层
回复【18楼】黑夜之狼:
---------------------------------
ok了,谢谢主楼啊
回复 支持 反对

使用道具 举报

  离线 

0

主题

18

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
221
金钱
221
注册时间
2015-9-23
在线时间
34 小时
发表于 2015-9-30 10:17:33 | 显示全部楼层
用四线试试。节省I/O口
回复 支持 反对

使用道具 举报

  离线 

0

主题

1

帖子

0

精华

新手上路

Rank: 1

积分
21
金钱
21
注册时间
2015-10-12
在线时间
0 小时
发表于 2015-10-13 19:25:34 | 显示全部楼层
能给具体的接线方式吗?
回复 支持 反对

使用道具 举报

  离线 

4

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
117
金钱
117
注册时间
2015-5-30
在线时间
19 小时
发表于 2016-3-1 22:17:54 | 显示全部楼层
黑夜之狼 发表于 2015-2-6 09:39
[mw_shl_code=c,true]/**********main.c**********/
#include "delay.h"
#include "sys.h"

楼主,我用你的程序直接复制的,仅仅是更改了IO口,选择的都是5V兼容的IO口,我用的是原子哥的mini板,数据线接PB8~PB15,是高8位,控制引脚RS接PA15,RW接PA14,EN接PA13,修改程序下载之后不能正常显示,第一行显示方块,第二行啥也没有,系统频率为72MHz,您能帮我分析一下是什么问题吗,硬件上我需要做什么更改不需要,我看1602的数据手册上说5V的时候工作最稳定,但STM32的引脚输出只有3.3V,数据线和控制线的电压会不会达不到,从而不能驱动液晶正常工作。

1602 - 副本.zip

5.46 MB, 下载次数: 1268

回复 支持 反对

使用道具 举报

  离线 

53

主题

1158

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2119
金钱
2119
注册时间
2014-2-13
在线时间
386 小时
 楼主| 发表于 2016-3-5 17:15:14 | 显示全部楼层
申小远 发表于 2016-3-1 22:17
楼主,我用你的程序直接复制的,仅仅是更改了IO口,选择的都是5V兼容的IO口,我用的是原子哥的mini板,数 ...

看看芯片的数据手册,用到的IO是否兼容5V,按照我的代码是没问题的
技术交流,Sell 中颖单片机,欢迎私信骚扰
回复 支持 反对

使用道具 举报

  离线 

3

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
69
金钱
69
注册时间
2015-11-1
在线时间
7 小时
发表于 2016-3-20 21:56:00 | 显示全部楼层
申小远 发表于 2016-3-1 22:17
楼主,我用你的程序直接复制的,仅仅是更改了IO口,选择的都是5V兼容的IO口,我用的是原子哥的mini板,数 ...

您好 你这个问题解决了吗
我正好也想mini驱动1602
回复 支持 反对

使用道具 举报

  离线 

1

主题

10

帖子

0

精华

新手上路

Rank: 1

积分
27
金钱
27
注册时间
2016-3-8
在线时间
4 小时
发表于 2016-3-20 22:19:27 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

  离线 

4

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
117
金钱
117
注册时间
2015-5-30
在线时间
19 小时
发表于 2016-3-28 13:29:00 | 显示全部楼层
熊猫爱棒子 发表于 2016-3-20 21:56
您好 你这个问题解决了吗
我正好也想mini驱动1602

解决了,1602供电采用5V,控制引脚和数据引脚只需要连接开发板上5V兼容的引脚就可以了,这样的电路连接是没有问题的
回复 支持 反对

使用道具 举报

  离线 

6

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
86
金钱
86
注册时间
2015-9-18
在线时间
26 小时
发表于 2016-3-31 10:28:59 | 显示全部楼层
申小远 发表于 2016-3-1 22:17
楼主,我用你的程序直接复制的,仅仅是更改了IO口,选择的都是5V兼容的IO口,我用的是原子哥的mini板,数 ...

你这个不可以直接用吧?STM32给LCD1602写入D0-D7数据时的管脚操作,和你新的管脚是不对应的
回复 支持 反对

使用道具 举报

  离线 

2

主题

8

帖子

0

精华

新手上路

Rank: 1

积分
5
金钱
5
注册时间
2016-3-27
在线时间
3 小时
发表于 2016-4-4 14:23:09 | 显示全部楼层
谢谢分享    小白请教下引脚怎么接。。最好您说下1~16个引脚第具体接的位置PA几PB几的。。  还有这么接的话 程序用改啥  跪拜!  我QQ78 2 780069
回复 支持 反对

使用道具 举报

  离线 

53

主题

1158

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2119
金钱
2119
注册时间
2014-2-13
在线时间
386 小时
 楼主| 发表于 2016-4-4 17:50:14 | 显示全部楼层
axaxsaxaxz 发表于 2016-4-4 14:23
谢谢分享    小白请教下引脚怎么接。。最好您说下1~16个引脚第具体接的位置PA几PB几的。。  还有这么接的话 ...

看你的单片机有哪些是兼容5V的IO,其实这些在我的代码里面有,你这样问基本上是伸手党,学习得靠自己动手动脑子呀
技术交流,Sell 中颖单片机,欢迎私信骚扰
回复 支持 反对

使用道具 举报

  离线 

2

主题

8

帖子

0

精华

新手上路

Rank: 1

积分
5
金钱
5
注册时间
2016-3-27
在线时间
3 小时
发表于 2016-4-4 21:36:42 | 显示全部楼层
黑夜之狼 发表于 2016-4-4 17:50
看你的单片机有哪些是兼容5V的IO,其实这些在我的代码里面有,你这样问基本上是伸手党,学习得靠自己动手 ...

嗯嗯  看您的程序成功的显示出了数   不过变量怎么显示呀。。试了一下午了  总是类型啥的不符    我是新手  求加qq78  278  0069   就差把测的酒精度数显示出来就完成了。。 用printf看是能看出数  但是用    LCD1602_Show_Str(2, 1,TEMP);就显示不出来  很急很头疼。 毕设的、、、、
回复 支持 反对

使用道具 举报

  离线 

53

主题

1158

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2119
金钱
2119
注册时间
2014-2-13
在线时间
386 小时
 楼主| 发表于 2016-4-4 23:22:47 | 显示全部楼层
axaxsaxaxz 发表于 2016-4-4 21:36
嗯嗯  看您的程序成功的显示出了数   不过变量怎么显示呀。。试了一下午了  总是类型啥的不符    我是新 ...

细心检查下吧
技术交流,Sell 中颖单片机,欢迎私信骚扰
回复 支持 反对

使用道具 举报

  离线 

9

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
99
金钱
99
注册时间
2014-3-20
在线时间
9 小时
发表于 2016-4-20 09:22:56 | 显示全部楼层
麻烦问下楼主,IO口分配时候查看那部分手册,要符合什么要求
回复 支持 反对

使用道具 举报

  离线 

0

主题

2

帖子

0

精华

新手上路

Rank: 1

积分
20
金钱
20
注册时间
2016-4-22
在线时间
2 小时
发表于 2016-4-22 00:46:14 | 显示全部楼层
黑夜之狼 发表于 2016-3-5 17:15
看看芯片的数据手册,用到的IO是否兼容5V,按照我的代码是没问题的

请问楼主,你说的数据手册,具体是哪一份?新手,见谅
回复 支持 反对

使用道具 举报

  离线 

12

主题

35

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
291
金钱
291
注册时间
2016-5-7
在线时间
29 小时
发表于 2016-5-9 10:22:03 | 显示全部楼层
黑夜之狼 发表于 2015-2-6 09:37
[mw_shl_code=c,true]/*******lcd1602.c**********/
#include "lcd1602.h"
#include "delay.h"

你的程序中RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOD,ENABLE)这个函数是使能时钟的程序,你用来使能IO口,程序会报错
回复 支持 反对

使用道具 举报

  离线 

53

主题

1158

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2119
金钱
2119
注册时间
2014-2-13
在线时间
386 小时
 楼主| 发表于 2016-5-9 18:17:06 | 显示全部楼层
imaginer 发表于 2016-5-9 10:22
你的程序中RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOD,ENABLE)这个函数是使能 ...

使能IO就要使能IO对应的时钟,你学过单片机没
技术交流,Sell 中颖单片机,欢迎私信骚扰
回复 支持 反对

使用道具 举报

  离线 

11

主题

64

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
364
金钱
364
注册时间
2017-4-3
在线时间
70 小时
发表于 2017-5-4 13:12:21 | 显示全部楼层
请教大神,为什么写数据和写指令的函数里没有加延时呢,跟时序图对不上啊,最重要的是拷您的代码下来竟然还正常运行了
回复 支持 反对

使用道具 举报

  离线 

41

主题

206

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
376
金钱
376
注册时间
2014-6-12
在线时间
34 小时
发表于 2017-5-18 11:02:34 | 显示全部楼层
申小远 发表于 2016-3-28 13:29
解决了,1602供电采用5V,控制引脚和数据引脚只需要连接开发板上5V兼容的引脚就可以了,这样的电路连接 ...

所用的PA13/14/15  PB8........15都是5v兼容的,修改了下对应了接线,还是驱动不起来
回复 支持 反对

使用道具 举报

  离线 

41

主题

206

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
376
金钱
376
注册时间
2014-6-12
在线时间
34 小时
发表于 2017-5-18 14:37:51 | 显示全部楼层
VSS | VDD | V0 | RS | RW |   E  | DATA | A  | K
GND|  5V  |GND|A15| A14 | A13| B8..15| 3.3|GND
我用的是f103rct6的,查了手册这些引脚都是FT容忍5v的,在你的上面直接修改的,没有驱动成功,麻烦看一下什么原因啊

STM32的1602液晶驱动程序.zip

2.63 MB, 下载次数: 2041

回复 支持 反对

使用道具 举报

  离线 

4

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
117
金钱
117
注册时间
2015-5-30
在线时间
19 小时
发表于 2017-5-18 20:57:17 | 显示全部楼层
郭刘阳 发表于 2017-5-18 14:37
VSS | VDD | V0 | RS | RW |   E  | DATA | A  | K
GND|  5V  |GND|A15| A14 | A13| B8..15| 3.3|GND
我 ...

V0不能直接接地吧,这个引脚是需要调亮度的中间得接个电阻,你接上试试
回复 支持 反对

使用道具 举报

  离线 

4

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
117
金钱
117
注册时间
2015-5-30
在线时间
19 小时
发表于 2017-5-18 21:01:07 | 显示全部楼层
郭刘阳 发表于 2017-5-18 14:37
VSS | VDD | V0 | RS | RW |   E  | DATA | A  | K
GND|  5V  |GND|A15| A14 | A13| B8..15| 3.3|GND
我 ...

另外还有PA13、PA14、PA15这三个引脚是可以用作Jtag调试的,你看看你用的有没有配置成GPIO推挽输出模式,我建议你换三个控制引脚试试
回复 支持 反对

使用道具 举报

  离线 

41

主题

206

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
376
金钱
376
注册时间
2014-6-12
在线时间
34 小时
发表于 2017-5-23 13:27:48 | 显示全部楼层
申小远 发表于 2017-5-18 21:01
另外还有PA13、PA14、PA15这三个引脚是可以用作Jtag调试的,你看看你用的有没有配置成GPIO推挽输出模式, ...

得嘞,我换换试试喽
回复 支持 反对

使用道具 举报

  离线 

2

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
91
金钱
91
注册时间
2017-7-12
在线时间
24 小时
发表于 2017-7-12 15:26:00 | 显示全部楼层
大神,用STM32F103ZET6开发板烧录LCD1602的液晶驱动程序后,液晶屏亮但不显示数字,是什么原因呢?
回复 支持 反对

使用道具 举报

  离线 

53

主题

1158

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2119
金钱
2119
注册时间
2014-2-13
在线时间
386 小时
 楼主| 发表于 2017-7-12 21:48:58 | 显示全部楼层
SHISHI67 发表于 2017-7-12 15:26
大神,用STM32F103ZET6开发板烧录LCD1602的液晶驱动程序后,液晶屏亮但不显示数字,是什么原因呢?

估计GPIO配置没弄好
技术交流,Sell 中颖单片机,欢迎私信骚扰
回复 支持 反对

使用道具 举报

  离线 

1

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
148
金钱
148
注册时间
2016-12-4
在线时间
19 小时
发表于 2017-7-16 20:46:22 | 显示全部楼层

问一下楼主您,用您的程序成功显示出来了,但是在一串连续字符中间会莫名其妙加空格,也就是字符间断显示,而且自己加空格在lcd上的显示也会空的不一样,有时隔了三个空。引脚但是5v容忍的,LCD供电以及背光都是5V,不知道是硬件还是软件问题,希望您能帮忙解答一下,,,非常感谢
回复 支持 反对

使用道具 举报

  离线 

2

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
91
金钱
91
注册时间
2017-7-12
在线时间
24 小时
发表于 2017-7-18 14:37:03 | 显示全部楼层
黑夜之狼 发表于 2017-7-12 21:48
估计GPIO配置没弄好

多谢大神的程序,应该是V0接线的问题,需要串联一个10K的可调电阻,看来硬件方面我是硬伤啊
回复 支持 反对

使用道具 举报

  离线 

0

主题

1

帖子

0

精华

新手上路

Rank: 1

积分
12
金钱
12
注册时间
2017-7-19
在线时间
3 小时
发表于 2017-7-19 10:54:56 | 显示全部楼层
你好大神 我用的驱动程序接口和你的一样 其中D0~D7接液晶7脚~14脚  也接了10k电阻,还是驱动不起来,我怀疑我的液晶是1602A好像不带字库 ,是不是和不带字库有关系,我看你的程序里没有字库的程序。
回复 支持 反对

使用道具 举报

  离线 

4

主题

81

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
360
金钱
360
注册时间
2017-2-11
在线时间
46 小时
发表于 2017-8-8 22:43:55 | 显示全部楼层
VSS  | VDD |   V0 | RS | RW |   E  | DATA | A  |   K   |
GND|  5V    |GND|C0  | C1   | C2 | A0..7  | 3.3|GND|
我的硬件接口都是按照这个接的,代码调试无错误,GPIO时钟更改了(我用的是阿波罗STM32F407ZGT6),使能了I/O口,但是显示的是方格,但是没看到字母。求大神帮忙分析一下,看了好多朋友说液晶现实偏压信号VL接10K电阻或者不能直接接地,我没试过,但是不知道是不是硬件的问题造成。很急,谢谢~~
1.jpg
2.jpg
3.jpg
4.jpg
回复 支持 反对

使用道具 举报

  离线 

10

主题

42

帖子

0

精华

初级会员

Rank: 2

积分
161
金钱
161
注册时间
2017-8-4
在线时间
41 小时
发表于 2017-8-22 14:46:52 | 显示全部楼层
大神有没有基于STM32 LCD1602 4总线的驱动程序?可以分享一下吗?
回复 支持 反对

使用道具 举报

  离线 

1

主题

5

帖子

0

精华

新手上路

Rank: 1

积分
16
金钱
16
注册时间
2018-1-13
在线时间
2 小时
发表于 2018-1-13 15:23:01 | 显示全部楼层
白菜君 发表于 2017-8-22 14:46
大神有没有基于STM32 LCD1602 4总线的驱动程序?可以分享一下吗?

我有iic的程序
回复 支持 反对

使用道具 举报

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

本版积分规则




QQ|联系我们|手机版|官方淘宝店|新浪微博|微信公众平台|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2018-1-21 04:31

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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