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

📄 x5045v1.lst

📁 51单片机C语言程序——看门狗X25045
💻 LST
字号:
C51 COMPILER V7.50   X5045V1                                                               10/01/2005 13:34:26 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE X5045V1
OBJECT MODULE PLACED IN X5045v1.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\c51.exe X5045v1.c DB OE SMALL ROM(LARGE)

line level    source

   1          /****************************************************************/
   2          /*功能:                       
   3          /*版本:v1.0                           
   4          /*设计人:              
   5          /*编写日期:
   6          /*最后修改日期:                           
   7          /*状态:in test                                          
   8          /****************************************************************/
   9          /*头文件定义*/
  10          #include <reg51.h>
  11          #include <intrins.h>
  12          /*预定义部分*/
  13          #define uchar unsigned char
  14          #define uint  unsigned int
  15          #define pagenum 16
  16          sbit XCS=P1^0;
  17          sbit XSI=P1^1;
  18          sbit XSCK=P1^2;
  19          sbit XSO=P1^3;
  20          uchar tmp;
  21          uchar pagedata[16]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,
  22                              0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f};
  23          /*函数声明部分*/
  24          void    write_byte(uchar byte);
  25          uchar   read_byte();
  26          void    write_en();
  27          uchar   read_status();
  28          void    write_one_data(uchar dat);
  29          uchar   read_one_data();
  30          void    write_page(uchar *page);
  31          uchar   *read_page();                
  32          /*主函数部分*/
  33          /*********************************************************************/
  34          /*函数名:main()
  35          /*功能:主函数
  36          /*输入参数:无
  37          /*返回值:无
  38          /*编写日期:
  39          /*最后修改日期:
  40          /********************************************************************/ 
  41          void main()                          
  42          {
  43   1      uchar dat,status;
  44   1      uint i=1000,j=100;
  45   1      P1=0xff;
  46   1      XCS=0;XSI=0;XSCK=0;XSO=0;
  47   1      write_en();
  48   1      status=read_status();
  49   1      write_en();
  50   1      write_one_data(0xff);
  51   1      /*
  52   1      while(i--)
  53   1              {
  54   1              j=100;
  55   1              while(j--);
C51 COMPILER V7.50   X5045V1                                                               10/01/2005 13:34:26 PAGE 2   

  56   1              }
  57   1      */
  58   1      //欲在写入后马上观察写入数据的正确性,可通过单步或加入较长时间的延时
  59   1      dat=read_one_data();
  60   1      //write_page(pagedata);
  61   1      while(1);
  62   1      }
  63          
  64          /*其他函数定义部分*/
  65          /*********************************************************************/
  66          /*函数名:
  67          /*功能:
  68          /*输入参数:
  69          /*返回值:
  70          /*调用函数:
  71          /*被调用函数:
  72          /*编写日期:
  73          /*最后修改日期:
  74          /********************************************************************/ 
  75          void    write_byte(uchar byte)
  76          {
  77   1      uchar i=0;
  78   1      for(i=0;i<8;i++)
  79   1         {
  80   2            XSCK=0;
  81   2            tmp=byte&0x80;
  82   2            if(tmp!=0)
  83   2               XSI=1;
  84   2            else
  85   2               XSI=0;
  86   2            XSCK=1;
  87   2            _nop_();
  88   2            byte<<=1;
  89   2         }
  90   1      }
  91          /*********************************************************************/
  92          /*函数名:
  93          /*功能:
  94          /*输入参数:
  95          /*返回值:
  96          /*调用函数:
  97          /*被调用函数:
  98          /*编写日期:
  99          /*最后修改日期:
 100          /********************************************************************/ 
 101          uchar   read_byte()
 102          {
 103   1      uchar i;
 104   1      uchar byte=0;
 105   1      for(i=0;i<8;i++)
 106   1         {
 107   2            byte<<=1;
 108   2            XSCK=0;
 109   2            _nop_();
 110   2            if(XSO==1)
 111   2               byte+=1;
 112   2            XSCK=1;
 113   2         }
 114   1      XSCK=0;
 115   1      return(byte);
 116   1      }
 117          /*********************************************************************/
C51 COMPILER V7.50   X5045V1                                                               10/01/2005 13:34:26 PAGE 3   

 118          /*函数名:
 119          /*功能:
 120          /*输入参数:
 121          /*返回值:
 122          /*调用函数:
 123          /*被调用函数:
 124          /*编写日期:
 125          /*最后修改日期:
 126          /********************************************************************/ 
 127          void    write_en()
 128          {
 129   1      XCS=0;
 130   1      write_byte(0x06);
 131   1      XCS=1;
 132   1      }
 133          /*********************************************************************/
 134          /*函数名:
 135          /*功能:
 136          /*输入参数:
 137          /*返回值:
 138          /*调用函数:
 139          /*被调用函数:
 140          /*编写日期:
 141          /*最后修改日期:
 142          /********************************************************************/ 
 143          void    write_one_data(uchar dat)
 144          {
 145   1      XSCK=0;XCS=0;
 146   1      write_byte(0x02);
 147   1      write_byte(0x00);
 148   1      write_byte(dat);
 149   1      XCS=1;
 150   1      }
 151          /*********************************************************************/
 152          /*函数名:
 153          /*功能:
 154          /*输入参数:
 155          /*返回值:
 156          /*调用函数:
 157          /*被调用函数:
 158          /*编写日期:
 159          /*最后修改日期:
 160          /********************************************************************/ 
 161          uchar   read_one_data()
 162          {
 163   1      uchar dat;
 164   1      XSCK=0;XCS=0;
 165   1      write_byte(0x03);
 166   1      write_byte(0x00);
 167   1      dat=read_byte();
 168   1      XCS=1;
 169   1      return(dat);
 170   1      }
 171          /*********************************************************************/
 172          /*函数名:
 173          /*功能:
 174          /*输入参数:
 175          /*返回值:
 176          /*调用函数:
 177          /*被调用函数:
 178          /*编写日期:
 179          /*最后修改日期:
C51 COMPILER V7.50   X5045V1                                                               10/01/2005 13:34:26 PAGE 4   

 180          /********************************************************************/ 
 181          uchar   read_status()
 182          {
 183   1      uchar status;
 184   1      XCS=0;
 185   1      write_byte(0x05);
 186   1      status=read_byte();
 187   1      XCS=1;
 188   1      return(status);
 189   1      }
 190          /********************END********************/


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    165    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     17       6
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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