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

📄 gpif.lst

📁 本人自己编的usb数据采集固件,对四路信号进行采集
💻 LST
📖 第 1 页 / 共 5 页
字号:
              
              #define GPIFTRIGWR 0
              #define GPIFTRIGRD 4
              
              #define GPIF_EP2 0
C51 COMPILER V6.10  GPIF                           07/07/2005 13:31:07 PAGE 12  

              #define GPIF_EP4 1
              #define GPIF_EP6 2
              #define GPIF_EP8 3
              
              // write byte(s)/word(s) to PERIPHERAL, using GPIF and EPxFIFO
              // if EPx WORDWIDE=0 then write byte(s)
              // if EPx WORDWIDE=1 then write word(s)
              void Peripheral_FIFOWrite( BYTE FIFO_EpNum )
              {
                while( !( GPIFTRIG & 0x80 ) ) // poll GPIFTRIG.7 Done bit
                {
                   ;
                }
              
                // trigger FIFO write transaction(s), using SFR
                GPIFTRIG = FIFO_EpNum;  // R/W=0, EP[1:0]=FIFO_EpNum for EPx wri
             -te(s)
              }
              
              // read byte(s)/word(s) from PERIPHERAL, using GPIF and EPxFIFO
              // if EPx WORDWIDE=0 then read byte(s)
              // if EPx WORDWIDE=1 then read word(s)
              void Peripheral_FIFORead( BYTE FIFO_EpNum )
              {
                while( !( GPIFTRIG & 0x80 ) ) // poll GPIFTRIG.7 GPIF Done bit
                {
                   ;
                }
              
                // trigger FIFO read transaction(s), using SFR
                GPIFTRIG = GPIFTRIGRD | FIFO_EpNum; // R/W=1, EP[1:0]=FIFO_EpNum
             - for EPx read(s)
              }
              
              void main( void )
              {
                WORD xdata wData = 0x0000;
                BYTE xdata bData = 0x00;
                WORD myi = 0x0000;
                BOOL bResult = 1;
              
                OtherInit( );
                GpifInit( );
                
                if( bResult == 0 ) 
                { // stub out unused functions; avoid "UNCALLED SEGMENT" link er
             -ror
                  Peripheral_SingleWordWrite( 0x5678 );
                  Peripheral_SingleByteWrite( 0xAA );
                  Peripheral_SingleWordRead( &wData );
                  Peripheral_SingleByteRead( &bData );
                  // GPIF automatically throttles when performing FIFO read(s)/w
             -rite(s)
                  // ...what this means is that it doesn't transition from IDLE,
             - while...
                  // ...the EPx OUT FIFO is empty... OR ...the EPx IN FIFO is fu
             -ll...
                  Peripheral_FIFOWrite( GPIF_EP2 ); // GPIF will not read from a
             -n empty FIFO
                  Peripheral_FIFORead( GPIF_EP8 );  // GPIF will not write to a 
             -full FIFO
                  Peripheral_SetEP2GPIFTC( 0x0000 );
C51 COMPILER V6.10  GPIF                           07/07/2005 13:31:07 PAGE 13  

                  Peripheral_SetEP4GPIFTC( 0x0000 );
                  Peripheral_SetEP6GPIFTC( 0x0000 );
                  Peripheral_SetEP8GPIFTC( 0x0000 );
                  SetEP2GPIFFLGSEL( GPIF_FLGSELPF );
                  SetEP4GPIFFLGSEL( GPIF_FLGSELEF );
                  SetEP6GPIFFLGSEL( GPIF_FLGSELFF );
                  SetEP8GPIFFLGSEL( GPIF_FLGSELPF );
                  SetEP2GPIFPFSTOP(); // use GPIF_PF to transition GPIF to done
                  SetEP4GPIFPFSTOP(); // use GPIF_PF to transition GPIF to done
                  SetEP6GPIFPFSTOP(); // use GPIF_PF to transition GPIF to done
                  SetEP8GPIFPFSTOP(); // use GPIF_PF to transition GPIF to done
                }
              
                Peripheral_SetAddress( 0x0155 );
              
                while( 1 )
                { // ...the EPx WORDWIDE bits must to be set to
                  // ...configure PORTD as FD[15:8] for single transactions
                  if( EP2FIFOCFG & 0x01 )  // If 16-bit mode - EPx WORDWIDE=1
                  { // illustrate use of efficient 16 bit functions
                    Peripheral_SingleWordWrite( 0xAA55 );
                    Peripheral_SingleWordRead( &wData );
                  }
                  else
                  {
                    Peripheral_SingleByteWrite( 0xA5 );
                    Peripheral_SingleByteRead( &bData );
                  }
                }
              }
              #endif
C51 COMPILER V6.10  GPIF                           07/07/2005 13:31:07 PAGE 14  

ASSEMBLY LISTING OF GENERATED OBJECT CODE


             ; FUNCTION GpifInit (BEGIN)
                                           ; SOURCE LINE # 197
                                           ; SOURCE LINE # 198
                                           ; SOURCE LINE # 221
0000 900000      E     MOV     DPTR,#IFCONFIG
0003 74E2              MOV     A,#0E2H
0005 F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 230
0006 900000      E     MOV     DPTR,#GPIFABORT
0009 74FF              MOV     A,#0FFH
000B F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 232
000C 900000      R     MOV     DPTR,#InitData
000F E0                MOVX    A,@DPTR
0010 900000      E     MOV     DPTR,#GPIFREADYCFG
0013 F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 233
0014 900000      R     MOV     DPTR,#InitData+01H
0017 E0                MOVX    A,@DPTR
0018 900000      E     MOV     DPTR,#GPIFCTLCFG
001B F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 234
001C 900000      R     MOV     DPTR,#InitData+02H
001F E0                MOVX    A,@DPTR
0020 900000      E     MOV     DPTR,#GPIFIDLECS
0023 F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 235
0024 900000      R     MOV     DPTR,#InitData+03H
0027 E0                MOVX    A,@DPTR
0028 900000      E     MOV     DPTR,#GPIFIDLECTL
002B F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 236
002C 900000      R     MOV     DPTR,#InitData+05H
002F E0                MOVX    A,@DPTR
0030 900000      E     MOV     DPTR,#GPIFWFSELECT
0033 F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 237
0034 900000      R     MOV     DPTR,#InitData+06H
0037 E0                MOVX    A,@DPTR
0038 900000      E     MOV     DPTR,#GPIFREADYSTAT
003B F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 240
003C 75AF07            MOV     AUTOPTRSETUP,#07H
                                           ; SOURCE LINE # 246
003F 7400        R     MOV     A,#HIGH WaveData
0041 F59A              MOV     APTR1H,A
                                           ; SOURCE LINE # 247
0043 7400        R     MOV     A,#LOW WaveData
0045 F59B              MOV     APTR1L,A
                                           ; SOURCE LINE # 250
0047 759DE4            MOV     AUTOPTRH2,#0E4H
                                           ; SOURCE LINE # 251
004A E4                CLR     A
004B F59E              MOV     AUTOPTRL2,A
                                           ; SOURCE LINE # 254
;---- Variable 'i' assigned to Register 'R7' ----
004D FF                MOV     R7,A
004E         ?C0001:
                                           ; SOURCE LINE # 255
C51 COMPILER V6.10  GPIF                           07/07/2005 13:31:07 PAGE 15  

                                           ; SOURCE LINE # 256
004E 900000      E     MOV     DPTR,#XAUTODAT1
0051 E0                MOVX    A,@DPTR
0052 900000      E     MOV     DPTR,#XAUTODAT2
0055 F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 257
0056 0F                INC     R7
0057 BF80F4            CJNE    R7,#080H,?C0001
005A         ?C0002:
                                           ; SOURCE LINE # 260
005A 900000      E     MOV     DPTR,#PORTCCFG
005D 74FF              MOV     A,#0FFH
005F F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 261
0060 F5B4              MOV     OEC,A
                                           ; SOURCE LINE # 262
0062 900000      E     MOV     DPTR,#PORTECFG
0065 E0                MOVX    A,@DPTR
0066 4480              ORL     A,#080H
0068 F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 263
0069 43B69F            ORL     OEE,#09FH
                                           ; SOURCE LINE # 265
006C E4                CLR     A
006D 900000      E     MOV     DPTR,#PORTACFG
0070 F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 266
0071 75B20F            MOV     OEA,#0FH
                                           ; SOURCE LINE # 268
0074 900000      E     MOV     DPTR,#EP2FIFOCFG
0077 E0                MOVX    A,@DPTR
0078 F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 269
0079 900000      E     MOV     DPTR,#EP4FIFOCFG
007C E0                MOVX    A,@DPTR
007D F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 270
007E 900000      E     MOV     DPTR,#EP6FIFOCFG
0081 E0                MOVX    A,@DPTR
0082 F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 271
0083 900000      E     MOV     DPTR,#EP8FIFOCFG
0086 E0                MOVX    A,@DPTR
0087 F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 278
0088 75B5FF            MOV     OED,#0FFH
                                           ; SOURCE LINE # 279
008B E4                CLR     A
008C F5B0              MOV     IOD,A
                                           ; SOURCE LINE # 280
008E F5B1              MOV     IOE,A
                                           ; SOURCE LINE # 283
0090 00                NOP     
0091 00                NOP     
0092 00                NOP     
                                           ; SOURCE LINE # 284
0093 900000      E     MOV     DPTR,#GPIFADRH
0096 F0                MOVX    @DPTR,A
                                           ; SOURCE LINE # 285
0097 00                NOP     
0098 00                NOP     
0099 00                NOP     
C51 COMPILER V6.10  GPIF                           07/07/2005 13:31:07 PAGE 16  

                                           ; SOURCE LINE # 286

⌨️ 快捷键说明

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