| 
钻石会员 主题
回帖0
积分25294
阅读权限50
注册时间2013-12-4
最后登录1970-1-1
在线时间 小时
 
 | 
| 本帖最后由 8055 于 2014-3-16 12:14 编辑 
 复制代码; 3001.SRC generated from: 3001.c
; COMPILER INVOKED BY:
;        C:\Keil\C51\BIN\C51.EXE 3001.c DEBUG OBJECTEXTEND
$NOMOD51
NAME        _3001
P1M0        DATA        091H
P1M1        DATA        092H
P0        DATA        080H
P1        DATA        090H
P2        DATA        0A0H
P3        DATA        0B0H
T0        BIT        0B0H.4
AC        BIT        0D0H.6
T1        BIT        0B0H.5
T2        BIT        090H.0
EA        BIT        0A8H.7
IE        DATA        0A8H
EXF2        BIT        0C8H.6
RD        BIT        0B0H.7
ES        BIT        0A8H.4
IP        DATA        0B8H
RI        BIT        098H.0
INT0        BIT        0B0H.2
CY        BIT        0D0H.7
TI        BIT        098H.1
INT1        BIT        0B0H.3
RCAP2H        DATA        0CBH
PS        BIT        0B8H.4
SP        DATA        081H
T2EX        BIT        090H.1
OV        BIT        0D0H.2
RCAP2L        DATA        0CAH
C_T2        BIT        0C8H.1
WR        BIT        0B0H.6
RCLK        BIT        0C8H.5
TCLK        BIT        0C8H.4
SBUF        DATA        099H
PCON        DATA        087H
SCON        DATA        098H
TMOD        DATA        089H
TCON        DATA        088H
IE0        BIT        088H.1
IE1        BIT        088H.3
B        DATA        0F0H
CP_RL2        BIT        0C8H.0
ACC        DATA        0E0H
ET0        BIT        0A8H.1
ET1        BIT        0A8H.3
TF0        BIT        088H.5
ET2        BIT        0A8H.5
TF1        BIT        088H.7
TF2        BIT        0C8H.7
RB8        BIT        098H.2
TH0        DATA        08CH
EX0        BIT        0A8H.0
IT0        BIT        088H.0
TH1        DATA        08DH
TB8        BIT        098H.3
EX1        BIT        0A8H.2
IT1        BIT        088H.2
TH2        DATA        0CDH
P        BIT        0D0H.0
SM0        BIT        098H.7
TL0        DATA        08AH
SM1        BIT        098H.6
TL1        DATA        08BH
SM2        BIT        098H.5
TL2        DATA        0CCH
PT0        BIT        0B8H.1
PT1        BIT        0B8H.3
RS0        BIT        0D0H.3
PT2        BIT        0B8H.5
TR0        BIT        088H.4
RS1        BIT        0D0H.4
TR1        BIT        088H.6
TR2        BIT        0C8H.2
PX0        BIT        0B8H.0
PX1        BIT        0B8H.2
DPH        DATA        083H
DPL        DATA        082H
EXEN2        BIT        0C8H.3
REN        BIT        098H.4
SDO        BIT        090H.7
T2CON        DATA        0C8H
RXD        BIT        0B0H.0
TXD        BIT        0B0H.1
F0        BIT        0D0H.5
PSW        DATA        0D0H
?PR?_delay_ms?3001   SEGMENT CODE 
?PR?main?3001        SEGMENT CODE 
?DT?main?3001        SEGMENT DATA OVERLAYABLE 
?PR?send_data?3001   SEGMENT CODE 
?DT?send_data?3001   SEGMENT DATA OVERLAYABLE 
?PR?send_reset_sys?3001                  SEGMENT CODE 
?PR?_send_byte?3001  SEGMENT CODE 
?PR?send_head?3001   SEGMENT CODE 
?PR?_send_flag?3001  SEGMENT CODE 
?PR?send_addr?3001   SEGMENT CODE 
?C_INITSEG           SEGMENT CODE 
?CO?3001             SEGMENT CODE 
?DT?3001             SEGMENT DATA 
        EXTRN        CODE (?C_STARTUP)
        PUBLIC        send_buf
        PUBLIC        COLOR_TABL
        PUBLIC        COLOR_TABL1
        PUBLIC        send_addr
        PUBLIC        _send_flag
        PUBLIC        send_head
        PUBLIC        _send_byte
        PUBLIC        send_reset_sys
        PUBLIC        send_data
        PUBLIC        main
        PUBLIC        _delay_ms
        RSEG  ?DT?main?3001
?main?BYTE:
          i?144:   DS   1
        ORG  1
          j?145:   DS   1
        ORG  2
          k?146:   DS   1
        RSEG  ?DT?send_data?3001
?send_data?BYTE:
          i?247:   DS   1
        RSEG  ?DT?3001
       send_buf:   DS   90
        RSEG  ?CO?3001
COLOR_TABL1:
        DB        0FFH
        DB        0FFH
        DB        0FFH
        DB        0FFH
        DB        0FFH
        DB        0FFH
        DB        0FFH
        DB        0FFH
        DB        0FFH
        DB        0FFH
        DB        0FFH
        DB        0FFH
        DB        0FFH
        DB        0FFH
        DB        0FFH
        DB        0FFH
        DB        0FFH
        DB        0FFH
        DB        0FFH
        DB        0FFH
        DB        0FFH
COLOR_TABL:
        DB        0FFH
        DB        000H
        DB        000H
        DB        000H
        DB        0FFH
        DB        000H
        DB        000H
        DB        000H
        DB        0FFH
        DB        0FFH
        DB        0FFH
        DB        000H
        DB        0FFH
        DB        000H
        DB        0FFH
        DB        000H
        DB        0FFH
        DB        0FFH
        DB        0FFH
        DB        0FFH
        DB        0FFH
        RSEG  ?C_INITSEG
        DB        020H
        DB        05AH
        DB        send_buf
        DB        0FFH
        DB  000H,000H,000H,000H,000H,000H,000H,000H,000H,000H
        DB  000H,000H,000H,000H,000H,000H,000H,000H,000H,000H
        DB  000H,000H,000H,000H,000H,000H,000H,000H,000H,000H
        DB  000H,000H,000H,000H,000H,000H,000H,000H,000H,000H
        DB  000H,000H,000H,000H,000H,000H,000H,000H,000H,000H
        DB  000H,000H,000H,000H,000H,000H,000H,000H,000H,000H
        DB  000H,000H,000H,000H,000H,000H,000H,000H,000H,000H
        DB  000H,000H,000H,000H,000H,000H,000H,000H,000H,000H
        DB  000H,000H,000H,000H,000H,000H,000H,000H,000H
; #pragma src
; /******************************************************************************************************
; ** 版本:        V1.0
; ** 描述:  3001 演示程序,支持连接20个3001
; ** 单片机类型 :STC12Cxxxx/单指令周期系列 晶振频率 20MHZ以上
; ** 3001通讯协议使用曼彻斯特编码方式,时序要求比较严格,帧数据发送不能间隔和中断,发送波特率在100K-1M
; ** 程序修改建议:改变 send_buf[]的数据,改变相应的变化效果。 
; **------------------------------------------------------------------------------------------------------
; ** Modified by:  Alshon Liang
; ** Modified date:  2010.3.18
; ** Version:
; ** Description:
; **
; ********************************************************************************************************/
; 
; 
; #include  <reg52.h>
; 
; sfr P1M1 = 0x92;
; sfr P1M0 = 0x91;
; 
; sbit SDO = P1^7;
; 
; unsigned char code COLOR_TABL1[7][3]=
; {
;  {0xff,0xff,0xff},
;  {0xff,0xff,0xff},
;  {0xff,0xff,0xff},
;  {0xff,0xff,0xff},
;  {0xff,0xff,0xff},
;  {0xff,0xff,0xff},
;  {0xff,0xff,0xff},
; };
;                                      
; 
; unsigned char code COLOR_TABL[7][3]=
; {
;  {0xff,0x00,0x00},
;  {0x00,0xff,0x00},
;  {0x00,0x00,0xff},
;  {0xff,0xff,0x00},
;  {0xff,0x00,0xff},
;  {0x00,0xff,0xff},
;  {0xff,0xff,0xff},
; };
;     
; unsigned char send_buf[90]={0xff};
; 
; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
; void send_data(void);
; void send_reset_sys(void);
; 
; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
; void delay_ms(unsigned char ms)
        RSEG  ?PR?_delay_ms?3001
_delay_ms:
        USING        0
                        ; SOURCE LINE # 54
;---- Variable 'ms?040' assigned to Register 'R7' ----
; { unsigned char x,y,z;
                        ; SOURCE LINE # 55
;   for(x=0;x<ms;x++)
                        ; SOURCE LINE # 56
;---- Variable 'x?041' assigned to Register 'R6' ----
        CLR          A
        MOV          R6,A
?C0001:
        MOV          A,R6
        CLR          C
        SUBB         A,R7
        JNC          ?C0010
;     {for(y=0;y<100;y++)
                        ; SOURCE LINE # 57
;---- Variable 'y?042' assigned to Register 'R5' ----
        CLR          A
        MOV          R5,A
?C0004:
;         for(z=0;z<100;z++);
                        ; SOURCE LINE # 58
;---- Variable 'z?043' assigned to Register 'R4' ----
        CLR          A
        MOV          R4,A
?C0007:
        INC          R4
        CJNE         R4,#064H,?C0007
?C0006:
        INC          R5
        CJNE         R5,#064H,?C0004
;     }
                        ; SOURCE LINE # 59
?C0003:
        INC          R6
        SJMP         ?C0001
; }
                        ; SOURCE LINE # 60
?C0010:
        RET          
; END OF _delay_ms
; 
; void main(void)
        RSEG  ?PR?main?3001
main:
        USING        0
                        ; SOURCE LINE # 62
; { unsigned char i,j,k;
                        ; SOURCE LINE # 63
; 
;  P1M1 =0;
                        ; SOURCE LINE # 65
        CLR          A
        MOV          P1M1,A
;  P1M0 = 0;
                        ; SOURCE LINE # 66
        MOV          P1M0,A
;   j=0;
                        ; SOURCE LINE # 67
        MOV          j?145,A
;   for(i=0;i<20;i++)
                        ; SOURCE LINE # 68
        MOV          i?144,A
?C0011:
;     {send_buf[j++] = 0x00;
                        ; SOURCE LINE # 69
        MOV          R7,j?145
        INC          j?145
        MOV          A,#LOW (send_buf)
        ADD          A,R7
        MOV          R0,A
        CLR          A
        MOV          @R0,A
;          send_buf[j++] = 0x00;
                        ; SOURCE LINE # 70
        MOV          R7,j?145
        INC          j?145
        MOV          A,#LOW (send_buf)
        ADD          A,R7
        MOV          R0,A
        CLR          A
        MOV          @R0,A
;      send_buf[j++] = 0x00;
                        ; SOURCE LINE # 71
        MOV          R7,j?145
        INC          j?145
        MOV          A,#LOW (send_buf)
        ADD          A,R7
        MOV          R0,A
        CLR          A
        MOV          @R0,A
;         }
                        ; SOURCE LINE # 72
        INC          i?144
        MOV          A,i?144
        CJNE         A,#014H,?C0011
?C0012:
;   SDO = 0 ;
                        ; SOURCE LINE # 73
        CLR          SDO
; //  send_reset_sys();
;   delay_ms(100);
                        ; SOURCE LINE # 75
        MOV          R7,#064H
        LCALL        _delay_ms
?C0014:
;   while(1)
                        ; SOURCE LINE # 76
;     {
                        ; SOURCE LINE # 77
; 
;         send_data();
                        ; SOURCE LINE # 79
        LCALL        send_data
;         delay_ms(5);
                        ; SOURCE LINE # 80
        MOV          R7,#05H
        LCALL        _delay_ms
;          if(i++>30)
                        ; SOURCE LINE # 81
        MOV          R7,i?144
        INC          i?144
        MOV          A,R7
        SETB         C
        SUBB         A,#01EH
        JC           ?C0014
;            {i = 0 ;
                        ; SOURCE LINE # 82
        CLR          A
        MOV          i?144,A
;             send_reset_sys();
                        ; SOURCE LINE # 83
        LCALL        send_reset_sys
; 
;                 k++;
                        ; SOURCE LINE # 85
        INC          k?146
;                 if(k>6)k=0;
                        ; SOURCE LINE # 86
        MOV          A,k?146
        SETB         C
        SUBB         A,#06H
        JC           ?C0017
        CLR          A
        MOV          k?146,A
?C0017:
;                 for(j=0;j<30;j++)
                        ; SOURCE LINE # 87
        CLR          A
        MOV          j?145,A
?C0018:
        MOV          A,j?145
        CLR          C
        SUBB         A,#01EH
        JNC          ?C0014
;                  {send_buf[3*j]   = COLOR_TABL[k][0];
                        ; SOURCE LINE # 88
        MOV          A,k?146
        MOV          B,#03H
        MUL          AB
        ADD          A,#LOW (COLOR_TABL)
        MOV          DPL,A
        CLR          A
        ADDC         A,#HIGH (COLOR_TABL)
        MOV          DPH,A
        CLR          A
        MOVC         A,@A+DPTR
        MOV          R7,A
        MOV          A,j?145
        MOV          B,#03H
        MUL          AB
        ADD          A,#LOW (send_buf)
        MOV          R0,A
        MOV          @R0,AR7
;               send_buf[3*j+1] = COLOR_TABL[k][1];
                        ; SOURCE LINE # 89
        MOV          A,k?146
        MOV          B,#03H
        MUL          AB
        ADD          A,#LOW (COLOR_TABL+01H)
        MOV          DPL,A
        CLR          A
        ADDC         A,#HIGH (COLOR_TABL+01H)
        MOV          DPH,A
        CLR          A
        MOVC         A,@A+DPTR
        MOV          R7,A
        MOV          A,j?145
        MOV          B,#03H
        MUL          AB
        ADD          A,#LOW (send_buf+01H)
        MOV          R0,A
        MOV          @R0,AR7
;           send_buf[3*j+2] = COLOR_TABL[k][2];
                        ; SOURCE LINE # 90
        MOV          A,k?146
        MOV          B,#03H
        MUL          AB
        ADD          A,#LOW (COLOR_TABL+02H)
        MOV          DPL,A
        CLR          A
        ADDC         A,#HIGH (COLOR_TABL+02H)
        MOV          DPH,A
        CLR          A
        MOVC         A,@A+DPTR
        MOV          R7,A
        MOV          A,j?145
        MOV          B,#03H
        MUL          AB
        ADD          A,#LOW (send_buf+02H)
        MOV          R0,A
        MOV          @R0,AR7
;                  }
                        ; SOURCE LINE # 91
        INC          j?145
        SJMP         ?C0018
; END OF main
;            }
;          } 
; }
; 
; 
; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
; void send_head(void);
; void send_addr(void);
; void send_flag(unsigned char sdata);
; void send_byte(unsigned char sdata);
; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
; //功能:发送一帧数据
; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
; void send_data(void)
        RSEG  ?PR?send_data?3001
send_data:
        USING        0
                        ; SOURCE LINE # 105
; {
                        ; SOURCE LINE # 106
;   unsigned char i;
; 
;   send_head();
                        ; SOURCE LINE # 109
        LCALL        send_head
;   send_flag(0x20);
                        ; SOURCE LINE # 110
        MOV          R7,#020H
        LCALL        _send_flag
; 
;   for(i=0;i<90;i++)
                        ; SOURCE LINE # 112
        CLR          A
        MOV          i?247,A
?C0022:
;      {send_byte(send_buf[i]);
                        ; SOURCE LINE # 113
        MOV          A,#LOW (send_buf)
        ADD          A,i?247
        MOV          R0,A
        MOV          A,@R0
        MOV          R7,A
        LCALL        _send_byte
;          }
                        ; SOURCE LINE # 114
        INC          i?247
        MOV          A,i?247
        CLR          C
        SUBB         A,#05AH
        JC           ?C0022
?C0023:
;   for(i=0;i<2;i++);
                        ; SOURCE LINE # 115
        CLR          A
        MOV          i?247,A
?C0025:
        INC          i?247
        MOV          A,i?247
        CJNE         A,#02H,?C0025
?C0026:
;   SDO = 0;
                        ; SOURCE LINE # 116
        CLR          SDO
; }
                        ; SOURCE LINE # 117
        RET          
; END OF send_data
; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
; //功能:发送复位和同步帧
; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
; void send_reset_sys(void)
        RSEG  ?PR?send_reset_sys?3001
send_reset_sys:
        USING        0
                        ; SOURCE LINE # 121
; { 
                        ; SOURCE LINE # 122
;   unsigned char i;
; 
;   send_head();
                        ; SOURCE LINE # 125
        LCALL        send_head
;   send_flag(0x40);
                        ; SOURCE LINE # 126
        MOV          R7,#040H
        LCALL        _send_flag
; 
;   for(i=0;i<2;i++);
                        ; SOURCE LINE # 128
;---- Variable 'i?348' assigned to Register 'R7' ----
        CLR          A
        MOV          R7,A
?C0029:
        INC          R7
        CJNE         R7,#02H,?C0029
?C0030:
;   SDO = 0;
                        ; SOURCE LINE # 129
        CLR          SDO
;   delay_ms(1);
                        ; SOURCE LINE # 130
        MOV          R7,#01H
        LCALL        _delay_ms
; 
;   send_head();
                        ; SOURCE LINE # 132
        LCALL        send_head
;   send_flag(0x10);
                        ; SOURCE LINE # 133
        MOV          R7,#010H
        LCALL        _send_flag
;   send_addr();
                        ; SOURCE LINE # 134
        LCALL        send_addr
; 
;   for(i=0;i<2;i++);
                        ; SOURCE LINE # 136
        CLR          A
        MOV          R7,A
?C0032:
        INC          R7
        CJNE         R7,#02H,?C0032
?C0033:
;   SDO = 0;
                        ; SOURCE LINE # 137
        CLR          SDO
; 
;   delay_ms(10);
                        ; SOURCE LINE # 139
        MOV          R7,#0AH
        LJMP         _delay_ms
; END OF send_reset_sys
; 
; }
; 
; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
; //功能:发送一个字节数据
; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
; void send_byte(unsigned char sdata)
        RSEG  ?PR?_send_byte?3001
_send_byte:
        USING        0
                        ; SOURCE LINE # 146
;---- Variable 'sdata?449' assigned to Register 'R7' ----
; {
                        ; SOURCE LINE # 147
;   unsigned char i,j;
;    
;   i = sdata;
                        ; SOURCE LINE # 150
;---- Variable 'i?450' assigned to Register 'R7' ----
; 
;   SDO = 0;
                        ; SOURCE LINE # 152
        CLR          SDO
;   for(j=0;j<5;j++); 
                        ; SOURCE LINE # 153
;---- Variable 'j?451' assigned to Register 'R6' ----
        CLR          A
        MOV          R6,A
?C0036:
        INC          R6
        CJNE         R6,#05H,?C0036
?C0037:
; 
;   SDO = 1;
                        ; SOURCE LINE # 155
        SETB         SDO
;   for(j=0;j<4;j++); 
                        ; SOURCE LINE # 156
        CLR          A
        MOV          R6,A
?C0039:
        INC          R6
        CJNE         R6,#04H,?C0039
?C0040:
; 
;   i = i<<1;
                        ; SOURCE LINE # 158
        MOV          A,R7
        ADD          A,ACC
        MOV          R7,A
;   SDO = CY;
                        ; SOURCE LINE # 159
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 160
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 161
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 162
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 163
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 164
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 165
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 166
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 167
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 168
        MOV          SDO,C
;   SDO = ~ CY;
                        ; SOURCE LINE # 169
        CPL          C
        MOV          SDO,C
;   for(j=0;j<4;j++); 
                        ; SOURCE LINE # 170
        CLR          A
        MOV          R6,A
?C0042:
        INC          R6
        CJNE         R6,#04H,?C0042
?C0043:
; 
; 
; 
;   i = i<<1;
                        ; SOURCE LINE # 174
        MOV          A,R7
        ADD          A,ACC
        MOV          R7,A
;   SDO = CY;
                        ; SOURCE LINE # 175
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 176
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 177
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 178
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 179
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 180
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 181
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 182
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 183
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 184
        MOV          SDO,C
;   SDO = ~ CY;
                        ; SOURCE LINE # 185
        CPL          C
        MOV          SDO,C
;   for(j=0;j<4;j++); 
                        ; SOURCE LINE # 186
        CLR          A
        MOV          R6,A
?C0045:
        INC          R6
        CJNE         R6,#04H,?C0045
?C0046:
; 
; 
;   i = i<<1;
                        ; SOURCE LINE # 189
        MOV          A,R7
        ADD          A,ACC
        MOV          R7,A
;   SDO = CY;
                        ; SOURCE LINE # 190
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 191
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 192
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 193
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 194
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 195
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 196
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 197
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 198
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 199
        MOV          SDO,C
;   SDO = ~ CY;
                        ; SOURCE LINE # 200
        CPL          C
        MOV          SDO,C
;   for(j=0;j<4;j++); 
                        ; SOURCE LINE # 201
        CLR          A
        MOV          R6,A
?C0048:
        INC          R6
        CJNE         R6,#04H,?C0048
?C0049:
; 
; 
;   i = i<<1;
                        ; SOURCE LINE # 204
        MOV          A,R7
        ADD          A,ACC
        MOV          R7,A
;   SDO = CY;
                        ; SOURCE LINE # 205
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 206
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 207
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 208
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 209
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 210
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 211
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 212
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 213
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 214
        MOV          SDO,C
;   SDO = ~ CY;
                        ; SOURCE LINE # 215
        CPL          C
        MOV          SDO,C
;   for(j=0;j<4;j++); 
                        ; SOURCE LINE # 216
        CLR          A
        MOV          R6,A
?C0051:
        INC          R6
        CJNE         R6,#04H,?C0051
?C0052:
; 
; 
;   i = i<<1;
                        ; SOURCE LINE # 219
        MOV          A,R7
        ADD          A,ACC
        MOV          R7,A
;   SDO = CY;
                        ; SOURCE LINE # 220
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 221
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 222
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 223
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 224
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 225
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 226
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 227
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 228
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 229
        MOV          SDO,C
;   SDO = ~ CY;
                        ; SOURCE LINE # 230
        CPL          C
        MOV          SDO,C
;   for(j=0;j<4;j++); 
                        ; SOURCE LINE # 231
        CLR          A
        MOV          R6,A
?C0054:
        INC          R6
        CJNE         R6,#04H,?C0054
?C0055:
; 
; 
;   i = i<<1;
                        ; SOURCE LINE # 234
        MOV          A,R7
        ADD          A,ACC
        MOV          R7,A
;   SDO = CY;
                        ; SOURCE LINE # 235
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 236
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 237
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 238
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 239
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 240
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 241
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 242
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 243
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 244
        MOV          SDO,C
;   SDO = ~CY;
                        ; SOURCE LINE # 245
        CPL          C
        MOV          SDO,C
;   for(j=0;j<4;j++); 
                        ; SOURCE LINE # 246
        CLR          A
        MOV          R6,A
?C0057:
        INC          R6
        CJNE         R6,#04H,?C0057
?C0058:
; 
; 
;   i = i<<1;
                        ; SOURCE LINE # 249
        MOV          A,R7
        ADD          A,ACC
        MOV          R7,A
;   SDO = CY;
                        ; SOURCE LINE # 250
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 251
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 252
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 253
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 254
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 255
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 256
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 257
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 258
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 259
        MOV          SDO,C
;   SDO = ~ CY;
                        ; SOURCE LINE # 260
        CPL          C
        MOV          SDO,C
;   for(j=0;j<4;j++); 
                        ; SOURCE LINE # 261
        CLR          A
        MOV          R6,A
?C0060:
        INC          R6
        CJNE         R6,#04H,?C0060
?C0061:
; 
; 
;   i = i<<1;
                        ; SOURCE LINE # 264
        MOV          A,R7
        ADD          A,ACC
        MOV          R7,A
;   SDO = CY;
                        ; SOURCE LINE # 265
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 266
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 267
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 268
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 269
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 270
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 271
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 272
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 273
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 274
        MOV          SDO,C
;   SDO = ~ CY;
                        ; SOURCE LINE # 275
        CPL          C
        MOV          SDO,C
;   for(j=0;j<4;j++); 
                        ; SOURCE LINE # 276
        CLR          A
        MOV          R6,A
?C0063:
        INC          R6
        CJNE         R6,#04H,?C0063
?C0064:
;   i = i<<1;
                        ; SOURCE LINE # 277
        MOV          A,R7
        ADD          A,ACC
;   
; //////////////////////////////////////////////////////////
;   
;   SDO = 0;
                        ; SOURCE LINE # 281
        CLR          SDO
;   i = i<<1;
                        ; SOURCE LINE # 282
        ADD          A,ACC
        MOV          R7,A
;   for(j=0;j<4;j++); 
                        ; SOURCE LINE # 283
        CLR          A
        MOV          R6,A
?C0066:
        INC          R6
        CJNE         R6,#04H,?C0066
?C0067:
;   SDO = 1;
                        ; SOURCE LINE # 284
        SETB         SDO
;   for(j=0;j<5;j++); 
                        ; SOURCE LINE # 285
        CLR          A
        MOV          R6,A
?C0069:
        INC          R6
        CJNE         R6,#05H,?C0069
?C0070:
; 
;   SDO = 0;
                        ; SOURCE LINE # 287
        CLR          SDO
;   i = i<<1;
                        ; SOURCE LINE # 288
        MOV          A,R7
        ADD          A,ACC
        MOV          R7,A
;   for(j=0;j<4;j++); 
                        ; SOURCE LINE # 289
        CLR          A
        MOV          R6,A
?C0072:
        INC          R6
        CJNE         R6,#04H,?C0072
?C0073:
;   SDO = 1;
                        ; SOURCE LINE # 290
        SETB         SDO
;   for(j=0;j<5;j++); 
                        ; SOURCE LINE # 291
        CLR          A
        MOV          R6,A
?C0075:
        INC          R6
        CJNE         R6,#05H,?C0075
?C0076:
; 
;   SDO = 0;
                        ; SOURCE LINE # 293
        CLR          SDO
;   i = i<<1;
                        ; SOURCE LINE # 294
        MOV          A,R7
        ADD          A,ACC
        MOV          R7,A
;   for(j=0;j<4;j++); 
                        ; SOURCE LINE # 295
        CLR          A
        MOV          R6,A
?C0078:
        INC          R6
        CJNE         R6,#04H,?C0078
?C0079:
;   SDO = 1;
                        ; SOURCE LINE # 296
        SETB         SDO
;   for(j=0;j<5;j++); 
                        ; SOURCE LINE # 297
        CLR          A
        MOV          R6,A
?C0081:
        INC          R6
        CJNE         R6,#05H,?C0081
?C0082:
;   
;   SDO = 0;
                        ; SOURCE LINE # 299
        CLR          SDO
;   i = i<<1;
                        ; SOURCE LINE # 300
;   for(j=0;j<5;j++); 
                        ; SOURCE LINE # 301
        CLR          A
        MOV          R6,A
?C0084:
        INC          R6
        CJNE         R6,#05H,?C0084
?C0085:
;   SDO = 1;
                        ; SOURCE LINE # 302
        SETB         SDO
;   SDO = 1;
                        ; SOURCE LINE # 303
        SETB         SDO
; }
                        ; SOURCE LINE # 304
        RET          
; END OF _send_byte
; 
; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
; //功能:发送数据头 15 bit 1
; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
; void send_head(void)
        RSEG  ?PR?send_head?3001
send_head:
        USING        0
                        ; SOURCE LINE # 309
;---- Variable 'j?553' assigned to Register 'R7' ----
; {unsigned char i,j;
                        ; SOURCE LINE # 310
;  
;   i = j ;
                        ; SOURCE LINE # 312
;---- Variable 'i?552' assigned to Register 'R6' ----
        MOV          R6,AR7
;   SDO = 1;
                        ; SOURCE LINE # 313
        SETB         SDO
;   i = i<<1;
                        ; SOURCE LINE # 314
        MOV          A,R6
        ADD          A,ACC
        MOV          R6,A
;   for(j=0;j<4;j++); 
                        ; SOURCE LINE # 315
        CLR          A
        MOV          R7,A
?C0088:
        INC          R7
        CJNE         R7,#04H,?C0088
?C0089:
;   SDO = 0;
                        ; SOURCE LINE # 316
        CLR          SDO
;   for(j=0;j<5;j++); 
                        ; SOURCE LINE # 317
        CLR          A
        MOV          R7,A
?C0091:
        INC          R7
        CJNE         R7,#05H,?C0091
?C0092:
; 
;   SDO = 1;
                        ; SOURCE LINE # 319
        SETB         SDO
;   i = i<<1;
                        ; SOURCE LINE # 320
        MOV          A,R6
        ADD          A,ACC
        MOV          R6,A
;   for(j=0;j<4;j++); 
                        ; SOURCE LINE # 321
        CLR          A
        MOV          R7,A
?C0094:
        INC          R7
        CJNE         R7,#04H,?C0094
?C0095:
;   SDO = 0;
                        ; SOURCE LINE # 322
        CLR          SDO
;   for(j=0;j<5;j++); 
                        ; SOURCE LINE # 323
        CLR          A
        MOV          R7,A
?C0097:
        INC          R7
        CJNE         R7,#05H,?C0097
?C0098:
; 
;   SDO = 1;
                        ; SOURCE LINE # 325
        SETB         SDO
;   i = i<<1;
                        ; SOURCE LINE # 326
        MOV          A,R6
        ADD          A,ACC
        MOV          R6,A
;   for(j=0;j<4;j++); 
                        ; SOURCE LINE # 327
        CLR          A
        MOV          R7,A
?C0100:
        INC          R7
        CJNE         R7,#04H,?C0100
?C0101:
;   SDO = 0;
                        ; SOURCE LINE # 328
        CLR          SDO
;   for(j=0;j<5;j++); 
                        ; SOURCE LINE # 329
        CLR          A
        MOV          R7,A
?C0103:
        INC          R7
        CJNE         R7,#05H,?C0103
?C0104:
; 
;   SDO = 1;
                        ; SOURCE LINE # 331
        SETB         SDO
;   i = i<<1;
                        ; SOURCE LINE # 332
        MOV          A,R6
        ADD          A,ACC
        MOV          R6,A
;   for(j=0;j<4;j++); 
                        ; SOURCE LINE # 333
        CLR          A
        MOV          R7,A
?C0106:
        INC          R7
        CJNE         R7,#04H,?C0106
?C0107:
;   SDO = 0;
                        ; SOURCE LINE # 334
        CLR          SDO
;   for(j=0;j<5;j++); 
                        ; SOURCE LINE # 335
        CLR          A
        MOV          R7,A
?C0109:
        INC          R7
        CJNE         R7,#05H,?C0109
?C0110:
; 
;   SDO = 1;
                        ; SOURCE LINE # 337
        SETB         SDO
;   i = i<<1;
                        ; SOURCE LINE # 338
        MOV          A,R6
        ADD          A,ACC
        MOV          R6,A
;   for(j=0;j<4;j++); 
                        ; SOURCE LINE # 339
        CLR          A
        MOV          R7,A
?C0112:
        INC          R7
        CJNE         R7,#04H,?C0112
?C0113:
;   SDO = 0;
                        ; SOURCE LINE # 340
        CLR          SDO
;   for(j=0;j<5;j++); 
                        ; SOURCE LINE # 341
        CLR          A
        MOV          R7,A
?C0115:
        INC          R7
        CJNE         R7,#05H,?C0115
?C0116:
;   
;   SDO = 1;
                        ; SOURCE LINE # 343
        SETB         SDO
;   i = i<<1;
                        ; SOURCE LINE # 344
        MOV          A,R6
        ADD          A,ACC
        MOV          R6,A
;   for(j=0;j<4;j++); 
                        ; SOURCE LINE # 345
        CLR          A
        MOV          R7,A
?C0118:
        INC          R7
        CJNE         R7,#04H,?C0118
?C0119:
;   SDO = 0;
                        ; SOURCE LINE # 346
        CLR          SDO
;   for(j=0;j<5;j++); 
                        ; SOURCE LINE # 347
        CLR          A
        MOV          R7,A
?C0121:
        INC          R7
        CJNE         R7,#05H,?C0121
?C0122:
; 
;   SDO = 1;
                        ; SOURCE LINE # 349
        SETB         SDO
;   i = i<<1;
                        ; SOURCE LINE # 350
        MOV          A,R6
        ADD          A,ACC
        MOV          R6,A
;   for(j=0;j<4;j++); 
                        ; SOURCE LINE # 351
        CLR          A
        MOV          R7,A
?C0124:
        INC          R7
        CJNE         R7,#04H,?C0124
?C0125:
;   SDO = 0;
                        ; SOURCE LINE # 352
        CLR          SDO
;   for(j=0;j<5;j++); 
                        ; SOURCE LINE # 353
        CLR          A
        MOV          R7,A
?C0127:
        INC          R7
        CJNE         R7,#05H,?C0127
?C0128:
; 
;   SDO = 1;
                        ; SOURCE LINE # 355
        SETB         SDO
;   i = i<<1;
                        ; SOURCE LINE # 356
        MOV          A,R6
        ADD          A,ACC
        MOV          R6,A
;   for(j=0;j<4;j++); 
                        ; SOURCE LINE # 357
        CLR          A
        MOV          R7,A
?C0130:
        INC          R7
        CJNE         R7,#04H,?C0130
?C0131:
;   SDO = 0;
                        ; SOURCE LINE # 358
        CLR          SDO
;   for(j=0;j<5;j++); 
                        ; SOURCE LINE # 359
        CLR          A
        MOV          R7,A
?C0133:
        INC          R7
        CJNE         R7,#05H,?C0133
?C0134:
; 
;   SDO = 1;
                        ; SOURCE LINE # 361
        SETB         SDO
;   i = i<<1;
                        ; SOURCE LINE # 362
        MOV          A,R6
        ADD          A,ACC
        MOV          R6,A
;   for(j=0;j<4;j++); 
                        ; SOURCE LINE # 363
        CLR          A
        MOV          R7,A
?C0136:
        INC          R7
        CJNE         R7,#04H,?C0136
?C0137:
;   SDO = 0;
                        ; SOURCE LINE # 364
        CLR          SDO
;   for(j=0;j<5;j++); 
                        ; SOURCE LINE # 365
        CLR          A
        MOV          R7,A
?C0139:
        INC          R7
        CJNE         R7,#05H,?C0139
?C0140:
; 
;   SDO = 1;
                        ; SOURCE LINE # 367
        SETB         SDO
;   i = i<<1;
                        ; SOURCE LINE # 368
        MOV          A,R6
        ADD          A,ACC
        MOV          R6,A
;   for(j=0;j<4;j++); 
                        ; SOURCE LINE # 369
        CLR          A
        MOV          R7,A
?C0142:
        INC          R7
        CJNE         R7,#04H,?C0142
?C0143:
;   SDO = 0;
                        ; SOURCE LINE # 370
        CLR          SDO
;   for(j=0;j<5;j++); 
                        ; SOURCE LINE # 371
        CLR          A
        MOV          R7,A
?C0145:
        INC          R7
        CJNE         R7,#05H,?C0145
?C0146:
; 
; 
;   SDO = 1;
                        ; SOURCE LINE # 374
        SETB         SDO
;   i = i<<1;
                        ; SOURCE LINE # 375
        MOV          A,R6
        ADD          A,ACC
        MOV          R6,A
;   for(j=0;j<4;j++); 
                        ; SOURCE LINE # 376
        CLR          A
        MOV          R7,A
?C0148:
        INC          R7
        CJNE         R7,#04H,?C0148
?C0149:
;   SDO = 0;
                        ; SOURCE LINE # 377
        CLR          SDO
;   for(j=0;j<5;j++); 
                        ; SOURCE LINE # 378
        CLR          A
        MOV          R7,A
?C0151:
        INC          R7
        CJNE         R7,#05H,?C0151
?C0152:
; 
;   SDO = 1;
                        ; SOURCE LINE # 380
        SETB         SDO
;   i = i<<1;
                        ; SOURCE LINE # 381
        MOV          A,R6
        ADD          A,ACC
        MOV          R6,A
;   for(j=0;j<4;j++); 
                        ; SOURCE LINE # 382
        CLR          A
        MOV          R7,A
?C0154:
        INC          R7
        CJNE         R7,#04H,?C0154
?C0155:
;   SDO = 0;
                        ; SOURCE LINE # 383
        CLR          SDO
;   for(j=0;j<5;j++); 
                        ; SOURCE LINE # 384
        CLR          A
        MOV          R7,A
?C0157:
        INC          R7
        CJNE         R7,#05H,?C0157
?C0158:
; 
;   SDO = 1;
                        ; SOURCE LINE # 386
        SETB         SDO
;   i = i<<1;
                        ; SOURCE LINE # 387
        MOV          A,R6
        ADD          A,ACC
        MOV          R6,A
;   for(j=0;j<4;j++); 
                        ; SOURCE LINE # 388
        CLR          A
        MOV          R7,A
?C0160:
        INC          R7
        CJNE         R7,#04H,?C0160
?C0161:
;   SDO = 0;
                        ; SOURCE LINE # 389
        CLR          SDO
;   for(j=0;j<5;j++); 
                        ; SOURCE LINE # 390
        CLR          A
        MOV          R7,A
?C0163:
        INC          R7
        CJNE         R7,#05H,?C0163
?C0164:
; 
;   SDO = 1;
                        ; SOURCE LINE # 392
        SETB         SDO
;   i = i<<1;
                        ; SOURCE LINE # 393
        MOV          A,R6
        ADD          A,ACC
        MOV          R6,A
;   for(j=0;j<4;j++); 
                        ; SOURCE LINE # 394
        CLR          A
        MOV          R7,A
?C0166:
        INC          R7
        CJNE         R7,#04H,?C0166
?C0167:
;   SDO = 0;
                        ; SOURCE LINE # 395
        CLR          SDO
;   for(j=0;j<5;j++); 
                        ; SOURCE LINE # 396
        CLR          A
        MOV          R7,A
?C0169:
        INC          R7
        CJNE         R7,#05H,?C0169
?C0170:
; 
;   SDO = 1;
                        ; SOURCE LINE # 398
        SETB         SDO
;   i = i<<1;
                        ; SOURCE LINE # 399
;   for(j=0;j<4;j++); 
                        ; SOURCE LINE # 400
        CLR          A
        MOV          R7,A
?C0172:
        INC          R7
        CJNE         R7,#04H,?C0172
?C0173:
;   SDO = 0;
                        ; SOURCE LINE # 401
        CLR          SDO
;   SDO = 0;
                        ; SOURCE LINE # 402
        CLR          SDO
;   SDO = 0;
                        ; SOURCE LINE # 403
        CLR          SDO
;   SDO = 0;
                        ; SOURCE LINE # 404
        CLR          SDO
;   SDO = 0;
                        ; SOURCE LINE # 405
        CLR          SDO
;   SDO = 0;
                        ; SOURCE LINE # 406
        CLR          SDO
; }
                        ; SOURCE LINE # 407
        RET          
; END OF send_head
; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
; //功能:发送标识位 4bit
; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
; void send_flag(unsigned char sdata)
        RSEG  ?PR?_send_flag?3001
_send_flag:
        USING        0
                        ; SOURCE LINE # 411
;---- Variable 'sdata?654' assigned to Register 'R7' ----
; {
                        ; SOURCE LINE # 412
;   unsigned char i,j;
;   i = sdata;
                        ; SOURCE LINE # 414
;---- Variable 'i?655' assigned to Register 'R7' ----
;   i = i<<1;
                        ; SOURCE LINE # 415
        MOV          A,R7
        ADD          A,ACC
        MOV          R7,A
;   SDO = CY;
                        ; SOURCE LINE # 416
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 417
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 418
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 419
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 420
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 421
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 422
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 423
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 424
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 425
        MOV          SDO,C
;   SDO = ~ CY;
                        ; SOURCE LINE # 426
        CPL          C
        MOV          SDO,C
;   for(j=0;j<4;j++); 
                        ; SOURCE LINE # 427
;---- Variable 'j?656' assigned to Register 'R6' ----
        CLR          A
        MOV          R6,A
?C0176:
        INC          R6
        CJNE         R6,#04H,?C0176
?C0177:
; 
;   i = i<<1;
                        ; SOURCE LINE # 429
        MOV          A,R7
        ADD          A,ACC
        MOV          R7,A
;   SDO = CY;
                        ; SOURCE LINE # 430
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 431
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 432
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 433
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 434
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 435
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 436
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 437
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 438
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 439
        MOV          SDO,C
;   SDO = ~ CY;
                        ; SOURCE LINE # 440
        CPL          C
        MOV          SDO,C
;   for(j=0;j<4;j++); 
                        ; SOURCE LINE # 441
        CLR          A
        MOV          R6,A
?C0179:
        INC          R6
        CJNE         R6,#04H,?C0179
?C0180:
; 
;   i = i<<1;
                        ; SOURCE LINE # 443
        MOV          A,R7
        ADD          A,ACC
        MOV          R7,A
;   SDO = CY;
                        ; SOURCE LINE # 444
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 445
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 446
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 447
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 448
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 449
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 450
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 451
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 452
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 453
        MOV          SDO,C
;   SDO = ~ CY;
                        ; SOURCE LINE # 454
        CPL          C
        MOV          SDO,C
;   for(j=0;j<4;j++); 
                        ; SOURCE LINE # 455
        CLR          A
        MOV          R6,A
?C0182:
        INC          R6
        CJNE         R6,#04H,?C0182
?C0183:
; 
;   i = i<<1;
                        ; SOURCE LINE # 457
        MOV          A,R7
        ADD          A,ACC
;   SDO = CY;
                        ; SOURCE LINE # 458
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 459
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 460
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 461
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 462
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 463
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 464
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 465
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 466
        MOV          SDO,C
;   SDO = CY;
                        ; SOURCE LINE # 467
        MOV          SDO,C
;   SDO = ~ CY;
                        ; SOURCE LINE # 468
        CPL          C
        MOV          SDO,C
; //  SDO = ~ CY;
; //  SDO = ~ CY;
;   for(j=0;j<2;j++); 
                        ; SOURCE LINE # 471
        CLR          A
        MOV          R6,A
?C0185:
        INC          R6
        CJNE         R6,#02H,?C0185
; 
; }
                        ; SOURCE LINE # 473
?C0188:
        RET          
; END OF _send_flag
; 
; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
; //功能:发送同步地址
; ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
; void send_addr(void)
        RSEG  ?PR?send_addr?3001
send_addr:
        USING        0
                        ; SOURCE LINE # 478
;---- Variable 'i?757' assigned to Register 'R7' ----
; {unsigned char i,j;
                        ; SOURCE LINE # 479
; 
;   SDO = 0;
                        ; SOURCE LINE # 481
        CLR          SDO
;   i = i<<1;
                        ; SOURCE LINE # 482
        MOV          A,R7
        ADD          A,ACC
        MOV          R7,A
;   for(j=0;j<4;j++); 
                        ; SOURCE LINE # 483
;---- Variable 'j?758' assigned to Register 'R6' ----
        CLR          A
        MOV          R6,A
?C0189:
        INC          R6
        CJNE         R6,#04H,?C0189
?C0190:
;   SDO = 1;
                        ; SOURCE LINE # 484
        SETB         SDO
;   for(j=0;j<5;j++); 
                        ; SOURCE LINE # 485
        CLR          A
        MOV          R6,A
?C0192:
        INC          R6
        CJNE         R6,#05H,?C0192
?C0193:
;   
;   SDO = 0;
                        ; SOURCE LINE # 487
        CLR          SDO
;   i = i<<1;
                        ; SOURCE LINE # 488
        MOV          A,R7
        ADD          A,ACC
        MOV          R7,A
;   for(j=0;j<4;j++); 
                        ; SOURCE LINE # 489
        CLR          A
        MOV          R6,A
?C0195:
        INC          R6
        CJNE         R6,#04H,?C0195
?C0196:
;   SDO = 1;
                        ; SOURCE LINE # 490
        SETB         SDO
;   for(j=0;j<5;j++); 
                        ; SOURCE LINE # 491
        CLR          A
        MOV          R6,A
?C0198:
        INC          R6
        CJNE         R6,#05H,?C0198
?C0199:
; 
;   SDO = 0;
                        ; SOURCE LINE # 493
        CLR          SDO
;   i = i<<1;
                        ; SOURCE LINE # 494
        MOV          A,R7
        ADD          A,ACC
        MOV          R7,A
;   for(j=0;j<4;j++); 
                        ; SOURCE LINE # 495
        CLR          A
        MOV          R6,A
?C0201:
        INC          R6
        CJNE         R6,#04H,?C0201
?C0202:
;   SDO = 1;
                        ; SOURCE LINE # 496
        SETB         SDO
;   for(j=0;j<5;j++); 
                        ; SOURCE LINE # 497
        CLR          A
        MOV          R6,A
?C0204:
        INC          R6
        CJNE         R6,#05H,?C0204
?C0205:
; 
;   SDO = 0;
                        ; SOURCE LINE # 499
        CLR          SDO
;   i = i<<1;
                        ; SOURCE LINE # 500
        MOV          A,R7
        ADD          A,ACC
        MOV          R7,A
;   for(j=0;j<4;j++); 
                        ; SOURCE LINE # 501
        CLR          A
        MOV          R6,A
?C0207:
        INC          R6
        CJNE         R6,#04H,?C0207
?C0208:
;   SDO = 1;
                        ; SOURCE LINE # 502
        SETB         SDO
;   for(j=0;j<5;j++); 
                        ; SOURCE LINE # 503
        CLR          A
        MOV          R6,A
?C0210:
        INC          R6
        CJNE         R6,#05H,?C0210
?C0211:
; 
;   SDO = 0;
                        ; SOURCE LINE # 505
        CLR          SDO
;   i = i<<1;
                        ; SOURCE LINE # 506
        MOV          A,R7
        ADD          A,ACC
        MOV          R7,A
;   for(j=0;j<4;j++); 
                        ; SOURCE LINE # 507
        CLR          A
        MOV          R6,A
?C0213:
        INC          R6
        CJNE         R6,#04H,?C0213
?C0214:
;   SDO = 1;
                        ; SOURCE LINE # 508
        SETB         SDO
;   for(j=0;j<5;j++); 
                        ; SOURCE LINE # 509
        CLR          A
        MOV          R6,A
?C0216:
        INC          R6
        CJNE         R6,#05H,?C0216
?C0217:
; 
;   SDO = 0;
                        ; SOURCE LINE # 511
        CLR          SDO
;   i = i<<1;
                        ; SOURCE LINE # 512
        MOV          A,R7
        ADD          A,ACC
        MOV          R7,A
;   for(j=0;j<4;j++); 
                        ; SOURCE LINE # 513
        CLR          A
        MOV          R6,A
?C0219:
        INC          R6
        CJNE         R6,#04H,?C0219
?C0220:
;   SDO = 1;
                        ; SOURCE LINE # 514
        SETB         SDO
;   for(j=0;j<5;j++); 
                        ; SOURCE LINE # 515
        CLR          A
        MOV          R6,A
?C0222:
        INC          R6
        CJNE         R6,#05H,?C0222
?C0223:
; 
; 
;   SDO = 0;
                        ; SOURCE LINE # 518
        CLR          SDO
;   i = i<<1;
                        ; SOURCE LINE # 519
        MOV          A,R7
        ADD          A,ACC
        MOV          R7,A
;   for(j=0;j<4;j++); 
                        ; SOURCE LINE # 520
        CLR          A
        MOV          R6,A
?C0225:
        INC          R6
        CJNE         R6,#04H,?C0225
?C0226:
;   SDO = 1;
                        ; SOURCE LINE # 521
        SETB         SDO
;   for(j=0;j<5;j++); 
                        ; SOURCE LINE # 522
        CLR          A
        MOV          R6,A
?C0228:
        INC          R6
        CJNE         R6,#05H,?C0228
?C0229:
; 
;   SDO = 0;
                        ; SOURCE LINE # 524
        CLR          SDO
;   i = i<<1;
                        ; SOURCE LINE # 525
        MOV          A,R7
        ADD          A,ACC
        MOV          R7,A
;   for(j=0;j<4;j++); 
                        ; SOURCE LINE # 526
        CLR          A
        MOV          R6,A
?C0231:
        INC          R6
        CJNE         R6,#04H,?C0231
?C0232:
;   SDO = 1;
                        ; SOURCE LINE # 527
        SETB         SDO
;   for(j=0;j<5;j++); 
                        ; SOURCE LINE # 528
        CLR          A
        MOV          R6,A
?C0234:
        INC          R6
        CJNE         R6,#05H,?C0234
?C0235:
; 
;   SDO = 0;
                        ; SOURCE LINE # 530
        CLR          SDO
;   i = i<<1;
                        ; SOURCE LINE # 531
        MOV          A,R7
        ADD          A,ACC
        MOV          R7,A
;   for(j=0;j<4;j++); 
                        ; SOURCE LINE # 532
        CLR          A
        MOV          R6,A
?C0237:
        INC          R6
        CJNE         R6,#04H,?C0237
?C0238:
;   SDO = 1;
                        ; SOURCE LINE # 533
        SETB         SDO
;   for(j=0;j<5;j++); 
                        ; SOURCE LINE # 534
        CLR          A
        MOV          R6,A
?C0240:
        INC          R6
        CJNE         R6,#05H,?C0240
?C0241:
; 
;   SDO = 0;
                        ; SOURCE LINE # 536
        CLR          SDO
;   i = i<<1;
                        ; SOURCE LINE # 537
        MOV          A,R7
        ADD          A,ACC
        MOV          R7,A
;   for(j=0;j<4;j++); 
                        ; SOURCE LINE # 538
        CLR          A
        MOV          R6,A
?C0243:
        INC          R6
        CJNE         R6,#04H,?C0243
?C0244:
;   SDO = 1;
                        ; SOURCE LINE # 539
        SETB         SDO
;   for(j=0;j<5;j++); 
                        ; SOURCE LINE # 540
        CLR          A
        MOV          R6,A
?C0246:
        INC          R6
        CJNE         R6,#05H,?C0246
?C0247:
; 
;   SDO = 0;
                        ; SOURCE LINE # 542
        CLR          SDO
;   i = i<<1;
                        ; SOURCE LINE # 543
        MOV          A,R7
        ADD          A,ACC
        MOV          R7,A
;   for(j=0;j<4;j++); 
                        ; SOURCE LINE # 544
        CLR          A
        MOV          R6,A
?C0249:
        INC          R6
        CJNE         R6,#04H,?C0249
?C0250:
;   SDO = 1;
                        ; SOURCE LINE # 545
        SETB         SDO
;   SDO = 1;
                        ; SOURCE LINE # 546
        SETB         SDO
;   SDO = 1;
                        ; SOURCE LINE # 547
        SETB         SDO
;   SDO = 1;
                        ; SOURCE LINE # 548
        SETB         SDO
;   
; }
                        ; SOURCE LINE # 550
        RET          
; END OF send_addr
        END
 | 
 
 
3001.zip
 5.57 KB, 下载次数: 2183, 下载积分: 一乐金币 -1  
 |