?? initial.asm
字號:
;;Initial 8255 and lcd
PROG SEGMENT CODE
public Initial
;;STACK SEGMENT IDATA
;;RSEG STACK
;;DS 10H ; 16 Bytes Stack
CSEG AT 0
USING 0 ; Register-Bank 0
;;Execution starts at address 0 on power-up.
;;SHOW_DATA(uint8 x,uint8 y)
;;R7=x, R5=y
RSEG PROG
Initial:
MOV DPTR,#6FF3H ;;INITIAL 8255
MOV A,#089H
MOVX @DPTR,A
MOV R0,#3EH
CALL OUTI
MOV R0,#3FH
CALL OUTI
MOV R0,#0C0H
CALL OUTI
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
OUTI1:
MOV DPTR,#6FF1H ;;WRITE DDRAM ADDRESS
MOV A,#010H ;;E=1, RW=0, DI=0, CS2=0, CS1=0
MOVX @DPTR,A
MOV DPTR,#6FF0H
MOV A,R0
MOVX @DPTR,A
MOV DPTR,#6FF1H
MOV A,#00H
MOVX @DPTR,A
MOV DPTR,#6FF1H
MOV A,#03H
MOVX @DPTR,A
RET
OUTD1:
MOV DPTR,#6FF1H ;;WRITE DISPLAY DATA
MOV A,#014H ;;E=1, RW=0, DI=1, CS2=0, CS1=0
MOVX @DPTR,A
MOV DPTR,#6FF0H
MOV A,R0
MOVX @DPTR,A
MOV DPTR,#6FF1H
MOV A,#04H
MOVX @DPTR,A
MOV DPTR,#6FF1H
MOV A,#07H
MOVX @DPTR,A
RET
OUTI2:
MOV DPTR,#6FF1H ;;WRITE DDRAM ADDRESS
MOV A,#012H ;;E=1, RW=0, DI=0, CS2=1, CS1=0
MOVX @DPTR,A
MOV DPTR,#6FF0H
MOV A,R0
MOVX @DPTR,A
MOV DPTR,#6FF1H
MOV A,#00H
MOVX @DPTR,A
MOV DPTR,#6FF1H
MOV A,#03H
MOVX @DPTR,A
RET
OUTD2:
MOV DPTR,#6FF1H ;;WRITE DISPLAY DATA
MOV A,#016H ;;E=1, RW=0, DI=1, CS2=1, CS1=0
MOVX @DPTR,A
MOV DPTR,#6FF0H
MOV A,R0
MOVX @DPTR,A
MOV DPTR,#6FF1H
MOV A,#04H
MOVX @DPTR,A
MOV DPTR,#6FF1H
MOV A,#07H
MOVX @DPTR,A
RET
OUTI3:
MOV DPTR,#6FF1H ;;WRITE DDRAM ADDRESS
MOV A,#011H ;;E=1, RW=0, DI=0, CS2=0, CS1=1
MOVX @DPTR,A
MOV DPTR,#6FF0H
MOV A,R0
MOVX @DPTR,A
MOV DPTR,#6FF1H
MOV A,#00H
MOVX @DPTR,A
MOV DPTR,#6FF1H
MOV A,#03H
MOVX @DPTR,A
RET
OUTD3:
MOV DPTR,#6FF1H ;;WRITE DISPLAY DATA
MOV A,#015H ;;E=1, RW=0, DI=1, CS2=0, CS1=1
MOVX @DPTR,A
MOV DPTR,#6FF0H
MOV A,R0
MOVX @DPTR,A
MOV DPTR,#6FF1H
MOV A,#04H
MOVX @DPTR,A
MOV DPTR,#6FF1H
MOV A,#07H
MOVX @DPTR,A
RET
OUTI:
CALL OUTI1
CALL OUTI2
CALL OUTI3
RET
end
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -