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

📄 wdot.asm

📁 SED1335驱动-c语言
💻 ASM
字号:
;  绘点子程序W_DOT
;  占用内部寄存器:O_XL,O_XH,O_YL,A,B
;  内部调用子程序:PR1,PR2,PR3
;  程序调用入口: W_DOT
;  程序参数:PARA1
;  程序输入变量:  O_XL,O_XH,O_YL
W_DOT:  MOV     A,O_YL          ; 计算显示单元地址(Y坐标转换计算)
        MOV     B,#PARA1        ; PARA1值等于SYSTEM SET 指令P9
        MUL     AB              ; 而P10=0
        MOV     O_YL,A          ; O_YL存地址低8位
	MOV	A,B
        XCH     A,O_XH          ; O_XH存地址高8位
	PUSH	ACC		; 存D7标志位
        CLR     ACC.7           ; 清D7位
        MOV     B,#20H          ; 计算显示单元地址(X坐标高位转换计算)
        MUL     AB              ; 256点占32字节,所以B=20H
        ADD     A,O_YL          ; 累加计算
	MOV	O_YL,A
	MOV	A,B
	ADDC	A,O_XH
	MOV	O_XH,A
        MOV     A,O_XL          ; 计算显示单元地址(X坐标低位转换计算)
        MOV     B,#08H          ; 8点占一字节,所以B=8
	DIV	AB
        ADD     A,O_YL          ; 商与地址累加计算
        MOV     O_XL,A          ; O_XL存地址低8位
	MOV	A,O_XH
        ADDC    A,#40H          ; 加入显示二区起始地址值SAD2H
        MOV     O_XH,A          ; 假定SAD2L=0
	CLR	A		; 确定要设置点的位置
	SETB	C
        INC     B               ; B为余数 = 点位置
W_DOT1: RRC     A               ; 确定点位置
	DJNZ	B,W_DOT1
        MOV     O_YL,A          ; O_YL存点数据
	MOV	COM,#46H	; 设置光标地址
	LCALL	PR1
	MOV	DAT1,O_XL
	LCALL	PR2
	MOV	DAT1,O_XH
	LCALL	PR2
	MOV	COM,#43H	; MREAD 代码
	LCALL	PR1
	POP	ACC		; 取D7标志位
	MOV	C,ACC.7
	LCALL	PR3		; 读取当前显示数据
	MOV	A,DAT1
	JNC	W_DOT2		; 消点则转
        ORL     A,O_YL          ; 绘点: "或"点数据
	LJMP	W_DOT3
W_DOT2: XCH     A,O_YL          ; 消点: "与"点数据
	CPL	A
        ANL     A,O_YL
W_DOT3: MOV     O_YL,A          ; 存合成数据
	MOV	COM,#46H	; 重新设置光标地址
	LCALL	PR1
	MOV	DAT1,O_XL
	LCALL	PR2
	MOV	DAT1,O_XH
	LCALL	PR2
	MOV	COM,#42H	; MWRITE 代码
	LCALL	PR1
        MOV     DAT1,O_YL
	LCALL	PR2		; 写入合成数据
	RET

⌨️ 快捷键说明

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