搜索
bottom↓
回复: 6

小弟请问大家LCD12864(ST7920A)串行/并行接口用法区别?

[复制链接]

出0入0汤圆

发表于 2014-1-12 21:14:06 | 显示全部楼层 |阅读模式
一样的初始化代码
void inint_12684(void)
{
        DDRC |=0xff;
        clr_RST;
         _delay_ms(100);
        set_RST;
        clr_CH;
        _delay_ms(2);
        write_12864(0,0x0f);//开光标位置,开闪烁
            _delay_ms(2);
          write_12864(0,0x30);//基本指令集,8位并行
           _delay_ms(2);
          write_12864(0,0x06);//设定起始点,光标右移
          _delay_ms(2);
          write_12864(0,0x0c);//整体显示开,光标显示关
                   _delay_ms(10);
          write_12864(0,0x01);//清除显示
                   _delay_ms(10);  
}

在并行使用的时候可以正常使用12864,把协议和接法换做串行效果就不一样了。
write_12864(0,0x0f);//开光标位置,开闪烁  这一句是可以实现的(加上了以后屏幕上光标出现并闪烁)说明我的通信协议没问题。
但是后来写字等操作都没反应,不知是不是我用法不对。

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2014-1-12 22:14:50 | 显示全部楼层
st7920的优势就在于:带字库+ 串行

如果非要用并行,不如ks0107/8 的液晶

出0入0汤圆

 楼主| 发表于 2014-1-12 22:57:21 | 显示全部楼层
jetli 发表于 2014-1-12 22:14
st7920的优势就在于:带字库+ 串行

如果非要用并行,不如ks0107/8 的液晶  ...

我也是这样觉得,如果并行走线,我的板子线就太多而且太难布。芯片I/O口也蛋疼(我用ATMEGA168)。
但现在我用一样的初始化程序,用在并行接口可以,用在串行接口接不可以(串行接口下仅0x0f指令有反应),不知是什么原因。

出0入0汤圆

 楼主| 发表于 2014-1-12 23:32:02 | 显示全部楼层
终于把问题解决了,LCD12864时序如图
当时我以为和SPI总线差不多,无非总线使能由低开始变成高开始了。
谁知道用这样的时序根本不能驱动12864。
void write_12864(char rs,unsigned char data)//RS=0写指令,否则写数据
{
        Spi_Start();
        if(rs == 0) Spi_Rw(0xf8);//写指令
        else Spi_Rw(0xfa);//写数据
        Spi_Rw(data&0xf0);
        Spi_Rw((data<<4)&0xf0);
        //Spi_Stop();//优信的协议错误,CS只是片选。
}

//Spi_Stop();//优信的协议错误,CS只是片选。
这段注释掉以后,程序运行正常。
由此得出结论:
1、串行12864在CS拉低以后要从新工作必须执行0x30指令(默认第一次上电是执行基本指令集的,在片选为0,以后再次选中则需要执行这个指令所以我的光标闪烁指令才能生效)
2、在使用总线对其进行驱动的时候并不是每次通信结束后都需要让cs至零。


小弟愚笨,发个帖子让大家笑话下,也算是警醒自己。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2014-1-19 23:56:20 | 显示全部楼层
做个记号吧~以前弄ST7920串行就没搞定,全是乱码。。。。无法正常显示。。。。

出0入0汤圆

发表于 2014-1-21 08:00:07 | 显示全部楼层
本帖最后由 sfq2008 于 2014-1-21 08:01 编辑

注意点:
1、并口有查忙,可以不用延时,不过反应较慢。
2、串口没查忙,要留有延时,否则有时有乱码。
3、我感觉旧屏都很慢,但以前见有人用做过显示动画都没问题。


修改原因:错字

出0入0汤圆

 楼主| 发表于 2014-1-21 21:23:07 | 显示全部楼层
sfq2008 发表于 2014-1-21 08:00
注意点:
1、并口有查忙,可以不用延时,不过反应较慢。
2、串口没查忙,要留有延时,否则有时有乱码。

确实,久东西速度不快,不过上个小系统,来练习进程的调度那是极好的。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-26 09:12

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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