📄 slavuart.lst
字号:
00B1 C0E0 160 PUSH ACC
00B3 C0F0 161 PUSH B
00B5 E4 162 CLR A
00B6 F5F0 163 MOV B,A
00B8 E5F0 164 IO0010: MOV A,B
00BA 05F0 165 INC B
00BC 93 166 MOVC A,@A+DPTR
00BD 6005 167 JZ IO0020
00BF 1200C9 168 CALL SENDCHAR
00C2 80F4 169 JMP IO0010
00C4 D0F0 170 IO0020: POP B
00C6 D0E0 171 POP ACC
172
00C8 22 173 RET
174
SLAVUART PAGE 4
175 ;____________________________________________________________________
176 ; SENDCHAR
177
00C9 178 SENDCHAR: ; sends ASCII value contained in A to UART
179
00C9 3099FD 180 JNB TI,$ ; wait til present char gone
00CC C299 181 CLR TI ; must clear TI
00CE F599 182 MOV SBUF,A
183
00D0 22 184 RET
185
186 ;____________________________________________________________________
187 ; SENDVAL
188
00D1 189 SENDVAL: ; converts the hex value of A into two ASCII chars,
190 ; and then spits these two characters up the UART.
191 ; does not change the value of A.
192
00D1 C0E0 193 PUSH ACC
00D3 C4 194 SWAP A
00D4 1200E5 195 CALL HEX2ASCII
00D7 11C9 196 CALL SENDCHAR ; send high nibble
00D9 D0E0 197 POP ACC
00DB C0E0 198 PUSH ACC
00DD 1200E5 199 CALL HEX2ASCII
00E0 11C9 200 CALL SENDCHAR ; send low nibble
00E2 D0E0 201 POP ACC
202
00E4 22 203 RET
204
205
206 ;____________________________________________________________________
207 ; HEX2ASCII
208
00E5 209 HEX2ASCII: ; converts A into the hex character representing the
210 ; value of A's least significant nibble
211
00E5 540F 212 ANL A,#00Fh
00E7 B40A00 213 CJNE A,#00Ah,$+3
00EA 4002 214 JC IO0030
00EC 2407 215 ADD A,#007h
00EE 2430 216 IO0030: ADD A,#'0'
217
00F0 22 218 RET
219
220 ;____________________________________________________________________
221 ; DELAY
222
00F1 223 DELAY:
224
00F1 FA 225 MOV R2,A ; Acc holds delay variable
00F2 7BC8 226 DLY0: MOV R3,#200 ; Set up delay loop0
00F4 7CE5 227 DLY1: MOV R4,#229 ; Set up delay loop1
00F6 DCFE 228 DJNZ R4,$ ; Dec R4 & Jump here until R4 is 0
229 ;
00F8 DBFA 230 DJNZ R3,DLY1 ; Dec R3 & Jump DLY1 until R3 is 0
231 ;
00FA DAF6 232 DJNZ R2,DLY0 ; Dec R2 & Jump DLY0 until R2 is 0
SLAVUART PAGE 5
233 ; wait for ACC*100ms
00FC 22 234 RET ; Return from subroutine
235
236
237 ;____________________________________________________________________
238
239
00FD 0A0A0D5F 240 TITLE: DB 10,10,13,'____________________________________',10,13
0101 5F5F5F5F
0105 5F5F5F5F
0109 5F5F5F5F
010D 5F5F5F5F
0111 5F5F5F5F
0115 5F5F5F5F
0119 5F5F5F5F
011D 5F5F5F5F
0121 5F5F5F0A
0125 0D
0126 416E616C 241 DB 'Analog Devices MicroConverter ADuC831',10,13
012A 6F672044
012E 65766963
0132 6573204D
0136 6963726F
013A 436F6E76
013E 65727465
0142 72204144
0146 75433833
014A 310A0D
014D 20202020 242 DB ' SPI SLAVE Demo Routine',10,13
0151 20202020
0155 53504920
0159 534C4156
015D 45204465
0161 6D6F2052
0165 6F757469
0169 6E650A0D
016D 20204461 243 DB ' Data Stored in Memory in Hex Form',10,13,0
0171 74612053
0175 746F7265
0179 6420696E
017D 204D656D
0181 6F727920
0185 696E2048
0189 65782046
018D 6F726D0A
0191 0D00
244
245 ;____________________________________________________________________
246
247
248 END
VERSION 1.2h ASSEMBLY COMPLETE, 0 ERRORS FOUND
SLAVUART PAGE 6
ACC. . . . . . . . . . . . . . . D ADDR 00E0H PREDEFINED
B. . . . . . . . . . . . . . . . D ADDR 00F0H PREDEFINED
CONT . . . . . . . . . . . . . . C ADDR 0046H
DELAY. . . . . . . . . . . . . . C ADDR 00F1H
DLY0 . . . . . . . . . . . . . . C ADDR 00F2H
DLY1 . . . . . . . . . . . . . . C ADDR 00F4H
EA . . . . . . . . . . . . . . . B ADDR 00AFH PREDEFINED
FLAG . . . . . . . . . . . . . . B ADDR 0000H
HEX2ASCII. . . . . . . . . . . . C ADDR 00E5H
IEIP2. . . . . . . . . . . . . . D ADDR 00A9H PREDEFINED
IO0010 . . . . . . . . . . . . . C ADDR 00B8H
IO0020 . . . . . . . . . . . . . C ADDR 00C4H
IO0030 . . . . . . . . . . . . . C ADDR 00EEH
LED. . . . . . . . . . . . . . . NUMB 00B4H
MAIN . . . . . . . . . . . . . . C ADDR 0060H
NEXT . . . . . . . . . . . . . . C ADDR 0091H
P3 . . . . . . . . . . . . . . . D ADDR 00B0H PREDEFINED
SBUF . . . . . . . . . . . . . . D ADDR 0099H PREDEFINED
SCON . . . . . . . . . . . . . . D ADDR 0098H PREDEFINED
SENDCHAR . . . . . . . . . . . . C ADDR 00C9H
SENDSTRING . . . . . . . . . . . C ADDR 00B1H
SENDVAL. . . . . . . . . . . . . C ADDR 00D1H
SNDUART. . . . . . . . . . . . . C ADDR 0085H
SPICON . . . . . . . . . . . . . D ADDR 00F8H PREDEFINED
SPIDAT . . . . . . . . . . . . . D ADDR 00F7H PREDEFINED
T3CON. . . . . . . . . . . . . . D ADDR 009EH PREDEFINED
T3FD . . . . . . . . . . . . . . D ADDR 009DH PREDEFINED
TI . . . . . . . . . . . . . . . B ADDR 0099H PREDEFINED
TITLE. . . . . . . . . . . . . . C ADDR 00FDH
TRNSMT . . . . . . . . . . . . . C ADDR 0075H
WAIT1S . . . . . . . . . . . . . C ADDR 00A9H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -