我所用液晶显示器的大致规格:
240128A是一种图形点阵液晶显示器,它由控制器T6963C、行驱动器/ 列驱动器及240×128全点阵液晶显示器组成.可完成图形显示,也可以显示15×8个(16×16点阵)汉字.根据demo调式过的汇编程序:
ORG 0000H AJMP MAIN ORG 0003H AJMP ZHONGDUAN ORG 0035H ZHONGDUAN: HERE: SJMP HERE RET
;********************************************** DATA1 EQU 30H ;第一参数单元 DATA2 EQU 31H ;第二参数/数据单元 COMMAND EQU 32H ;指令代码单元 C_ADD EQU 8111H ;指令通道地址 D_ADD EQU 8110H ;数据通道地址 RE_ADD EQU 8300H ;复位通道地址 O_X EQU 33H O_Y EQU 34H ATTR EQU 35H COUNT EQU 36H
;*********************************************** BUSY1: PUSH DPH PUSH DPL MOV DPTR,#C_ADD MOVX A,@DPTR POP DPL POP DPH RET ;*********************************************** BUSY: LCALL BUSY1 JNB ACC.0, BUSY1 JNB ACC.1, BUSY1 RET ;***************************************** WRITE_COMMAND:PUSH DPH PUSH DPL LCALL BUSY MOV A,COMMAND MOV DPTR,#C_ADD MOVX @DPTR,A POP DPL POP DPH RET WRITE_DATA: PUSH DPH PUSH DPL LCALL BUSY MOV A,DATA2 MOV DPTR,#D_ADD MOVX @DPTR,A POP DPL POP DPH RET
MS40: MOV R7,#0E8H MS2: MOV R6,#0FFH MS1: DJNZ R6,MS1 DJNZ R7,MS2 RET DELAY: MOV R5,#05H DELAY1: LCALL MS40 DJNZ R5,DELAY1 RET;*****************************************************ST3: MOV DPTR,#C_ADD MOVX A,@DPTR JNB ACC.3,ST3 RET;*****************************************************
CLEAR1: MOV DATA2,#00H LCALL WRITE_DATA MOV DATA2,#00H LCALL WRITE_DATA MOV COMMAND,#24H ;显示地址设置 LCALL WRITE_COMMAND MOV R3,#00H MOV R4,#20H MOV COMMAND,#0B0H ;自动写入 LCALL WRITE_COMMAND M1: NOP M: MOV A,#00H MOV DATA2,A LCALL WRITE_DATA DJNZ R3,M DJNZ R4,M1 MOV COMMAND,#0B2H ;推出自动写入 LCALL WRITE_COMMAND ret ;********************************************** WRI_CT: MOV A,O_Y MOV B,#20H MUL AB ADD A,O_X MOV O_X,A MOV DATA2,A LCALL WRITE_DATA MOV A,B ADDC A,#00H MOV O_Y,A MOV DATA2,A LCALL WRITE_DATA MOV COMMAND,#24H ;写入控制字,指出文本ram的首地址 LCALL WRITE_COMMAND MOV DATA2,DATA1 LCALL WRITE_DATA MOV COMMAND,#0C0H LCALL WRITE_COMMAND MOV A,DATA1 ADD A,#02H MOV DATA2,A LCALL WRITE_DATA MOV COMMAND,#0C0H LCALL WRITE_COMMAND MOV A,#20H ADD A,O_X MOV DATA2,A LCALL WRITE_DATA CLR A ADDC A,O_Y MOV DATA2,A LCALL WRITE_DATA MOV COMMAND,#24H LCALL WRITE_COMMAND MOV A,DATA1 INC A MOV DATA2,A LCALL WRITE_DATA MOV COMMAND,#0C0H LCALL WRITE_COMMAND MOV A,DATA1 ADD A,#03H MOV DATA2,A LCALL WRITE_DATA MOV COMMAND, #0C0H LCALL WRITE_COMMAND RET;*****************************************************
WRI_C: MOV A,O_Y MOV B,#20H MUL AB ADD A,O_X MOV DATA2,A LCALL WRITE_DATA MOV A,B ADDC A,#00H MOV DATA2,A LCALL WRITE_DATA MOV COMMAND,#24H ;写入控制字,指出文本ram的首地址 LCALL WRITE_COMMAND MOV DATA2,DATA1 LCALL WRITE_DATA MOV COMMAND,#0C4H LCALL WRITE_COMMAND MOV A,O_Y MOV B,#20H MUL AB ADD A,O_X MOV DATA2,A LCALL WRITE_DATA MOV A,B ADDC A,#00H ADD A,#08H MOV DATA2,A LCALL WRITE_DATA MOV COMMAND,#24H ;定义属性区的首地址 LCALL WRITE_COMMAND MOV DATA2,ATTR LCALL WRITE_DATA MOV COMMAND,#0C4H LCALL WRITE_COMMAND RET;*****************************************************
CGRAM:MOV DATA2,#03H LCALL WRITE_DATA MOV DATA2,#00H LCALL WRITE_DATA MOV COMMAND,#22H LCALL WRITE_COMMAND MOV DATA2,#00H LCALL WRITE_DATA MOV DATA2,#1CH LCALL WRITE_DATA MOV COMMAND,#24H LCALL WRITE_COMMAND MOV COMMAND,#0B0H LCALL WRITE_COMMAND MOV A,COUNT MOV B,#08H MUL AB MOV COUNT,A INC B 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 MOV DATA2,A LCALL WRITE_DATA DJNZ COUNT,CGRAM1 DJNZ B,CGRAM1 MOV COMMAND,#0B2H LCALL WRITE_COMMAND POP DPL POP DPH RET;*****************************************************
MAIN: MOV dptr,#RE_ADD MOV A,#10H MOVX @dptr,A
MOV SP,#20H MOV P3,#0FFH SETB EA SETB EX0 SETB IT0 MOV COMMAND,#90H LCALL WRITE_COMMAND LCALL MS40 MOV DATA2,#00H LCALL WRITE_DATA MOV DATA2,#00H LCALL WRITE_DATA MOV COMMAND,#40H ;文本显示区首地址设置 LCALL WRITE_COMMAND MOV DATA2,#20H LCALL WRITE_DATA MOV DATA2,#00H LCALL WRITE_DATA MOV COMMAND,#41H ;文本显示区宽度设置 LCALL WRITE_COMMAND MOV COMMAND,#80H ;或者模式 显示方式 LCALL WRITE_COMMAND
MOV COMMAND,#94H ; 启动文本 LCALL WRITE_COMMAND
lcall CLEAR1 ; MOV COMMAND,#0A5H ; LCALL WRITE_COMMAND ;光标形状选择 ;MOV DATA2,#0AH ; LCALL WRITE_DATA ;MOV DATA2,#01H ;LCALL WRITE_DATA ;MOV COMMAND,#21H ;定义光标位置 ;LCALL WRITE_COMMAND MOV COUNT,#80H LCALL CGRAM ;汉字读入CGRAM字库
MOV DATA1,#80H MOV O_X,#00H MOV O_Y,#00H ;写出汉字 LCALL WRI_CT MOV COUNT,#84H LCALL CGRAM MOV DATA1,#84H MOV O_X,#02H MOV O_Y,#00H LCALL WRI_CT
MOV R2,#00H MOV R3,#06H MOV R4,#06H MOV A,R2 LOOPB: MOV DPTR,#DTAB MOVC A,@A+DPTR MOV DATA1,A MOV ATTR,R1 MOV O_X,R3 MOV O_Y,R4 LCALL WRI_C INC R2 INC R3 MOV A,R2 CJNE A,#13,LOOPB LCALL DELAY SJMP $ ;***************************************************** CGTAB: ;DB 00H,40H,37H,10H,81H,61H,22H,0AH ;液 ;DB 16H,2BH,0E2H,22H,22H,23H,22H,22H ;DB 80H,44H,0FEH,20H,20H,3CH,44H,64H ;DB 98H,48H,50H,20H,50H,8EH,04H,00H DB 0x7F,0x02,0x1F,0x10,0x1F,0x10,0x1F,0x10 DB 0x1F,0x08,0x0F,0x08,0x16,0x21,0x0E,0x70 DB 0xFE,0x00,0xF0,0x10,0xF0,0x10,0xF0,0x10 DB 0xF0,0x00,0xF0,0x20,0x40,0x80,0x70,0x0E; 夏
DB 0x00,0x3E,0x22,0x22,0x22,0x3E,0x00,0x7F DB 0x08,0x7F,0x08,0x08,0x0F,0xF0,0x00,0x00 DB 0x00,0x7E,0x44,0x44,0x48,0x50,0x48,0x44 DB 0x42,0x42,0x42,0x5A,0x44,0x40,0x40,0x40; 郢
DTAB : DB 37H,45h,4Ch,43H,4FH,4DH,45H,00H,33H,48H,49H,4EH,45H
;***************************************************** END
程序中attr没用到过 估计是做文字显示特效需要的东东,可以去掉. 显示效果:
******************************************************************************************************************
夏郢
welcome shine
******************************************************************************************************************
有兴趣的朋友我将给您我的连接方式图
