⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ccwpr.asm

📁 这是LCD液晶显示器的主要控制器hd61830的软件包
💻 ASM
字号:
; 汉字写入子程序(图形方式)CCW_PR
;   占用内部资源:O_XL,O_YL,COUNT1,CODE,A,B,DPTR
;   内部调用子程序:PR1,PR2
;   连接字库:      CCTAB 
;   程序调用入口:  CCW_PR
;   程序输入变量:  O_XL,O_YL,CODE
       CCW_PR:  MOV	A,CODE          ; 计算汉字字模的首地址
        	MOV	DPTR,#CCTAB     ; 设置汉字库的首地址
        	MOV	B,#20H          ; 一个汉字占32个字节
        	MUL	AB
        	ADD	A,DPL
		MOV	DPL,A
         	MOV	A,B
        	ADDC	A,DPH
		MOV	DPH,A
        	MOV     A,O_YL          ; 取行坐标地址
                MOV     B,#PARA1        ; 设置显示域宽度
                MUL     AB              ; 计算光标指针地址
                ADD     A,O_XL          ; 加列坐标地址
                MOV     O_XL,A          ; 地址低8位暂存O_XL
                MOV     A,B
                ADDC    A,#00H
                MOV     O_YL,A          ; 地址高8位暂存O_YL
                MOV     COUNT1,#00H     ; 计数器清零
        CCW_1:  MOV     COM,#0AH        ; 设置光标地址
                LCALL   PR1
                MOV     DAT1,O_XL
                LCALL   PR2
                MOV     COM,#0BH
                LCALL   PR1
                MOV     DAT1,O_YL
                LCALL   PR2
                MOV     COM,#0CH        ; 写数据指令代码
                LCALL   PR1
                MOV     A,COUNT1
                MOVC    A,@A+DPTR       ; 取汉字左半部字模数据
                MOV     DAT1,A          ; 写入字模数据
                LCALL   CONVERT         ; 调字模结构转换子程序
                LCALL   PR2             ; 写入字模数据
                MOV     A,COUNT1
                ADD     A,#10H          ; 修改间址参数
                MOVC    A,@A+DPTR       ; 取汉字右半部字模数据
                MOV     DAT1,A          ; 写入字模数据
                LCALL   CONVERT         ; 调字模结构转换子程序
                LCALL   PR2             ; 写入字模数据
                MOV     A,O_XL          ; 修正光标指针地址
                ADD     A,#PARA1        ; 加显示域宽度
                MOV     O_XL,A
                MOV     A,O_YL
                ADDC    A,#00H
                MOV     O_YL,A
                INC     COUNT1          ; 计数器加一
                MOV	A,COUNT1
                CJNE    A,#10H,CCW_1    ; 循环
                RET
;    汉字字模结构转换子程序
        CONVERT:MOV     A,COUNT1        ; 暂存COUNT1计数器
                PUSH    ACC
                MOV     COUNT1,#08H     ; 借用COUNT1作为计数器
                MOV     A,DAT1          ; 取数据
                MOV     DAT1,#00H       ; DAT1清零作为新数据
        CONVER1:RRC     A               ; ACC.0→C
                XCH     A,DAT1          ; 新旧数据交换
                RLC     A               ; C→ACC.0
                XCH     A,DAT1          ; 新旧数据交换
                DJNZ    COUNT1,CONVER1  ; 循环
                POP     ACC             ; 恢复COUNT1
                MOV     COUNT1,A
                RET

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -