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

📄 fm24c16a.lst

📁 一个分选系统的软件:用SmallRtos操作系统
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.06   FM24C16A                                                              06/06/2005 16:32:37 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE FM24C16A
OBJECT MODULE PLACED IN .\output\FM24C16A.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE FM24C16A.C OPTIMIZE(6,SPEED) BROWSE ORDER DEBUG OBJECTEXTEND PRINT(.\output
                    -\FM24C16A.lst) OBJECT(.\output\FM24C16A.obj)

stmt level    source

   1          #include "config.h"
   2          bdata unsigned char aba;
   3          sbit abita0=aba^0;sbit abita1=aba^1;sbit abita2=aba^2;sbit abita3=aba^3;
   4          sbit abita4=aba^4;sbit abita5=aba^5;sbit abita6=aba^6;sbit abita7=aba^7;
   5          sbit FMSCLA = P0^5;
   6          sbit FMSDAA = P0^4;
   7          /***************************************************/
   8          //void load_work_step_infomation_from_fm(unsigned char work_step)
   9          //{
  10          //    current_ws_type    = read_f24c16_byte(FM_WORK_STEP_INFO_BASE+4+work_step*7+0);
  11          //    current_ws_current = read_f24c16_int (FM_WORK_STEP_INFO_BASE+4+work_step*7+1);
  12          //    current_ws_voltage = read_f24c16_int (FM_WORK_STEP_INFO_BASE+4+work_step*7+3);
  13          //    current_ws_minute  = read_f24c16_int (FM_WORK_STEP_INFO_BASE+4+work_step*7+5);
  14          //}
  15          
  16          void I_delayA(void)
  17          {
  18   1          _nop_();    _nop_();    _nop_();    _nop_();    _nop_();
  19   1          _nop_();    _nop_();    _nop_();    _nop_();    _nop_();
  20   1      //    _nop_();    _nop_();    _nop_();    _nop_();    _nop_();
  21   1      //    _nop_();    _nop_();    _nop_();    _nop_();    _nop_();
  22   1      }
  23          void I_delaylA(void)
  24          {
  25   1          _nop_();    _nop_();    _nop_();    _nop_();    _nop_();
  26   1          _nop_();    _nop_();    _nop_();    _nop_();    _nop_();
  27   1          _nop_();    _nop_();    _nop_();    _nop_();    _nop_();
  28   1          _nop_();    _nop_();    _nop_();    _nop_();    _nop_();
  29   1      
  30   1      //    _nop_();    _nop_();    _nop_();    _nop_();    _nop_();
  31   1      //    _nop_();    _nop_();    _nop_();    _nop_();    _nop_();
  32   1      //    _nop_();    _nop_();    _nop_();    _nop_();    _nop_();
  33   1      //    _nop_();    _nop_();    _nop_();    _nop_();    _nop_();
  34   1      
  35   1      }
  36          /************************************************************
  37          *函数原型:void I_start(void);                     *
  38          * 功能:    提供I2C总线工作时序中的起始位。                 *
  39          ************************************************************/
  40          void I_startA(void)
  41          {
  42   1          FMSCLA = HIGH;I_delaylA();
  43   1          FMSDAA = LOW;I_delayA();
  44   1          FMSCLA = LOW;I_delayA();
  45   1      }
  46          /************************************************************
  47          *函数原型:void function I_stop(void);                      *
  48          * 功能:    提供I2C总线工作时序中的停止位。                 *
  49          ************************************************************/
  50          void I_stopA(void)
  51          {
  52   1          FMSDAA = LOW;I_delayA();
  53   1          FMSCLA = HIGH;I_delaylA();
  54   1          FMSDAA = HIGH;I_delayA();
C51 COMPILER V7.06   FM24C16A                                                              06/06/2005 16:32:37 PAGE 2   

  55   1          FMSCLA = LOW;I_delayA();
  56   1      }
  57          /**************************************************************/
  58          /*函数原型:void function I_init(void);                        *
  59          * 功能:    I2C总线初始化。在MAIN()函数中应首先调用本函数,  *
  60          *  然后再调用其它函数。                                       */
  61          /********************************** ****************************/
  62          void I_initA(void)
  63          {
  64   1          FMSCLA = LOW;I_delayA();
  65   1          I_stopA();I_delayA();
  66   1      }
  67          /*********************************************************************************************************
             -*************/
  68          /*函数原型:bit void function I_clock(void);
  69          *  功能:    提供I2C总线的时钟信号,并返回在时钟电平为高期间FMSDAA信号线上状态。本函数可用于数据发送,也可
             -用于数据接收。*/
  70          /*********************************************************************************************************
             -************/
  71          bit I_clockA(void)
  72          {
  73   1          bit sample;
  74   1          FMSCLA = HIGH;I_delaylA();
  75   1          sample = FMSDAA;I_delayA();
  76   1          FMSCLA = LOW;I_delayA();
  77   1          return (sample);
  78   1      }
  79          /*********************************************************************************************************
             -****/
  80          /*函数原型:bit void function I_send(unsigned char I_data);
  81          *  功能:    向I2C总线发送8位数据,并请求一个应答信号ACK。如果收到ACK应答则返回1(TRUE),否则返回0(FALSE
             -)。*
  82          /*********************************************************************************************************
             -****/
  83          bit I_sendA(unsigned char  I_data)
  84          {
  85   1          aba = I_data;
  86   1          FMSDAA = abita7;;FMSCLA = HIGH;I_delaylA();FMSCLA = LOW;I_delayA();
  87   1          FMSDAA = abita6;;FMSCLA = HIGH;I_delaylA();FMSCLA = LOW;I_delayA();
  88   1          FMSDAA = abita5;;FMSCLA = HIGH;I_delaylA();FMSCLA = LOW;I_delayA();
  89   1          FMSDAA = abita4;;FMSCLA = HIGH;I_delaylA();FMSCLA = LOW;I_delayA();
  90   1          FMSDAA = abita3;;FMSCLA = HIGH;I_delaylA();FMSCLA = LOW;I_delayA();
  91   1          FMSDAA = abita2;;FMSCLA = HIGH;I_delaylA();FMSCLA = LOW;I_delayA();
  92   1          FMSDAA = abita1;;FMSCLA = HIGH;I_delaylA();FMSCLA = LOW;I_delayA();
  93   1          FMSDAA = abita0;;FMSCLA = HIGH;I_delaylA();FMSCLA = LOW;I_delayA();
  94   1          FMSDAA = HIGH;I_delayA();
  95   1          return(~I_clockA());
  96   1      }
  97          /********************************************************************/
  98          /*函数原型:unsigned char function I_receive(void);                          *
  99          *功能:    从I2C总线接收8位数据,并将接收到8位数据作为一个字节返回,*
 100          *不回送应答信号ACK。主函数在调用本函数之前应保证FMSDAA信号线个于浮置状 *
 101          *态,即使8051的P1.7脚置1.                                           */
 102          /********************************************************************/
 103          unsigned char I_receiveA(void)
 104          {
 105   1          FMSCLA = HIGH;I_delaylA();abita7 = FMSDAA;FMSCLA = LOW;I_delayA();
 106   1          FMSCLA = HIGH;I_delaylA();abita6 = FMSDAA;FMSCLA = LOW;I_delayA();
 107   1          FMSCLA = HIGH;I_delaylA();abita5 = FMSDAA;FMSCLA = LOW;I_delayA();
 108   1          FMSCLA = HIGH;I_delaylA();abita4 = FMSDAA;FMSCLA = LOW;I_delayA();
 109   1          FMSCLA = HIGH;I_delaylA();abita3 = FMSDAA;FMSCLA = LOW;I_delayA();
 110   1          FMSCLA = HIGH;I_delaylA();abita2 = FMSDAA;FMSCLA = LOW;I_delayA();
C51 COMPILER V7.06   FM24C16A                                                              06/06/2005 16:32:37 PAGE 3   

 111   1          FMSCLA = HIGH;I_delaylA();abita1 = FMSDAA;FMSCLA = LOW;I_delayA();
 112   1          FMSCLA = HIGH;I_delaylA();abita0 = FMSDAA;FMSCLA = LOW;I_delayA();
 113   1          return (aba);
 114   1      }
 115          /******************************************************************/
 116          /******************************************************************/
 117          /*函数原型:void function I_ack(void);                            *
 118            功能:    向I2C总线发送一个应答案信号ACK,一般用于连续数据读取时.*/
 119          /******************************************************************/
 120          /*void function I_Ack(void)
 121          {
 122              FMSDAA = LOW;

⌨️ 快捷键说明

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