找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6792|回复: 3
打印 上一主题 下一主题
收起左侧

12864液晶屏驱动问题

[复制链接]
跳转到指定楼层
楼主
ID:6202 发表于 2009-5-20 14:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

本人是刚学51的菜鸟, 请教各位高手大哥一个问题,再此先谢过了!

我来点一款12864的液晶屏, 实现最简单的显示 " 间隔横条 " , 主要显示程序段用下边的这一段
的时候,一打开电源, 就可以正常的显示出 间隔横条 来, 可是, 一旦改成后边的那一段, 就绝对不
显示, 只在片1与片2的第一页显示4或8列出来,然后没反应了. 或者用镊子放在AT89C52的第19
脚, 显示屏便逐页逐列的缓慢的一列一列的显示出来, 最终片1显示正常, 片2(右半屏)却有部分乱
码. 始终想不明白:

这是开机即可以正常显示的程序段:

QUAN:
         MOV   R4,#00H               ;  页从0开始
QUAN1:
         MOV   A,R4                    ;  页数送到A
         ORL   A,#0B8H               ;  计算页码值代码
         MOV   R_1,A                  ;  页代码送到指令暂存器
        CALL   WRI1
        CALL   WRI2                   ;  页代码写进LCM的片1与片2
         MOV   R_1,#40H            ;  0列开始,即列代码为40H
        CALL   WRI1
        CALL   WRI2                   ;  起始列写进左右半屏
         MOV   R3,#00H              ;  每一页写64个字节( 64 列)
QUAN2:
 ;       MOV   R_2,#55H            ;  调用"QUAN"的程序已在R_2中送入55H, 这里仅作说明本段程序用
        CALL   WRDATA1            ;  向片1写入显示数据 55H
        CALL   WRDATA2            ;  向片2写入显示数据 55H
          INC   R3                       ;  列计数器加1
        CJNE   R3,#40H,QUAN2   ;  列如果没有到64, 就返回继续写
          INC   R4                       ;  页计数器加1
        CJNE   R4,#08H,QUAN1   ;  页如果没有到8, 就返回继续写
         RET

这是在上边这段稍加修改但却不能正常显示的程序段:

QUAN:
          MOV   R4,#00H           ;  页从0开始
QUAN1:
          MOV   A,R4                 ;  页数送到A
          ORL   A,#0B8H            ;  计算页码值代码
         MOV   R_1,A                 ;  页代码送到指令暂存器
        CALL   WRI1                  ;  写页代码
        CALL   WRI2
         MOV   R_1,#40H            ;  0列开始,即列代码为40H
        CALL   WRI1
        CALL   WRI2
         MOV   R3,#00H              ;  每一页写64个字节 ( 64列 )
QUAN2:
 ;       MOV   R_2,#55H            ;  调用"QUAN"的程序已在R_2中送入55H, 这里仅作说明本段程序用
        CALL   WRDATA1            ;  将55H写进片1 ( 左半屏 )     
          INC   R3
        CJNE   R3,#64,QUAN2      ;  将左半屏的一页64列写满
         MOV   R3,#0
QUAN3:
 ;       MOV   R_2,#55H             ;  调用"QUAN"的程序已在R_2中送入55H, 这里仅作说明本段程序用
        CALL   WRDATA2             ;  将55H写进片2 ( 右半屏 )
          INC   R3                        ;  列计数器加1
        CJNE   R3,#40H,QUAN3    ; 将右半屏的同一页写满64列
          INC   R4                        ; 页计数器加1
        CJNE   R4,#08H,QUAN1    ; 页如果没有到8, 就返回继续重复
          RET

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:12640 发表于 2009-5-20 15:05 | 只看该作者

请教下,我是新会员,我现在用的是MTG-12232CFYHSGY的液晶显示器,不带字库的,请问要把汉字显示出来,该怎么编写程序?谢谢了,很急!

回复

使用道具 举报

板凳
ID:6202 发表于 2009-5-21 11:04 | 只看该作者
咋没人回复一下下呀
回复

使用道具 举报

地板
ID:6202 发表于 2009-5-22 09:39 | 只看该作者
哈哈, 昨天晚上搞定了! 问题解决了.
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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