📄 sen_rec1.lst
字号:
A51 MACRO ASSEMBLER SEN_REC1 DATE 19/08/04 PAGE 1
MS-DOS MACRO ASSEMBLER A51 V4.4
OBJECT MODULE PLACED IN D:\13505B\105B\SEN_REC1.OBJ
ASSEMBLER INVOKED BY: A51 D:\13505B\105B\SEN_REC1.ASM DB SB
LOC OBJ LINE SOURCE
1 ;单片机类别:12分频单片机
2 ;单片机的振荡频率:22.1184MHz
3 ;CARD类型:38400卡
4 ;CARD的振荡频率:3.5795MHz
5 ;CARD的IO管脚:P2.2
6 ;===================================
7
8 ;1ETU需要的nop数:47.8886995390418
9 ;1ETU(实际-现在):=-.111300460958233
10 ;0.5ETU(实际-现在):=-2.05565023047912
11 ;===================================
12 public _I_send1
13 public _I_receive1
14 proc segment code
---- 15 rseg proc
00A0 16 SAMIO bit P2.0 ;by cpu_io pin p2.0
0015 17 Timer00 EQU 21 ;ONEETU=2*Timer00+6
000A 18 Timer01 EQU 10 ;HALFETU=2*Timer01+3
19 ;======================================================
20 ;1ETU: AAA--AAA, BBB-BBB,CCC-CCC
21 ;1.5ETU: DDD--DDD
22 ;======================================================
23 ;======================================================
24 ;c: unsigned char I_Send(unsigned char ch);
25 ; input: ch
26 ; ret: ==0 --OK
27 ; !=0--ERR
28 ;ASM: OCCUPY: R6,R7,A,C
29 ; INPUT : R7
30 ; output:--
31 ; status: r7=0:right
32 ; <>0:error
0000 33 _I_Send1:
0000 EF 34 sb_00: mov a,r7
0001 A2D0 35 mov c,p
0003 7FFF 36 mov r7,#0ffh
0005 7EFF 37 mov r6,#0ffh
0007 20A00B 38 sb_01: jb SAMIO,sb_02 ;
000A DFFB 39 djnz r7,sb_01
000C 7FFF 40 mov r7,#0ffh
000E DEF7 41 djnz r6,sb_01
0010 D2A0 42 setb SAMIO
0012 7F01 43 mov R7,#01H ;timeout=(255*4+1)*255
0014 22 44 ret
0015 45 sb_02:
0015 7E09 46 mov r6,#09h ;1
0017 C2A0 47 clr SAMIO ;1
48 ;NOP ;1-------------TEST BIT1
49 ;------------------------------------------AAA1ETU
0019 7F10 50 mov r7,#Timer00-5 ;1
001B DFFE 51 djnz r7,$ ;2*#Timer00
001D 00 52 nop ;1
001E 00 53 nop ;1
54 ;------------------------------------------BBB1ETU
A51 MACRO ASSEMBLER SEN_REC1 DATE 19/08/04 PAGE 2
LOC OBJ LINE SOURCE
001F 13 55 sb_03: rrc a ;1
0020 92A0 56 mov SAMIO,c ;1
0022 00 57 NOP ;1-------------TEST BIT2
58 ;------------------------------------------AAA.1ETU
59 ;------------------------------------------CCC1ETU
0023 7F15 60 mov r7,#Timer00 ;1
0025 DFFE 61 djnz r7,$ ;2*#Timer00
0027 DEF6 62 djnz r6,sb_03 ;2
63 ;------------------------------------------BBB1ETU
0029 00 64 NOP ;1
002A D2A0 65 setb SAMIO ;1
002C 00 66 NOP ;1-------------TEST BIT3
67 ;------------------------------------------CCC1ETU
002D 7F15 68 mov r7,#Timer00 ;1
002F DFFE 69 djnz r7,$ ;2*#Timer00
0031 00 70 nop ;1
0032 00 71 nop ;1
0033 00 72 nop ;1
0034 00 73 nop ;1
0035 00 74 NOP ;1-------------TEST BIT4
75 ;------------------------------------------CCC1ETU
0036 7F15 76 mov r7,#Timer00 ;1
0038 DFFE 77 djnz r7,$ ;2*#Timer00
003A 00 78 nop ;1
003B 00 79 NOP ;1
003C 7F00 80 mov r7,#00h ;1
003E 00 81 NOP ;1-------------TEST BIT5
82
83
84 ;------------------------------------------CCC1ETU
003F 22 85 ret ;1
86 ;======================================================
87 ;======================================================
88 ;c: unsigned char I_Receive(unsigned char *ch);
89 ; input: *ch
90 ; putput: *ch
91 ; ret: ==0 --OK
92 ; !=0--ERR
93 ;ASM: OCCUPY: R6,R7,R5,A,C DPTR
94 ; INPUT : R3--TYPE R2R1--ADDR
95 ; output: R3--TYPE R2R1--ADDR
96 ; status: r7=0:right
97 ; =01:no start bit
98 ; =02:parity bit error
0040 99 _I_Receive1:
0040 7EFF 100 RB_00: mov r6,#0FFh
0042 7FFF 101 mov r7,#0ffh
0044 7D03 102 MOV R5,#03h
0046 30A00B 103 RB_01: jnb SAMIO,RB_02 ;
0049 DFFB 104 djnz r7,RB_01 ;
004B 7FFF 105 mov r7,#0ffh
004D DEF7 106 djnz r6,RB_01
004F DDF5 107 djnz r5,RB_01
0051 7F01 108 mov R7,#01H ;timeout=(4*255+1+2)*255*3
0053 22 109 ret
110 ;------------------------------------------DDD1.5ETU
0054 111 RB_02:
0054 00 112 NOP ;1-------------TEST BIT6
0055 7E08 113 mov r6,#08h ;1
A51 MACRO ASSEMBLER SEN_REC1 DATE 19/08/04 PAGE 3
LOC OBJ LINE SOURCE
0057 7F12 114 mov r7,#Timer00-3 ;1
0059 DFFE 115 djnz r7,$ ;#Timer00*2
116 ;NOP ;1
117 ;NOP ;1
005B 00 118 NOP ;1
005C 7F0A 119 mov r7,#Timer01 ;1
005E DFFE 120 djnz r7,$ ;#Timer01*2
0060 00 121 NOP ;1
122 ;------------------------------------------AAA1ETU
0061 A2A0 123 RB_03: mov c,SAMIO ;1
124 ;------------------------------------------DDD1.5ETU
125 ;------------------------------------------BBB1ETU
0063 00 126 NOP ;1-------------TEST BIT7
0064 13 127 rrc a ;1
0065 7F15 128 mov r7,#Timer00 ;1
0067 DFFE 129 djnz r7,$ ;#Timer00*2
0069 DEF6 130 djnz r6,RB_03 ;2
131 ;------------------------------------------AAA1ETU
006B A2A0 132 mov c,SAMIO ;1
133 ;------------------------------------------BBB1ETU
134 ;------------------------------------------CCC1ETU
006D 00 135 NOP ;1-------------TEST BIT8
006E 7F15 136 mov r7,#Timer00 ;1
0070 DFFE 137 djnz r7,$ ;#Timer00*2
0072 00 138 NOP ;1
0073 00 139 NOP ;1
0074 D2A0 140 setb SAMIO ;1
141 ;------------------------------------------CCC1ETU
0076 00 142 NOP ;1-------------TEST BIT9
0077 BB0208 143 RB_04: CJNE R3,#02H,RB_05
007A 8A83 144 MOV DPH,R2
007C 8982 145 MOV DPL,R1
007E F0 146 MOVX @DPTR,A
007F 7F00 147 MOV R7,#00H
0081 22 148 RET
0082 F7 149 RB_05: MOV @R1,A
0083 7F00 150 mov r7,#00h
151
0085 22 152 ret
153 ;'''''''''''''''''''''''''''''''''''''''''''''''''''
154 end
;======================================================
;======================================================
A51 MACRO ASSEMBLER SEN_REC1 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 0040H R SEG=PROC
RB_01 . . . C ADDR 0046H R SEG=PROC
RB_02 . . . C ADDR 0054H R SEG=PROC
RB_03 . . . C ADDR 0061H R SEG=PROC
RB_04 . . . C ADDR 0077H R SEG=PROC
RB_05 . . . C ADDR 0082H 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 001FH R SEG=PROC
TIMER00 . . N NUMB 0015H A
TIMER01 . . N NUMB 000AH A
_I_RECEIVE1 C ADDR 0040H R PUB SEG=PROC
_I_SEND1. . 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 + -