OpenEdv-开源电子网

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

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

[复制链接]

55

主题

1231

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

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

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

1.88 MB, 下载次数: 29096

技术交流,Sell 中颖单片机,欢迎私信骚扰
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

55

主题

1231

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2625
金钱
2625
注册时间
2014-2-13
在线时间
514 小时
 楼主| 发表于 2015-2-6 09:37:23 | 显示全部楼层
[mw_shl_code=c,true]/*******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); //???? } [/mw_shl_code]

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

使用道具 举报

55

主题

1231

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

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

使用道具 举报

55

主题

1231

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2625
金钱
2625
注册时间
2014-2-13
在线时间
514 小时
 楼主| 发表于 2015-2-6 09:39:23 | 显示全部楼层
[mw_shl_code=c,true]/**********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); } } [/mw_shl_code]

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

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

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

使用道具 举报

55

主题

1231

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

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

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

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

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

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

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 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)

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

使用道具 举报

55

主题

1231

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

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

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

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

使用道具 举报

3

主题

17

帖子

0

精华

中级会员

Rank: 3Rank: 3

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

使用道具 举报

55

主题

1231

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

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

使用道具 举报

3

主题

17

帖子

0

精华

中级会员

Rank: 3Rank: 3

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

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

为啥我验证不成功呢?

回复 支持 反对

使用道具 举报

55

主题

1231

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

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

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

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

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

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

使用道具 举报

55

主题

1231

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

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

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

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

使用道具 举报

0

主题

19

帖子

0

精华

中级会员

Rank: 3Rank: 3

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

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
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, 下载次数: 2172

回复 支持 反对

使用道具 举报

55

主题

1231

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2625
金钱
2625
注册时间
2014-2-13
在线时间
514 小时
 楼主| 发表于 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

精华

新手上路

积分
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

主题

28

帖子

0

精华

初级会员

Rank: 2

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

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

使用道具 举报

2

主题

8

帖子

0

精华

新手入门

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

使用道具 举报

55

主题

1231

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

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

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

使用道具 举报

2

主题

8

帖子

0

精华

新手入门

积分
7
金钱
7
注册时间
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);就显示不出来  很急很头疼。 毕设的、、、、
回复 支持 反对

使用道具 举报

55

主题

1231

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2625
金钱
2625
注册时间
2014-2-13
在线时间
514 小时
 楼主| 发表于 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

精华

新手入门

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

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

使用道具 举报

14

主题

39

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
317
金钱
317
注册时间
2016-5-7
在线时间
34 小时
发表于 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口,程序会报错
回复 支持 反对

使用道具 举报

55

主题

1231

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

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

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

使用道具 举报

12

主题

76

帖子

0

精华

高级会员

Rank: 4

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

使用道具 举报

42

主题

208

帖子

0

精华

中级会员

Rank: 3Rank: 3

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

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

使用道具 举报

42

主题

208

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
383
金钱
383
注册时间
2014-6-12
在线时间
35 小时
发表于 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, 下载次数: 2393

回复 支持 反对

使用道具 举报

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推挽输出模式,我建议你换三个控制引脚试试
回复 支持 反对

使用道具 举报

42

主题

208

帖子

0

精华

中级会员

Rank: 3Rank: 3

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

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

使用道具 举报

2

主题

27

帖子

0

精华

初级会员

Rank: 2

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

使用道具 举报

55

主题

1231

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

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

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

使用道具 举报

1

主题

11

帖子

0

精华

初级会员

Rank: 2

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

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

使用道具 举报

2

主题

27

帖子

0

精华

初级会员

Rank: 2

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

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

使用道具 举报

8

主题

85

帖子

0

精华

中级会员

Rank: 3Rank: 3

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

使用道具 举报

53

主题

567

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2099
金钱
2099
注册时间
2017-2-11
在线时间
306 小时
发表于 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

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

使用道具 举报

3

主题

25

帖子

0

精华

初级会员

Rank: 2

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

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

使用道具 举报

3

主题

10

帖子

0

精华

初级会员

Rank: 2

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

你好,我用了和你一样的程序,出现了相同的问题,第一行显示方格第二行没东西,请问你当时是怎么修改的呢?
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-27 05:39

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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