亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? firmware.a51

?? 基于FPGA的usb程序
?? A51
?? 第 1 頁 / 共 2 頁
字號:
	MOV  DPTR, #wValueLo
	MOVX A, @DPTR                               ; endpoint

	;-- todo: store HALT info for every endpoint
	MOV  EpHalt, #1
	
	JMP  NoDataControl

;-------------------------------------------------------------------------------
;* * *   H I D   s p e c i f i c   r e q u e s t s   * * * * * * * * * * * * * *
;-------------------------------------------------------------------------------

;*** HID 7.1.1 Get Descriptor **************************************************
xxxGET_DESCRIPTOR:
	MOV  DPTR, #wValueHi
	MOVX A, @DPTR

	CLR  C
	SUBB A, #21h
	JZ   hidGET_DESCRIPTOR

	DEC  A
	JZ   rptGET_DESCRIPTOR

	JMP  invalid

;*** HID 7.2.1 Get Report ******************************************************
xxxGET_REPORT:
	;-- put report data
	MOV  DPTR, #usbFIFO
	MOV  A, #0AAh
	MOVX @DPTR, A

	MOV  A, #1
	JMP  ControlRead

;*** HID 7.2.2 Set Report ******************************************************
xxxSET_REPORT:

	;-- control-write sequence
sr1:
	MOV  DPTR, #usbCTRL
	MOV  A, #usbCTRLwrite
	MOVX @DPTR, A

	;-- wait for next transaction
	MOV  DPTR, #usbSTAT
sr2:	
	MOVX A, @DPTR
	ANL  A, #usbSTATall
	JZ   sr2

	;-- discard data stage
	CJNE A, #usbSTATstatus, sr1

	JMP  AcknowledgeStatus

;-------------------------------------------------------------------------------
;* * *   i n v a l i d   r e q u e s t s   * * * * * * * * * * * * * * * * * * *
;-------------------------------------------------------------------------------
SET_DESCRIPTOR:                                 ; descriptors are static
SET_INTERFACE:                                  ; only one Interface
GET_INTERFACE:                                  ; no alternate setting
devSET_FEATURE:                                 ; no features to be set or cleared
ifSET_FEATURE:                                  ; no features to be set or cleared
devCLEAR_FEATURE:                               ; no features to be set or cleared
ifCLEAR_FEATURE:                                ; no features to be set or cleared
epSYNCH_FRAME:                                  ; not an Isonchronous device
invalid:
;--
xxxGET_PROTOCOL:                                ; not a Boot device
xxxSET_PROTOCOL:                                ; not a Boot device
xxxSET_DESCRIPTOR:         	                    ; descriptors are static
xxxGET_IDLE:                                    ; optional request
xxxSET_IDLE:                                    ; optional request

	;-- display "f"
	MOV  A, #ledREGf
	MOV  DPTR, #ledREG
	MOVX @DPTR, A

	;-- STALL endpoint
	MOV  DPTR, #usbCTRL
	MOV  A, #usbCTRLstall
	MOVX @DPTR, A

	RET

;-------------------------------------------------------------------------------
;* * *   h e l p e r s   * * * * * * * * * * * * * * * * * * * * * * * * * * * *
;-------------------------------------------------------------------------------
devGET_DESCRIPTOR:
	MOV  DPTR, #DevDescr
	MOV  A, #DevDescrLen
	JMP  doGET_DESCRIPTOR

;-------------------
cfgGET_DESCRIPTOR:
	MOV  DPTR, #CfgDescr
	MOV  A, #CfgDescrLen
	JMP  doGET_DESCRIPTOR

;-------------------
strGET_DESCRIPTOR:
	MOV  DPTR, #wValueLO
	MOVX A, @DPTR

	MOV  DPTR, #String0
	JZ   sd

	MOV  DPTR, #String1
	DEC  A
	JZ   sd

	MOV  DPTR, #String2
	DEC  A
	JZ   sd

	MOV  DPTR, #String3
	DEC  A
	JZ   sd

	MOV  DPTR, #String4
sd: MOVX A, @DPTR                               ; length of string
	
	JMP  doGET_DESCRIPTOR

;-------------------------------------------------------------------------------
hidGET_DESCRIPTOR:
	MOV  DPTR, #HidDescr
	MOV  A, #HidDescrLen
	JMP  doGET_DESCRIPTOR

;-------------------
rptGET_DESCRIPTOR:
	MOV  DPTR, #RptDescr
	MOV  A, #RptDescrLen
	JMP  doGET_DESCRIPTOR

;-------------------------------------------------------------------------------
doGET_DESCRIPTOR:
; purpose:
;   send descriptor data to host
; entry: 
;   DPTR - descriptor address
;   A    - descriptor length
; uses:
;   Temp1 - descriptor length, total bytes counter
;   Temp2 - min(wLength, 255), fifo bytes counter
;   Temp3 - LO(descriptor address)
;   Temp4 - HI(descriptor address)
;   Temp5 - LO(destination address)
;   Temp6 - HI(destination address)
;   Temp7 - fifo bytes control
	;-- save parameters
	MOV  Temp1, A
	MOV  Temp3, DPL
	MOV  Temp4, DPH

	;-- compute min(wLength, 255)
	MOV  DPTR, #wLengthHi
	MOVX A, @DPTR
	JZ   sd_lo
	MOV  A, #255
sd_lo:
	MOV  DPTR, #wLengthLo
	MOV  Temp2, A
	MOVX A, @DPTR
	ORL  A, Temp2
	MOV  Temp2, A

	;-- compute min(Temp1, Temp2)
	CLR  C
	SUBB A, Temp1
	JNC  sd_t1
	MOV  A, Temp2
	MOV  Temp1, A
sd_t1:
	
sd_nf:
	;-- compute min(Temp1, usbFIFOlen)
	MOV  A, #usbFIFOlen
	MOV  Temp2, A
	MOV  A, Temp1
	CLR  C
	SUBB A, Temp2
	JNC  sd_ff
	MOV  A, Temp1
	MOV  Temp2, A
	MOV  A, #0
sd_ff:
	MOV  Temp1, A
	MOV  A, Temp2
	MOV  Temp7, A

	;-- setup destination pointer
	MOV  DPTR, #usbFIFO
	MOV  Temp5, DPL
	MOV  Temp6, DPH

sd_nb:
	;-- load data byte
	MOV  DPL, Temp3
	MOV  DPH, Temp4
	MOVX A, @DPTR
	INC  DPTR
	MOV  Temp3, DPL
	MOV  Temp4, DPH

	;-- store data byte
	MOV  DPL, Temp5
	MOV  DPH, Temp6
	MOVX @DPTR, A
	INC  DPTR
	MOV  Temp5, DPL
	MOV  Temp6, DPH

	;-- maintain fifo counter
	MOV  A, Temp2
	DEC  A
	MOV  Temp2, A
	JNZ  sd_nb

	;-- validate fifo
	MOV  DPTR, #usbCTRL
	MOV  A, Temp7
	ORL  A, #usbCTRLread
	MOVX @DPTR, A

	;-- wait for next transaction
	MOV  DPTR, #usbSTAT
sd_io:
	MOVX A, @DPTR
	ANL  A, #usbSTATall
	JZ   sd_io
	CJNE A, #usbSTATdata, sd_x                   ; early status stage

	;-- maintain total counter
	MOV  A, Temp1
	JNZ  sd_nf

	;-- send zero-length package, if required
	MOV  A, #0
	JMP  ControlRead	

sd_x:
	JMP  AcknowledgeStatus

;-------------------------------------------------------------------------------
doGET_STATUS:
	MOV  DPTR, #usbFIFO
	MOVX @DPTR, A

	INC  DPTR
	MOV  A, #0
	MOVX @DPTR, A

	MOV  A, #2
	JMP  ControlRead

;-------------------------------------------------------------------------------
NoDataControl:
	MOV  DPTR, #usbCTRL
	MOV  A, #usbCTRLwrite
	MOVX @DPTR, A
	JMP  WaitForStatus

;-------------------
ControlRead:
	MOV  DPTR, #usbCTRL
	ORL  A, #usbCTRLread
	MOVX @DPTR, A
	JMP  WaitForStatus

;-------------------
WaitForStatus:
	MOV  DPTR, #usbSTAT
w2:	MOVX A, @DPTR
	ANL  A, #usbSTATall
	CJNE A, #usbSTATstatus, w2
;--
AcknowledgeStatus:
	MOV  DPTR, #usbCTRL
	MOV  A, #usbCTRLstatus
	MOVX @DPTR, A
	RET

;-------------------------------------------------------------------------------
;* * *   d a t a   * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
;-------------------------------------------------------------------------------

;*** device descriptor *********************************************************
DevDescr:
	DB 18, 1                                    ; Length, Type
	DW 101H                                     ; USB Rev 1.1
	DB 0, 0, 0                                  ; Class, Subclass and Protocol
	DB usbFIFOlen                               ; EP0 size
	DB 0D0h, 0Bh                                ; Vendor ID 0x0BD0 (3024)
	DB 0, 1                                     ; Product ID 0x0100
	DB 0, 1                                     ; Version Rev 1.0
	DB 1, 2, 0                                  ; Manufacturer, Product & Serial# Names
	DB 1                                        ; #Configs
DevDescrLen EQU $ - DevDescr

;*** config descriptor *********************************************************
CfgDescr:
	DB 9, 2                                     ; Length, Type
	DB LOW(CfgDescrLen), HIGH(CfgDescrLen)
	DB 1, 1, 3                                  ; #Interfaces, Configuration#, Config. Name
	DB 10000000b                                ; Attributes = Bus Powered
	DB 50                                       ; Max. Power is 50x2 = 100mA

;*** interface descriptor ******************************************************
IfDescr:
	DB 9, 4                                     ; Length, Type
	DB 0, 0, 1                                  ; No alternate setting, HID uses EP1
	DB 3                                        ; Class = Human Interface Device
	DB 0, 0                                     ; Subclass and Protocol
	DB 4                                        ; Interface Name

;*** HID descriptor ************************************************************
HidDescr:
	DB 9, 21H                                   ; Length, Type
	DB 0, 1                                     ; HID Class Specification compliance
	DB 0                                        ; Country localization (=none)
	DB 1                                        ; Number of descriptors to follow
	DB 22H                                      ; And it's a Report descriptor
	DB LOW(RptDescrLen), HIGH(RptDescrLen)
HidDescrLen EQU $ - HidDescr

;*** endpoint descriptor *******************************************************
EpDescr:
	DB 7, 5                                     ; Length, Type
	DB 10000001b                                ; Address = IN 1
	DB 00000011b                                ; Interrupt
	DB 64, 0                                    ; Maximum packet size (this example only uses 1)
	DB 100                                      ; Poll every 0.1 seconds 
CfgDescrLen EQU $ - CfgDescr

;*** report descriptor *********************************************************
RptDescr:                                      ; Generated with HID Tool, copied to here
	DB 6, 0, 0FFH                               ; Usage_Page (Vendor Defined)
	DB 9, 1                                     ; Usage (I/O Device)
	DB 0A1H, 1                                  ; Collection (Application)
	DB 19H, 1                                   ;   Usage_Minimum (Button 1)
	DB 29H, 8                                   ;   Usage_Maximum (Button 8)
	DB 15H, 0                                   ;   Logical_Minimum (0)
	DB 25H, 1                                   ;   Logical_Maximum (1)
	DB 75H, 1                                   ;   Report_Size (1)
	DB 95H, 8                                   ;   Report_Count (8)
	DB 81H, 2                                   ;   Input (Data,Var,Abs)
	DB 19H, 1                                   ;   Usage_Minimum (Led 1)
	DB 29H, 8                                   ;   Usage_Maximum (Led 8)
	DB 91H, 2                                   ;   Output (Data,Var,Abs)
	DB 0C0H                                     ; End_Collection
RptDescrLen EQU $ - RptDescr

;*** string #0 *****************************************************************
String0:                                        ; declare the UNICODE strings
	DB 4, 3, 9, 4                               ; english strings
;String0Len EQU $ - String0

;*** string #1 *****************************************************************
String1:                                        ; Manufacturer
	DB (String2-String1), 3                     ; Length, Type 
	DB 'U',0,'S',0,'B',0,' ',0,'D',0,'e',0,'s',0,'i',0,'g',0,'n',0,' ',0
	DB 'B',0,'y',0,' ',0,'E',0,'x',0,'a',0,'m',0,'p',0,'l',0,'e',0

;*** string #2 *****************************************************************
String2:                                        ; Product Name
	DB (String3-String2), 3
	DB 'B',0,'u',0,'t',0,'t',0,'o',0,'n',0,'s',0,' ',0
	DB '&',0,' ',0,'L',0,'i',0,'g',0,'h',0,'t',0,'s',0

;*** string #3 *****************************************************************
String3:                                        ; Configuration Name
	DB (String4-String3), 3
	DB 'S',0,'i',0,'m',0,'p',0,'l',0,'e',0,' ',0,'I',0,'/',0
	DB 'O',0,' ',0,'D',0,'e',0,'v',0,'i',0,'c',0,'e',0

;*** string #4 *****************************************************************
String4:                                        ; Interface Name
	DB (EndOfDescriptors-String4), 3
	DB 'F',0,'i',0,'r',0,'s',0,'t',0,' ',0,'H',0,'I',0,'D',0
	DB ' ',0,'E',0,'x',0,'a',0,'m',0,'p',0,'l',0,'e',0
EndOfDescriptors:
	DW 0                                        ; Backstop for String Descriptors

;-------------------------------------------------------------------------------
	END

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
蜜臀av性久久久久av蜜臀妖精| 一级特黄大欧美久久久| 欧美少妇xxx| 91小视频免费观看| 国产成人免费视频网站| 国产制服丝袜一区| 国产福利一区在线观看| 国产成人自拍高清视频在线免费播放| 国产在线视频一区二区三区| 国产福利一区二区三区在线视频| 成人国产视频在线观看| 91视频在线观看免费| 色一情一乱一乱一91av| 欧美美女视频在线观看| 欧美xxx久久| 久久精品在这里| 中文字幕在线视频一区| 夜夜精品浪潮av一区二区三区| 亚洲免费成人av| 日韩av电影天堂| 国产成人在线电影| 色88888久久久久久影院按摩| 欧美日韩国产123区| 欧美一区二区福利视频| 久久精品视频一区二区| 亚洲精品中文字幕在线观看| 丝袜亚洲另类欧美综合| 狠狠色伊人亚洲综合成人| 国产成都精品91一区二区三| 不卡的av电影在线观看| 欧美日韩激情在线| 国产人久久人人人人爽| 伊人一区二区三区| 美国毛片一区二区三区| 成人av第一页| 日韩一区二区三区视频在线| 国产日韩三级在线| 亚洲国产成人精品视频| 懂色av一区二区三区蜜臀| 在线观看一区二区精品视频| 精品欧美一区二区久久| 一区二区三区高清| 激情五月婷婷综合| 欧美日精品一区视频| 日本一区二区三区视频视频| 亚洲va国产va欧美va观看| 国产电影一区二区三区| 欧美日韩免费观看一区二区三区 | 男人操女人的视频在线观看欧美| 韩国av一区二区三区在线观看| 色婷婷综合久色| 国产拍揄自揄精品视频麻豆| 青娱乐精品在线视频| 欧美伊人久久久久久久久影院 | 懂色av一区二区夜夜嗨| 51精品视频一区二区三区| 亚洲精品写真福利| 国产99久久久国产精品潘金网站| 在线不卡欧美精品一区二区三区| 亚洲乱码国产乱码精品精小说 | 水蜜桃久久夜色精品一区的特点| 高清视频一区二区| 26uuuu精品一区二区| 蜜臀av性久久久久av蜜臀妖精| 91国产成人在线| 1区2区3区欧美| 不卡欧美aaaaa| 国产精品福利影院| a在线欧美一区| 亚洲视频在线观看三级| 成人一道本在线| 中文字幕在线一区| 91丨九色丨蝌蚪富婆spa| 欧美国产欧美亚州国产日韩mv天天看完整| 精品一区二区久久久| 精品日韩在线一区| 国产一区二区三区免费观看| 精品久久久久久综合日本欧美 | 国产精品妹子av| 国产精品香蕉一区二区三区| 久久在线免费观看| 国产美女av一区二区三区| 精品久久久久久最新网址| 国产综合色视频| 国产视频亚洲色图| 国产v综合v亚洲欧| 亚洲欧美在线另类| 色婷婷一区二区三区四区| 亚洲精品免费在线观看| 欧美日韩亚洲国产综合| 日韩有码一区二区三区| 日韩欧美国产精品| 国产伦理精品不卡| 国产精品不卡一区| 欧美色国产精品| 麻豆一区二区在线| 欧美激情一区二区在线| 色综合久久综合中文综合网| 亚洲成人在线免费| 久久先锋影音av| 色综合天天综合网天天狠天天| 亚洲丰满少妇videoshd| 欧美tk丨vk视频| 一本一道波多野结衣一区二区| 亚洲国产wwwccc36天堂| 精品国产乱码久久久久久1区2区 | 日本vs亚洲vs韩国一区三区| 久久久精品日韩欧美| 色综合天天视频在线观看| 日本免费在线视频不卡一不卡二| 久久新电视剧免费观看| 91精品1区2区| 韩国欧美国产1区| 亚洲男人电影天堂| 精品成人免费观看| 欧美日韩视频在线一区二区| 国产成人精品一区二区三区四区| 亚洲国产中文字幕在线视频综合| 精品国内片67194| 在线观看亚洲a| 国产精品88888| 天涯成人国产亚洲精品一区av| 国产欧美精品一区| 日韩视频免费观看高清完整版在线观看 | 亚洲永久免费视频| 久久亚洲一级片| 欧美精品 国产精品| 91欧美激情一区二区三区成人| 精品在线免费视频| 视频一区二区三区在线| 亚洲色图制服丝袜| 中文欧美字幕免费| 精品成a人在线观看| 欧美区视频在线观看| 色噜噜久久综合| 国产风韵犹存在线视精品| 奇米影视一区二区三区小说| 亚洲一区二区三区自拍| 一色屋精品亚洲香蕉网站| 久久久久久免费毛片精品| 欧美一区二区私人影院日本| 欧美三级乱人伦电影| 在线观看www91| 色综合欧美在线| 色综合久久88色综合天天6| 成人动漫中文字幕| 国产精品99久久久久久似苏梦涵| 精品亚洲欧美一区| 视频一区欧美精品| 五月综合激情日本mⅴ| 亚洲国产精品久久久久婷婷884 | 一区二区三区四区亚洲| 亚洲欧美偷拍卡通变态| 中文字幕一区二区三区在线不卡| 精品成人在线观看| 亚洲精品在线三区| 久久精品夜色噜噜亚洲a∨| 国产亚洲欧美激情| 国产精品网站在线观看| 国产精品久久久久久福利一牛影视 | 亚洲观看高清完整版在线观看| 一区二区成人在线视频| 亚洲激情网站免费观看| 亚洲国产视频在线| 肉肉av福利一精品导航| 日本不卡高清视频| 国内成人免费视频| 成人三级在线视频| 91福利视频久久久久| 欧美日韩一区不卡| 日韩免费电影一区| 久久欧美中文字幕| 国产精品国产自产拍高清av| 亚洲精品美腿丝袜| 七七婷婷婷婷精品国产| 国产伦理精品不卡| 91在线视频免费91| 欧美精品777| 中文字幕欧美三区| 亚洲超碰97人人做人人爱| 久久99久久精品| 一本色道久久综合亚洲aⅴ蜜桃| 欧美日本韩国一区| 久久精品亚洲麻豆av一区二区| 日韩美女久久久| 美女一区二区三区| 91免费版pro下载短视频| 555www色欧美视频| 国产精品久久网站| 日本不卡一二三区黄网| 99re视频精品| 欧美一级电影网站| 亚洲日本护士毛茸茸| 美腿丝袜亚洲综合| 91福利视频在线| 欧美激情在线观看视频免费| 午夜不卡av免费| 99re亚洲国产精品| 久久色中文字幕| 免费观看一级欧美片|