📄 upsd_usb.src
字号:
; .\upsd_usb.SRC generated from: upsd_usb.c
; COMPILER INVOKED BY:
; C:\Keil\C51\BIN\C51.EXE upsd_usb.c LARGE BROWSE DEBUG OBJECTEXTEND SRC(.\upsd_usb.SRC)
$NOMOD51
NAME UPSD_USB
P0 DATA 080H
P1 DATA 090H
AA BIT 0D8H.2
P2 DATA 0A0H
P3 DATA 0B0H
P4 DATA 0C0H
AC BIT 0D0H.6
T0 BIT 0B0H.4
T1 BIT 0B0H.5
WDKEY DATA 0AEH
EA BIT 0A8H.7
T2 BIT 090H.0
UISTA DATA 0E8H
ENI1 BIT 0D8H.6
IE DATA 0A8H
P1_0 BIT 090H.0
P1_1 BIT 090H.1
P3_0 BIT 0B0H.0
P1_2 BIT 090H.2
P4_0 BIT 0C0H.0
P3_1 BIT 0B0H.1
P1_3 BIT 090H.3
P4_1 BIT 0C0H.1
P3_2 BIT 0B0H.2
P1_4 BIT 090H.4
P4_2 BIT 0C0H.2
P3_3 BIT 0B0H.3
P1_5 BIT 090H.5
WDRST DATA 0A6H
EXF2 BIT 0C8H.6
P4_3 BIT 0C0H.3
P3_4 BIT 0B0H.4
P1_6 BIT 090H.6
P4_4 BIT 0C0H.4
P3_5 BIT 0B0H.5
P1_7 BIT 090H.7
S1SETUP DATA 0D1H
ES BIT 0A8H.4
P4_5 BIT 0C0H.5
P3_6 BIT 0B0H.6
S2SETUP DATA 0D2H
IP DATA 0B8H
P4_6 BIT 0C0H.6
P3_7 BIT 0B0H.7
P4_7 BIT 0C0H.7
ADAT DATA 096H
RI BIT 098H.0
UDR0 DATA 0EFH
ADDR BIT 0D8H.3
CY BIT 0D0H.7
INT0 BIT 0B0H.2
TI BIT 098H.1
INT1 BIT 0B0H.3
UDT0 DATA 0E7H
UDT1 DATA 0E6H
RXD2 BIT 090H.2
ACON DATA 097H
RCAP2H DATA 0CBH
PS BIT 0B8H.4
SP DATA 081H
TXD2 BIT 090H.3
DDCADR DATA 0D6H
ASCL DATA 095H
T2EX BIT 090H.1
PWM0 DATA 0A2H
DDCSDA BIT 0C0H.0
OV BIT 0D0H.2
DDCDAT DATA 0D5H
PWM1 DATA 0A3H
RCAP2L DATA 0CAH
PWM2 DATA 0A4H
PWM3 DATA 0A5H
C_T2 BIT 0C8H.1
EOPF BIT 0E8H.1
PSCL0H DATA 0B2H
UADR DATA 0EEH
DDCCON DATA 0D7H
PSCL1H DATA 0B3H
RCLK BIT 0C8H.5
DDCSCL BIT 0C0H.1
TCLK BIT 0C8H.4
PSCL0L DATA 0B1H
PSCL1L DATA 0B4H
PWMCH0 BIT 0C0H.3
SBUF DATA 099H
PCON DATA 087H
UIEN DATA 0E9H
PWMCH1 BIT 0C0H.4
PWMCH2 BIT 0C0H.5
PWMCH3 BIT 0C0H.6
SCON DATA 098H
PWMCH4 BIT 0C0H.7
TMOD DATA 089H
TCON DATA 088H
USCL DATA 0E1H
USTA DATA 0EDH
IE0 BIT 088H.1
RAMBUF DATA 0D4H
IE1 BIT 088H.3
RSTF BIT 0E8H.5
B DATA 0F0H
CP_RL2 BIT 0C8H.0
CR0 BIT 0D8H.0
CR1 BIT 0D8H.1
CR2 BIT 0D8H.7
ACC DATA 0E0H
ET0 BIT 0A8H.1
ET1 BIT 0A8H.3
TF0 BIT 088H.5
ET2 BIT 0A8H.5
TF1 BIT 088H.7
TF2 BIT 0C8H.7
RB8 BIT 098H.2
TH0 DATA 08CH
EX0 BIT 0A8H.0
TH1 DATA 08DH
IT0 BIT 088H.0
TH2 DATA 0CDH
TB8 BIT 098H.3
EX1 BIT 0A8H.2
IT1 BIT 088H.2
IEA DATA 0A7H
P BIT 0D0H.0
SM0 BIT 098H.7
TL0 DATA 08AH
SM1 BIT 098H.6
TL1 DATA 08BH
TL2 DATA 0CCH
SM2 BIT 098H.5
RESUMF BIT 0E8H.0
PT0 BIT 0B8H.1
PT1 BIT 0B8H.3
RS0 BIT 0D0H.3
I2CSC BIT 0B0H.7
PWMCON DATA 0A1H
PT2 BIT 0B8H.5
TR0 BIT 088H.4
RS1 BIT 0D0H.4
I2CSD BIT 0B0H.6
TR1 BIT 088H.6
TR2 BIT 0C8H.2
PX0 BIT 0B8H.0
PX1 BIT 0B8H.2
IPA DATA 0B7H
S1ADR DATA 0DBH
DPH DATA 083H
S2ADR DATA 0DFH
S1DAT DATA 0DAH
SUSPND BIT 0E8H.7
S2DAT DATA 0DEH
DPL DATA 082H
DDCVSYNC BIT 0C0H.2
SBUF2 DATA 09BH
EXEN2 BIT 0C8H.3
RXD0F BIT 0E8H.3
S1CON DATA 0D8H
REN BIT 098H.4
UCON0 DATA 0EAH
S2CON DATA 0DCH
SCON2 DATA 09AH
UCON1 DATA 0EBH
TXD0F BIT 0E8H.4
T2MOD DATA 0C9H
T2CON DATA 0C8H
UCON2 DATA 0ECH
TXD1F BIT 0E8H.2
STA BIT 0D8H.5
S1STA DATA 0D9H
PWM4D DATA 0ABH
S2STA DATA 0DDH
P1SFS DATA 091H
RXD BIT 0B0H.0
P3SFS DATA 093H
TXD BIT 0B0H.1
P4SFS DATA 094H
F0 BIT 0D0H.5
STO BIT 0D8H.4
F1 BIT 0D0H.1
ADC0 BIT 090H.4
PWM4P DATA 0AAH
ADC1 BIT 090H.5
PSW DATA 0D0H
ADC2 BIT 090H.6
ADC3 BIT 090H.7
?PR?OnUSBReset?UPSD_USB SEGMENT CODE
?PR?UsbInitialize?UPSD_USB SEGMENT CODE
?PR?STALL_EP0?UPSD_USB SEGMENT CODE
?PR?TransmitBufferEP0?UPSD_USB SEGMENT CODE
?PR?_TransmitDataEP0?UPSD_USB SEGMENT CODE
?XD?_TransmitDataEP0?UPSD_USB SEGMENT XDATA OVERLAYABLE
?PR?_TransmitDataEPx?UPSD_USB SEGMENT CODE
?XD?_TransmitDataEPx?UPSD_USB SEGMENT XDATA OVERLAYABLE
?PR?OnGetStatus?UPSD_USB SEGMENT CODE
?PR?OnClearFeature?UPSD_USB SEGMENT CODE
?PR?OnSetFeature?UPSD_USB SEGMENT CODE
?PR?OnSetAddress?UPSD_USB SEGMENT CODE
?PR?OnGetConfiguration?UPSD_USB SEGMENT CODE
?PR?OnSetConfiguration?UPSD_USB SEGMENT CODE
?PR?OnGetInterface?UPSD_USB SEGMENT CODE
?PR?OnSetInterface?UPSD_USB SEGMENT CODE
?PR?OnGetDescriptor?UPSD_USB SEGMENT CODE
?PR?OnSetDescriptor?UPSD_USB SEGMENT CODE
?PR?ReadSetupPacket?UPSD_USB SEGMENT CODE
?XD?ReadSetupPacket?UPSD_USB SEGMENT XDATA OVERLAYABLE
?PR?OnSetupPacket?UPSD_USB SEGMENT CODE
?PR?BaseEp0TxHandler?UPSD_USB SEGMENT CODE
?XD?UPSD_USB SEGMENT XDATA
?ID?UPSD_USB SEGMENT IDATA
?DT?TransmitBufferEP0?UPSD_USB SEGMENT DATA OVERLAYABLE
?DT?_TransmitDataEP0?UPSD_USB SEGMENT DATA OVERLAYABLE
?DT?_TransmitDataEPx?UPSD_USB SEGMENT DATA OVERLAYABLE
?DT?OnGetDescriptor?UPSD_USB SEGMENT DATA OVERLAYABLE
?DT?ReadSetupPacket?UPSD_USB SEGMENT DATA OVERLAYABLE
EXTRN CODE (stringDescTable)
EXTRN CODE (cUSCL_value)
EXTRN CODE (OnDeviceConfigured)
EXTRN CODE (reportDesc)
EXTRN CODE (hidClassDesc)
EXTRN CODE (reportDescSize)
EXTRN CODE (PhysicalReportDesc)
EXTRN CODE (hidClassDescSize)
EXTRN CODE (PhysicalReportDescSize)
EXTRN CODE (deviceDesc)
EXTRN CODE (configDesc)
EXTRN CODE (?C?ILDIX)
EXTRN CODE (?C?CLDPTR)
EXTRN CODE (?C?CSTPTR)
PUBLIC usbState
PUBLIC SuspendCounter
PUBLIC setupPacket
PUBLIC ep1State
PUBLIC BaseEp0TxHandler
PUBLIC OnSetupPacket
PUBLIC ReadSetupPacket
PUBLIC ?_TransmitDataEPx?BYTE
PUBLIC _TransmitDataEPx
PUBLIC _TransmitDataEP0
PUBLIC STALL_EP0
PUBLIC UsbInitialize
PUBLIC OnUSBReset
RSEG ?XD?_TransmitDataEPx?UPSD_USB
?_TransmitDataEPx?BYTE:
x?545: DS 2
pData?546: DS 3
nBytes?547: DS 2
RSEG ?XD?ReadSetupPacket?UPSD_USB
?ReadSetupPacket?BYTE:
p?1651: DS 3
RSEG ?XD?_TransmitDataEP0?UPSD_USB
?_TransmitDataEP0?BYTE:
pData?442: DS 3
RSEG ?XD?UPSD_USB
shortTransfer: DS 1
bytesToTransmitEP0: DS 2
setupPacket: DS 8
pTransmitBufferEP0: DS 3
RSEG ?ID?UPSD_USB
ep1State: DS 1
SuspendCounter: DS 1
usbState: DS 1
RSEG ?DT?TransmitBufferEP0?UPSD_USB
i?340: DS 2
RSEG ?DT?TransmitBufferEP0?UPSD_USB
nBytes?341: DS 2
RSEG ?DT?_TransmitDataEP0?UPSD_USB
xBytes?444: DS 1
RSEG ?DT?_TransmitDataEPx?UPSD_USB
xBytes?548: DS 1
RSEG ?DT?OnGetDescriptor?UPSD_USB
bytesRequested?1449: DS 2
RSEG ?DT?ReadSetupPacket?UPSD_USB
i?1650: DS 2
; /* `=========================================================================`
;
; ***************************************
; **** * * ****
; Title: UPSD_USB
; File name: upsd_usb.c
; Project name: USB Demo
; *** ****
; ****************** * ******************
; **** ****
; Author: Petr PFEIFER
; MPG Prague, Czech Republic
; **** * * ****
; ***************************************
;
; $Version: 0.107a Build: April 30, 2004
;
; $Version: 0.107 Build: 2004-04-29,17:55:46
;
;
;
;
; Description:
; ============
;
; USB driver module for uPSD3200 chip.
; Improved version of USB demo v7
; Version 0.105 - GetStatus added
;
;
; Notes:
; ======
; - do not change EPx service routines
; and the order of commands ...
;
;
; ..........................
; . .
; . ****************** .
; . **PPPPPPPPPPPPPPPP .
; . *PPPP*******PP**** .
; . **PPP********PP*** .
; . ***PPP******PP**** .
; . *****PPP****PP**** .
; . *****PPP****PP**** .
; . PPPPPPPP****PP**** (R) .
; . .
; ..........................
;
;
; =-=-=-=-=-=
; =-=-=-=-=-=-=-=-=-=-=-=-=
; =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
;
; Copyright 2004 ST Microelectronics
;
; This code/file is provided as is and has no warranty,
; implied or otherwise. You are free to use/modify any of the provided
; code at your own risk in your applications with the expressed limitation
; of liability (see below) so long as your product using the code
; contains at least one uPSD products (device).
;
; LIMITATION OF LIABILITY:
; ========================
; NEITHER STMicroelectronics NOR ITS VENDORS OR AGENTS
; SHALL BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF USE, LOSS OF DATA,
; INTERRUPTION OF BUSINESS, NOR FOR INDIRECT, SPECIAL, INCIDENTAL OR
; CONSEQUENTIAL DAMAGES OF ANY KIND WHETHER UNDER THIS AGREEMENT OR
; OTHERWISE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
;
; =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
; =-=-=-=-=-=-=-=-=-=-=-=-=
; =-=-=-=-=-=
;
; For current information on uPSD products,
; please consult our pages on the World Wide Web:
;
; www.st.com/psm
;
; - - - - - - - - - - - -
;
; STMicroelectronics GROUP OF COMPANIES
; Australia - Brazil - China - Czech Republic - Finland - France - Germany
; Hong Kong - India - Italy - Japan - Malaysia - Malta - Morocco - Singapore
; Spain - Sweden - Switzerland - United Kingdom - U.S.A.
;
; http://www.st.com
;
;
; `========================================================================` */
;
; #pragma NOAREGS
;
; #include "upsd3200.h"
; #include "upsd_usb.h"
;
; //-- Variables ---------------------------------------------------------------
;
; #define HID_DEVICE 1
;
; // Constant Variables for USB configuration
; extern const uchar code cUSCL_value;
;
; // Constant Variables for USB Descriptors
; extern const device_descriptor code deviceDesc;
; extern const configuration_descriptor code configDesc;
; extern const uchar code string0Desc[];
; extern const uchar code string1Desc[];
; extern const uchar code string2Desc[];
; extern const uchar * const code stringDescTable[];
;
; #if HID_DEVICE
; extern const uchar code hidClassDesc[];
; extern const uchar code hidClassDescSize;
; extern const uchar code reportDesc[];
; extern const uchar code reportDescSize;
; extern const uchar code PhysicalReportDesc;
; extern const uchar code PhysicalReportDescSize;
; #endif
;
; volatile uchar idata usbState;
; volatile uchar idata ep1State; //added April 30, 2004
;
;
; volatile uchar idata SuspendCounter;
;
; setup_buffer setupPacket;
;
; static uchar* pTransmitBufferEP0;
; static int bytesToTransmitEP0;
; static BOOL shortTransfer;
;
; extern void OnDeviceConfigured();
;
;
;
;
;
;
;
; void OnUSBReset()
RSEG ?PR?OnUSBReset?UPSD_USB
OnUSBReset:
; SOURCE LINE # 141
; /******************************************************************************
; Function : void OnUSBReset()
; Parameters : none
; Description: USB driver module initialization routine, in USR ISR only !!!.
; ******************************************************************************/
; {
; SOURCE LINE # 147
; pTransmitBufferEP0 = NULL;
; SOURCE LINE # 148
MOV DPTR,#pTransmitBufferEP0
CLR A
MOVX @DPTR,A
INC DPTR
MOVX @DPTR,A
INC DPTR
MOVX @DPTR,A
; bytesToTransmitEP0 = 0;
; SOURCE LINE # 149
MOV DPTR,#bytesToTransmitEP0
MOVX @DPTR,A
INC DPTR
MOVX @DPTR,A
;
; UADR = 0; // Disable USB hardware
; SOURCE LINE # 151
MOV UADR,A
; UCON0 = uRX0E; // Enable EP0 for receiving only
; SOURCE LINE # 152
MOV UCON0,#010H
; UCON1 = 0; // Disable Endpoint 1
; SOURCE LINE # 153
MOV UCON1,A
; UCON2 = uEP1E; // Enable EP1
; SOURCE LINE # 154
MOV UCON2,#04H
; UADR = uUSBEN + 0; // Enable USB with default address 0
; SOURCE LINE # 155
MOV UADR,#080H
; UIEN = ~(uMCUR+uEOPF+uRESUMIE);
; SOURCE LINE # 156
MOV UIEN,#0BCH
; // Enable all USB interrupts except uMCUR (MCU reset on USB reset) and EOP, ...
; USTA = 0;
; SOURCE LINE # 158
MOV USTA,A
; UISTA = 0; // Clear USB interrupts
; SOURCE LINE # 159
MOV UISTA,A
; IEA |= bEUSB;
; SOURCE LINE # 160
ORL IEA,#01H
; }
; SOURCE LINE # 161
RET
; END OF OnUSBReset
;
;
;
;
;
;
; void UsbInitialize()
RSEG ?PR?UsbInitialize?UPSD_USB
UsbInitialize:
; SOURCE LINE # 168
; /******************************************************************************
; Function : void UsbInitialize()
; Parameters : none
; Description: USB driver module initialization routine after MCU startup.
; ******************************************************************************/
; {
; SOURCE LINE # 174
; USCL = cUSCL_value; // Set USB clock prescaler
; SOURCE LINE # 175
MOV DPTR,#cUSCL_value
CLR A
MOVC A,@A+DPTR
MOV USCL,A
; UIEN = 0; // Disable all USB interrupts
; SOURCE LINE # 176
CLR A
MOV UIEN,A
; UADR = 0; // Disable USB hardware
; SOURCE LINE # 177
MOV UADR,A
; OnUSBReset();
; SOURCE LINE # 178
LJMP OnUSBReset
; END OF UsbInitialize
; }
;
;
;
;
;
;
;
;
; extern data char usr_cnt;
;
;
;
; void STALL_EP0()
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -