📄 slavuart.lst
字号:
00B6 C0F0 161 PUSH B
00B8 E4 162 CLR A
00B9 F5F0 163 MOV B,A
00BB E5F0 164 IO0010: MOV A,B
00BD 05F0 165 INC B
00BF 93 166 MOVC A,@A+DPTR
00C0 6005 167 JZ IO0020
00C2 1200CC 168 CALL SENDCHAR
00C5 80F4 169 JMP IO0010
00C7 D0F0 170 IO0020: POP B
00C9 D0E0 171 POP ACC
172
00CB 22 173 RET
174
SLAVUART PAGE 4
175 ;____________________________________________________________________
176 ; SENDCHAR
177
00CC 178 SENDCHAR: ; sends ASCII value contained in A to UART
179
00CC 3099FD 180 JNB TI,$ ; wait til present char gone
00CF C299 181 CLR TI ; must clear TI
00D1 F599 182 MOV SBUF,A
183
00D3 22 184 RET
185
186 ;____________________________________________________________________
187 ; SENDVAL
188
00D4 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
00D4 C0E0 193 PUSH ACC
00D6 C4 194 SWAP A
00D7 1200E8 195 CALL HEX2ASCII
00DA 11CC 196 CALL SENDCHAR ; send high nibble
00DC D0E0 197 POP ACC
00DE C0E0 198 PUSH ACC
00E0 1200E8 199 CALL HEX2ASCII
00E3 11CC 200 CALL SENDCHAR ; send low nibble
00E5 D0E0 201 POP ACC
202
00E7 22 203 RET
204
205
206 ;____________________________________________________________________
207 ; HEX2ASCII
208
00E8 209 HEX2ASCII: ; converts A into the hex character representing the
210 ; value of A's least significant nibble
211
00E8 540F 212 ANL A,#00Fh
00EA B40A00 213 CJNE A,#00Ah,$+3
00ED 4002 214 JC IO0030
00EF 2407 215 ADD A,#007h
00F1 2430 216 IO0030: ADD A,#'0'
217
00F3 22 218 RET
219
220 ;____________________________________________________________________
221 ; DELAY
222
00F4 223 DELAY: ; Delays by 10ms * A
224 ;
225
226
00F4 FA 227 MOV R2,A ; Acc holds delay variable
00F5 7B1B 228 DLY0: MOV R3,#01Bh ; Set up delay loop0
00F7 7CFF 229 DLY1: MOV R4,#0FFh ; Set up delay loop1
00F9 DCFE 230 DJNZ R4,$ ; Dec R4 & Jump here until R4 is 0
231 ;
00FB DBFA 232 DJNZ R3,DLY1 ; Dec R3 & Jump DLY1 until R3 is 0
SLAVUART PAGE 5
233 ;
00FD DAF6 234 DJNZ R2,DLY0 ; Dec R2 & Jump DLY0 until R2 is 0
235 ; wait for ACC*100ms
00FF 22 236 RET ; Return from subroutine
237
238
239 ;____________________________________________________________________
240
241
0100 0A0A0D5F 242 TITLE: DB 10,10,13,'____________________________________',10,13
0104 5F5F5F5F
0108 5F5F5F5F
010C 5F5F5F5F
0110 5F5F5F5F
0114 5F5F5F5F
0118 5F5F5F5F
011C 5F5F5F5F
0120 5F5F5F5F
0124 5F5F5F0A
0128 0D
0129 416E616C 243 DB 'Analog Devices MicroConverter ADuC832',10,13
012D 6F672044
0131 65766963
0135 6573204D
0139 6963726F
013D 436F6E76
0141 65727465
0145 72204144
0149 75433833
014D 320A0D
0150 20202020 244 DB ' SPI SLAVE Demo Routine',10,13
0154 20202020
0158 53504920
015C 534C4156
0160 45204465
0164 6D6F2052
0168 6F757469
016C 6E650A0D
0170 20204461 245 DB ' Data Stored in Memory in Hex Form',10,13,0
0174 74612053
0178 746F7265
017C 6420696E
0180 204D656D
0184 6F727920
0188 696E2048
018C 65782046
0190 6F726D0A
0194 0D00
246
247 ;____________________________________________________________________
248
249
250 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 00F4H
DLY0 . . . . . . . . . . . . . . C ADDR 00F5H
DLY1 . . . . . . . . . . . . . . C ADDR 00F7H
EA . . . . . . . . . . . . . . . B ADDR 00AFH PREDEFINED
FLAG . . . . . . . . . . . . . . B ADDR 0000H
HEX2ASCII. . . . . . . . . . . . C ADDR 00E8H
IEIP2. . . . . . . . . . . . . . D ADDR 00A9H PREDEFINED
IO0010 . . . . . . . . . . . . . C ADDR 00BBH
IO0020 . . . . . . . . . . . . . C ADDR 00C7H
IO0030 . . . . . . . . . . . . . C ADDR 00F1H
LED. . . . . . . . . . . . . . . NUMB 00B4H
MAIN . . . . . . . . . . . . . . C ADDR 0060H
NEXT . . . . . . . . . . . . . . C ADDR 0094H
P3 . . . . . . . . . . . . . . . D ADDR 00B0H PREDEFINED
PLLCON . . . . . . . . . . . . . D ADDR 00D7H PREDEFINED
SBUF . . . . . . . . . . . . . . D ADDR 0099H PREDEFINED
SCON . . . . . . . . . . . . . . D ADDR 0098H PREDEFINED
SENDCHAR . . . . . . . . . . . . C ADDR 00CCH
SENDSTRING . . . . . . . . . . . C ADDR 00B4H
SENDVAL. . . . . . . . . . . . . C ADDR 00D4H
SNDUART. . . . . . . . . . . . . C ADDR 0088H
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 0100H
TRNSMT . . . . . . . . . . . . . C ADDR 0078H
WAIT1S . . . . . . . . . . . . . C ADDR 00ACH
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -