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

📄 x5045.lst

📁 一整套电梯控制器源程序
💻 LST
字号:
C51 COMPILER V6.12  X5045                                                                  06/02/2005 08:50:15 PAGE 1   


C51 COMPILER V6.12, COMPILATION OF MODULE X5045
OBJECT MODULE PLACED IN .\X5045.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE .\X5045.C DEBUG OBJECTEXTEND

stmt level    source

   1          #include "public.h"
   2          
   3          /*
   4          //写使能子程序
   5          void wren_cmd(void)
   6          {
   7           uchar aa;
   8           SCK=0;         // Bring SCK low 
   9           CS=0;          // Bring /CS low 
  10           aa=WREN_INST;
  11           inbyte(aa);    // Send WREN instruction 
  12           SCK=0;         // Bring SCK low 
  13           CS=1;          // Bring /CS high 
  14          }
  15          
  16          
  17          //写使能复位子程序
  18          void wrdi_cmd(void)
  19          {
  20           uchar aa;
  21           SCK=0;         // Bring SCK low 
  22           CS=0;          // Bring /CS low 
  23           aa=WRDI_INST;
  24           inbyte(aa);    // Send WRDI instruction 
  25           SCK=0;         // Bring SCK low 
  26           CS=1;          // Bring /CS high 
  27          }
  28          
  29          
  30          //写状态寄存器子程序
  31          void wrsr_cmd(void)
  32          {
  33           uchar aa;
  34           SCK=0;         // Bring SCK low 
  35           CS=0;          // Bring /CS low 
  36           aa=WRSR_INST;
  37           inbyte(aa);    // Send WRSR instruction 
  38           aa=STATUS_REG;
  39           inbyte(aa);    // Send status register 
  40           SCK=0;         // Bring SCK low 
  41           CS=1;          // Bring /CS high 
  42           wip_poll();    // Poll for completion of write cycle 
  43          }
  44          
  45          
  46          //读状态寄存器,读出的数据放入到aa中
  47          uchar rdsr_cmd (void)
  48          {
  49           uchar aa;
  50           SCK=0;
  51           CS=0;
  52           aa=RDSR_INST;
  53           inbyte(aa);
  54           aa=outbyte();
  55           SCK=0;
C51 COMPILER V6.12  X5045                                                                  06/02/2005 08:50:15 PAGE 2   

  56           CS=1;
  57           return aa;
  58          }
  59          
  60          
  61          //字节写入,aa为写入的数据,dd为写入的地址,对于25045而言为000-1FF
  62          void byte_write(aa,dd)
  63          uchar aa;
  64          uint dd;
  65          {
  66           SCK=0;
  67           CS=0;
  68           inbyte((((uchar)(dd-0XFF))<<3)|WRITE_INST);// Send WRITE instruction including MSB of address 
  69           //将高位地址左移3位与写入先导字相或,得到正确的先导字写入5045
  70           inbyte((uchar)(dd));
  71           //输出低位地址到5045
  72           inbyte(aa);
  73           //写入数据到5045的对应单元
  74           SCK=0;
  75           CS=1;
  76           wip_poll();
  77           //检测是否写完
  78          }
  79          
  80          
  81          
  82          //字节读出,其中dd为读出的地址,返回的值为读出的数据
  83          uchar byte_read(dd)
  84          uint dd;
  85          {
  86           uchar cc;
  87           SCK=0;
  88           CS=0;
  89           inbyte((((uchar)(dd-0XFF))<<3)|READ_INST);// Send READ_INST instruction including MSB of address 
  90           //将高位地址左移3位与读出先导字相或,得到正确的先导字写入5045
  91           inbyte((uchar)(dd));
  92           //输出低位地址到5045
  93           cc=outbyte();//得到读出的数据
  94           SCK=0;
  95           CS=1;
  96           return cc;
  97          }
  98          
  99          
 100          
 101          //页面写入,其中aa1,aa2,aa3,aa4为需要写入的4个数据(最大也就只能一次写入4个字,dd为写入的首地址
 102          void page_write(aa1,aa2,aa3,aa4,dd)
 103          uchar aa1,aa2,aa3,aa4;
 104          uint dd;
 105          {
 106           SCK=0;
 107           CS=0;
 108           inbyte((((uchar)(dd-0XFF))<<3)|WRITE_INST);// Send WRITE instruction including MSB of address 
 109           //将高位地址左移3位与写入先导字相或,得到正确的先导字写入5045
 110           inbyte((uchar)(dd));
 111           //写入低位地址到5045
 112           inbyte(aa1);
 113           //写入数据1到5045的对应单元
 114           inbyte(aa2);
 115           //写入数据2到5045的对应单元
 116           inbyte(aa3);
 117           //写入数据3到5045的对应单元
C51 COMPILER V6.12  X5045                                                                  06/02/2005 08:50:15 PAGE 3   

 118           inbyte(aa4);
 119           //写入数据4到5045的对应单元
 120           SCK=0;
 121           CS=1;
 122           wip_poll();
 123          }
 124          
 125          
 126          
 127          //连续读出,由于函数的返回值只能为1个,对于连续读出的数据只能使用指针作为函数的返回值才能做到返回一系列的数

⌨️ 快捷键说明

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