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

📄 eepromprc.lst

📁 电磁流量计的源程序。将流体流量用电磁转换方式变换成弱电信号
💻 LST
字号:
C51 COMPILER V6.02  EEPROMPRC                                                              09/10/2005 17:11:40 PAGE 1   


C51 COMPILER V6.02, COMPILATION OF MODULE EEPROMPRC
OBJECT MODULE PLACED IN D:\2005_09\eepromprc.OBJ
COMPILER INVOKED BY: D:\C51\BIN\C51.EXE D:\2005_09\eepromprc.c SMALL DB OE CO OT(SIZE) 

stmt level    source

   1          /*******************************************************************/
   2          /*********                      A8 = 0             *****************/
   3          /**   mo ren de system mi ma (system_code) ADDRESS 0x0a -0x0d     **/
   4          /**   yong hu shezhi de dp_point weizhi    ADDRESS 0x0e           **/
   5          /**   xianzhai zhixiang page1 de zhizheng  wei zhi  ADDRESS 0x10  **/
   6          /**   bao jin shang xian (up_alarm_data)   ADDRESS 0x12 - 0x14    **/
   7          /**   bao jin xia xian (down_alarm_data)   ADDRESS 0x15 - 0x16    **/
   8          /**   liang cheng fan wei()                ADDRESS 0x18 - 0x1b    **/
   9          /**   lu bo zhi su (filter_data)           ADDRESS 0x1c           **/
  10          /**   xiao liu liang xin hao(cut_data)     ADDRESS 0x1d           **/
  11          /**   system_lchen                         ADDRESS 0x20-0x23      **/
  12          /**   system_dp                            ADDRESS 0x24           **/
  13          /**   system_gain                          ADDRESS 0x25           **/
  14          /**   pulse danliang                       ADDRESS 0x26--0x29     **/
  15          /**   pulse danliang dp                    ADDRESS 0x2a           **/
  16          /**   sensor_k                             ADDRESS 0x30--0x33     **/
  17          /**   sensor_dp                            ADDRESS 0x34           **/
  18          /**   da_offset                            ADDRESS 0x35--0x37     **/
  19          /**   zero_offset                          ADDRESS 0x38--0x3c     **/
  20          /**   zero_symbol                          ADDRESS 0x38           **/
  21          /**   zero_dp                              ADDRESS 0x3d           **/
  22          /*************                 A8 = 1                     **********/
  23          /**   zhen xiang lei ji liu liang     ADDRESS 0x10 (kaishi)-0x13  **/
  24          /**   fan xiang lei ji liu liang      ADDRESS 0x14-0x17           **/
  25          /**   jing lei ji liu liang           ADDRESS 0x18-0x1b           **/
  26          /*******************************************************************/ 
  27          #include "reg52.h"
  28          #include "typedef.h"
  29          #include "function.h"
  30          #include "define.h"
  31          #include "varible.h"
  32          sbit CS = P1^0 ;
  33          sbit SO = P1^2 ;
  34          sbit SK = P1^1 ;
  35          sbit SI = P1^2 ;
  36          
  37          
  38          
  39          /*********************************/
  40          
  41           unsigned char Read(void);
  42          void Write(unsigned char cdata);
  43           unsigned char ReadSR(void);
  44          //unsigned char WriteSR(unsigned char cdata);
  45          void Write1B(unsigned char cdata,unsigned char ADDRESS,bit PAGE);
  46           unsigned char Read1B(unsigned char ADDRESS, bit PAGE);
  47          unsigned char Code_check(void);
  48          void X25043_init(void);
  49          void Save_dp_point(unsigned char addr);
  50          void Set_watchdog_time(unsigned char time);
  51          
  52          //void Delay_2us(void);
  53          /*********************************/
  54          /*********************************/
  55          
C51 COMPILER V6.02  EEPROMPRC                                                              09/10/2005 17:11:40 PAGE 2   

  56          unsigned char Read(void)
  57          {
  58   1        bit b_data;
  59   1        unsigned char i;
  60   1        unsigned char cdata;
  61   1        cdata = 0x00;
  62   1        SO = 1 ;
  63   1      for(i=0;i<8;i++)
  64   1      	{
  65   2         
  66   2      	    SK = 1 ;
  67   2      //	    Delay_2us();
  68   2              SK = 0 ;
  69   2      //        Delay_2us();
  70   2               ;
  71   2              b_data = SO ;
  72   2              if(b_data)
  73   2                 cdata |= 0x01 ;
  74   2              if(i<7)
  75   2      		   cdata <<= 1;
  76   2          }
  77   1      return(cdata);
  78   1      }
  79          
  80          
  81          /*********************************/
  82          /*********************************/
  83          
  84          void Write( unsigned char cdata)
  85          {
  86   1       unsigned char i ;
  87   1       //Delay_2us();
  88   1       for(i=0;i<8;i++)
  89   1        {  if((cdata &0x80) == 0)
  90   2              SI = 0;
  91   2          else 
  92   2              SI = 1 ;
  93   2       //   Delay_2us();
  94   2          SK = 0;
  95   2          ;
  96   2       //   Delay_2us();
  97   2          SK = 1 ;
  98   2       //   Delay_2us();
  99   2          cdata <<= 1;
 100   2        }
 101   1       
 102   1      }
 103          
 104          
 105          /*********************************/
 106          /*********************************/
 107          
 108          unsigned char ReadSR(void)
 109          {
 110   1        unsigned char cdata ;
 111   1       CS = 0 ;
 112   1       Write(RDSR) ;
 113   1       cdata = Read();
 114   1       CS = 1 ;
 115   1       return(cdata);
 116   1      }
 117          
C51 COMPILER V6.02  EEPROMPRC                                                              09/10/2005 17:11:40 PAGE 3   

 118          
 119          /*********************************/
 120          /*********************************/
 121          /*
 122          unsigned char WriteSR(unsigned char cdata)
 123          {
 124          	unsigned char ctemp;
 125                  ctemp = ReadSR();
 126                  if((ctemp&0x01) == 1 )       //is writing now 
 127                      return 0;
 128                  CS = 0 ;
 129                  Write(WREN);
 130                  CS = 1 ;
 131                  CS = 0 ;
 132                  Write(WRSR);
 133                  Write(cdata);
 134                  CS = 1;
 135                  return 1 ;
 136          }
 137          */
 138          /*********************************/
 139          /*********************************/
 140          
 141          void Write1B( unsigned char cdata, unsigned char ADDRESS,bit PAGE)
 142          
 143          {
 144   1      	while((ReadSR()&0x01) == 1)    //if is writing now,then wait
 145   1                  {
 146   2                     ;
 147   2                  }
 148   1              CS = 0 ;
 149   1        //      Delay_2us();
 150   1              Write(WREN);
 151   1        //      Delay_2us();
 152   1              CS = 1;
 153   1        //      Delay_2us();
 154   1              CS = 0 ;
 155   1              if(PAGE == 0)
 156   1                  Write(WRITE0);
 157   1              else
 158   1                  Write(WRITE1);
 159   1              Write(ADDRESS);
 160   1              Write(cdata) ;
 161   1              CS = 1 ;
 162   1      
 163   1       }
 164          
 165          
 166          /*********************************/
 167          /*********************************/
 168          
 169          unsigned char Read1B(unsigned char ADDRESS, bit PAGE)
 170          {
 171   1          unsigned  char cdata ;
 172   1          while((ReadSR()&0x01) == 1)
 173   1                ;
 174   1           CS = 0 ;
 175   1          if( PAGE == 0)
 176   1             Write(READ0);
 177   1          else
 178   1             Write(READ1);
 179   1          Write(ADDRESS);
C51 COMPILER V6.02  EEPROMPRC                                                              09/10/2005 17:11:40 PAGE 4   

 180   1          cdata = Read();
 181   1          CS = 1 ;
 182   1      return(cdata);
 183   1      }
 184          
 185          
 186          /*********************************/
 187          /*********************************/
 188           void X25043_init(void)
 189           {
 190   1        CS = 1 ;
 191   1        SI =1;
 192   1        SK = 1 ;
 193   1       }
 194          
 195          /*********************************/
 196          /*********************************/
 197          
 198          /*********************************/
 199          /*********************************/
 200           unsigned char Code_check(void)
 201          {
 202   1           
 203   1           if((user_setdata.oneseg==Read1B(0x0d,0))&&(user_setdata.twoseg == Read1B(0x0c,0))
 204   1                     &&(user_setdata.thrseg == Read1B(0x0b,0))&&(user_setdata.fouseg == Read1B(0x0a,0)))
 205   1      		      				     
 206   1                    return 1;
 207   1      	 else 
 208   1      	          return 0;
 209   1      }
 210          
 211          /*******************************/
 212          /*******************************/
 213          
 214          void Save_dp_point(unsigned char addr)
 215          {
 216   1         Write1B(dp_point,addr,0);
 217   1         return;
 218   1      }
 219          
 220          
 221          /*******************************/
 222          /**** set watchdog time 200ms **/
 223          
 224          void Set_watchdog_time(unsigned char time)
 225          {
 226   1      	    while((ReadSR()&0x01) == 1)    //wait write operation over
 227   1                ;
 228   1              CS = 0 ;
 229   1              Write(WREN);
 230   1              CS = 1 ;
 231   1              CS = 0 ;
 232   1              Write(WRSR);
 233   1              Write(time);
 234   1              CS = 1;
 235   1             return;
 236   1      }
 237          /******************************/
 238          /***************************/
 239          /*void Delay_2us(void)
 240          
 241          
C51 COMPILER V6.02  EEPROMPRC                                                              09/10/2005 17:11:40 PAGE 5   

 242          {
 243          	unsigned char idata i;
 244          	for(i=0;i<2;i++)
 245          	 
 246          	  ;
 247          	  return;
 248          }	  */


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    273    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----       3
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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