⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rf315mhz.lst

📁 与C51相关模块LCD,24CXX,等的源代码程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.06   RF315MHZ                                                              03/03/2006 09:11:59 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE RF315MHZ
OBJECT MODULE PLACED IN RF315MHz.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE RF315MHz.c BROWSE DEBUG OBJECTEXTEND CODE SYMBOLS

stmt level    source

   1          /******************************************************
   2          DESIGN FOR RF315MHz USE
   3          Designer: BH Zhang
   4          Date:2006-1-11
   5          Ver:1.0
   6          Modify Mark:NONE
   7          MCU IO="0"      SEND MODOL="1"  REC MODOL="0" 
   8          MCU IO="1"      SEND MODOL="0"  REC MODOL="1" 
   9          IO=1    SEND MODOL NOT WORK.
  10          IO=0    SEND MODOL WORING.
  11          *******************************************************/
  12          #include <at89x51.h>
  13          #include "rf315mhz.h"
  14          #include "timer.h"
  15          #include "serial.h"
  16          //------------------------------------------------------
  17          #define RFADDRESS       0x55            //system address
  18          #define THIS            0x00            //host:0 for this
  19          //------------------------------------------------------
  20          unsigned char RFBuf[RFSENDLEN]; //data buf
  21          unsigned char nCodeLen;                 //record length per bit
  22          unsigned char nSendAdd;                 //receive address
  23          //------------------------------------------------------
  24          #define SW              3                               //stop(wait) len
  25          #define SWMIN   (SW-2)
  26          #define SWMAX   (SW+SW)
  27          #define S0              3                               //0bit len
  28          #define S0MIN   (S0-2)
  29          #define S0MAX   (S0+2)
  30          #define S1              9                               //1bit len
  31          #define S1MIN   (S1-3)
  32          #define S1MAX   (S1+3)
  33          #define ST              18                              //start bit len
  34          #define STMIN   (ST-2)
  35          #define STMAX   (ST+2)
  36          //------------------------------------------------------
  37          #define B0              0                               //bit=0
  38          #define B1              1                               //bit=1
  39          #define BS              2                               //bit=start bit
  40          #define BN              255                             //bit=invalid
  41          //------------------------------------------------------
  42          //(min<=bit len<=max)?1:0
  43          #define BitOK(ch,min,max)       ((ch>=min)&&(ch<=max))
  44          //------------------------------------------------------
  45          //get a bit
  46          unsigned char GetBit(){
  47   1              RFRX=1;
  48   1              if(RFRX==1)return BN;
  49   1              
  50   1              TH0=T1OverFlow;
  51   1              nCodeLen=0;
  52   1              TR1=1;
  53   1              while(RFRX==0){
  54   2                      if(nCodeLen>SWMAX){
  55   3                              TR1=0;
C51 COMPILER V7.06   RF315MHZ                                                              03/03/2006 09:11:59 PAGE 2   

  56   3                              return BN;
  57   3                      }
  58   2              }
  59   1              TR1=0;
  60   1              if(nCodeLen<SWMIN)return BN;
  61   1              
  62   1              TH0=T1OverFlow;
  63   1              nCodeLen=0;
  64   1              TR1=1;
  65   1              while(RFRX==1){
  66   2                      if(nCodeLen>STMAX){
  67   3                              TR1=0;
  68   3                              return BN;
  69   3                      }
  70   2              }
  71   1              TR1=0;
  72   1              if(BitOK(nCodeLen,S0MIN,S0MAX))return B0;
  73   1              if(BitOK(nCodeLen,S1MIN,S1MAX))return B1;
  74   1              if(BitOK(nCodeLen,STMIN,STMAX))return BS;
  75   1              return BN;
  76   1      }
  77          //------------------------------------------------------
  78          bit RFGetStr(){
  79   1              unsigned char i,j,k;
  80   1      
  81   1              if(GetBit()==BS){
  82   2                      for(i=1;i<(RFSENDLEN*8+1);i++){
  83   3                              j=GetBit();
  84   3                              if(j==BN)return 0;
  85   3                              if(j==BS)return 0;
  86   3                              k>>=1;
  87   3                              if(j==B1)k|=0x80;
  88   3                              if(i%8==0)RFBuf[(i/8)-1]=k;
  89   3                              if(i==8)if(RFBuf[0]!=RFADDRESS)return 0;
  90   3                              if(i==16)if((RFBuf[1]&0x0f)!=THIS)return 0;
  91   3                              if(i==(RFSENDLEN*8)){
  92   4                                      k=0;
  93   4                                      for(j=0;j<RFSENDLEN;j++)k+=RFBuf[j];
  94   4                                      if(k)return 0;
  95   4                                      nSendAdd=RFBuf[1]>>4;
  96   4                                      return 1;
  97   4                              }
  98   3                      }
  99   2              }
 100   1              return 0;
 101   1      }
 102          //------------------------------------------------------
C51 COMPILER V7.06   RF315MHZ                                                              03/03/2006 09:11:59 PAGE 3   

ASSEMBLY LISTING OF GENERATED OBJECT CODE


             ; FUNCTION GetBit (BEGIN)
                                           ; SOURCE LINE # 46
                                           ; SOURCE LINE # 47
0000 D297              SETB    RFRX
                                           ; SOURCE LINE # 48
0002 309703            JNB     RFRX,?C0001
0005 7FFF              MOV     R7,#0FFH
0007 22                RET     
0008         ?C0001:
                                           ; SOURCE LINE # 50
0008 758C48            MOV     TH0,#048H
                                           ; SOURCE LINE # 51
000B E4                CLR     A
000C F500        R     MOV     nCodeLen,A
                                           ; SOURCE LINE # 52
000E D28E              SETB    TR1
0010         ?C0003:
                                           ; SOURCE LINE # 53
0010 209709            JB      RFRX,?C0004
                                           ; SOURCE LINE # 54
0013 E500        R     MOV     A,nCodeLen
0015 D3                SETB    C
0016 9406              SUBB    A,#06H
0018 40F6              JC      ?C0003
                                           ; SOURCE LINE # 55
                                           ; SOURCE LINE # 56
001A 801E              SJMP    ?C0031
                                           ; SOURCE LINE # 57
                                           ; SOURCE LINE # 58
001C         ?C0004:
                                           ; SOURCE LINE # 59
001C C28E              CLR     TR1
                                           ; SOURCE LINE # 60
001E E500        R     MOV     A,nCodeLen
0020 C3                CLR     C
0021 9401              SUBB    A,#01H
0023 5003              JNC     ?C0006
0025 7FFF              MOV     R7,#0FFH
0027 22                RET     
0028         ?C0006:
                                           ; SOURCE LINE # 62
0028 758C48            MOV     TH0,#048H
                                           ; SOURCE LINE # 63
002B E4                CLR     A
002C F500        R     MOV     nCodeLen,A
                                           ; SOURCE LINE # 64
002E D28E              SETB    TR1
0030         ?C0007:
                                           ; SOURCE LINE # 65
0030 30970C            JNB     RFRX,?C0008
                                           ; SOURCE LINE # 66
0033 E500        R     MOV     A,nCodeLen
0035 D3                SETB    C
0036 9414              SUBB    A,#014H
0038 40F6              JC      ?C0007
                                           ; SOURCE LINE # 67
003A         ?C0031:
003A C28E              CLR     TR1
                                           ; SOURCE LINE # 68
C51 COMPILER V7.06   RF315MHZ                                                              03/03/2006 09:11:59 PAGE 4   

003C 7FFF              MOV     R7,#0FFH
003E 22                RET     
                                           ; SOURCE LINE # 69
                                           ; SOURCE LINE # 70
003F         ?C0008:
                                           ; SOURCE LINE # 71
003F C28E              CLR     TR1
                                           ; SOURCE LINE # 72
0041 E500        R     MOV     A,nCodeLen
0043 C3                CLR     C

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -