⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ht46r24.asm

📁 利用HOLTEK单片机开发的1602液晶驱动
💻 ASM
📖 第 1 页 / 共 2 页
字号:
#pragma debug scope 1 1
#line 47 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
#line 49 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
rombank 0 L2
L2 .SECTION INPAGE'CODE'
l_2:
MOV [06h],A
_2:
RET A,70
RET A,111
RET A,114
RET A,32
RET A,97
RET A,110
RET A,32
RET A,101
RET A,120
RET A,97
RET A,109
RET A,112
RET A,108
RET A,101
RET A,46
RET A,32
RET A,45
RET A,32
RET A,66
RET A,121
RET A,32
RET A,120
RET A,105
RET A,97
RET A,111
RET A,113
RET A,105
RET A,10
RET A,0
__acsr EQU [027H]
__adcr EQU [026H]
__adrh EQU [025H]
__adrl EQU [024H]
__hdr EQU [023H]
__hsr EQU [022H]
__hcr EQU [021H]
__hadr EQU [020H]
__pwm3 EQU [01dH]
__pwm2 EQU [01cH]
__pwm1 EQU [01bH]
__pwm0 EQU [01aH]
__pfc EQU [029H]
__pf EQU [028H]
__pdc EQU [019H]
__pd EQU [018H]
__pcc EQU [017H]
__pc EQU [016H]
__pbc EQU [015H]
__pb EQU [014H]
__pac EQU [013H]
__pa EQU [012H]
__tmr1c EQU [011H]
__tmr1l EQU [010H]
__tmr1h EQU [0fH]
__tmr0c EQU [0eH]
__tmr0l EQU [0dH]
__tmr0h EQU [0cH]
__intc1 EQU [01eH]
__intc0 EQU [0bH]
__status EQU [0aH]
__tblh EQU [08H]
__tblp EQU [07H]
__pcl EQU [06H]
__acc EQU [05H]
__bp EQU [04H]
__mp1 EQU [03H]
__iar1 EQU [02H]
__mp0 EQU [01H]
__iar0 EQU [00H]
@MAIN .SECTION 'CODE'
_main PROC
begin:
#pragma debug scope 2 1 ; 49 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
#line 49 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
MOV A,29
MOV RH,A
MOV A,OFFSET CR2
MOV [01H],A
MOV A,1
MOV T2,A
ASB8:
MOV A,T2
ADD A,OFFSET l_2
CALL l_2
MOV [00H],A
INC [01H]
INC T2
SDZ RH
JMP ASB8
#line 51 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
CALL _Delay400Ms
#line 53 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
CALL _LcdReset
#line 54 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
MOV A,020h
MOV CR1,A
#line 55 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
MOV A,00h
MOV ePutstr0,A
MOV A,00h
MOV ePutstr1,A
MOV A,OFFSET CR2
MOV ePutstr2,A
CLR ePutstr2[1]
CALL _ePutstr
#line 57 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
CALL _Delay400Ms
#line 58 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
CALL _Delay400Ms
#line 59 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
CALL _Delay400Ms
#line 60 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
CALL _Delay400Ms
#line 61 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
CALL _Delay400Ms
#line 62 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
CALL _Delay400Ms
#line 63 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
CALL _Delay400Ms
#line 64 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
CALL _Delay400Ms
#line 64 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
JMP L4
L3:
#pragma debug scope 3 2 ; 68 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
#line 68 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
CLR CR1.7
#line 69 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
MOV A,CR1
SUB A,020h
SZ [0ah].0
JMP L6
#line 69 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
MOV A,020h
MOV CR1,A
L6:
#line 70 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
MOV A,CR1
MOV b0_1,A
INC CR1
MOV A,b0_1
MOV Display0,A
CALL _Display
#line 71 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
CALL _Delay400Ms
L4:
#line 66 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
#pragma debug scope 2 1 ; 66 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
JMP L3
L1:
#line 73 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
JMP $
LOCAL b0_1 DB ?
#line 48 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
LOCAL CR1 DB ? ; temp
#pragma debug variable 2 CR1 temp
#line 49 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
LOCAL CR2 DB 29 DUP (?) ; example
#pragma debug variable 2 CR2 example
_main ENDP
#line 79 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
@ePutstr .SECTION 'CODE'
PUBLIC _ePutstr
_ePutstr PROC
#pragma debug scope 4 1
#line 78 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
PUBLIC ePutstr0
LOCAL ePutstr0 DB ? ; x
#pragma debug variable 4 ePutstr0 x
#line 78 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
PUBLIC ePutstr1
LOCAL ePutstr1 DB ? ; y
#pragma debug variable 4 ePutstr1 y
#line 78 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
PUBLIC ePutstr2
LOCAL ePutstr2 DB 2 DUP (?) ; ptr
#pragma debug variable 4 ePutstr2 ptr
#pragma debug scope 4 1 ; 80 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
#line 80 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
CLR CR6
#line 80 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
JMP L11
L10:
#pragma debug scope 5 4 ; 81 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
#line 81 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
INC CR6
L11:
#line 81 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
#pragma debug scope 4 1 ; 81 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
MOV A,CR6
ADD A,ePutstr2
MOV b0_2,A
MOV A,ePutstr2[1]
MOV b0_2[1],A
MOV A,b0_2[1]
MOV [04H],A
MOV A,b0_2
MOV [03H],A
MOV A,[02H]
MOV b0_2,A
MOV A,01fh
SUB A,b0_2
SNZ [0ah].0
JMP L10
#line 82 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
CLR CR5
#line 82 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
JMP L16
L13:
#pragma debug scope 6 4 ; 84 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
#line 84 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
MOV A,ePutstr0
MOV b0_2,A
INC ePutstr0
MOV A,b0_2
MOV DispOneChar0,A
MOV A,ePutstr1
MOV DispOneChar1,A
MOV A,CR5
ADD A,ePutstr2
MOV b0_2,A
MOV A,ePutstr2[1]
MOV b0_2[1],A
MOV A,b0_2[1]
MOV [04H],A
MOV A,b0_2
MOV [03H],A
MOV A,[02H]
MOV b0_2,A
MOV A,b0_2
MOV DispOneChar2,A
CALL _DispOneChar
#line 85 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
MOV A,ePutstr0
XOR A,08h
SNZ [0ah].2
JMP L17
#pragma debug scope 7 6 ; 87 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
#line 87 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
CLR ePutstr0
#line 87 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
MOV A,01h
XORM A,ePutstr1
L17:
L14:
#line 82 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
#pragma debug scope 4 1 ; 82 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
INC CR5
L16:
#line 82 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
MOV A,CR5
SUB A,CR6
SNZ [0ah].0
JMP L13
L9:
RET
LOCAL b0_2 DB 2 DUP(?)
#line 80 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
LOCAL CR5 DB ? ; i
#pragma debug variable 4 CR5 i
#line 80 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
LOCAL CR6 DB ? ; l
#pragma debug variable 4 CR6 l
_ePutstr ENDP
#line 96 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
@Display .SECTION 'CODE'
PUBLIC _Display
_Display PROC
#pragma debug scope 8 1
#line 95 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
PUBLIC Display0
LOCAL Display0 DB ? ; dd
#pragma debug variable 8 Display0 dd
#pragma debug scope 8 1 ; 100 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
#line 100 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
CLR CR8
#line 100 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
JMP L23
L20:
#pragma debug scope 9 8 ; 102 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
#line 102 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
MOV A,CR8
MOV DispOneChar0,A
MOV A,01h
MOV DispOneChar1,A
MOV A,Display0
MOV b0_3,A
INC Display0
MOV A,b0_3
MOV DispOneChar2,A
CALL _DispOneChar
#line 103 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
CLR Display0.7
#line 104 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
MOV A,Display0
SUB A,020h
SZ [0ah].0
JMP L24
#line 104 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
MOV A,020h
MOV Display0,A
L24:
L21:
#line 100 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
#pragma debug scope 8 1 ; 100 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
INC CR8
L23:
#line 100 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
MOV A,CR8
SUB A,08h
SNZ [0ah].0
JMP L20
L19:
RET
LOCAL b0_3 DB ?
#line 98 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
LOCAL CR8 DB ? ; i
#pragma debug variable 8 CR8 i
_Display ENDP
#line 112 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
@LocateXY .SECTION 'CODE'
PUBLIC _LocateXY
_LocateXY PROC
#pragma debug scope 10 1
#line 111 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
PUBLIC LocateXY0
LOCAL LocateXY0 DB ? ; posx
#pragma debug variable 10 LocateXY0 posx
#line 111 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
PUBLIC LocateXY1
LOCAL LocateXY1 DB ? ; posy
#pragma debug variable 10 LocateXY1 posy
#pragma debug scope 10 1 ; 116 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"
#line 116 "D:\桌面文件\液晶驱动\LCD\HT46R24.C"

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -