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

📄 dscr.a51

📁 keil环境下编译,产生hex文件,通过EZ-USB Control Panel下载到USB芯片CY7C68013上运行
💻 A51
字号:
;;-----------------------------------------------------------------------------
;;   File:      dscr.a51
;;   Contents:   This file contains descriptor data tables.  
;;
;;   Copyright (c) 1997 AnchorChips, Inc. All rights reserved
;;-----------------------------------------------------------------------------
   
DSCR_DEVICE   equ   1   ;; Descriptor type: Device
DSCR_CONFIG   equ   2   ;; Descriptor type: Configuration
DSCR_STRING   equ   3   ;; Descriptor type: String
DSCR_INTRFC   equ   4   ;; Descriptor type: Interface
DSCR_ENDPNT   equ   5   ;; Descriptor type: Endpoint
DSCR_DEVQUAL  equ   6   ;; Descriptor type: Device Qualifier

DSCR_DEVICE_LEN   equ   18
DSCR_CONFIG_LEN   equ    9
DSCR_INTRFC_LEN   equ    9
DSCR_ENDPNT_LEN   equ    7
DSCR_DEVQUAL_LEN  equ   10

ET_CONTROL   equ   0   ;; Endpoint type: Control
ET_ISO       equ   1   ;; Endpoint type: Isochronous
ET_BULK      equ   2   ;; Endpoint type: Bulk
ET_INT       equ   3   ;; Endpoint type: Interrupt

public      DeviceDscr, DeviceQualDscr, HighSpeedConfigDscr, FullSpeedConfigDscr, StringDscr, UserDscr

DSCR   SEGMENT   CODE PAGE

;;-----------------------------------------------------------------------------
;; Global Variables
;;-----------------------------------------------------------------------------
      rseg DSCR      ;; locate the descriptor table in on-part memory.

DeviceDscr:   
      db   DSCR_DEVICE_LEN ;;描述符长度
      db   DSCR_DEVICE  	;;描述符类型
      dw   0002H     		;;协议版本(BCD)
      db   00H     			;;设备类
      db   00H      			;;设备子类
      db   00H         		;;设备子子类
      db   40H         		;;最大包长度
      dw   4705H      		;; Vendor ID
      dw   0210H      		;; Product ID (Sample Device)
      dw   1003H      		;; Product version ID
      db   1         		;;生产商字符串索引
      db   2         		;;产品字符串索引
      db   0         		;;序列号字符串索引
      db   1         		;;配置数

DeviceQualDscr:
      db   DSCR_DEVQUAL_LEN;;描述符长度
      db   DSCR_DEVQUAL   	;;描述符类型
      dw   0002H      		;;协议版本 (BCD)
      db   00H        		;;设备类 Device class
      db   00H        		;;设备子类 Device sub-class
      db   00H         		;;设备子子类 Device sub-sub-class
      db   40H         		;;最大包长度 Maximum packet size
      db   1         		;;配置数 Number of configurations
      db   0         		;;保留 Reserved

HighSpeedConfigDscr:   
      db   DSCR_CONFIG_LEN       ;; Descriptor length
      db   DSCR_CONFIG           ;; Descriptor type
      db   (HighSpeedConfigDscrEnd-HighSpeedConfigDscr) mod 256 ;; Total Length (LSB)
      db   (HighSpeedConfigDscrEnd-HighSpeedConfigDscr)  /  256 ;; Total Length (MSB)
      db   1      					;; Number of interfaces
      db   1    						;; Configuration number
      db   0     						;; Configuration string
      db   10000000b  				;; Attributes (b7 - buspwr, b6 - selfpwr(=1则自我供电), b5 - rwu(远程唤醒使能)
      db   50      					;;功率需求 Power requirement (div 2 ma 除以2mA)

;; Interface Descriptor	接口描述符
      db   DSCR_INTRFC_LEN      	;;描述符长度
      db   DSCR_INTRFC         	;;描述符类型
      db   0               		;;该接口基于0的索引
      db   0               		;;可选设置
      db   2               		;;端点数
      db   0ffH            		;;接口类型
      db   00H               		;;接口子类
      db   00H               		;;接口子子类
      db   0              			;;接口描述符字符串索引
      
;; Endpoint Descriptor	2
      db   DSCR_ENDPNT_LEN      	;; Descriptor length
      db   DSCR_ENDPNT         	;; Descriptor type
      db   82H               		;; Endpoint number, and direction 
      db   ET_BULK             	;; Endpoint type
      db   00H               		;; Maximun packet size (LSB)
      db   04H               		;; Max packect size (MSB)
      db   00H               		;; Polling interval
;; Endpoint Descriptor	6
      db   DSCR_ENDPNT_LEN      	;; Descriptor length
      db   DSCR_ENDPNT         		;; Descriptor type
      db   06H               		;; Endpoint number, and direction
      db   ET_BULK            		;; Endpoint type
      db   00H              		;; Maximun packet size (LSB)
      db   04H               		;; Max packect size (MSB)
      db   00H               		;; Polling interval

;; Endpoint Descriptor	8
      db   DSCR_ENDPNT_LEN      	;; Descriptor length
      db   DSCR_ENDPNT         	;; Descriptor type
      db   88H               		;; Endpoint number, and direction
      db   ET_BULK            	;; Endpoint type
      db   00H               		;; Maximun packet size (LSB)
      db   02H               		;; Max packect size (MSB)
      db   00H               		;; Polling interval

HighSpeedConfigDscrEnd:   

FullSpeedConfigDscr:   
      db   DSCR_CONFIG_LEN               ;;以下的不用管了
      db   DSCR_CONFIG                  ;; Descriptor type
      db   (FullSpeedConfigDscrEnd-FullSpeedConfigDscr) mod 256 ;; Total Length (LSB)
      db   (FullSpeedConfigDscrEnd-FullSpeedConfigDscr)  /  256 ;; Total Length (MSB)
      db   1      ;; Number of interfaces
      db   1      ;; Configuration number
      db   0      ;; Configuration string
      db   10000000b   ;; Attributes (b7 - buspwr, b6 - selfpwr, b5 - rwu)
      db   50      ;; Power requirement (div 2 ma)

;; Interface Descriptor
      db   DSCR_INTRFC_LEN      ;; Descriptor length
      db   DSCR_INTRFC         ;; Descriptor type
      db   0               ;; Zero-based index of this interface
      db   0               ;; Alternate setting
      db   2               ;; Number of end points 
      db   0ffH            ;; Interface class
      db   00H               ;; Interface sub class
      db   00H               ;; Interface sub sub class
      db   0               ;; Interface descriptor string index
      
;; Endpoint Descriptor 2
      db   DSCR_ENDPNT_LEN      ;; Descriptor length
      db   DSCR_ENDPNT         ;; Descriptor type
      db   02H               ;; Endpoint number, and direction
      db   ET_BULK            ;; Endpoint type
      db   00H               ;; Maximun packet size (LSB)
      db   04H               ;; Max packect size (MSB)
      db   00H               ;; Polling interval
;; Endpoint Descriptor 6
      db   DSCR_ENDPNT_LEN      ;; Descriptor length
      db   DSCR_ENDPNT         ;; Descriptor type
      db   86H               ;; Endpoint number, and direction
      db   ET_BULK            ;; Endpoint type
      db   00H               ;; Maximun packet size (LSB)
      db   04H               ;; Max packect size (MSB)
      db   00H               ;; Polling interval

FullSpeedConfigDscrEnd:   

StringDscr:

StringDscr0:   
      db   StringDscr0End-StringDscr0      ;; String descriptor length
      db   DSCR_STRING
      db   09H,04H
StringDscr0End:

StringDscr1:   
      db   StringDscr1End-StringDscr1      ;; String descriptor length
      db   DSCR_STRING
      db   'X',00
      db   'i',00
      db   'D',00
      db   'i',00
      db   'a',00
      db   'n',00
      db   ' ',00
StringDscr1End:

StringDscr2:   
      db   StringDscr2End-StringDscr2      ;; Descriptor length
      db   DSCR_STRING
      db   '2',00
      db   '0',00
      db   '0',00
      db   '8',00
      db   '0',00
      db   '5',00
      db   '2',00
      db   '9',00
      db   ' ',00
      db   ' ',00
StringDscr2End:

UserDscr:      
      dw   0000H
		db   'C'
		db   'C'
		db   'Y'
      end
      

⌨️ 快捷键说明

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