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

📄 isd1700.lst

📁 mc51单片机与isd1700芯片的通信程序
💻 LST
字号:
C51 COMPILER V7.20   ISD1700                                                               08/18/2008 13:56:54 PAGE 1   


C51 COMPILER V7.20, COMPILATION OF MODULE ISD1700
OBJECT MODULE PLACED IN isd1700.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE isd1700.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <reg51.h>
   2          #include "address.h"
   3          
   4          unsigned char chesr1( );
   5          void waitrdy( );
   6          void rdstatus( );
   7          unsigned char chesr0( );
   8          void clrint( );
   9          void powerup( );
  10          void stopp( );
  11          void chk_mem( );
  12          void fwd( );
  13          void dstop( );
  14          void gerase( );
  15          void rest( );
  16          void wr_apc(unsigned char a1,unsigned char a2);
  17          void delay10ms( );
  18          void delayms(unsigned char ts);
  19          unsigned char SPOI(unsigned char instr);
  20          
  21          unsigned char chesr1( )
  22          { 
  23   1              unsigned char sr1;
  24   1              rdstatus( );
  25   1              sr1=SPOI(0x05);
  26   1              sr1=SPOI(0x00);
  27   1              sr1=SPOI(0x00);
  28   1              return sr1;
  29   1      }       
  30          
  31          void waitrdy( )
  32          {
  33   1        bdata unsigned char resr;
  34   1              do
  35   1              {
  36   2              resr=chesr1( );
  37   2        }while(resr^0==0);
  38   1      } 
  39          
  40          
  41          void rdstatus( )
  42          {
  43   1       unsigned char resr;
  44   1       resr=SPOI(0x05);
  45   1       resr=SPOI(0x00);
  46   1       resr=SPOI(0x00);       
  47   1       SS=1;
  48   1      }        
  49          
  50          unsigned char chesr0( )
  51          { 
  52   1              unsigned char sr0;
  53   1              rdstatus( );
  54   1              sr0=SPOI(0x05);
  55   1              return sr0;
C51 COMPILER V7.20   ISD1700                                                               08/18/2008 13:56:54 PAGE 2   

  56   1      }       
  57          
  58          
  59          void clrint( )
  60          {
  61   1       unsigned char i;
  62   1       i=SPOI(0x04);
  63   1       i=SPOI(0x00);
  64   1       SS=1;
  65   1       delayms(10);
  66   1      }
  67          
  68          void powerup( )
  69          {
  70   1       unsigned char i;
  71   1       i=SPOI(0x01);
  72   1       i=SPOI(0x00);
  73   1       SS=1;
  74   1       delayms(10);
  75   1      }
  76          
  77          void stopp( )
  78          {
  79   1              unsigned char i;
  80   1              i=SPOI(0x02);
  81   1              i=SPOI(0x00);
  82   1              SS=1;
  83   1              delayms(10);
  84   1      }
  85          
  86          void chk_mem( )
  87          {
  88   1              unsigned char i;
  89   1              i=SPOI(0x49);
  90   1              i=SPOI(0x00);
  91   1              SS=1;
  92   1              delayms(10);
  93   1      }
  94          
  95          void fwd( )
  96          {
  97   1              unsigned char i;
  98   1              i=SPOI(0x48);
  99   1              i=SPOI(0x00);
 100   1              SS=1;
 101   1              delayms(10);
 102   1      }
 103          
 104          void dstop( )
 105          {
 106   1       unsigned char i;
 107   1       i=SPOI(0x07);
 108   1       i=SPOI(0x00);
 109   1       SS=1;
 110   1       delayms(10);
 111   1      }
 112          
 113          void gerase( )
 114          {
 115   1       unsigned char i;
 116   1       i=SPOI(0x43);
 117   1       i=SPOI(0x00);
C51 COMPILER V7.20   ISD1700                                                               08/18/2008 13:56:54 PAGE 3   

 118   1       SS=1;
 119   1       delayms(10);
 120   1      }
 121          
 122          void rest( )
 123          {
 124   1       unsigned char i;
 125   1       i=SPOI(0x03);
 126   1       i=SPOI(0x00);
 127   1       SS=1;
 128   1       delayms(10);
 129   1      }
 130          
 131          void wr_apc(unsigned char a1,unsigned char a2)
 132          {
 133   1       unsigned char i;
 134   1       i=SPOI(0x65);
 135   1       i=SPOI(a1);
 136   1       i=SPOI(a2);
 137   1       SS=1;
 138   1       delayms(10);
 139   1      }
 140          
 141          unsigned char SPOI(unsigned char instr)
 142          {
 143   1       unsigned char resta;
 144   1       unsigned char i,j;
 145   1       bit m;
 146   1       SCLK=1;
 147   1       SS=0;
 148   1       for(i=0;i<8;i++)
 149   1       {
 150   2        SCLK=0;
 151   2        for(j=0;j<2;j++)
 152   2        {
 153   3        }
 154   2       m=MISO;
 155   2       if(m==1)
 156   2       {
 157   3              resta=resta||0x01;
 158   3       }
 159   2       else resta=resta&&0xfe;
 160   2       resta=resta>>1;
 161   2       if((instr&&0x01)==0x01)
 162   2       {
 163   3              m=1;
 164   3       }
 165   2       else m=0;
 166   2       instr=instr>>1;
 167   2       MOSI=m;
 168   2       SCLK=1;        
 169   2       }
 170   1       MOSI=0;
 171   1       return resta;  
 172   1      }
 173          
 174          void delay10ms( )
 175          {
 176   1       TMOD=0x01;
 177   1       TH0=0xD8;
 178   1       TL0=0xf0;
 179   1       TR0=1;
C51 COMPILER V7.20   ISD1700                                                               08/18/2008 13:56:54 PAGE 4   

 180   1       do
 181   1       { 
 182   2       }while(TF0==0);
 183   1       TR0=0;
 184   1       TF0=0; 
 185   1      } 
 186          
 187          void delayms(unsigned char ts)
 188          {
 189   1       unsigned char j;
 190   1       for(j=0;j<ts;j++)
 191   1       {
 192   2              delay10ms( );
 193   2       }      
 194   1      }
 195          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    337    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      1       2
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----       1
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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