lm320240.asm
来自「在51单片机中实现320*240液晶屏的显示」· 汇编 代码 · 共 1,542 行 · 第 1/5 页
ASM
1,542 行
;****************************************************
;*************译码子程序******************************
;*****************************************************
DATA_CHG:
;***********个位译码*********************************
MOV A,DATA1
CJNE A,#01H,CHANGE2
CHANGE1: MOV A,DATA4
CJNE A,#40H,CHANGE13 ;0 1
MOV FORDATA,#01D
LJMP CHANG101 ;****=1
;***************************************
CHANGE2: MOV A,DATA1
CJNE A,#0D4H,CHANGE4
CHANGE3: MOV A,DATA4
CJNE A,#0D4H,TOE ;2 3
MOV FORDATA,#02D
LJMP CHANG101 ;******=2
TOE: RET
;***************************************
CHANGE4: MOV A,DATA1
CJNE A,#95H,CHANGE6
CHANGE5: MOV A,DATA4
CJNE A,#0D4H,CHANGE9
MOV FORDATA,#03D
LJMP CHANG101 ;*****=3
;***************************************
CHANGE6: MOV A,DATA1
CJNE A,#81H,CHANGE8
CHANGE7: MOV A,DATA4
CJNE A,#0C1H,TOEND1
MOV FORDATA,#04D
LJMP CHANG101 ;*****=4
TOEND1: RET
;***************************************
CHANGE8: MOV A,DATA1
CJNE A,#95H,CHANGE10
CHANGE9: MOV A,DATA4
CJNE A,#95H,CHANGE17
MOV FORDATA,#05D
LJMP CHANG101 ;******5
;***************************************
CHANGE10: MOV A,DATA1
CJNE A,#0D5H,CHANGE12
CHANGE11: MOV A,DATA4
CJNE A,#95H,CHANGE15
MOV FORDATA,#06D
LJMP CHANG101 ;****=6
;****************************************
CHANGE12: MOV A,DATA1
CJNE A,#01H,CHANGE14
CHANGE13: MOV A,DATA4
CJNE A,#54H,TOEND2
MOV FORDATA,#07D
LJMP CHANG101 ;*******=7
TOEND2: RET
;*****************************************
CHANGE14: MOV A,DATA1
CJNE A,#0D5H,CHANGE16
CHANGE15: MOV A,DATA4
CJNE A,#0D5H,TOEND3
MOV FORDATA,#08D
LJMP CHANG101 ;********=8
TOEND3: RET
;*****************************************
CHANGE16: MOV A,DATA1
CJNE A,#95H,CHANGE18
CHANGE17: MOV A,DATA4
CJNE A,#0D5H,TOEND4
MOV FORDATA,#09D
LJMP CHANG101 ;*****=9
TOEND4: RET
;****************************************
CHANGE18: MOV A,DATA1
CJNE A,#55H,CHANGE68
CHANGE19: MOV A,DATA4
CJNE A,#55H,TOEND22
MOV FORDATA,#00D
LJMP CHANG101 ;******=0
;*******************************************
CHANGE68: MOV A,DATA1
CJNE A,#80H,TOEND22
CHANGE69: MOV A,DATA4
CJNE A,#80H,TOEND22
MOV FORDATA,#34D
AJMP CHANG101 ;******= - 8080
TOEND22: RET
;********************************************************************
;*********************十位译码*************************************
;*******************************************************************
CHANG101:
;;
;;
MOV A,DATA2
CJNE A,#00H,CHANG1
CHANG00: MOV A,DATA3
CJNE A,#00H,CHANG1 ;0 1
MOV THRDATA,#00D
LJMP STOP ;****=1
;;;***************************************
;;
CHANG1: MOV A,DATA2
CJNE A,#01H,CHANG2
MOV A,DATA3
CJNE A,#40H,CHANG13 ;0 1
MOV THRDATA,#01D
LJMP STOP ;****=1
;***************************************
CHANG2: MOV A,DATA2
CJNE A,#0D4H,CHANG4
CHANG3: MOV A,DATA3
CJNE A,#0D4H,TOE0 ;2 3
MOV THRDATA,#02D
LJMP STOP ;******=2
TOE0: RET
;***************************************
CHANG4: MOV A,DATA2
CJNE A,#95H,CHANG6
CHANG5: MOV A,DATA3
CJNE A,#0D4H,CHANG9
MOV THRDATA,#03D
LJMP STOP ;*****=3
;***************************************
CHANG6: MOV A,DATA2
CJNE A,#81H,CHANG8
CHANG7: MOV A,DATA3
CJNE A,#0C1H,TOEND01
MOV THRDATA,#04D
LJMP STOP ;*****=4
TOEND01: RET
;***************************************
CHANG8: MOV A,DATA2
CJNE A,#95H,CHANG10
CHANG9: MOV A,DATA3
CJNE A,#95H,CHANG17
MOV THRDATA,#05D
LJMP STOP ;******5
;***************************************
CHANG10: MOV A,DATA2
CJNE A,#0D5H,CHANG12
CHANG11: MOV A,DATA3
CJNE A,#95H,CHANG15
MOV THRDATA,#06D
LJMP STOP ;****=6
;****************************************
CHANG12: MOV A,DATA2
CJNE A,#01H,CHANG14
CHANG13: MOV A,DATA3
CJNE A,#54H,TOEND02
MOV THRDATA,#07D
LJMP STOP ;*******=7
TOEND02: RET
;*****************************************
CHANG14: MOV A,DATA2
CJNE A,#0D5H,CHANG16
CHANG15: MOV A,DATA3
CJNE A,#0D5H,TOEND03
MOV THRDATA,#08D
LJMP STOP ;********=8
TOEND03: RET
;*****************************************
CHANG16: MOV A,DATA2
CJNE A,#95H,CHANG18
CHANG17: MOV A,DATA3
CJNE A,#0D5H,TOEND04
MOV THRDATA,#09D
LJMP STOP ;*****=9
TOEND04: RET
;****************************************
CHANG18: MOV A,DATA2
CJNE A,#55H,CHANG68
CHANG19: MOV A,DATA3
CJNE A,#55H,STOP
MOV THRDATA,#00D
LJMP STOP ;******=0
;*******************************************
CHANG68: MOV A,DATA2
CJNE A,#80H,TOEND022
CHANG69: MOV A,DATA3
CJNE A,#80H,TOEND022
MOV THRDATA,#34D
AJMP STOP ;******= - 8080
TOEND022: RET
STOP:
MOV LCDATA2,THRDATA
MOV LCDATA1,FORDATA
RET
;******************************************************
;&&&&&&&&&&&&&&&&&&&&&
;*********************************************
DELAY_300:
MOV R6,#0AH
AA: MOV R5,#0EH
BB: DJNZ R5,BB
NOP
NOP
DJNZ R6,AA
RET
DELAY_500:
MOV R6,#0AH
CC: MOV R5,#18H
DD: DJNZ R5,DD
NOP
NOP
DJNZ R6,CC
RET
;*********************************************************************
;*** ***
;*** ***
;*** LINE ***
;*** ***
;*********************************************************************
LINE:
MOV DPTR,#1B80H
MOV R5,DPL
MOV R4,DPH
MOV R6,#00H
MOV R7,#00H
MOV DPTR,#WC_ADD
MOV A,#4CH
MOVX @DPTR,A
LINEA:
MOV DPTR,#WC_ADD
MOV A,#46H
MOVX @DPTR,A
MOV DPTR,#WD_ADD
MOV A,R5
MOVX @DPTR,A
MOV A,R4
MOVX @DPTR,A
MOV DPTR,#WC_ADD
MOV A,#42H
MOVX @DPTR,A
LINEC:
MOV DPTR,#RB_ADD
MOVX A,@DPTR
JB ACC.6,LINEC
MOV A,#0FFH
MOV DPTR,#WD_ADD
MOVX @DPTR,A
INC R6
MOV A,R6
CJNE A,#40D, LINEC
MOV R6,#00H
INC R7
MOV A,R5
ADD A,#40D
MOV R5,A
MOV A,R4
ADDC A,#00H
MOV R4,A
MOV A,R7
CJNE A,#04D,LINEA
RET
;*********************************************************************
;*** ***
;*** ***
;*** Delay ***
;*** ***
;*********************************************************************
DEL_20MS:
MOV R5,#200D
DD2: MOV R6,#200D
DD1:
NOP
NOP
NOP
DJNZ R6,DD1
DJNZ R5,DD2
RET
;*********************************************************************
;*** ***
;*** ***
;*** Arrow ***
;*** ***
;*********************************************************************
UP_ARROW:
MOV DPTR,#NUMUP
MOV R1,DPL
MOV R2,DPH
MOV DPTR,#05A1H
MOV R5,DPL
MOV R4,DPH
LCALL WRAR
RET
DOWN_ARROW:
MOV DPTR,#NUMDOWN
MOV R1,DPL
MOV R2,DPH
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?