刚入门菜鸟请教下大佬们 我这程序现在写完一直是重新第一行开始刷写怎么改才能让他一直显示呢
- ;1602液晶屏显示程序
- ;====定义控制线端口=======
- ;P2.0-P2.7为数据 D0-D7接口
- ;RS数据/命令选择端 H/L
- ;RW读/写选择端 H/L
- ;EN使能控制端 H/L 开/关
- RS EQU P0.0 ;等值指令(起外号)
- RW EQU P0.1 ;等值指令(起外号)
- EN EQU P0.2 ;等值指令(起外号)
- ORG 00H ;定义起始地址位置
- JMP MAIN ;跳转主程序
- ORG 30H ;开始主程序地址位置
- /*主程序*/;==========================
- MAIN: MOV SP,60H ;设置堆栈指针地址位置
- CALL CHUSHIHUA ;调用1602初始化
- WW: MOV A,#80H ;设置1602显示的地址位置行(第一行80H--90H 第二行0C0H--0D0H)
- LCALL XIE ;调用指令子程序写入显示地址的数据
- /* MOV A,#"A" ;需要显示的东西
- CALL XIE1 ;调用显示子程序*/
- CALL SHU1 ;调用数据表
-
- MOV A,#0C0H ;把第二行地址写入A中
- LCALL XIE ;调用第二行进行显示
- CALL SHU2 ;调用数据表1
- JMP [ DISCUZ_CODE_1 ]nbsp;
- /*调用数据表显示程序*/;===============
- SHU1: MOV R0,#00H ;00送给R0
- AAA: MOV A,R0 ;A中数为00
- MOV DPTR,#TAB ;数据表地址装入DPTR中
- MOVC A,@A+DPTR ;数据表数据装入A中
- CALL XIE1 ;调用数据进行写入
- INC R0 ;R0+1吧下一个数据调入
- CJNE R0,#16D,AAA ;显示16个数据
- RET ;返回主程序
- /*调数据表1显示程序*/;===============
- SHU2: MOV R1,#00H ;00送给R0
- AAB: MOV A,R1 ;A中数为00
- MOV DPTR,#TAB1 ;数据表1地址装入DPTR中
- MOVC A,@A+DPTR ;数据表数据装入A中
- CALL XIE1 ;调用数据进行写入
- INC R1 ;R0+1吧下一个数据调入
- CJNE R1,#16D,AAB ;显示16个数据
- RET ;返回主程序
- /*1602初始化程序*/;===================
- CHUSHIHUA: CALL YANSHI ;调用延时
- MOV A,#38H ;写显示模式设置 16X2显示,5X7点阵,8位数据接口
- CALL XIE ;调用写指令子程序
- MOV A,#01H ;显示清屏(数据指针地址和所有显示清0)
- CALL XIE ;调用写指令子程序
- MOV A,#06H ;显示光标移动设置为当写一个字符后地址指针加1且光标加1
- CALL XIE ;调用写指令子程序
- MOV A,#0CH ;显示开及光标设置为开显示 不显示光标 光标不显示
- CALL XIE ;调用写子程序
- RET ;返回主程序
- /*写数据程序*/;=======================
- XIE1: SETB RS ;置1
- CLR RW ;置0
- CLR EN ;置0
- MOV P2,A ;写数据到P2口
- CALL YANSHI;调用延时
- SETB EN ;置1开启使能
- CALL YANSHI;调用延时
- CLR EN ;关使能
- CALL YANSHI;调用延时
- RET ;返回主程序
- /*写指令命令程序*/;=======================
- XIE: CLR RS ;置0
- CLR RW ;置0
- CLR EN ;置0
- MOV P2,A ;写指令数据到P2口
- CALL YANSHI;调用延时
- SETB EN ;开启使能
- CALL YANSHI;调用延时
- CLR EN ;关闭使能
- CALL YANSHI;调用延时
- RET ;返回主程序
- /*延时程序*/;========================
- YANSHI: MOV R7,#0FFH
- AA: MOV R6,#0F9H
- DJNZ R6,$
- DJNZ R7,AA
- RET
- /*数据表第一行*/;====================
- TAB: DB "welcome-to-1602-"
- /*数据表第二行*/;====================
- TAB1: DB "www.dfhw123.com "
- END
复制代码
0
|
|
|
|