現在就是加第二行數據表調用就是到AJMP $這兒停不下來還重新刷寫,請教下老哥們
QQ圖片20190520163139.jpg (3.02 MB, 下載次數: 34)
下載附件
2019-5-20 22:32 上傳
QQ圖片20190520163132.jpg (2.91 MB, 下載次數: 44)
下載附件
2019-5-20 22:31 上傳
單片機源程序如下:
- ;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
- AJMP [ DISCUZ_CODE_3 ]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,#0F0H
- AA: MOV R6,#0D2H
- DJNZ R6,$
- DJNZ R7,AA
- RET
- /*數據表第一行*/;====================
- TAB: DB "welcome-to-1602-"
- /*數據表第二行*/;====================
- TAB1: DB "www點dfhw123點com "
- END
復制代碼
|