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

📄 main.src

📁 ST公司的upsd34XX评估板固定源程序
💻 SRC
📖 第 1 页 / 共 5 页
字号:
; .\main.SRC generated from: main.c
; COMPILER INVOKED BY:
;        C:\Keil\C51\BIN\C51.EXE main.c LARGE BROWSE DEBUG OBJECTEXTEND SRC(.\main.SRC)

$NOMOD51

NAME	MAIN

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?initXREG?MAIN    SEGMENT CODE 
?PR?_WriteBufferToFlash?MAIN             SEGMENT CODE 
?XD?_WriteBufferToFlash?MAIN             SEGMENT XDATA OVERLAYABLE 
?PR?_ReadBufferFromFlash?MAIN            SEGMENT CODE 
?XD?_ReadBufferFromFlash?MAIN            SEGMENT XDATA OVERLAYABLE 
?PR?OnDeviceConfigured?MAIN              SEGMENT CODE 
?PR?_PrepareTransmitSegment?MAIN         SEGMENT CODE 
?XD?_PrepareTransmitSegment?MAIN         SEGMENT XDATA OVERLAYABLE 
?PR?OnReportTransmitted?MAIN             SEGMENT CODE 
?PR?_OnReportSegmentReceived?MAIN        SEGMENT CODE 
?PR?OnReportReceived?MAIN                SEGMENT CODE 
?PR?HandleReport?MAIN                    SEGMENT CODE 
?PR?OnUSBSuspend?MAIN                    SEGMENT CODE 
?PR?main?MAIN        SEGMENT CODE 
?PR?UsbIsr?MAIN      SEGMENT CODE 
?PR?OnTransmitEP1?MAIN                   SEGMENT CODE 
?PR?DDC_isr?MAIN     SEGMENT CODE 
?CO?MAIN             SEGMENT CODE 
?C_INITSEG           SEGMENT CODE 
?DT?MAIN             SEGMENT DATA 
?BA?MAIN             SEGMENT DATA BITADDRESSABLE 
?XD?MAIN             SEGMENT XDATA 
?DT?_PrepareTransmitSegment?MAIN         SEGMENT DATA OVERLAYABLE 
?DT?_OnReportSegmentReceived?MAIN        SEGMENT DATA OVERLAYABLE 
?DT?OnUSBSuspend?MAIN                    SEGMENT DATA OVERLAYABLE 
?DT?main?MAIN        SEGMENT DATA OVERLAYABLE 
?DT?UsbIsr?MAIN      SEGMENT DATA OVERLAYABLE 
?DT?OnTransmitEP1?MAIN                   SEGMENT DATA OVERLAYABLE 
?DT?DDC_isr?MAIN     SEGMENT DATA OVERLAYABLE 
	EXTRN	CODE (initLCD)
	EXTRN	XDATA (setupPacket)
	EXTRN	CODE (flash_reset)
	EXTRN	CODE (flash_boot_reset)
	EXTRN	CODE (OnSetupPacket)
	EXTRN	CODE (OnUSBReset)
	EXTRN	DATA (LCD_buffer)
	EXTRN	CODE (_flash_write_with_poll)
	EXTRN	CODE (_TransmitDataEPx)
	EXTRN	XDATA (?_TransmitDataEPx?BYTE)
	EXTRN	CODE (UsbInitialize)
	EXTRN	CODE (_printfLCD)
	EXTRN	XDATA (?_printfLCD?BYTE)
	EXTRN	CODE (_flash_boot_write_with_poll)
	EXTRN	XDATA (UPSD_xreg)
	EXTRN	CODE (_flash_erase_sector)
	EXTRN	CODE (_LCD_delay_ms)
	EXTRN	CODE (ReadSetupPacket)
	EXTRN	CODE (_flash_boot_erase_sector)
	EXTRN	CODE (BaseEp0TxHandler)
	EXTRN	CODE (_TransmitDataEP0)
	EXTRN	CODE (?C?ILDIX)
	EXTRN	CODE (?C?CLDPTR)
	EXTRN	CODE (?C?CSTPTR)
	EXTRN	CODE (?C?COPY)
	EXTRN	CODE (?C?MEMSET)
	EXTRN	CODE (?C_STARTUP)
	PUBLIC	AuxTXBuf
	PUBLIC	txReport
	PUBLIC	GoOnResume
	PUBLIC	txIndex
	PUBLIC	DDCCONintc
	PUBLIC	GoOnSuspend
	PUBLIC	g_debugUSB_INT_CNT
	PUBLIC	rcvReport
	PUBLIC	rcvIndex
	PUBLIC	returnStatus
	PUBLIC	status
	PUBLIC	currentCmd
	PUBLIC	LCDBufTXIndex
	PUBLIC	g_debugTimer2_INT_CNT
	PUBLIC	USB_ISR_FLAGS
	PUBLIC	counter
	PUBLIC	main
	PUBLIC	OnDeviceConfigured
	PUBLIC	initXREG

	RSEG  ?XD?_WriteBufferToFlash?MAIN
?_WriteBufferToFlash?BYTE:
      flash?140:   DS   1
    address?141:   DS   2
        buf?142:   DS   3
         cb?143:   DS   2
	ORG  8
          p?144:   DS   2

	RSEG  ?XD?_ReadBufferFromFlash?MAIN
?_ReadBufferFromFlash?BYTE:
    address?245:   DS   2
        buf?246:   DS   3
         cb?247:   DS   2

	RSEG  ?XD?_PrepareTransmitSegment?MAIN
?_PrepareTransmitSegment?BYTE:
      index?449:   DS   1

	RSEG  ?DT?MAIN
        counter:   DS   2
          txBuf:   DS   8
g_debugTimer2_INT_CNT:   DS   1
  LCDBufTXIndex:   DS   1
   returnStatus:   DS   1
       bufIndex:   DS   1
       rcvIndex:   DS   1
g_debugUSB_INT_CNT:   DS   2
        txIndex:   DS   1

	RSEG  ?BA?MAIN
  USB_ISR_FLAGS:   DS   1
GoOnSuspend	EQU	(USB_ISR_FLAGS+0).7
GoOnResume	EQU	(USB_ISR_FLAGS+0).0

	RSEG  ?XD?MAIN
     currentCmd:   DS   64
         status:   DS   64
      rcvReport:   DS   64
     DDCCONintc:   DS   1
       txReport:   DS   64
       AuxTXBuf:   DS   8

	RSEG  ?DT?_PrepareTransmitSegment?MAIN
     cbData?450:   DS   1

	RSEG  ?DT?_PrepareTransmitSegment?MAIN
          i?451:   DS   1

	RSEG  ?DT?_OnReportSegmentReceived?MAIN
     cbData?653:   DS   1

	RSEG  ?DT?_OnReportSegmentReceived?MAIN
      index?654:   DS   1

	RSEG  ?DT?OnUSBSuspend?MAIN
        bie?955:   DS   1

	RSEG  ?DT?OnUSBSuspend?MAIN
       biea?956:   DS   1

	RSEG  ?DT?main?MAIN
         c?1057:   DS   1

	RSEG  ?DT?UsbIsr?MAIN
        cb?1158:   DS   1

	RSEG  ?DT?UsbIsr?MAIN
         i?1159:   DS   1

	RSEG  ?DT?OnTransmitEP1?MAIN
         i?1260:   DS   1

	RSEG  ?DT?OnTransmitEP1?MAIN
    nBytes?1261:   DS   1

	RSEG  ?DT?DDC_isr?MAIN
    ddcint?1362:   DS   1

	RSEG  ?CO?MAIN
?SC_0:
	DB  00AH,'*' ,' ' ,'S' ,'U' ,'S' ,'P' ,'E' ,'N' ,'D' 
	DB  ' ' ,'M' ,'O' ,'D' ,'E' ,' ' ,'*' ,00AH,000H

?SC_19:
	DB  00DH,'C' ,'P' ,'U' ,' ' ,'i' ,'n' ,' ' ,'I' ,'d' 
	DB  'l' ,'e' ,' ' ,'m' ,'o' ,'d' ,'e' ,000H

?SC_37:
	DB  00DH,' ' ,' ' ,' ' ,' ' ,' ' ,' ' ,' ' ,' ' ,' ' 
	DB  ' ' ,' ' ,' ' ,' ' ,' ' ,' ' ,' ' ,00AH,000H

?SC_56:
	DB  00DH,' ' ,' ' ,' ' ,' ' ,' ' ,' ' ,' ' ,' ' ,' ' 
	DB  ' ' ,' ' ,' ' ,' ' ,' ' ,' ' ,' ' ,00DH,000H

?SC_75:
	DB  00DH,'*' ,'U' ,'S' ,'B' ,' ' ,'D' ,'E' ,'M' ,'O' 
	DB  ' ' ,'V' ,'.' ,'2' ,'.' ,'1' ,'*' ,00AH,000H

?SC_94:
	DB  00DH,'%' ,'B' ,' ' ,'%' ,'x' ,' ' ,'%' ,'x' ,'%' 
	DB  'c' ,' ' ,'%' ,'W' ,00DH,000H


	RSEG  ?C_INITSEG
	DB	041H
	DW	DDCCONintc
	DB	000H

	DB	002H
	DB	g_debugUSB_INT_CNT
	DW	00000H

	DB	001H
	DB	g_debugTimer2_INT_CNT
	DB	000H

	DB	001H
	DB	USB_ISR_FLAGS
	DB	000H

	DB	001H
	DB	bufIndex
	DB	000H

; /* `=========================================================================`
; main.c
; 
; USB IAP (In Application Programming) Demo for uPSD32xx
; 
; Version:
; April 30, 2004 - Beta Version 1.0 
; 
; Description:
; The demo code provided is considered beta.  It provides a good example of the
; uPSD32xx operating as a low speed, HID class device performing IAP features.
; The firmware is for the uPSD32xx device on a DK3200 for IAP communicating 
; over USB to a Windows application.
; 
; USB Compliance:
; This beta code passes the Chapter 9 and HID tests provided by the USB Command
; Verifier program (USBCV R1.2.1).  USBCV is available from the USB IF website at:
; http://www.usb.org/developers/developers/tools/
; 
; The Passing test result reports for the Chapter 9 and HID tests run on this
; firmware in the DK3200 are included in the "..\USBCV Test Reports" subdirectory.
; Regarding the warnings in the test reports, see the known limitations listed
; below.
; 
; Known Limitations:
; 1. The uPSD32xx hardware does not support remote wakeup but does support host
;    resume.
; 
; 2. This version of the demo code doesn't support the GetIdle and SetIdle
;    commands.
; 
; 3. This version of the demo code passes the Chapter 9 EnumerateTest the majority 
;    of the time but on occasion fails.
; 
; 
; 
; 
;                                  Important !!!
;                                  =============
;            If you have a previous beta version, please replace all parts
; 		   of your SW with this new version, there are many small but 
; 		                important changes that are not
;                           obvious for the first look.
; 
; 
; 
;                                      Notes:
;                                      ======
;                     supports USB SUSPEND and RESUME features
;                     supports USB DisconnectOndemand feature
; 
; 			                         
; 					-  Version >= Beta 1.0 - DDC int only
; 
; - this version of USB demo was designed for uPSD3234A. Check your type of uPSD.
; 
;          - be sure you have jumpers PB0-PB3 present on your DK3200 kit
;                    to avoid some false detect of button press.
;       This version supports DisconnectOnDemand feature and tests PB port.
; 
;       - We recommend to design your USB-isr to be as shortest as possible,
;         make your USB ISR part as short as possible if you add something
; 
; - set the USB priority to the max.level (bit 0 of IPA, see uPSD323X datasheet).
; 
;                - This version uses relative register addressing,
;              use #pragma NOAREGS directive in your applications ...
; 
;        - Use data directive or place your variables to data area directly
; (data variables are executed faster than xdata, but their amount is more limited.)
; 
;        - use 36MHz xtal (or 24MHz if not posssible) oscillator freq.only
; 
;         - be careful of using <string.h> and other routines in USB ISRs
; 
;                         Tested on DK3200 board. Rev.0.1.
; 
; 
; 
; 
; 
; 
;                            ..........................
;                           .                          .
;                           .      ******************  .
;                           .     **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                      //this source must use relative registers !!!
; 
; #include <string.h>
; #include "upsd3200.h"
; #include "upsd_usb.h"
; #include "lcd_3200.h"
; #include "app_intr.h"
; 
; 
;                        /*========= Prototypes =========*/
; 

⌨️ 快捷键说明

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