打印
[51单片机]

关于51汇编驱动6963液晶的程序,请大家帮忙!!

[复制链接]
498|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ycyysb639|  楼主 | 2019-7-26 09:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 ycyysb639 于 2019-7-26 10:26 编辑

① 建立CGRAM 子程序
        CODE1 EQU 33H          //    汉字字符代码
CGRAM : MOV DAT1,#03H          //    设置CGRAM 偏置地址
        MOV DAT2,#00H
        MOV COM,#22H
        LCALL PR1
        MOV DAT1,#00H          //    设置存储器地址指针
        MOV DAT2,#1CH
        MOV COM,#24H
        LCALL PR1
        MOV COM,#0B0H          //    设置自动写方式
        LCALL PR12
       MOV A,COUNT          //    计算写入的字节数
        MOV B,#08H
       MUL AB
       MOV COUNT,A          //    计算低8 位数据
       INC B          //    计算高8 位数据

       MOV DPTR,#CGTAB          //    取字符库首地址
       PUSH DPH          //    存字符库指针
       PUSH DPL
CGRAM1 : LCALL ST3          //    判自动写状态位
       POP DPL          //    取字符库指针
       POP DPH
       CLR A
       MOVC A,@A+DPTR          //    取数据
       INC DPTR          //    字符库指针加一
       PUSH DPH          //    存字符库指针
       PUSH DPL
       LCALL PR13          //    写入数据
       DJNZ COUNT,CGRAM1          //    计数循环
       DJNZ B,CGRAM1

       MOV COM,#0B2H          //    写入结束自动写指令
       LCALL PR12
       POP ACC          //    修正栈指针
       POP ACC
       RET
; 汉字库
CGTAB : DB 00H,040H,37H,10H,081H,061H,22H,0AH          //    "液"
DB 16H,02BH,0E2H,22H,22H,22H,023H,22H
DB 80H,044H,0FEH,20H,20H,03CH,44H,64H
DB 98H,048H,50H,20H,50H,08EH,004H,00H
DB 00FH,08H,08H,00FH,08H,08H,00FH,08H          //    "晶"
DB 07EH,42H,42H,07EH,42H,42H,07EH,42H
DB 0E0H,20H,20H,0E0H,20H,20H,0E0H,24H
DB 0FEH,84H,84H,0FCH,84H,84H,0FCH,84H

请大侠看看,这是一段向T6963 GCRAM中写入字节信息的汇编,主要是红色字体部分,假入我要写入8*80=640个字节,按正常的想法是要做640次循环,
但这段汇编中次count这个数送A,#08H这个数送B,再将A和B相乘,然后再将乘积的低字节送count(送后COUNT中值为80H),高字节在B中(02H),然后用count和B做为循环次数,看看红色部之间的循环体,这个循环次数对吗??

使用特权

评论回复

相关帖子

沙发
dongshan| | 2019-7-26 16:03 | 只看该作者
循环次数为: count * 8

使用特权

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

本版积分规则

2

主题

5

帖子

0

粉丝