LCD显示控制应如何实现

来源:百度知道 编辑:UC知道 时间:2024/06/27 18:56:24

;………………………………………………
;16*16显示一个汉字,向左移动
;只能显示8个汉字,受8位控制
;………………………………………………
;资源分析
;………………………………………………
;R0指向数据缓存地址,R1显示地址指针,R2数据增加指向指针,R3显示扫描次数
;R4、R5延时程序,R6扫描延时,50H作片选字,51H右片选字
;52H、53H、54H、55H、56H屏幕流动积存器,57H第二个字首地址
;30H~4FH显示缓存
;………………………………………………
;引脚定义
;………………………………………………
CLK BIT P2.0 ;74HC164清零,低电平清零
RCK BIT P2.1 ;74HC595移出脉冲,上升沿有效
SRCLR BIT P2.2 ;74HC595清零,低电平清零
G BIT P2.3 ;74HC595使能输出,低电平输出
;………………………………………………
;定义变量
;………………………………………………
D_LIST EQU (8) ;单个数据显示时间延时,即向右流动速度
;………………………………………………
;显存初始化
;………………………………………………
CHULI: MOV R6,#D_LIST ;单个数据显示时间延时
MOV R2,#0 ;定义编码数据指针,从0开始
MOV R0,#30H ;首显存地址送R0,定义显存地址指针
LOOP3: MOV A,R2 ;编码数据指针送A
MOV DPTR,#TAB ;表首地址送DPTR
MOVC A,@A+DPTR ;查表取显示编码
MOV @R0,A ;显示编码送现显存
INC R2 ;编码数据指针+1
INC R0 ;指向下一地址
CJNE R2,#32,LOOP3 ;判断是否完成一次数据刷新
LOOP6: ACALL START