📄 mywork.asm
字号:
CS EQU P1.0
WR EQU P1.1
DAT EQU P1.2
DATA1 EQU 30H
DATA2 EQU 31H
WRITE_A EQU 32H
WRITE_D EQU 33H
COUNT EQU 34H
BUFFER EQU 35H
COM EQU 36H
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
ORG 0000H
INIT: MOV COM,#00000001B
LCALL COMMAND
MOV COM,#00000011B
LCALL COMMAND
MOV COM,#00101001B
LCALL COMMAND
LCALL DELAY1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
START: LCALL DELAY1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
D9: MOV DATA1,#11010000B
MOV DATA2,#11100000B
LCALL DISPLAY
LCALL DELAY1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
D8: MOV DATA1,#11110000B
MOV DATA2,#11100000B
LCALL DISPLAY
LCALL DELAY1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
D7: MOV DATA1,#00000000B
MOV DATA2,#11100000B
LCALL DISPLAY
LCALL DELAY1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
D6: MOV DATA1,#11110000B
MOV DATA2,#10100000B
LCALL DISPLAY
LCALL DELAY1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
D5: MOV DATA1,#11010000B
MOV DATA2,#10100000B
LCALL DISPLAY
LCALL DELAY1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
D4: MOV DATA1,#11000000B
MOV DATA2,#01100000B
LCALL DISPLAY
LCALL DELAY1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
D3: MOV DATA1,#01010000B
MOV DATA2,#11100000B
LCALL DISPLAY
LCALL DELAY1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
D2: MOV DATA1,#01110000B
MOV DATA2,#11000000B
LCALL DISPLAY
LCALL DELAY1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
D1: MOV DATA1,#00000000B
MOV DATA2,#01100000B
LCALL DISPLAY
LCALL DELAY1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
D0: MOV DATA1,#10110000B
MOV DATA2,#11100000B
LCALL DISPLAY
LCALL DELAY1
AJMP D9
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
DISPLAY: MOV WRITE_A,#00000000B
MOV WRITE_D,DATA1
LCALL WRITE_RAM
MOV WRITE_A,#00000100B
MOV WRITE_D,DATA2
LCALL WRITE_RAM
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
COMMAND:SETB CS
SETB WR
SETB DAT
CLR CS
MOV COUNT,#3
MOV BUFFER,#10000000B
LCALL TRANSFER_OUT
MOV COUNT,#9
MOV BUFFER,COM
LCALL TRANSFER_OUT
SETB CS
SETB WR
SETB DAT
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
WRITE_RAM:
SETB CS
SETB WR
SETB DAT
CLR CS
MOV COUNT,#3
MOV BUFFER,#10100000B
LCALL TRANSFER_OUT
MOV COUNT, #6
MOV BUFFER,WRITE_A
LCALL TRANSFER_OUT
MOV COUNT,#4
MOV BUFFER,WRITE_D
LCALL TRANSFER_OUT
SETB CS
SETB WR
SETB DAT
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
TRANSFER_OUT:
MOV A,BUFFER
LOOP1: RLC A
MOV DAT,C
CLR WR
LCALL DELAY0
SETB WR
LCALL DELAY0
DJNZ COUNT,LOOP1
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
DELAY0: MOV R1,#014H
DELAY01:DJNZ R1,DELAY01
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
DELAY1: MOV R1,#64h
DELAY11:MOV R2,#19h
DELAY12:MOV R3,#64h
DELAY13:DJNZ R3,DELAY13
DJNZ R2,DELAY12
DJNZ R1,DELAY11
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -