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

📄 ex9-9.asm

📁 《单片机原理实用教程——基于Proteus虚拟仿真》一书的配套光盘
💻 ASM
字号:
	ORG 0000H
START:	LJMP MAIN
	ORG 0030H
MAIN:   LCALL INIT	    ;主程序开始,调用液晶模块初始化子程序
	LCALL WPAD          ;调用自定义汉字字符子程序
	MOV   R2,#81H       ;从第1行第2位开始,设置DDRAM地址
	LCALL WRTC          ;写入
	MOV   R4,#14        ;第1行共14个字符
	MOV   DPTR,#ZIFU    ;指向显示字符代码首地址
	LCALL WP1           ;第1行字符代码写入DDRAM
	MOV   R2,#0C4H      ;设置第2行DDRAM地址
	LCALL WRTC          ;写入
	MOV   R4,#12        ;第2行共12个字符
	LCALL WP1           ;第2行字符代码写入DDRAM
	SJMP  $
ZIFU:	DB   "Hello Everyboy" ;显示字符
	DB   "2008",00H,"10",01H,"26",02H,20H
	

;忙标志判断子程序
WAIT:	MOV  P2,#7FH
	MOV  R0,#0F1H      ;读忙标志地址
	MOVX A,@R0
	JB   ACC.7,WAIT
	RET

;写指令代码子程序
WRTC:	LCALL WAIT	    ;判断BF标志
	MOV   A,R2
	MOV   R0,#0F0H      ;写指令地址
	MOVX  @R0,A
	RET

;写数据子程序
WRTD:	LCALL WAIT	    ;判断BF标志
	MOV   A,R2
	MOV   R0,#0F2H      ;写数据地址
	MOV   A,R2
	MOVX  @R0,A
	RET

;读数据子程序
RDD:    LCALL WAIT	    ;判断BF标志
	MOV   R0,#0F3H	    ;读数据地址
	MOVX  A,@R0
	RET

;初始化子程序
INIT:	LCALL TIM1           ;延时15ms
	MOV   R2,#38H        ;功能设置命令,设定8位字长,2行,5*7点阵
	LCALL WRTC           ;写入
	LCALL TIM3           ;延时100us
	MOV   R2,#38H	     
	LCALL WRTC           ;写入
	LCALL TIM3           ;延时100us
	MOV   R2,#38H
	LCALL WRTC           ;写入
	LCALL TIM3           ;延时100us
	MOV   R2,#01H        ;清屏命令
	LCALL WRTC           ;写入
	MOV   R2,#06H        ;输入方式命令
	LCALL WRTC           ;写入
	MOV   R2,#0EH        ;开显示、光标不闪命令
	LCALL WRTC           ;写入
	RET

;自定义汉字字符子程序
WPAD:	MOV   R2,#40H        ;设置CGRAM首地址为0
	LCALL WRTC           ;写入CGRAM首地址
	MOV   R4,#24         ;3个汉字共24字节子模数据
	MOV   DPTR,#ZIMO     ;指向字模首地址
WP1:    CLR   A
	MOVC  A,@A+DPTR
	MOV   R2,A
	LCALL WRTD           ;写入1字节字模数据
	INC   DPTR
	DJNZ  R4,WP1
	RET
ZIMO:	DB  08H,0FH,12H,0FH,0AH,1FH,02H,00H;“年”
	DB  0FH,09H,0FH,09H,0FH,09H,11H,00H;“月”
	DB  0FH,09H,09H,0FH,09H,09H,0FH,00H;“日” 

;延时15ms子程序
TIM1:	MOV   R5,#03H
TT1:	LCALL TIM2
	DJNZ  R5,TT1
	RET
;延时5ms子程序	
TIM2:	MOV   R4,#50
TT2:	LCALL TIM3
	DJNZ  R4,TT2
	RET
;延时100us子程序	
TIM3:	MOV   R3,#50
TT3:	DJNZ  R3,TT3
	RET

	END

⌨️ 快捷键说明

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