📄 mastuart.lst
字号:
00BA C0F0 159 PUSH B
00BC E4 160 CLR A
00BD F5F0 161 MOV B,A
00BF E5F0 162 IO0010: MOV A,B
00C1 05F0 163 INC B
00C3 93 164 MOVC A,@A+DPTR
00C4 6005 165 JZ IO0020
00C6 1200D0 166 CALL SENDCHAR
00C9 80F4 167 JMP IO0010
00CB D0F0 168 IO0020: POP B
00CD D0E0 169 POP ACC
170
00CF 22 171 RET
172
173 ;____________________________________________________________________
174 ; SENDCHAR
MASTUART PAGE 4
175
00D0 176 SENDCHAR: ; sends ASCII value contained in A to UART
177
00D0 3099FD 178 JNB TI,$ ; wait til present char gone
00D3 C299 179 CLR TI ; must clear TI
00D5 F599 180 MOV SBUF,A
181
00D7 22 182 RET
183
184 ;____________________________________________________________________
185 ; SENDVAL
186
00D8 187 SENDVAL: ; converts the hex value of A into two ASCII chars,
188 ; and then spits these two characters up the UART.
189 ; does not change the value of A.
190
00D8 C0E0 191 PUSH ACC
00DA C4 192 SWAP A
00DB 1200EC 193 CALL HEX2ASCII
00DE 11D0 194 CALL SENDCHAR ; send high nibble
00E0 D0E0 195 POP ACC
00E2 C0E0 196 PUSH ACC
00E4 1200EC 197 CALL HEX2ASCII
00E7 11D0 198 CALL SENDCHAR ; send low nibble
00E9 D0E0 199 POP ACC
200
00EB 22 201 RET
202
203
204 ;____________________________________________________________________
205 ; HEX2ASCII
206
00EC 207 HEX2ASCII: ; converts A into the hex character representing the
208 ; value of A's least significant nibble
209
00EC 540F 210 ANL A,#00Fh
00EE B40A00 211 CJNE A,#00Ah,$+3
00F1 4002 212 JC IO0030
00F3 2407 213 ADD A,#007h
00F5 2430 214 IO0030: ADD A,#'0'
215
00F7 22 216 RET
217
218 ;____________________________________________________________________
219 ; DELAY
220
00F8 221 DELAY: ; Delays by 10ms * A
222 ; 100mSec based on 2.097152MHZ
223 ; Core Clock
224 ; i.e. default ADuC842 Clock
225
00F8 FB 226 MOV R3,A ; Acc holds delay variable
00F9 7C1B 227 DLY0: MOV R4,#01Bh ; Set up delay loop0
00FB 7DFF 228 DLY1: MOV R5,#0FFh ; Set up delay loop1
00FD DDFE 229 DJNZ R5,$ ; Dec R2 until R2 is zero
00FF DCFA 230 DJNZ R4,DLY1 ; Dec R1 & Jump DLY1 until R1 is 0
0101 DBF6 231 DJNZ R3,DLY0 ; Dec R0 & Jump DLY0 until R0 is 0
0103 22 232 RET ; Return from subroutine
MASTUART PAGE 5
233
234
235
236 ;____________________________________________________________________
237
0104 0A0A0D5F 238 TITLE: DB 10,10,13,'____________________________________',10,13
0108 5F5F5F5F
010C 5F5F5F5F
0110 5F5F5F5F
0114 5F5F5F5F
0118 5F5F5F5F
011C 5F5F5F5F
0120 5F5F5F5F
0124 5F5F5F5F
0128 5F5F5F0A
012C 0D
012D 416E616C 239 DB 'Analog Devices MicroConverter ADuC842',10,13
0131 6F672044
0135 65766963
0139 6573204D
013D 6963726F
0141 436F6E76
0145 65727465
0149 72204144
014D 75433834
0151 320A0D
0154 20202020 240 DB ' SPI MASTER Demo Routine',10,13
0158 20205350
015C 49204D41
0160 53544552
0164 2044656D
0168 6F20526F
016C 7574696E
0170 650A0D
0173 20204461 241 DB ' Data Stored in Memory in Hex Form',10,13,0
0177 74612053
017B 746F7265
017F 6420696E
0183 204D656D
0187 6F727920
018B 696E2048
018F 65782046
0193 6F726D0A
0197 0D00
242
243
244
245
246 END
VERSION 1.2h ASSEMBLY COMPLETE, 0 ERRORS FOUND
MASTUART PAGE 6
ACC. . . . . . . . . . . . . . . D ADDR 00E0H PREDEFINED
B. . . . . . . . . . . . . . . . D ADDR 00F0H PREDEFINED
CONT . . . . . . . . . . . . . . C ADDR 0048H
DELAY. . . . . . . . . . . . . . C ADDR 00F8H
DLY0 . . . . . . . . . . . . . . C ADDR 00F9H
DLY1 . . . . . . . . . . . . . . C ADDR 00FBH
EA . . . . . . . . . . . . . . . B ADDR 00AFH PREDEFINED
FLAG . . . . . . . . . . . . . . B ADDR 0000H
HEX2ASCII. . . . . . . . . . . . C ADDR 00ECH
IEIP2. . . . . . . . . . . . . . D ADDR 00A9H PREDEFINED
IO0010 . . . . . . . . . . . . . C ADDR 00BFH
IO0020 . . . . . . . . . . . . . C ADDR 00CBH
IO0030 . . . . . . . . . . . . . C ADDR 00F5H
LED. . . . . . . . . . . . . . . NUMB 00B4H
MAIN . . . . . . . . . . . . . . C ADDR 0060H
NEXT . . . . . . . . . . . . . . C ADDR 0098H
P3 . . . . . . . . . . . . . . . D ADDR 00B0H PREDEFINED
SBUF . . . . . . . . . . . . . . D ADDR 0099H PREDEFINED
SCON . . . . . . . . . . . . . . D ADDR 0098H PREDEFINED
SENDCHAR . . . . . . . . . . . . C ADDR 00D0H
SENDSTRING . . . . . . . . . . . C ADDR 00B8H
SENDVAL. . . . . . . . . . . . . C ADDR 00D8H
SNDUART. . . . . . . . . . . . . C ADDR 008CH
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 0104H
TRNSMT . . . . . . . . . . . . . C ADDR 007AH
WAIT2S . . . . . . . . . . . . . C ADDR 00B0H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -