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

📄 fx2regs.h

📁 This an USB2.0 chip CY7C68013 Configuraion Example for Slave FIFO mode with "async" mode.
💻 H
📖 第 1 页 / 共 2 页
字号:
//-----------------------------------------------------------------------------
//   File:      FX2regs.h
//   Contents:   EZ-USB FX2 register declarations and bit mask definitions.
//
// $Archive: /USB/Target/Inc/fx2regs.h $
// $Date: 1/08/01 2:30p $
// $Revision: 24 $
//
//
//   Copyright (c) 2000 Cypress Semiconductor, All rights reserved
//-----------------------------------------------------------------------------

#ifndef FX2REGS_H   /* Header Sentry */
#define FX2REGS_H

//-----------------------------------------------------------------------------
// FX2 Related Register Assignments
//-----------------------------------------------------------------------------

// The Ez-USB FX2 registers are defined here. We use FX2regs.h for register 
// address allocation by using "#define ALLOCATE_EXTERN". 
// When using "#define ALLOCATE_EXTERN", you get (for instance): 
// xdata volatile BYTE OUT7BUF[64]   _at_   0x7B40;
// Such lines are created from FX2.h by using the preprocessor. 
// Incidently, these lines will not generate any space in the resulting hex 
// file; they just bind the symbols to the addresses for compilation. 
// You just need to put "#define ALLOCATE_EXTERN" in your main program file; 
// i.e. fw.c or a stand-alone C source file. 
// Without "#define ALLOCATE_EXTERN", you just get the external reference: 
// extern xdata volatile BYTE OUT7BUF[64]   ;//   0x7B40;
// This uses the concatenation operator "##" to insert a comment "//" 
// to cut off the end of the line, "_at_   0x7B40;", which is not wanted.

#ifdef ALLOCATE_EXTERN
#define EXTERN
#define _AT_ _at_
#else
#define EXTERN extern
#define _AT_ ;/ ## /
#endif

EXTERN xdata volatile BYTE GPIF_WAVE_DATA       _AT_ 0xE400;
EXTERN xdata volatile BYTE RES_WAVEDATA_END     _AT_ 0xE480;

// General Configuration

EXTERN xdata volatile BYTE CPUCS                _AT_ 0xE600;         // Control & Status
EXTERN xdata volatile BYTE IFCONFIG             _AT_ 0xE601;         // Interface Configuration
EXTERN xdata volatile BYTE PINFLAGSAB              _AT_ 0xE602;         // FIFO FLAGA and FLAGB Assignments
EXTERN xdata volatile BYTE PINFLAGSCD              _AT_ 0xE603;         // FIFO FLAGC and FLAGD Assignments
EXTERN xdata volatile BYTE FIFORESET            _AT_ 0xE604;         // Restore FIFOS to default state
EXTERN xdata volatile BYTE BREAKPT              _AT_ 0xE605;         // Breakpoint
EXTERN xdata volatile BYTE BPADDRH              _AT_ 0xE606;         // Breakpoint Address H
EXTERN xdata volatile BYTE BPADDRL              _AT_ 0xE607;         // Breakpoint Address L
EXTERN xdata volatile BYTE UART230              _AT_ 0xE608;         // 230 Kbaud clock for T0,T1,T2
EXTERN xdata volatile BYTE FIFOPINPOLAR            _AT_ 0xE609;         // FIFO polarities
EXTERN xdata volatile BYTE REVID                _AT_ 0xE60A;         // Chip Revision

// Endpoint Configuration

EXTERN xdata volatile BYTE EP1OUTCFG            _AT_ 0xE610;         // Endpoint 1-OUT Configuration
EXTERN xdata volatile BYTE EP1INCFG             _AT_ 0xE611;         // Endpoint 1-IN Configuration
EXTERN xdata volatile BYTE EP2CFG               _AT_ 0xE612;         // Endpoint 2 Configuration
EXTERN xdata volatile BYTE EP4CFG               _AT_ 0xE613;         // Endpoint 4 Configuration
EXTERN xdata volatile BYTE EP6CFG               _AT_ 0xE614;         // Endpoint 6 Configuration
EXTERN xdata volatile BYTE EP8CFG               _AT_ 0xE615;         // Endpoint 8 Configuration
EXTERN xdata volatile BYTE EP2FIFOCFG            _AT_ 0xE618;         // Endpoint 2 FIFO configuration
EXTERN xdata volatile BYTE EP4FIFOCFG            _AT_ 0xE619;         // Endpoint 4 FIFO configuration
EXTERN xdata volatile BYTE EP6FIFOCFG            _AT_ 0xE61A;         // Endpoint 6 FIFO configuration
EXTERN xdata volatile BYTE EP8FIFOCFG            _AT_ 0xE61B;         // Endpoint 8 FIFO configuration
EXTERN xdata volatile BYTE EP2AUTOINLENH           _AT_ 0xE620;         // Endpoint 2 Packet Length H (IN only)
EXTERN xdata volatile BYTE EP2AUTOINLENL           _AT_ 0xE621;         // Endpoint 2 Packet Length L (IN only)
EXTERN xdata volatile BYTE EP4AUTOINLENH           _AT_ 0xE622;         // Endpoint 4 Packet Length H (IN only)
EXTERN xdata volatile BYTE EP4AUTOINLENL           _AT_ 0xE623;         // Endpoint 4 Packet Length L (IN only)
EXTERN xdata volatile BYTE EP6AUTOINLENH           _AT_ 0xE624;         // Endpoint 6 Packet Length H (IN only)
EXTERN xdata volatile BYTE EP6AUTOINLENL           _AT_ 0xE625;         // Endpoint 6 Packet Length L (IN only)
EXTERN xdata volatile BYTE EP8AUTOINLENH           _AT_ 0xE626;         // Endpoint 8 Packet Length H (IN only)
EXTERN xdata volatile BYTE EP8AUTOINLENL           _AT_ 0xE627;         // Endpoint 8 Packet Length L (IN only)
EXTERN xdata volatile BYTE EP2FIFOPFH              _AT_ 0xE630;         // EP2 Programmable Flag trigger H
EXTERN xdata volatile BYTE EP2FIFOPFL              _AT_ 0xE631;         // EP2 Programmable Flag trigger L
EXTERN xdata volatile BYTE EP4FIFOPFH              _AT_ 0xE632;         // EP4 Programmable Flag trigger H
EXTERN xdata volatile BYTE EP4FIFOPFL              _AT_ 0xE633;         // EP4 Programmable Flag trigger L
EXTERN xdata volatile BYTE EP6FIFOPFH              _AT_ 0xE634;         // EP6 Programmable Flag trigger H
EXTERN xdata volatile BYTE EP6FIFOPFL              _AT_ 0xE635;         // EP6 Programmable Flag trigger L
EXTERN xdata volatile BYTE EP8FIFOPFH              _AT_ 0xE636;         // EP8 Programmable Flag trigger H
EXTERN xdata volatile BYTE EP8FIFOPFL              _AT_ 0xE637;         // EP8 Programmable Flag trigger L
EXTERN xdata volatile BYTE EP2ISOINPKTS         _AT_ 0xE640;         // EP2 (if ISO) IN Packets per frame (1-3)
EXTERN xdata volatile BYTE EP4ISOINPKTS         _AT_ 0xE641;         // EP4 (if ISO) IN Packets per frame (1-3)
EXTERN xdata volatile BYTE EP6ISOINPKTS         _AT_ 0xE642;         // EP6 (if ISO) IN Packets per frame (1-3)
EXTERN xdata volatile BYTE EP8ISOINPKTS         _AT_ 0xE643;         // EP8 (if ISO) IN Packets per frame (1-3)
EXTERN xdata volatile BYTE INPKTEND          _AT_ 0xE648;         // Force IN Packet End

// Interrupts

EXTERN xdata volatile BYTE EP2FIFOIE            _AT_ 0xE650;         // Endpoint 2 Flag Interrupt Enable
EXTERN xdata volatile BYTE EP2FIFOIRQ           _AT_ 0xE651;         // Endpoint 2 Flag Interrupt Request
EXTERN xdata volatile BYTE EP4FIFOIE            _AT_ 0xE652;         // Endpoint 4 Flag Interrupt Enable
EXTERN xdata volatile BYTE EP4FIFOIRQ           _AT_ 0xE653;         // Endpoint 4 Flag Interrupt Request
EXTERN xdata volatile BYTE EP6FIFOIE            _AT_ 0xE654;         // Endpoint 6 Flag Interrupt Enable
EXTERN xdata volatile BYTE EP6FIFOIRQ           _AT_ 0xE655;         // Endpoint 6 Flag Interrupt Request
EXTERN xdata volatile BYTE EP8FIFOIE            _AT_ 0xE656;         // Endpoint 8 Flag Interrupt Enable
EXTERN xdata volatile BYTE EP8FIFOIRQ           _AT_ 0xE657;         // Endpoint 8 Flag Interrupt Request
EXTERN xdata volatile BYTE IBNIE                _AT_ 0xE658;         // IN-BULK-NAK Interrupt Enable
EXTERN xdata volatile BYTE IBNIRQ               _AT_ 0xE659;         // IN-BULK-NAK interrupt Request
EXTERN xdata volatile BYTE NAKIE             _AT_ 0xE65A;         // Endpoint Ping NAK interrupt Enable
EXTERN xdata volatile BYTE NAKIRQ            _AT_ 0xE65B;         // Endpoint Ping NAK interrupt Request
EXTERN xdata volatile BYTE USBIE                _AT_ 0xE65C;         // USB Int Enables
EXTERN xdata volatile BYTE USBIRQ               _AT_ 0xE65D;         // USB Interrupt Requests
EXTERN xdata volatile BYTE EPIE                 _AT_ 0xE65E;         // Endpoint Interrupt Enables
EXTERN xdata volatile BYTE EPIRQ                _AT_ 0xE65F;         // Endpoint Interrupt Requests
EXTERN xdata volatile BYTE GPIFIE               _AT_ 0xE660;         // GPIF Interrupt Enable
EXTERN xdata volatile BYTE GPIFIRQ              _AT_ 0xE661;         // GPIF Interrupt Request
EXTERN xdata volatile BYTE USBERRIE             _AT_ 0xE662;         // USB Error Interrupt Enables
EXTERN xdata volatile BYTE USBERRIRQ            _AT_ 0xE663;         // USB Error Interrupt Requests
EXTERN xdata volatile BYTE ERRCNTLIM             _AT_ 0xE664;         // USB Error counter and limit
EXTERN xdata volatile BYTE CLRERRCNT              _AT_ 0xE665;         // Clear Error Counter EC[3..0]
EXTERN xdata volatile BYTE INT2IVEC             _AT_ 0xE666;         // Interupt 2 (USB) Autovector
EXTERN xdata volatile BYTE INT4IVEC             _AT_ 0xE667;         // Interupt 4 (FIFOS & GPIF) Autovector
EXTERN xdata volatile BYTE INTSETUP             _AT_ 0xE668;         // Interrupt 2&4 Setup

// Input/Output

EXTERN xdata volatile BYTE PORTACFG             _AT_ 0xE670;         // I/O PORTA Alternate Configuration
EXTERN xdata volatile BYTE PORTCCFG             _AT_ 0xE671;         // I/O PORTC Alternate Configuration
EXTERN xdata volatile BYTE PORTECFG             _AT_ 0xE672;         // I/O PORTE Alternate Configuration
EXTERN xdata volatile BYTE I2CS                 _AT_ 0xE678;         // Control & Status
EXTERN xdata volatile BYTE I2DAT                _AT_ 0xE679;         // Data
EXTERN xdata volatile BYTE I2CTL                _AT_ 0xE67A;         // I2C Control
EXTERN xdata volatile BYTE EXTAUTODAT1          _AT_ 0xE67B;         // Autoptr1 MOVX access
EXTERN xdata volatile BYTE EXTAUTODAT2          _AT_ 0xE67C;         // Autoptr2 MOVX access

// USB Control

EXTERN xdata volatile BYTE USBCS                _AT_ 0xE680;         // USB Control & Status
EXTERN xdata volatile BYTE SUSPEND              _AT_ 0xE681;         // Put chip into suspend
EXTERN xdata volatile BYTE WAKEUPCS               _AT_ 0xE682;         // Wakeup source and polarity
EXTERN xdata volatile BYTE TOGCTL               _AT_ 0xE683;         // Toggle Control
EXTERN xdata volatile BYTE USBFRAMEH            _AT_ 0xE684;         // USB Frame count H
EXTERN xdata volatile BYTE USBFRAMEL            _AT_ 0xE685;         // USB Frame count L
EXTERN xdata volatile BYTE MICROFRAME           _AT_ 0xE686;         // Microframe count, 0-7
EXTERN xdata volatile BYTE FNADDR               _AT_ 0xE687;         // USB Function address

// Endpoints

EXTERN xdata volatile BYTE EP0BCH               _AT_ 0xE68A;         // Endpoint 0 Byte Count H
EXTERN xdata volatile BYTE EP0BCL               _AT_ 0xE68B;         // Endpoint 0 Byte Count L
EXTERN xdata volatile BYTE EP1OUTBC             _AT_ 0xE68D;         // Endpoint 1 OUT Byte Count
EXTERN xdata volatile BYTE EP1INBC              _AT_ 0xE68F;         // Endpoint 1 IN Byte Count
EXTERN xdata volatile BYTE EP2BCH               _AT_ 0xE690;         // Endpoint 2 Byte Count H
EXTERN xdata volatile BYTE EP2BCL               _AT_ 0xE691;         // Endpoint 2 Byte Count L
EXTERN xdata volatile BYTE EP4BCH               _AT_ 0xE694;         // Endpoint 4 Byte Count H
EXTERN xdata volatile BYTE EP4BCL               _AT_ 0xE695;         // Endpoint 4 Byte Count L
EXTERN xdata volatile BYTE EP6BCH               _AT_ 0xE698;         // Endpoint 6 Byte Count H
EXTERN xdata volatile BYTE EP6BCL               _AT_ 0xE699;         // Endpoint 6 Byte Count L
EXTERN xdata volatile BYTE EP8BCH               _AT_ 0xE69C;         // Endpoint 8 Byte Count H
EXTERN xdata volatile BYTE EP8BCL               _AT_ 0xE69D;         // Endpoint 8 Byte Count L
EXTERN xdata volatile BYTE EP0CS                _AT_ 0xE6A0;         // Endpoint  Control and Status
EXTERN xdata volatile BYTE EP1OUTCS             _AT_ 0xE6A1;         // Endpoint 1 OUT Control and Status
EXTERN xdata volatile BYTE EP1INCS              _AT_ 0xE6A2;         // Endpoint 1 IN Control and Status
EXTERN xdata volatile BYTE EP2CS                _AT_ 0xE6A3;         // Endpoint 2 Control and Status
EXTERN xdata volatile BYTE EP4CS                _AT_ 0xE6A4;         // Endpoint 4 Control and Status
EXTERN xdata volatile BYTE EP6CS                _AT_ 0xE6A5;         // Endpoint 6 Control and Status
EXTERN xdata volatile BYTE EP8CS                _AT_ 0xE6A6;         // Endpoint 8 Control and Status
EXTERN xdata volatile BYTE EP2FIFOFLGS             _AT_ 0xE6A7;         // Endpoint 2 Flags
EXTERN xdata volatile BYTE EP4FIFOFLGS             _AT_ 0xE6A8;         // Endpoint 4 Flags
EXTERN xdata volatile BYTE EP6FIFOFLGS             _AT_ 0xE6A9;         // Endpoint 6 Flags
EXTERN xdata volatile BYTE EP8FIFOFLGS             _AT_ 0xE6AA;         // Endpoint 8 Flags
EXTERN xdata volatile BYTE EP2FIFOBCH           _AT_ 0xE6AB;         // EP2 FIFO total byte count H
EXTERN xdata volatile BYTE EP2FIFOBCL           _AT_ 0xE6AC;         // EP2 FIFO total byte count L
EXTERN xdata volatile BYTE EP4FIFOBCH           _AT_ 0xE6AD;         // EP4 FIFO total byte count H
EXTERN xdata volatile BYTE EP4FIFOBCL           _AT_ 0xE6AE;         // EP4 FIFO total byte count L
EXTERN xdata volatile BYTE EP6FIFOBCH           _AT_ 0xE6AF;         // EP6 FIFO total byte count H
EXTERN xdata volatile BYTE EP6FIFOBCL           _AT_ 0xE6B0;         // EP6 FIFO total byte count L
EXTERN xdata volatile BYTE EP8FIFOBCH           _AT_ 0xE6B1;         // EP8 FIFO total byte count H
EXTERN xdata volatile BYTE EP8FIFOBCL           _AT_ 0xE6B2;         // EP8 FIFO total byte count L
EXTERN xdata volatile BYTE SUDPTRH              _AT_ 0xE6B3;         // Setup Data Pointer high address byte
EXTERN xdata volatile BYTE SUDPTRL              _AT_ 0xE6B4;         // Setup Data Pointer low address byte
EXTERN xdata volatile BYTE SUDPTRCTL           _AT_ 0xE6B5;         // Setup Data Pointer Auto Mode
EXTERN xdata volatile BYTE SETUPDAT[8]          _AT_ 0xE6B8;         // 8 bytes of SETUP data

// GPIF

EXTERN xdata volatile BYTE GPIFWFSELECT             _AT_ 0xE6C0;         // Waveform Selector
EXTERN xdata volatile BYTE GPIFIDLECS              _AT_ 0xE6C1;         // GPIF Done, GPIF IDLE drive mode
EXTERN xdata volatile BYTE GPIFIDLECTL          _AT_ 0xE6C2;         // Inactive Bus, CTL states
EXTERN xdata volatile BYTE GPIFCTLCFG            _AT_ 0xE6C3;         // CTL OUT pin drive
EXTERN xdata volatile BYTE GPIFADRH             _AT_ 0xE6C4;         // GPIF Address H
EXTERN xdata volatile BYTE GPIFADRL             _AT_ 0xE6C5;         // GPIF Address L
EXTERN xdata volatile BYTE EP2GPIFTCH               _AT_ 0xE6D0;         // EP2 GPIF Transaction Count High
EXTERN xdata volatile BYTE EP2GPIFTCL               _AT_ 0xE6D1;         // EP2 GPIF Transaction Count Low
EXTERN xdata volatile BYTE EP2GPIFFLGSEL            _AT_ 0xE6D2;         // EP2 GPIF Flag select
EXTERN xdata volatile BYTE EP2GPIFPFSTOP            _AT_ 0xE6D3;         // Stop GPIF EP2 transaction on prog. flag
EXTERN xdata volatile BYTE EP2GPIFTRIG              _AT_ 0xE6D4;         // EP2 FIFO Trigger
EXTERN xdata volatile BYTE EP4GPIFTCH               _AT_ 0xE6D8;         // EP4 GPIF Transaction Count High
EXTERN xdata volatile BYTE EP4GPIFTCL               _AT_ 0xE6D9;         // EP4 GPIF Transactionr Count Low
EXTERN xdata volatile BYTE EP4GPIFFLGSEL            _AT_ 0xE6DA;         // EP4 GPIF Flag select
EXTERN xdata volatile BYTE EP4GPIFPFSTOP            _AT_ 0xE6DB;         // Stop GPIF EP4 transaction on prog. flag
EXTERN xdata volatile BYTE EP4GPIFTRIG              _AT_ 0xE6DC;         // EP4 FIFO Trigger
EXTERN xdata volatile BYTE EP6GPIFTCH               _AT_ 0xE6E0;         // EP6 GPIF Transaction Count High
EXTERN xdata volatile BYTE EP6GPIFTCL               _AT_ 0xE6E1;         // EP6 GPIF Transaction Count Low
EXTERN xdata volatile BYTE EP6GPIFFLGSEL            _AT_ 0xE6E2;         // EP6 GPIF Flag select
EXTERN xdata volatile BYTE EP6GPIFPFSTOP            _AT_ 0xE6E3;         // Stop GPIF EP6 transaction on prog. flag
EXTERN xdata volatile BYTE EP6GPIFTRIG              _AT_ 0xE6E4;         // EP6 FIFO Trigger
EXTERN xdata volatile BYTE EP8GPIFTCH               _AT_ 0xE6E8;         // EP8 GPIF Transaction Count High
EXTERN xdata volatile BYTE EP8GPIFTCL               _AT_ 0xE6E9;         // EP8GPIF Transaction Count Low
EXTERN xdata volatile BYTE EP8GPIFFLGSEL            _AT_ 0xE6EA;         // EP8 GPIF Flag select
EXTERN xdata volatile BYTE EP8GPIFPFSTOP            _AT_ 0xE6EB;         // Stop GPIF EP8 transaction on prog. flag
EXTERN xdata volatile BYTE EP8GPIFTRIG              _AT_ 0xE6EC;         // EP8 FIFO Trigger
EXTERN xdata volatile BYTE XGPIFSGLDATH              _AT_ 0xE6F0;         // GPIF Data H (16-bit mode only)
EXTERN xdata volatile BYTE XGPIFSGLDATLX             _AT_ 0xE6F1;         // Read/Write GPIF Data L & trigger transac
EXTERN xdata volatile BYTE XGPIFSGLDATLNOX           _AT_ 0xE6F2;         // Read GPIF Data L, no transac trigger
EXTERN xdata volatile BYTE GPIFREADYCFG             _AT_ 0xE6F3;         // Internal RDY,Sync/Async, RDY5CFG
EXTERN xdata volatile BYTE GPIFREADYSTAT            _AT_ 0xE6F4;         // RDY pin states
EXTERN xdata volatile BYTE GPIFABORT                _AT_ 0xE6F5;         // Abort GPIF cycles

// Debug/Test

EXTERN xdata volatile BYTE DBUG                 _AT_ 0xE6F8;         // Debug
EXTERN xdata volatile BYTE TESTCFG              _AT_ 0xE6F9;         // Test configuration
EXTERN xdata volatile BYTE USBTEST              _AT_ 0xE6FA;         // USB Test Modes
EXTERN xdata volatile BYTE CT1                  _AT_ 0xE6FB;         // Chirp Test--Override
EXTERN xdata volatile BYTE CT2                  _AT_ 0xE6FC;         // Chirp Test--FSM
EXTERN xdata volatile BYTE CT3                  _AT_ 0xE6FD;         // Chirp Test--Control Signals
EXTERN xdata volatile BYTE CT4                  _AT_ 0xE6FE;         // Chirp Test--Inputs

// Endpoint Buffers

EXTERN xdata volatile BYTE EP0BUF[64]           _AT_ 0xE740;         // EP0 IN-OUT buffer
EXTERN xdata volatile BYTE EP1OUTBUF[64]        _AT_ 0xE780;         // EP1-OUT buffer
EXTERN xdata volatile BYTE EP1INBUF[64]         _AT_ 0xE7C0;         // EP1-IN buffer
EXTERN xdata volatile BYTE EP2FIFOBUF[1024]         _AT_ 0xF000;         // 512/1024-byte EP2 buffer (IN or OUT)
EXTERN xdata volatile BYTE EP4FIFOBUF[1024]         _AT_ 0xF400;         // 512 byte EP4 buffer (IN or OUT)
EXTERN xdata volatile BYTE EP6FIFOBUF[1024]         _AT_ 0xF800;         // 512/1024-byte EP6 buffer (IN or OUT)
EXTERN xdata volatile BYTE EP8FIFOBUF[1024]         _AT_ 0xFC00;         // 512 byte EP8 buffer (IN or OUT)

#undef EXTERN
#undef _AT_

/*-----------------------------------------------------------------------------
   Special Function Registers (SFRs)
   The byte registers and bits defined in the following list are based
   on the Synopsis definition of the 8051 Special Function Registers for EZ-USB. 
    If you modify the register definitions below, please regenerate the file 
    "ezregs.inc" which includes the same basic information for assembly inclusion.
-----------------------------------------------------------------------------*/

sfr IOA     = 0x80;
sfr SP      = 0x81;
sfr DPL     = 0x82;
sfr DPH     = 0x83;
sfr DPL1    = 0x84;
sfr DPH1    = 0x85;
sfr DPS     = 0x86;
         /*  DPS  */
         sbit SEL   = 0x86+0;
sfr PCON    = 0x87;   /*  PCON  */
         //sbit IDLE   = 0x87+0;
         //sbit STOP   = 0x87+1;
         //sbit GF0    = 0x87+2;
         //sbit GF1    = 0x87+3;
         //sbit SMOD0  = 0x87+7;
sfr TCON    = 0x88;
         /*  TCON  */
         sbit IT0    = 0x88+0;
         sbit IE0    = 0x88+1;
         sbit IT1    = 0x88+2;
         sbit IE1    = 0x88+3;
         sbit TR0    = 0x88+4;
         sbit TF0    = 0x88+5;
         sbit TR1    = 0x88+6;
         sbit TF1    = 0x88+7;
sfr TMOD    = 0x89;
         /*  TMOD  */
         //sbit M00    = 0x89+0;
         //sbit M10    = 0x89+1;
         //sbit CT0    = 0x89+2;
         //sbit GATE0  = 0x89+3;
         //sbit M01    = 0x89+4;
         //sbit M11    = 0x89+5;
         //sbit CT1    = 0x89+6;
         //sbit GATE1  = 0x89+7;
sfr TL0     = 0x8A;

⌨️ 快捷键说明

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