rs_usb.ls1
来自「Example codes for ADuC842 CPU family」· LS1 代码 · 共 622 行 · 第 1/3 页
LS1
622 行
00A7 193 DPCON DATA 0A7H
00D1 194 F1 BIT 0D0H.1
00F9 195 DAC0 DATA 0F9H
00FB 196 DAC1 DATA 0FBH
00DD 197 CCONV BIT 0D8H.5
00F2 198 ADCOFSH DATA 0F2H
00D0 199 PSW DATA 0D0H
00C0 200 WDCON DATA 0C0H
201 ?PR?_DelayUs?RS_USB SEGMENT CODE
202 ?DT?_DelayUs?RS_USB SEGMENT DATA
203 ?PR?ReadByte?RS_USB SEGMENT CODE
204 ?PR?_SendByte?RS_USB SEGMENT CODE
205 ?DT?_SendByte?RS_USB SEGMENT DATA
206 PUBLIC _SendByte
207 PUBLIC ReadByte
208 PUBLIC _DelayUs
209
---- 210 RSEG ?DT?_SendByte?RS_USB
0000 211 ?_SendByte?BYTE:
0000 212 data_byte?241: DS 1
213
---- 214 RSEG ?DT?_DelayUs?RS_USB
0000 215 ?_DelayUs?BYTE:
0000 216 count?040: DS 1
217 ; #include "rs_usb.h"
218 ;
219 ;
220 ;
221 ; void DelayUs(unsigned char count) {
222
---- 223 RSEG ?PR?_DelayUs?RS_USB
0000 224 _DelayUs:
225 ; SOURCE LINE # 5
0000 8F00 F 226 MOV count?040,R7
227 ; #pragma asm
228 ; Jump_DelayUs:
0002 229 Jump_DelayUs:
230 ; DJNZ R7,Jump_DelayUs
0002 DFFE 231 DJNZ R7,Jump_DelayUs
232 ; #pragma endasm
233 ; }
234 ; SOURCE LINE # 10
0004 235 ?C0001:
0004 22 236 RET
237 ; END OF _DelayUs
238
239 ;
240 ;
241 ;
242 ; signed int ReadByte(void) {
243
---- 244 RSEG ?PR?ReadByte?RS_USB
0000 245 ReadByte:
246 ; SOURCE LINE # 14
247 ; #pragma asm
248 ; CLR DSR_USB
0000 C2B6 249 CLR DSR_USB
250 ; MOV R7,#0xFF
0002 7FFF 251 MOV R7,#0xFF
252 ; MOV R6,#0x08
0004 7E08 253 MOV R6,#0x08
254 ; Wait_Start:
0006 255 Wait_Start:
A51 MACRO ASSEMBLER RS_USB 03/31/2004 00:03:19 PAGE 5
256 ; MOV C,RxD_USB
0006 A297 257 MOV C,RxD_USB
258 ; JNC Read_0
0008 500A 259 JNC Read_0
260 ; DJNZ R7,Wait_Start
000A DFFA 261 DJNZ R7,Wait_Start
262 ; SETB DSR_USB
000C D2B6 263 SETB DSR_USB
264 ; MOV R6,#0xFF
000E 7EFF 265 MOV R6,#0xFF
266 ; MOV R7,#0xFF
0010 7FFF 267 MOV R7,#0xFF
268 ; JMP Read_End
0012 8015 269 JMP Read_End
270 ; Read_0:
0014 271 Read_0:
272 ; CLR A
0014 E4 273 CLR A
274 ; Read_1:
0015 275 Read_1:
276 ; NOP
0015 00 277 NOP
278 ; NOP
0016 00 279 NOP
280 ; NOP
0017 00 281 NOP
282 ; MOV C,RxD_USB
0018 A297 283 MOV C,RxD_USB
284 ; RLC A
001A 33 285 RLC A
286 ; DJNZ R6,Read_1
001B DEF8 287 DJNZ R6,Read_1
288 ; MOV R6,#0x08
001D 7E08 289 MOV R6,#0x08
290 ; SETB DSR_USB
001F D2B6 291 SETB DSR_USB
292 ; Read_2:
0021 293 Read_2:
294 ; RRC A
0021 13 295 RRC A
296 ; XCH A,R7
0022 CF 297 XCH A,R7
298 ; RLC A
0023 33 299 RLC A
300 ; XCH A,R7
0024 CF 301 XCH A,R7
302 ; DJNZ R6,Read_2
0025 DEFA 303 DJNZ R6,Read_2
304 ; MOV R6,#0x00
0027 7E00 305 MOV R6,#0x00
306 ; Read_End:
0029 307 Read_End:
308 ; #pragma endasm
309 ; }
310 ; SOURCE LINE # 47
0029 311 ?C0002:
0029 22 312 RET
313 ; END OF ReadByte
314
315 ;
316 ;
317 ;
318 ; void SendByte(unsigned char data_byte) {
319
---- 320 RSEG ?PR?_SendByte?RS_USB
0000 321 _SendByte:
A51 MACRO ASSEMBLER RS_USB 03/31/2004 00:03:19 PAGE 6
322 ; SOURCE LINE # 51
0000 8F00 F 323 MOV data_byte?241,R7
324 ; #pragma asm
325 ; CLR TxD_USB
0002 C2B4 326 CLR TxD_USB
327 ; MOV C,EA
0004 A2AF 328 MOV C,EA
329 ; RLC A
0006 33 330 RLC A
331 ; MOV R5,A
0007 FD 332 MOV R5,A
333 ; CLR EA
0008 C2AF 334 CLR EA
335 ; MOV R6,#0x08
000A 7E08 336 MOV R6,#0x08
337 ; Jump:
000C 338 Jump:
339 ; MOV A,R7 //data_byte
000C EF 340 MOV A,R7
341 ; RRC A
000D 13 342 RRC A
343 ; MOV R7,A
000E FF 344 MOV R7,A
345 ; MOV (0xB0.4),C
000F 92B4 346 MOV (0xB0.4),C
347 ; NOP
0011 00 348 NOP
349 ; DJNZ R6,Jump
0012 DEF8 350 DJNZ R6,Jump
351 ; SETB TxD_USB
0014 D2B4 352 SETB TxD_USB
353 ; MOV A,R5
0016 ED 354 MOV A,R5
355 ; RRC A
0017 13 356 RRC A
357 ; MOV EA,C
0018 92AF 358 MOV EA,C
359 ; #pragma endasm
360 ; }
361 ; SOURCE LINE # 71
001A 362 ?C0003:
001A 22 363 RET
364 ; END OF _SendByte
365
366 END
A51 MACRO ASSEMBLER RS_USB 03/31/2004 00:03:19 PAGE 7
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
?C0001 . . . . . . . C ADDR 0004H R SEG=?PR?_DELAYUS?RS_USB
?C0002 . . . . . . . C ADDR 0029H R SEG=?PR?READBYTE?RS_USB
?C0003 . . . . . . . C ADDR 001AH R SEG=?PR?_SENDBYTE?RS_USB
?DT?_DELAYUS?RS_USB. D SEG 0001H REL=UNIT
?DT?_SENDBYTE?RS_USB D SEG 0001H REL=UNIT
?PR?READBYTE?RS_USB. C SEG 002AH REL=UNIT
?PR?_DELAYUS?RS_USB. C SEG 0005H REL=UNIT
?PR?_SENDBYTE?RS_USB C SEG 001BH REL=UNIT
?_DELAYUS?BYTE . . . D ADDR 0000H R SEG=?DT?_DELAYUS?RS_USB
?_SENDBYTE?BYTE. . . D ADDR 0000H R SEG=?DT?_SENDBYTE?RS_USB
AC . . . . . . . . . B ADDR 00D0H.6 A
ACC. . . . . . . . . D ADDR 00E0H A
ADCCON1. . . . . . . D ADDR 00EFH A
ADCCON2. . . . . . . D ADDR 00D8H A
ADCCON3. . . . . . . D ADDR 00F5H A
ADCDATA. . . . . . . D ADDR 00D9H A
ADCDATAH . . . . . . D ADDR 00DAH A
ADCDATAL . . . . . . D ADDR 00D9H A
ADCGAIN. . . . . . . D ADDR 00F3H A
ADCGAINH . . . . . . D ADDR 00F4H A
ADCGAINL . . . . . . D ADDR 00F3H A
ADCI . . . . . . . . B ADDR 00D8H.7 A
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?