导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→请教LCM(液晶显示控制模块)128*64的问题[chan_yo]

 *第15209篇: 请教LCM(液晶显示控制模块)128*64的问题

  
楼 主:chan_yo 2003年8月5日14:28
 请教LCM(液晶显示控制模块)128*64的问题
我准备显示16*16点阵的汉字,驱动程序已经完成,如何显示汉字程序,有哪位大虾做过的,能否给点程序看看?
用字模生成的16个数据,是否要放在字库的存储器里,还是单片机的程序里的CTAB中,进行查询,还有,那16个数据,如何一个一个读出,才能保证是正确显示的.
  
2楼:rj17 2003年8月5日14:49
 你的问题中驱动程序已经完成是什么意思?还有你的LCM的驱动控制芯片是什么?
控制芯片不一样,用法就应该不一样吧。


  
3楼:chan_yo 2003年8月5日15:22
 所谓驱动程序就是指CS1,CS2,R/D等控制信号都有准却的地址。
  
4楼:chan_yo 2003年8月5日15:18
 HD61202控制芯片,128*64
  
5楼:shenjun831008 2006年3月27日10:37
 HD61202
关于 HD61202的资料谁有啊,请大家帮帮忙
  
6楼:yangjl 2003年8月5日15:05
 字模数据放在单片机的RAM里。需要显示的时候读出来就可以了
  
7楼:chan_yo 2003年8月5日15:17
 那么会不会造成了我的程序放不下了。
  
8楼:yangjl 2003年8月5日15:23
 你用什么单片机?我们做过用89C52控制液晶,其中字模数据很多。如果不够的话就扩展RAM吧。
  
9楼:chan_yo 2003年8月5日15:43
 能否将汉字显示部分子程序给我看看
chan_yo@21cn.com
  
10楼:xdkjason 2003年8月5日18:10
 源程序》
;************************************************************************
;名称:LCD12864
;作者:XUDENGKE 
;版权:
;用途:直接访问方式驱动子程序
;程序功能:
;地址分配:
;所用资源:A11 = /CSB, A10 = /CSA, A9 = R/W, A8 = D/I
;备注:
;************************************************************************
 COM  EQU 20H  ; 指令寄存器
 DAT  EQU 21H  ; 数据寄存器
 CWADD1  EQU 0000H  ; 写指令代码地址(左)
 CRADD1  EQU 0200H  ; 读状态字地址(左)
 DWADD1  EQU 0100H  ; 写显示数据地址(左)
 DRADD1  EQU 0300H  ; 读显示数据地址(左)
 CWADD2  EQU 0800H  ; 写指令代码地址(中)
 CRADD2  EQU 0A00H  ; 读状态字地址(中)
 DWADD2  EQU 0900H  ; 写显示数据地址(中)
 DRADD2  EQU 0B00H  ; 读显示数据地址(中)
 CWADD3  EQU 0400H  ; 写指令代码地址(右)
 CRADD3  EQU 0600H  ; 读状态字地址(右)
 DWADD3  EQU 0500H  ; 写显示数据地址(右)
 DRADD3  EQU 0700H  ; 读显示数据地址(右)

;***************************************************左区驱动子程序 
;===================================================
;函数名称:
;功能:写指令代码子程序(左)
;调用函数:
;入口参数:
;出口参数:
;影响资源:
;其他:
;=================================================== 
PRL0: 
 PUSH DPL ; 片选设置为"00"
 PUSH DPH
 MOV DPTR,#CRADD1 ; 设置读状态字地址
PRL01:  MOVX A,@DPTR ; 读状态字
 JB ACC.7,PRL01 ; 判"忙"标志为"0"否,否再读
 MOV DPTR,#CWADD1 ; 设置写指令代码地址
 MOV A,COM ; 取指令代码
 MOVX @DPTR,A ; 写指令代码
 POP DPH
 POP DPL
 RET

;===================================================
;函数名称:
;功能:写显示数据子程序(左)
;调用函数:
;入口参数:
;出口参数:
;影响资源:
;其他:
;===================================================
PRL1: 
 PUSH DPL ; 片选设置为"00"
 PUSH DPH
 MOV DPTR,#CRADD1 ; 设置读状态字地址
PRL11:  MOVX A,@DPTR ; 读状态字
 JB ACC.7,PRL11 ; 判"忙"标志为"0"否,否再读
 MOV DPTR,#DWADD1 ; 设置写显示数据地址
 MOV A,DAT ; 取数据
 MOVX @DPTR,A ; 写数据
 POP DPH
 POP DPL
 RET

;===================================================
;函数名称:
;功能:读显示数据子程序(左)
;调用函数:
;入口参数:
;出口参数:
;影响资源:
;其他:
;===================================================
PRL2: 
 PUSH DPL ; 片选设置为"00"
 PUSH DPH
 MOV DPTR,#CRADD1 ; 设置读状态字地址
PRL21:  MOVX A,@DPTR ; 读状态字
 JB ACC.7,PRL21 ; 判"忙"标志为"0"否,否再读
 MOV DPTR,#DRADD1 ; 设置读显示数据地址
 MOVX A,@DPTR ; 读数据
 MOV DAT,A ; 存数据
 POP DPH
 POP DPL
 RET

;**************************************************中区驱动子程序(12864的左区)
;===================================================
;函数名称:
;功能:写指令代码子程序(中)
;调用函数:
;入口参数:
;出口参数:
;影响资源:
;其他:
;===================================================
PRM0: 
 PUSH DPL ; 片选设置为"01"
 PUSH DPH
 MOV DPTR,#CRADD2 ; 设置读状态字地址
PRM01: MOVX A,@DPTR ; 读状态字
 JB ACC.7,PRM01 ; 判"忙"标志为"0"否,否再读
 MOV DPTR,#CWADD2 ; 设置写指令代码地址
 MOV A,COM ; 取指令代码
 MOVX @DPTR,A ; 写指令代码
 POP DPH
 POP DPL
 RET
;===================================================
;函数名称:
;功能:写显示数据子程序(中)
;调用函数:
;入口参数:
;出口参数:
;影响资源:
;其他:
;===================================================
PRM1: 
 PUSH DPL ; 片选设置为"01"
 PUSH DPH
 MOV DPTR,#CRADD2 ; 设置读状态字地址
PRM11:  MOVX A,@DPTR ; 读状态字
 JB ACC.7,PRM11 ; 判"忙"标志为"0"否,否再读
 MOV DPTR,#DWADD2 ; 设置写显示数据地址
 MOV A,DAT ; 取数据
 MOVX @DPTR,A ; 写数据
 POP DPH
 POP DPL
 RET

;===================================================
;函数名称:
;功能:读显示数据子程序(中)
;调用函数:
;入口参数:
;出口参数:
;影响资源:
;其他:
;===================================================
PRM2: 
 PUSH DPL ; 片选设置为"01"
 PUSH DPH
 MOV DPTR,#CRADD2 ; 设置读状态字地址
PRM21:  MOVX A,@DPTR ; 读状态字
 JB ACC.7,PRM21 ; 判"忙"标志为"0"否,否再读
 MOV DPTR,#DRADD2 ; 设置读显示数据地址
 MOVX A,@DPTR ; 读数据
 MOV DAT,A ; 存数据
 POP DPH
 POP DPL
 RET

;**************************************************右区驱动子程序(12864的右区)
;===================================================
;函数名称:
;功能:写指令代码子程序(右)
;调用函数:
;入口参数:
;出口参数:
;影响资源:
;其他:
;===================================================
PRR0: 
 PUSH DPL ; 片选设置为"10"
 PUSH DPH
 MOV DPTR,#CRADD3 ; 设置读状态字地址
PRR01:  MOVX A,@DPTR ; 读状态字
 JB ACC.7,PRR01 ; 判"忙"标志为"0"否,否再读
 MOV DPTR,#CWADD3 ; 设置写指令代码地址
 MOV A,COM ; 取指令代码
 MOVX @DPTR,A ; 写指令代码
 POP DPH
 POP DPL
 RET

;===================================================
;函数名称:
;功能:写显示数据子程序(右)
;调用函数:
;入口参数:
;出口参数:
;影响资源:
;其他:
;===================================================
PRR1: 
 PUSH DPL ; 片选设置为"10"
 PUSH DPH
 MOV DPTR,#CRADD3 ; 设置读状态字地址
PRR11:  MOVX A,@DPTR ; 读状态字
 JB ACC.7,PRR11 ; 判"忙"标志为"0"否,否再读
 MOV DPTR,#DWADD3 ; 设置写显示数据地址
 MOV A,DAT ; 取数据
 MOVX @DPTR,A ; 写数据
 POP DPH
 POP DPL
 RET

;===================================================
;函数名称:
;功能:读显示数据子程序(右)
;调用函数:
;入口参数:
;出口参数:
;影响资源:
;其他:
;===================================================
PRR2: 
 PUSH DPL ; 片选设置为"10"
 PUSH DPH
 MOV DPTR,#CRADD3 ; 设置读状态字地址
PRR21:  MOVX A,@DPTR ; 读状态字
 JB ACC.7,PRR21 ; 判"忙"标志为"0"否,否再读
 MOV DPTR,#DRADD3 ; 设置读显示数据地址
 MOVX A,@DPTR ; 读数据
 MOV DAT,A ; 存数据
 POP DPH
 POP DPL
 RET

  
11楼:chan_yo 2003年8月6日08:41
 首先谢谢您!大虾!!
  
12楼:baolqkun 2003年8月5日21:24
 跟hd44780差不多
  
13楼:yangjl 2003年8月5日15:53
 程序已经被老师收走了,不好意思。

>>>>>>对该主题发表你的看法

本主题贴数13,分页: [第1页]


[上一篇主题]:[求助]一个很菜但又很重要的问题

[下一篇主题]:在下载特区里down的东东,不知道怎么看[求助]