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

📄 application.lst

📁 一本关于控制系统仿真的书的程序 1、文件夹1中的程序是书中的一些仿真。 2、文件2中的是最近做的预测控制、PID控制及逻辑控制的对比综合研究。 3、文件夹3中是与maltab通信的数据采集板的设
💻 LST
字号:
C51 COMPILER V7.06   APPLICATION                                                           10/15/2007 20:16:02 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE APPLICATION
OBJECT MODULE PLACED IN application.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE application.c DEBUG OBJECTEXTEND

stmt level    source

   1          
   2          #include "fx2.h"
   3          #include "fx2regs.h"
   4          #include "application.h"
   5          #include "syncdly.h" 
   6          #include "isr.h" 
   7          
   8          #define GPIFTRIGRD 4
   9          /*******************************************************************
  10           函数功能:DA传送数据,10位精度。
  11           入口参数:dac_data8位数据。
  12           出口参数:无
  13           说明:
  14          *******************************************************/
  15          
  16          void DAC_5618(unsigned char dac_dataH,unsigned char dac_dataL,unsigned char dac_channel)
  17          {     
  18   1           unsigned char TempL,TempH;
  19   1               if(dac_channel==0x01)   //使用通道A。(即out0)
  20   1                  {
  21   2                   nCS = 1;
  22   2                   TempH=0xc0; //模式调整
  23   2                   TempL=0x00;
  24   2                   TempH|=(dac_dataH<<2)|(dac_dataL>>6);
  25   2                    TempL|=(dac_dataL<<2);
  26   2                   nCS = 0;
  27   2                   SPI_Transmit(TempH);
  28   2                   SPI_Transmit(TempL);
  29   2                   nCS = 1;
  30   2                      }
  31   1               else if (dac_channel==0x02) //使用通道B。(即out1)
  32   1                 {
  33   2                   nCS = 1;
  34   2                   TempH=0x40;
  35   2                   TempL=0x00;
  36   2                    TempH|=(dac_dataH<<2)|(dac_dataL>>6);
  37   2                   TempL|=(dac_dataL<<2);
  38   2                   nCS = 0;
  39   2                   SPI_Transmit(TempH);
  40   2                   SPI_Transmit(TempL);
  41   2                   nCS = 1;
  42   2                 }
  43   1               
  44   1              else  
  45   1               { 
  46   2                 // asm("NOP");
  47   2                }
  48   1      }
  49          //*****************************************************************/
  50          //初始化spi
  51          void SPI_Transmit(unsigned char dac_data)
  52          {        
  53   1         unsigned char i;
  54   1        
  55   1          for(i=0;i<8;i++)
C51 COMPILER V7.06   APPLICATION                                                           10/15/2007 20:16:02 PAGE 2   

  56   1          {
  57   2             SCK = 1;
  58   2                 if(dac_data&0x80) 
  59   2                          DIN=1;
  60   2              else      
  61   2                          DIN=0;
  62   2              SCK=0;
  63   2              dac_data<<=1;
  64   2           }
  65   1          SCK = 1;//
  66   1      }
  67          //******************************************************
  68          //******************************************************
  69          void Peripheral_SingleWordRead( WORD xdata *gdata )
  70             { 
  71   1           BYTE g_data = 0x00;
  72   1           while( !( GPIFTRIG & 0x80 ) ) 
  73   1               {
  74   2                }
  75   1           g_data = XGPIFSGLDATLX; // trigger GPIF
  76   1           while( !( GPIFTRIG & 0x80 ) ) // poll GPIFTRIG.7 Done bit
  77   1               {
  78   2                  ;
  79   2                }
  80   1           *gdata = ( ( WORD )XGPIFSGLDATH << 8 ) | ( WORD )XGPIFSGLDATLNOX;
  81   1          }
  82          //*****************************************************
  83          // write single word to PERIPHERAL, using GPIF
  84          //*****************************************************
  85          void Peripheral_SingleWordWrite( WORD gdata )
  86              {
  87   1              while( !( GPIFTRIG & 0x80 ) ) // poll GPIFTRIG.7 Done bit
  88   1                  {
  89   2                     ;
  90   2                  }
  91   1      
  92   1             XGPIFSGLDATH = gdata >> 8;
  93   1             XGPIFSGLDATLX = gdata; // trigger GPIF
  94   1      
  95   1           }
  96          //--------------------------------------------------------------
  97          // read(s) from PERIPHERAL, using GPIF and EPxFIFO
  98          //--------------------------------------------------------------
  99          void Peripheral_FIFORead( BYTE FIFO_EpNum )
 100          {
 101   1            GPIFTRIG = GPIFTRIGRD | FIFO_EpNum; // launch GPIF FIFO READ Transaction to EP6 FIFO
 102   1            SYNCDELAY;
 103   1            while( !( GPIFTRIG & 0x80 ) )     // poll GPIFTRIG.7 GPIF Done bit
 104   1                {
 105   2                  ;
 106   2                }
 107   1          
 108   1                    SYNCDELAY;
 109   1      // for EPx read(s)
 110   1      }
 111          //--------------------------------------------------------------
 112          // Set GPIF Transaction Count
 113          //--------------------------------------------------------------
 114          void Peripheral_SetGPIFTC( WORD xfrcnt)
 115          {
 116   1      GPIFTCB1 = xfrcnt >> 8; // setup transaction count
 117   1      SYNCDELAY;
C51 COMPILER V7.06   APPLICATION                                                           10/15/2007 20:16:02 PAGE 3   

 118   1      GPIFTCB0 = ( BYTE )xfrcnt;
 119   1      }
 120          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    194    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       5
   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 + -