打印
[技术问答]

3个通用IO控制12864显示

[复制链接]
3148|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jmworkspace|  楼主 | 2014-7-16 10:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我想问下就用3个通用IO口设定为输出模式控制12864串口模式下输出显示可行吗?

我是在M051上。我通过3个通用IO口设定为输出模式,然后参照以下网站的例子:
http://wenku.baidu.com/link?url= ... p;qq-pf-to=pcqq.c2c


按照这个网站的例子,我只需要将3个通用输出IO口对应12864LCD显示屏的CS、SCLK、SID3个信号,因为是串口模式 ,D0-D7就不需要接了。后来得到的时序图是跟12864的时序图基本是一样。显示屏的电路是接好的,也是按照范例的方法去接 然后通过电位器是能调整背光度的。但是3个信号给到12864是没有显示的 一直是蓝屏。请问是哪里出问题吗? 代码基本上是跟以上网站代码一样。就是3个引脚CS、SCLK 、SID改成了M051其中我设定的3个通用IO。

求大神帮忙看下究竟是什么问题没有显示?

沙发
wangch_sh| | 2014-7-16 10:54 | 只看该作者
液晶支持不支持串口操作,好像有的支持有的不支持。

使用特权

评论回复
板凳
jmworkspace|  楼主 | 2014-7-16 10:58 | 只看该作者
本帖最后由 jmworkspace 于 2014-7-16 10:59 编辑
wangch_sh 发表于 2014-7-16 10:54
液晶支持不支持串口操作,好像有的支持有的不支持。


12864B V2.0支持的吧

使用特权

评论回复
地板
haolaishi| | 2014-7-16 11:05 | 只看该作者
你上你的电路图,15脚拉低了没有,是不是驱动能力不够,加上拉了没

使用特权

评论回复
5
qq4988| | 2014-7-16 11:10 | 只看该作者
第一就是,你的屏是否支持串口操作,第二,PSB是否拉低,第三你的初始化程序,你的IO模拟串口是否正确,检查一下吧

使用特权

评论回复
6
jmworkspace|  楼主 | 2014-7-16 11:17 | 只看该作者
haolaishi 发表于 2014-7-16 11:05
你上你的电路图,15脚拉低了没有,是不是驱动能力不够,加上拉了没

我拉低了

使用特权

评论回复
7
jmworkspace|  楼主 | 2014-7-16 11:20 | 只看该作者
qq4988 发表于 2014-7-16 11:10
第一就是,你的屏是否支持串口操作,第二,PSB是否拉低,第三你的初始化程序,你的IO模拟串口是否正确,检 ...

屏幕12864B V2.0 应该是支持串口的  第二PSB是拉低了 15直接接GND的 第三,我的IO是初始化为输出模式的 用示波器可检测 3个IO是能通过代码拉高拉低IO口的

使用特权

评论回复
8
jmworkspace|  楼主 | 2014-7-16 11:20 | 只看该作者
haolaishi 发表于 2014-7-16 11:05
你上你的电路图,15脚拉低了没有,是不是驱动能力不够,加上拉了没

貌似上不了图

使用特权

评论回复
9
jmworkspace|  楼主 | 2014-7-16 11:26 | 只看该作者
以下是代码还有图片,部分代码是没用到的。直接用demo改的。
引脚方面是已经接好的 按照以上所提网址的图所接法。背光可调 。

lcd12864.rar

447.67 KB

代码、图片

使用特权

评论回复
10
jmworkspace|  楼主 | 2014-7-16 11:31 | 只看该作者
时序有没关系的?SCLK的时钟频率应该是多少,这跟LCD显示屏的显示有关联吗?

使用特权

评论回复
11
qq4988| | 2014-7-16 11:48 | 只看该作者
/********************************************************************
* 名称 : lcdinit(void)
* 功能 : 初始化函数
* 输入 : 无
* 输出 : 无
***********************************************************************/
void LCD_Inition(void)
{
        _delay_ms(500);
        write_com(0x30);
        _delay_ms(5);       
        write_com(0x30);
        _delay_ms(5);       
        write_com(0x01);
        _delay_ms(12);
        write_com(0x0C);
        _delay_ms(5);               
        write_com(0x06);
        _delay_ms(5);                       
}

送你一个初始化程序

使用特权

评论回复
12
jmworkspace|  楼主 | 2014-7-16 11:56 | 只看该作者
qq4988 发表于 2014-7-16 11:48
/********************************************************************
* 名称 : lcdinit(void)
* 功能  ...

好,我试下

使用特权

评论回复
13
jmworkspace|  楼主 | 2014-7-16 11:59 | 只看该作者
jmworkspace 发表于 2014-7-16 11:56
好,我试下

跟我那个差不多,没什么变化

使用特权

评论回复
14
qq4988| | 2014-7-16 12:12 | 只看该作者
jmworkspace 发表于 2014-7-16 11:59
跟我那个差不多,没什么变化

我这个程序是我调好的,在用的,你最好再仔细看一下你的程序,写命令与写数据的子程序,IO模拟程序,读状态程序,检查一下吧

使用特权

评论回复
15
jmworkspace|  楼主 | 2014-7-16 13:38 | 只看该作者
qq4988 发表于 2014-7-16 12:12
我这个程序是我调好的,在用的,你最好再仔细看一下你的程序,写命令与写数据的子程序,IO模拟程序,读状 ...

你也是串口吗?把整个代码发我看下吗

使用特权

评论回复
16
Imakey| | 2014-7-16 19:08 | 只看该作者
串口?串行吧……

使用特权

评论回复
17
bobde163| | 2014-7-16 20:50 | 只看该作者
一般显示的话,使用串行接口都能实现了,祝楼主早日解决

使用特权

评论回复
18
ETjason| | 2014-7-17 10:38 | 只看该作者
本帖最后由 ETjason 于 2014-7-17 10:40 编辑
qq4988 发表于 2014-7-16 11:10
第一就是,你的屏是否支持串口操作,第二,PSB是否拉低,第三你的初始化程序,你的IO模拟串口是否正确,检 ...


说的对,有的液晶控制器不支持串行

使用特权

评论回复
19
qq4988| | 2014-7-17 10:56 | 只看该作者
ETjason 发表于 2014-7-17 10:38
说的对,有的液晶控制器不支持串行

????你的屏不支持串口????

使用特权

评论回复
20
张文祥| | 2014-8-5 17:25 | 只看该作者
有字库吗?液晶板上带字库吗?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

45

帖子

0

粉丝