17912|19

20

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

请问有用过STM32写LCD12864屏幕的吗?很简单的程序,我死活找不到问题,求助啊!!... [复制链接]

 
我手里有一块STM32F103C8T6的板子,然后还有一块LCD12864(16脚)的屏幕,我想用单片机控制显示屏幕。我是拿51的例程来改了一些函数,硬件连接:RS RD RW RST CS 分别为A8 A9 A10 A11 A12。D0~D7分别连的A0~A7。我对比了51的程序和我自己改的STM32里的程序,对了几十遍,发现没有什么错误啊。为什么显示不 了,求助啊!!!附上我的程序,求大神帮忙看看,谢谢

12864程序接线示意图.jpg (118.56 KB, 下载次数: 40)

miniLCD12864引脚图

miniLCD12864引脚图

LCD12864(51和STM32).zip

11.93 MB, 下载次数: 2721

此帖出自stm32/stm8论坛

最新回复

楼主  问题解决了吗  详情 回复 发表于 2018-8-26 20:41
点赞 关注
 

回复
举报

20

帖子

0

TA的资源

一粒金砂(中级)

推荐
 
上面的图只看引脚i就好,白色方框不用在意,是51里的连法
此帖出自stm32/stm8论坛
 
 

回复

4008

帖子

0

TA的资源

版主

板凳
 
没弄过这种,你把频率调低先试试
此帖出自stm32/stm8论坛
 
 

回复

855

帖子

5

TA的资源

一粒金砂(高级)

4
 
我的屏是常见的st7920控制器的12864,103r系列驱动的

STM-DEMO-LCD12864.rar

8.67 MB, 下载次数: 7563

此帖出自stm32/stm8论坛
 
个人签名作为一个菜逼,干货并没有多少。唯一会的就是水,所以回帖水分大。望见谅!
 
 

回复

3

帖子

0

TA的资源

一粒金砂(初级)

5
 

再看看引脚有没有被复用

本帖最后由 sgp 于 2016-7-1 19:51 编辑

可以把写数据、写指令、初始化函数里的延时改长点试试
此帖出自stm32/stm8论坛
 
 
 

回复

1976

帖子

0

TA的资源

五彩晶圆(初级)

6
 
stm32跑太快,在与屏通信的时候要进行适当的延时
此帖出自stm32/stm8论坛
 
 
 

回复

3471

帖子

13

TA的资源

五彩晶圆(高级)

7
 
保证,输入输出,读写等逻辑正确。最好用示波器,逻辑分析仪之类的看看时序。以及电平是否兼容。
此帖出自stm32/stm8论坛
 
 
 

回复

1059

帖子

1

TA的资源

版主

8
 
注意延时长度的问题,一般都是延时导致时序不对,无法显示
此帖出自stm32/stm8论坛
 
 
 

回复

4177

帖子

9

TA的资源

五彩晶圆(高级)

9
 
首先楼主需要确定下,您gpio初始化做了吗?大致看了下你32的程序,写的好乱。。。lcd接口的相关gpio貌似没有初始化,另外,这个写命令,写数据啥的要按照时序图走的。
此帖出自stm32/stm8论坛

点评

4楼不是有个例程么?参考下例程吧。还有你写程序的时候一定要看时序图哦。  详情 回复 发表于 2016-7-2 21:18
是做了初始化的,我的屏幕都接的单片机的PA口,所以我把PA全部初始化了的 GPIO_InitStructure.GPIO_Pin=GPIO_Pin_All; GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed=GPIO_S  详情 回复 发表于 2016-7-2 20:48
 
 
 

回复

366

帖子

1

TA的资源

一粒金砂(高级)

10
 
延时函数要跟着改,51比32慢得多,最好看看12864的手册 看看需要延时多久
此帖出自stm32/stm8论坛
 
 
 

回复

120

帖子

0

TA的资源

一粒金砂(中级)

11
 
基本上是延时不够,如果是用while延时的话
此帖出自stm32/stm8论坛
 
 
 

回复

604

帖子

1

TA的资源

一粒金砂(中级)

12
 
应该是时序上的问题吧,换了单片机程序也要调整下时序才行
此帖出自stm32/stm8论坛

点评

应该是延时的问题,但是我不知道要延时多久?  详情 回复 发表于 2016-7-2 20:49
 
个人签名疏雨客晚归,荒烟乱,几许江南无晴!又落花,残香织梦,莫  莫  莫,白首衷肠……
 
 

回复

20

帖子

0

TA的资源

一粒金砂(中级)

13
 
huaiqiao 发表于 2016-7-1 23:17
首先楼主需要确定下,您gpio初始化做了吗?大致看了下你32的程序,写的好乱。。。lcd接口的相关gpio貌似没 ...

是做了初始化的,我的屏幕都接的单片机的PA口,所以我把PA全部初始化了的
        GPIO_InitStructure.GPIO_Pin=GPIO_Pin_All;
        GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
        GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
        GPIO_Init(GPIOA,&GPIO_InitStructure);
此帖出自stm32/stm8论坛
 
 
 

回复

20

帖子

0

TA的资源

一粒金砂(中级)

14
 
wajuka 发表于 2016-7-2 09:55
应该是时序上的问题吧,换了单片机程序也要调整下时序才行

应该是延时的问题,但是我不知道要延时多久?
此帖出自stm32/stm8论坛
 
 
 

回复

20

帖子

0

TA的资源

一粒金砂(中级)

15
 
用的是ST7565的驱动芯片,附上12864的数据手册,和ST7565的手册,我看了。。。没有找到要延时多久。。

12864数据手册.pdf

1.3 MB, 下载次数: 204

ST7565p数据手册.pdf

858.26 KB, 下载次数: 84

此帖出自stm32/stm8论坛
 
 
 

回复

20

帖子

0

TA的资源

一粒金砂(中级)

16
 
看了它51的写指令和读指令的程序,也在网上查了12864的 时序图。。但是始终没有理解到它这个程序的时序意图
void LcdSt7565_WriteCmd(cmd)
{
        LCD12864_CS = 0;           //chip select,打开片选
        LCD12864_RD = 1;           //disable read,读失能       
        LCD12864_RS = 0;       //select command,选择命令
        LCD12864_RW = 0;       //select write,选择写模式
        _nop_();
        _nop_();

        DATA_PORT = cmd; //put command,放置命令
        _nop_();
        _nop_();

        LCD12864_RW = 1;           //command writing ,写入命令
}

/*******************************************************************************
* 函 数 名         : LcdSt7565_WriteData
* 函数功能                   : 写入一个数据到12864
* 输    入         : dat
* 输    出         : 无
*******************************************************************************/

void LcdSt7565_WriteData(dat)
{       
        LCD12864_CS = 0;           //chip select,打开片选
        LCD12864_RD = 1;           //disable read,读失能       
        LCD12864_RS = 1;       //select data,选择数据
        LCD12864_RW = 0;       //select write,选择写模式
        _nop_();
        _nop_();

        DATA_PORT = dat;       //put data,放置数据
        _nop_();
        _nop_();

        LCD12864_RW = 1;           //data writing,写数据
}
此帖出自stm32/stm8论坛
 
 
 

回复

4177

帖子

9

TA的资源

五彩晶圆(高级)

17
 
huaiqiao 发表于 2016-7-1 23:17
首先楼主需要确定下,您gpio初始化做了吗?大致看了下你32的程序,写的好乱。。。lcd接口的相关gpio貌似没 ...

4楼不是有个例程么?参考下例程吧。还有你写程序的时候一定要看时序图哦。
此帖出自stm32/stm8论坛
 
 
 

回复

503

帖子

1

TA的资源

一粒金砂(高级)

18
 
本帖最后由 曾经in 于 2016-7-2 23:18 编辑

12864无感,不同产的芯片延时不太一样,有的要几个毫秒的延时,大多是并口。看一下模块上有没驱动芯片型号或者问卖家,尽量找原厂的,或者延时调到临界值再加上百分之三四十保证稳定(不要太临界,环境、温度什么的变化可能影响延时),多看参考别人的程序做比较
现在用5110或者这个

此帖出自stm32/stm8论坛
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

19
 
楼主问题解决了吗
此帖出自stm32/stm8论坛
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

20
 
楼主  问题解决了吗
此帖出自stm32/stm8论坛
 
 
 

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

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表