📄 lcd1921x.lst
字号:
A51 MACRO ASSEMBLER LCD1921X 11/26/2004 15:31:54 PAGE 1
MACRO ASSEMBLER A51 V7.10
OBJECT MODULE PLACED IN lcd1921x.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE lcd1921x.asm SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
1
2
3 NAME SPI
4
0095 5 SPISCS EQU P1.5 ;new
00B2 6 SPISCK EQU P3.2
00B3 7 SPISID EQU P3.3
00B1 8 SPISOD EQU P3.1
00A6 9 WDTRST EQU 0A6H
10
0090 11 EEPCE EQU P1^0; //X5045
00A4 12 EEPSI EQU P2^4; //X5045 A12
00A5 13 EEPSO EQU P2^5; //X5045 A13
00A6 14 EEPSCK EQU P2^6; //X5045 A14
15
16
17 ?PR?SPIRecAChar?SPI SEGMENT CODE
18 ?PR?_SPISendAChar?SPI SEGMENT CODE
19 ?PR?_SPIWRITESD?SPI SEGMENT CODE
20
21 PUBLIC SPIRecAChar
22 PUBLIC _SPISendAChar
23 PUBLIC _SPIWRITESD
24 USING 0
25
26 ;/*****************************************************************************************
*****
27 ;SPIRec:从SPI接口读取一个数据
28 ;入口:无
29 ;返回:接收的一字节数据
30 ;******************************************************************************************
****/
---- 31 RSEG ?PR?SPIRecAChar?SPI
0000 32 SPIRecAChar:
0000 7900 33 MOV R1,#0
0002 7A00 34 MOV R2,#0
0004 E4 35 CLR A
0005 7808 36 MOV R0,#8
0007 37 SPIREC0:
0007 20B206 38 JB SPISCK,SPIREC2
000A D9FB 39 DJNZ R1,SPIREC0
000C DAF9 40 DJNZ R2,SPIREC0
000E 8013 41 SJMP SPIREC4
0010 42 SPIREC2:
0010 00 43 NOP
0011 A2B3 44 MOV C,SPISID
0013 33 45 RLC A
0014 46 SPIREC1:
0014 30B206 47 JNB SPISCK,SPIREC3
0017 D9FB 48 DJNZ R1,SPIREC1
0019 DAF9 49 DJNZ R2,SPIREC1
001B 8006 50 SJMP SPIREC4
001D 51 SPIREC3:
001D 7A00 52 MOV R2,#00H
001F D8E6 53 DJNZ R0,SPIREC0
0021 FF 54 MOV R7,A
0022 22 55 RET
0023 E4 56 SPIREC4:CLR A ; 出错返回
A51 MACRO ASSEMBLER LCD1921X 11/26/2004 15:31:54 PAGE 2
0024 FF 57 MOV R7,A
0025 22 58 RET
59 ;/*****************************************************************************************
*****
60 ;SPISend:SPI口发送一字节数据
61 ;input:R7
62 ;return:1 send sussecc;0:fail
63 ;******************************************************************************************
****/
---- 64 RSEG ?PR?_SPISendAChar?SPI
0000 65 _SPISendAChar:
0000 D2B1 66 SETB SPISOD
0002 7900 67 MOV R1,#0
0004 7A00 68 MOV R2,#0
0006 EF 69 MOV A,R7
0007 7808 70 MOV R0,#8
0009 71 SPISen0:
0009 20B206 72 JB SPISCK,SPISen2
000C D9FB 73 DJNZ R1,SPISen0
000E DAF9 74 DJNZ R2,SPISen0
0010 801C 75 SJMP SPISen4
0012 76 SPISen2:
0012 00 77 NOP
0013 00 78 NOP
0014 33 79 RLC A
0015 4004 80 JC SPISen1
0017 C2B1 81 CLR SPISOD
0019 8002 82 JMP SPISen5
001B 83 SPISen1:
001B D2B1 84 SETB SPISOD
001D 85 SPISen5:
001D 30B206 86 JNB SPISCK,SPISen3
0020 D9FB 87 DJNZ R1,SPISen5
0022 DAF9 88 DJNZ R2,SPISen5
0024 8008 89 SJMP SPISen4
0026 90 SPISen3:
0026 D8E1 91 DJNZ R0,SPISen0
0028 00 92 NOP
0029 00 93 NOP
002A D2B1 94 SETB SPISOD
002C D3 95 SETB C
002D 22 96 RET
002E C3 97 SPISen4:CLR C ; 出错返回
002F D2B1 98 SETB SPISOD
0031 22 99 RET
100
101 ;----------------------------------
102 ; read 5045 state
103 ;----------------------------------
0032 104 READSTD:
0032 C290 105 CLR EEPCE
0034 C2A6 106 CLR EEPSCK
0036 7405 107 MOV A,#00000101B ; READ STATE REGISTER
0038 120000 F 108 LCALL WRITE
003B 120000 F 109 LCALL READ
003E C2A6 110 CLR EEPSCK
0040 D290 111 SETB EEPCE
0042 22 112 RET
113 ;-----------------------------------
114 ; FORM 5045 OUT DATA TO ACC
115 ;-----------------------------------
0043 7F08 116 READ: MOV R7,#08H
0045 D2A6 117 READ1: SETB EEPSCK
0047 8000 118 JMP $+2
0049 C2A6 119 CLR EEPSCK
004B 8000 120 JMP $+2
A51 MACRO ASSEMBLER LCD1921X 11/26/2004 15:31:54 PAGE 3
004D A2A5 121 MOV C,EEPSO
004F 33 122 RLC A
0050 DFF3 123 DJNZ R7,READ1
0052 22 124 RET
125 ;----------------------------------
0053 7F08 126 WRITE: MOV R7,#08H
0055 C2A6 127 WRITE1: CLR EEPSCK
0057 33 128 RLC A
0058 92A4 129 MOV EEPSI,C
005A 8000 130 JMP $+2
005C D2A6 131 SETB EEPSCK
005E 8000 132 JMP $+2
0060 DFF3 133 DJNZ R7,WRITE1
0062 22 134 RET
135 ;---------------------------------
136 ; WRITE STATE FORM ACC
137 ;---------------------------------
---- 138 RSEG ?PR?_SPIWRITESD?SPI
0000 139 _SPIWRITESD:
0000 8FE0 140 MOV ACC,R7
0002 C0E0 141 PUSH ACC
0004 C290 142 CLR EEPCE
0006 C2A6 143 CLR EEPSCK
0008 7406 144 MOV A,#00000110B ; ENABLE WRITE OPERATION
000A 120000 F 145 LCALL WRITE
000D D290 146 SETB EEPCE
000F 00 147 NOP
0010 C2A6 148 CLR EEPSCK
0012 C290 149 CLR EEPCE
0014 7401 150 MOV A,#00000001B ; WRITE STATE REGISTER
0016 120000 F 151 LCALL WRITE
0019 D0E0 152 POP ACC
001B 120000 F 153 LCALL WRITE
001E C2A6 154 CLR EEPSCK
0020 D290 155 SETB EEPCE
0022 120000 F 156 WRITES1:LCALL READSTD
0025 20E0FA 157 JB ACC.0,WRITES1
0028 D2A4 158 SETB EEPSI
002A D2A5 159 SETB EEPSO
002C D2A6 160 SETB EEPSCK
002E 22 161 RET
162 END
A51 MACRO ASSEMBLER LCD1921X 11/26/2004 15:31:54 PAGE 4
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
?PR?SPIRECACHAR?SPI . C SEG 0026H REL=UNIT
?PR?_SPISENDACHAR?SPI C SEG 0063H REL=UNIT
?PR?_SPIWRITESD?SPI . C SEG 002FH REL=UNIT
ACC . . . . . . . . . D ADDR 00E0H A
EEPCE . . . . . . . . B ADDR 0090H.0 A
EEPSCK. . . . . . . . B ADDR 00A0H.6 A
EEPSI . . . . . . . . B ADDR 00A0H.4 A
EEPSO . . . . . . . . B ADDR 00A0H.5 A
P1. . . . . . . . . . D ADDR 0090H A
P2. . . . . . . . . . D ADDR 00A0H A
P3. . . . . . . . . . D ADDR 00B0H A
READ. . . . . . . . . C ADDR 0043H R SEG=?PR?_SPISENDACHAR?SPI
READ1 . . . . . . . . C ADDR 0045H R SEG=?PR?_SPISENDACHAR?SPI
READSTD . . . . . . . C ADDR 0032H R SEG=?PR?_SPISENDACHAR?SPI
SPI . . . . . . . . . N NUMB -----
SPIREC0 . . . . . . . C ADDR 0007H R SEG=?PR?SPIRECACHAR?SPI
SPIREC1 . . . . . . . C ADDR 0014H R SEG=?PR?SPIRECACHAR?SPI
SPIREC2 . . . . . . . C ADDR 0010H R SEG=?PR?SPIRECACHAR?SPI
SPIREC3 . . . . . . . C ADDR 001DH R SEG=?PR?SPIRECACHAR?SPI
SPIREC4 . . . . . . . C ADDR 0023H R SEG=?PR?SPIRECACHAR?SPI
SPIRECACHAR . . . . . C ADDR 0000H R SEG=?PR?SPIRECACHAR?SPI
SPISCK. . . . . . . . B ADDR 00B0H.2 A
SPISCS. . . . . . . . B ADDR 0090H.5 A
SPISEN0 . . . . . . . C ADDR 0009H R SEG=?PR?_SPISENDACHAR?SPI
SPISEN1 . . . . . . . C ADDR 001BH R SEG=?PR?_SPISENDACHAR?SPI
SPISEN2 . . . . . . . C ADDR 0012H R SEG=?PR?_SPISENDACHAR?SPI
SPISEN3 . . . . . . . C ADDR 0026H R SEG=?PR?_SPISENDACHAR?SPI
SPISEN4 . . . . . . . C ADDR 002EH R SEG=?PR?_SPISENDACHAR?SPI
SPISEN5 . . . . . . . C ADDR 001DH R SEG=?PR?_SPISENDACHAR?SPI
SPISID. . . . . . . . B ADDR 00B0H.3 A
SPISOD. . . . . . . . B ADDR 00B0H.1 A
WDTRST. . . . . . . . N NUMB 00A6H A
WRITE . . . . . . . . C ADDR 0053H R SEG=?PR?_SPISENDACHAR?SPI
WRITE1. . . . . . . . C ADDR 0055H R SEG=?PR?_SPISENDACHAR?SPI
WRITES1 . . . . . . . C ADDR 0022H R SEG=?PR?_SPIWRITESD?SPI
_SPISENDACHAR . . . . C ADDR 0000H R SEG=?PR?_SPISENDACHAR?SPI
_SPIWRITESD . . . . . C ADDR 0000H R SEG=?PR?_SPIWRITESD?SPI
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -