📄 sr1_56k.lst
字号:
A51 MACRO ASSEMBLER SR1_56K DATE 19/08/04 PAGE 1
MS-DOS MACRO ASSEMBLER A51 V4.4
OBJECT MODULE PLACED IN D:\13505B\105B\SR1_56K.OBJ
ASSEMBLER INVOKED BY: A51 D:\13505B\105B\SR1_56K.ASM DB SB
LOC OBJ LINE SOURCE
1 ;单片机类别:12分频单片机
2 ;单片机的振荡频率:22.1184MHz
3 ;CARD类型:56Kpbs
4 ;CARD的振荡频率:3.5795MHz
5 ;CARD的IO管脚:P2.0
6 ;===================================
7
8 ;1ETU需要的nop数:32.9556 ; 0.5etu=17
9 ;1ETU(实际-现在):=-.111300460958233
10 ;0.5ETU(实际-现在):=-2.05565023047912
11 ;===================================
12 public _I_1Send56k
13 public _I_1Rda56k
14 proc segment code
---- 15 rseg proc
00A0 16 SAMIO bit P2.0 ;by cpu_io pin p2.0
000D 17 Timer00 EQU 13 ;ONEETU=2*Timer00
0007 18 Timer01 EQU 7 ;HALFETU=2*Timer01
19
20 ;======================================================
21 ;1ETU: AAA--AAA, BBB-BBB,CCC-CCC
22 ;1.5ETU: DDD--DDD
23 ;======================================================
24 ;======================================================
25 ;c: unsigned char I_Send(unsigned char ch);
26 ; input: ch
27 ; ret: ==0 --OK
28 ; !=0--ERR
29 ;ASM: OCCUPY: R6,R7,A,C
30 ; INPUT : R7
31 ; output:--
32 ; status: r7=0:right
33 ; <>0:error
0000 34 _I_1Send56k:
0000 EF 35 sb_00: mov a,r7
0001 A2D0 36 mov c,p ;for parity
0003 7FFF 37 mov r7,#0ffh
0005 7EFF 38 mov r6,#0ffh
39
0007 20A00B 40 sb_01: jb SAMIO,sb_02 ;
000A DFFB 41 djnz r7,sb_01
000C 7FFF 42 mov r7,#0ffh
000E DEF7 43 djnz r6,sb_01
0010 D2A0 44 setb SAMIO
0012 7F01 45 mov R7,#01H ;timeout=(255*4+1)*255
0014 22 46 ret
0015 47 sb_02:
0015 7E09 48 mov r6,#09h ;1
0017 C2A0 49 clr SAMIO ;1
0019 00 50 NOP ;1-------------TEST BIT1
51 ;------------------------------------------AAA1ETU
001A 7F0D 52 mov r7,#Timer00 ;1
001C DFFE 53 djnz r7,$ ;2*#Timer00
001E 00 54 nop ;1
A51 MACRO ASSEMBLER SR1_56K DATE 19/08/04 PAGE 2
LOC OBJ LINE SOURCE
001F 00 55 nop ;1 03.3.18 test delete is good for our cos
56 ;nop
57
58 ;------------------------------------------BBB1ETU
0020 13 59 sb_03: rrc a ;1
0021 92A0 60 mov SAMIO,c ;1
0023 00 61 NOP ;1-------------TEST BIT2
62 ;nop ; 03.3.18 test delete is good for our cos
63
64 ;------------------------------------------AAA.1ETU
65 ;------------------------------------------CCC1ETU
0024 7F0D 66 mov r7,#Timer00 ;1
0026 DFFE 67 djnz r7,$ ;2*#Timer00
0028 DEF6 68 djnz r6,sb_03 ;2
69 ;------------------------------------------BBB1ETU
002A 00 70 NOP ;1
002B D2A0 71 setb SAMIO ;1
002D 00 72 NOP ;1-------------TEST BIT3
73 ;------------------------------------------CCC1ETU
002E 7F0D 74 mov r7,#Timer00 ;1
0030 DFFE 75 djnz r7,$ ;2*#Timer00
0032 00 76 nop ;1
0033 00 77 nop ;1
0034 00 78 nop ;1
0035 00 79 nop ;1
0036 00 80 NOP ;1-------------TEST BIT4
81 ;------------------------------------------CCC1ETU
0037 7F0D 82 mov r7,#Timer00 ;1
0039 DFFE 83 djnz r7,$ ;2*#Timer00
003B 00 84 nop ;1
003C 00 85 NOP ;1
003D 7F00 86 mov r7,#00h ;1
003F 00 87 NOP ;1-------------TEST BIT5
88
89
90 ;------------------------------------------CCC1ETU
0040 22 91 ret ;1
92 ;======================================================
93 ; Timer00 EQU 13 ;ONEETU=2*Timer00
94 ; Timer01 EQU 7 ;HALFETU=2*Timer01
95
0041 96 _I_1Rda56k:
97
0041 7EFF 98 RB_00: mov r6,#0FFh
0043 7FFF 99 mov r7,#0ffh
0045 7D03 100 MOV R5,#03h
0047 30A00B 101 RB_01: jnb SAMIO,RB_021 ;
004A DFFB 102 djnz r7,RB_01 ;
004C 7FFF 103 mov r7,#0ffh
004E DEF7 104 djnz r6,RB_01
0050 DDF5 105 djnz r5,RB_01
0052 7F01 106 mov R7,#01H ;timeout=(4*255+1+2)*255*3
0054 22 107 ret
108
0055 109 RB_021:
0055 00 110 NOP ;1-------------TEST BIT6
0056 7E08 111 mov r6,#08h ;1
0058 7F0D 112 mov r7,#Timer00 ;1 2003.3.12
005A DFFE 113 djnz r7,$ ;#Timer00*2
A51 MACRO ASSEMBLER SR1_56K DATE 19/08/04 PAGE 3
LOC OBJ LINE SOURCE
005C 00 114 NOP ;1
005D 00 115 nop
005E 00 116 nop
005F 7F07 117 mov r7,#Timer01 ;1 mov r7,#Timer03
0061 DFFE 118 djnz r7,$ ;#Timer01*2
0063 00 119 NOP ;1
120 ;------------------------------------------AAA1ETU
0064 A2A0 121 RB_031: mov c,SAMIO ;1
122 ;------------------------------------------DDD1.5ETU
123 ;------------------------------------------BBB1ETU
0066 00 124 NOP ;1-------------TEST BIT7
125 ;nop ;03.3.18
0067 13 126 rrc a ;1
0068 7F0D 127 mov r7,#Timer00 ;1 mov r7,#Timer02
006A DFFE 128 djnz r7,$ ;#Timer00*2
006C DEF6 129 djnz r6,RB_031 ;2
130 ;------------------------------------------AAA1ETU
006E A2A0 131 mov c,SAMIO ;1
132 ;------------------------------------------BBB1ETU
133 ;------------------------------------------CCC1ETU
0070 00 134 NOP ;1-------------TEST BIT8
0071 7F0D 135 mov r7,#13 ;1 2003.3.12
0073 DFFE 136 djnz r7,$ ;#Timer00*2
0075 00 137 NOP ;1
0076 00 138 NOP ;1
0077 D2A0 139 setb SAMIO ;1
140 ;------------------------------------------CCC1ETU
0079 00 141 NOP ;1-------------TEST BIT9
007A BB0208 142 RB_041: CJNE R3,#02H,RB_051 ;2
007D 8A83 143 MOV DPH,R2 ;
007F 8982 144 MOV DPL,R1
0081 F0 145 MOVX @DPTR,A ;2
0082 7F00 146 MOV R7,#00H ;1
0084 22 147 RET ;2 共26个CLOCK ,0.5ETU
0085 F7 148 RB_051: MOV @R1,A ;1
0086 7F00 149 mov r7,#00h
150
0088 22 151 ret
152
153 end
A51 MACRO ASSEMBLER SR1_56K DATE 19/08/04 PAGE 4
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
DPH . . . . D ADDR 0083H A
DPL . . . . D ADDR 0082H A
P . . . . . B ADDR 00D0H.0 A
P2. . . . . D ADDR 00A0H A
PROC. . . . C SEG 0000H REL=UNIT
RB_00 . . . C ADDR 0041H R SEG=PROC
RB_01 . . . C ADDR 0047H R SEG=PROC
RB_021. . . C ADDR 0055H R SEG=PROC
RB_031. . . C ADDR 0064H R SEG=PROC
RB_041. . . C ADDR 007AH R SEG=PROC
RB_051. . . C ADDR 0085H R SEG=PROC
SAMIO . . . B ADDR 00A0H.0 A
SB_00 . . . C ADDR 0000H R SEG=PROC
SB_01 . . . C ADDR 0007H R SEG=PROC
SB_02 . . . C ADDR 0015H R SEG=PROC
SB_03 . . . C ADDR 0020H R SEG=PROC
TIMER00 . . N NUMB 000DH A
TIMER01 . . N NUMB 0007H A
_I_1RDA56K. C ADDR 0041H R PUB SEG=PROC
_I_1SEND56K C ADDR 0000H R PUB SEG=PROC
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE, NO ERRORS FOUND
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -