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

📄 gpif.lst

📁 一个有关EZ-USB FX2 系列CY7C68013的应用实例
💻 LST
字号:
C51 COMPILER V7.10   GPIF                                                                  10/26/2005 09:28:04 PAGE 1   


C51 COMPILER V7.10, COMPILATION OF MODULE GPIF
OBJECT MODULE PLACED IN gpif.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE gpif.c BROWSE INCDIR(F:\Keil\C51\INC\Cypress\) DEBUG OBJECTEXTEND

line level    source

   1          //---------------------------------------------------------------------------//
   2          
   3          // GPIF Program Code for Single   
   4            
   5          // DO NOT EDIT ...                     
   6          const char xdata WaveData[128] =     
   7          {                                      
   8          // Wave 0 
   9          /* LenBr */ 0x02,     0x02,     0x01,     0x01,     0x01,     0xF0,     0x06,     0x07,
  10          /* Opcode*/ 0x00,     0x01,     0x00,     0x02,     0x02,     0x00,     0x00,     0x00,
  11          /* Output*/ 0x3F,     0x3F,     0x35,     0x35,     0x37,     0x37,     0x3E,     0x3F,
  12          /* LFun  */ 0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x3F,
  13          // Wave 1 
  14          /* LenBr */ 0x02,     0x09,     0x3F,     0x01,     0x01,     0x01,     0x01,     0x07,
  15          /* Opcode*/ 0x00,     0x00,     0x01,     0x00,     0x00,     0x00,     0x00,     0x00,
  16          /* Output*/ 0x3F,     0x3E,     0x3F,     0x3F,     0x3F,     0x3F,     0x3F,     0x3F,
  17          /* LFun  */ 0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x3F,
  18          // Wave 2 
  19          /* LenBr */ 0x02,     0x02,     0x03,     0x01,     0x01,     0x01,     0x01,     0x07,
  20          /* Opcode*/ 0x00,     0x00,     0x02,     0x02,     0x02,     0x02,     0x02,     0x00,
  21          /* Output*/ 0x3F,     0x35,     0x3F,     0x3F,     0x3F,     0x3F,     0x3F,     0x3F,
  22          /* LFun  */ 0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x3F,
  23          // Wave 3 
  24          /* LenBr */ 0x02,     0x01,     0x03,     0x02,     0x03,     0x05,     0x01,     0x07,
  25          /* Opcode*/ 0x00,     0x00,     0x02,     0x02,     0x00,     0x00,     0x00,     0x00,
  26          /* Output*/ 0x3F,     0x37,     0x33,     0x37,     0x3F,     0x3E,     0x3E,     0x3F,
  27          /* LFun  */ 0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x00,     0x3F,
  28          };                     
  29          // END DO NOT EDIT     
  30                                 
  31          // DO NOT EDIT ...                     
  32                               
  33          // END DO NOT EDIT     
  34                                 
  35          // DO NOT EDIT ...                                               
  36          const char data InitData[7] =                                   
  37          {                                                                
  38          /* Regs  */ 0xA0,0x00,0x00,0x3F,0x8E,0xE4,0x00     
  39          };                                                               
  40          // END DO NOT EDIT                                                                                        
             -       
  41                                                       
  42          // GPIF Program Code                          
  43                                                        
  44          // DO NOT EDIT ...                            
  45          #include "fx2.h"                            
  46          #include "fx2regs.h"                        
  47          #include "fx2sdly.h"     // SYNCDELAY macro 
  48          #include "gpif.h"
  49          // END DO NOT EDIT                            
  50                                                         
  51          //-------------------------------------------------------------------//                                   
             -                              
  52          // TO DO: You may add additional code below.
  53          
C51 COMPILER V7.10   GPIF                                                                  10/26/2005 09:28:04 PAGE 2   

  54          void GpifInit( void )
  55          { 
  56   1       
  57   1        IFCONFIG = 0x8E;
  58   1        // IFCLKSRC=1   , FIFOs executes on internal clk source
  59   1        // xMHz=1       , 48MHz internal clk rate
  60   1        // IFCLKOE=0    , Don't drive IFCLK pin signal at 48MHz
  61   1        // IFCLKPOL=0   , Don't invert IFCLK pin signal from internal clk
  62   1        // ASYNC=1      , master samples asynchronous
  63   1        // GSTATE=1     , Drive GPIF states out on PORTE[2:0], debug WF
  64   1        // IFCFG[1:0]=10, FX2 in GPIF master mode
  65   1       
  66   1        GPIFABORT = 0xFF;  // abort any waveforms pending
  67   1       
  68   1      // Configure GPIF Address pins, output initial value,
  69   1        PORTCCFG = 0xFF;    // [7:0] as alt. func. GPIFADR[7:0]
  70   1        OEC = 0xFF;         // and as outputs
  71   1        PORTECFG |= 0x80;   // [8] as alt. func. GPIFADR[8]
  72   1        OEE |= 0x80;        // and as output
  73   1       
  74   1      // ...OR... tri-state GPIFADR[8:0] pins
  75   1      //  PORTCCFG = 0x00;  // [7:0] as port I/O
  76   1      //  OEC = 0x00;       // and as inputs
  77   1      //  PORTECFG &= 0x7F; // [8] as port I/O
  78   1      //  OEE &= 0x7F;      // and as input
  79   1       
  80   1      // GPIF address pins update when GPIFADRH/L written
  81   1        SYNCDELAY;                    // 
  82   1        GPIFADRH = 0x00;    // bits[7:1] always 0
  83   1        SYNCDELAY;                    // 
  84   1        GPIFADRL = 0x00;    // point to PERIPHERAL address 0x0000
  85   1       
  86   1      // Configure GPIF FlowStates registers for Wave 0 of WaveData
  87   1      /*  FLOWSTATE = 0x00;//FlowStates[ 0 ];
  88   1        FLOWLOGIC = 0x00;//FlowStates[ 1 ];
  89   1        FLOWEQ0CTL = 0x00;//FlowStates[ 2 ];
  90   1        FLOWEQ1CTL = 0x00;//FlowStates[ 3 ];
  91   1        FLOWHOLDOFF = 0x00;//FlowStates[ 4 ];
  92   1        FLOWSTB = 0x00;//FlowStates[ 5 ];
  93   1        FLOWSTBEDGE = 0x00;//FlowStates[ 6 ];
  94   1        FLOWSTBHPERIOD = 0x00;//FlowStates[ 7 ];*/
  95   1      }
  96          
  97          
  98          void Peripheral_SetEP6GPIFTC( WORD xfrcnt )
  99          {
 100   1        SYNCDELAY;                    // 
 101   1        EP6GPIFTCH = xfrcnt >> 8;  // setup transaction count
 102   1        SYNCDELAY;                    // 
 103   1        EP6GPIFTCL = ( BYTE )xfrcnt;
 104   1      }
 105          
 106          
 107          
 108          void SetEP6GPIFPFSTOP( void )
 109          {
 110   1        EP6GPIFPFSTOP = 0x01;
 111   1      }
 112          void Peripheral_SingleWordWrite( WORD gdata )
 113          {
 114   1        while( !( GPIFTRIG & 0x80 ) )  // poll GPIFTRIG.7 Done bit
 115   1        {
C51 COMPILER V7.10   GPIF                                                                  10/26/2005 09:28:04 PAGE 3   

 116   2          ;
 117   2        }
 118   1      
 119   1      // using register(s) in XDATA space
 120   1        XGPIFSGLDATH = gdata >> 8;              
 121   1        XGPIFSGLDATLX = gdata;        // trigger GPIF 
 122   1                                      // ...single word write transaction
 123   1      }
 124          
 125          // read single word from PERIPHERAL, using GPIF
 126          void Peripheral_SingleWordRead( WORD xdata *gdata )
 127          {
 128   1        BYTE xdata g_data = 0x00;
 129   1      
 130   1        while( !( GPIFTRIG & 0x80 ) ) // poll GPIFTRIG.7 Done bit
 131   1        {
 132   2           ;
 133   2        }
 134   1      
 135   1      // using register(s) in XDATA space, dummy read
 136   1        g_data = XGPIFSGLDATLX;       // trigger GPIF 
 137   1                                      // ...single word read transaction
 138   1      
 139   1        while( !( GPIFTRIG & 0x80 ) ) // poll GPIFTRIG.7 Done bit
 140   1        {
 141   2           ;
 142   2        }
 143   1      
 144   1      // using register(s) in XDATA space, GPIF reads word from PERIPHERAL
 145   1        *gdata = ( ( WORD )XGPIFSGLDATH << 8 ) | ( WORD )XGPIFSGLDATLNOX;
 146   1      }
 147          #define GPIFTRIGRD 4
 148          
 149          #define GPIF_EP2 0
 150          #define GPIF_EP4 1
 151          #define GPIF_EP6 2
 152          #define GPIF_EP8 3
 153          
 154          void Peripheral_FIFORead( BYTE FIFO_EpNum )
 155          {
 156   1        while( !( GPIFTRIG & 0x80 ) ) // poll GPIFTRIG.7 GPIF Done bit
 157   1        {
 158   2           ;
 159   2        }
 160   1      
 161   1        // trigger FIFO read transaction(s), using SFR
 162   1        GPIFTRIG = GPIFTRIGRD | FIFO_EpNum; // R/W=1, EP[1:0]=FIFO_EpNum for EPx read(s)
 163   1      }
 164          //---------------------------------------------------------------------------//
 165          /*void GPIF_LOAD_SINGLE()//单通道
 166          {       
 167          }
 168          
 169          void GPIF_LOAD_DOUBLE()//双通道                                 
 170          {       
 171          }
 172          
 173          void GPIF_LOAD_TRI()   //三通道
 174          {
 175                  
 176          }
 177          void GPIF_LOAD_QUAD()   //四通道
C51 COMPILER V7.10   GPIF                                                                  10/26/2005 09:28:04 PAGE 4   

 178          {
 179          
 180          }
 181          void GPIF_LOAD_PWDW()   //AD 掉电模式
 182          {
 183                  Peripheral_SingleWordWrite(0x2000);//Set AD Power Down
 184          }*/


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