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

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

?? usb.asm

?? 單片機USB接口模擬鍵盤,該程序可以控制PC機的PS/2鍵盤的NUM LOCK和SCROLL LOCK的燈,以此說明通訊正常
?? ASM
?? 第 1 頁 / 共 2 頁
字號:
;;*****************************************************************************
;;*****************************************************************************
;;  FILENAME: USB.asm
;;   Version: 1.5, Updated on 2006/06/19 at 11:43:56
;;  Generated by PSoC Designer ver 4.3  b1884 : 23 June, 2006
;;
;;  DESCRIPTION: USB Device User Module software implementation file
;;               for the enCoRe II family of devices
;;
;;  NOTE: User Module APIs conform to the fastcall convention for marshalling
;;        arguments and observe the associated "Registers are volatile" policy.
;;        This means it is the caller's responsibility to preserve any values
;;        in the X and A registers that are still needed after the API
;;        function returns. Even though these registers may be preserved now,
;;        there is no guarantee they will be preserved in future releases.
;;-----------------------------------------------------------------------------
;;  Copyright (c) Cypress Semiconductor 2004, 2005. All Rights Reserved.
;;*****************************************************************************
;;*****************************************************************************

include "m8c.inc"
include "USB_macros.inc"
include "USB.inc"
IF 0x0 & 0x10000000
PSOC_ERROR Please run the USB Setup Wizard.  Device Editor, Right Click the USB User Module
; This message will only appear if the USB Setup Wizard has not be run and the descriptors
; and associated data structures have been created.
; After running the USB Setup Wizard, you must also select the Config/Generate Application
; menu item from PSoC Designer in order to generate USB User Module data structures and
; descriptors.
ENDIF
;-----------------------------------------------
;  Global Symbols
;-----------------------------------------------
EXPORT USB_Start
EXPORT _USB_Start
EXPORT USB_Stop
EXPORT _USB_Stop
EXPORT USB_bCheckActivity
EXPORT _USB_bCheckActivity
EXPORT USB_bGetConfiguration
EXPORT _USB_bGetConfiguration
EXPORT USB_bGetEPState
EXPORT _USB_bGetEPState
EXPORT USB_bGetEPCount
EXPORT _USB_bGetEPCount
EXPORT USB_XLoadEP
EXPORT _USB_XLoadEP
EXPORT USB_EnableOutEP
EXPORT _USB_EnableOutEP
EXPORT USB_DisableOutEP
EXPORT _USB_DisableOutEP
EXPORT USB_EnableEP
EXPORT _USB_EnableEP
EXPORT USB_DisableEP
EXPORT _USB_DisableEP
EXPORT USB_Force
EXPORT _USB_Force
EXPORT USB_Suspend
EXPORT _USB_Suspend
EXPORT USB_Resume
EXPORT _USB_Resume
EXPORT USB_bRWUEnabled
EXPORT _USB_bRWUEnabled

AREA bss (RAM,REL)
;-----------------------------------------------
;  Variable Allocation
;-----------------------------------------------
;----------------------------------------------------------------------------
EXPORT USB_APITemp
 USB_APITemp:                          BLK   2 ; Two bytes of temporary
                                                ; storage shared by the API
                                                ; functions
EXPORT USB_APIEPNumber, _USB_APIEPNumber
_USB_APIEPNumber:
 USB_APIEPNumber:                      BLK   1 ; API storage for speed
EXPORT USB_APICount, _USB_APICount
_USB_APICount:
 USB_APICount:                         BLK   1 ; API storage for speed

EXPORT USB_bActivity
 USB_bActivity:                        BLK   1 ; Activity flag (Shared between the ISR and API)
;-----------------------------------------------
;  Constant Data Allocation
;-----------------------------------------------
AREA UserModules (ROM, REL)
EXPORT USB_USB_EP_BIT_LOOKUP
.LITERAL
USB_USB_EP_BIT_LOOKUP:  ;
    DB     01H                       ; EP0
    DB     02H                       ; EP1
    DB     04H                       ; EP2
.ENDLITERAL

AREA UserModules (ROM, REL)

;-----------------------------------------------------------------------------
;  FUNCTION NAME: USB_Start
;
;  DESCRIPTION:    Starts the USB User Module
;                    Sets the device selection
;                    Set the configuration to unconfigured
;                    Enables the SIE for Address 0
;                    Enables the USB pullup (D- for low speed, D+ for full speed)
;
;-----------------------------------------------------------------------------
;
;  ARGUMENTS:    A is the desired device setting
;
;  RETURNS:
;
;  SIDE EFFECTS: REGISTERS ARE VOLATILE: THE A AND X REGISTERS MAY BE MODIFIED!
;
;  THEORY of OPERATION or PROCEDURE:
;
;-----------------------------------------------------------------------------
.SECTION
 USB_Start:
_USB_Start:
    MOV    REG[P10CR], 0x00            ; Disable the states
    MOV    REG[P11CR], 0x00            ; 

    MOV     [USB_bCurrentDevice], A    ; The app selects the desired device

    MOV     [USB_TransferType], USB_TRANS_STATE_IDLE ; Transaction Idle State
    MOV     [USB_Configuration], 0     ; Unconfigured
    MOV     [USB_DeviceStatus], 0      ; Clears device status

    MOV     [USB_EPDataToggle], 0      ; Clear all EP data toggles

; Flow here to enable the SIE
    MOV     REG[USB_ADDR], USB_ADDR_ENABLE ; Enable Address 0
    OR      REG[USB_USBXCR], USB_PULLUP_ENABLE ; Pullup D-
    MOV     REG[USB_EP0MODE], USB_MODE_STALL_IN_OUT ; ACK Setup/Stall IN/OUT
    NOP
    MOV     A, REG[USB_EP0MODE]        ; Read the mode register as a debug marker

    M8C_EnableIntMask INT_MSK1, (INT_MSK1_USB_ACTIVITY | INT_MSK1_USB_BUS_RESET | INT_MSK1_USB_EP0)
    RET
.ENDSECTION
;-----------------------------------------------------------------------------
;  FUNCTION NAME: USB_Stop
;
;  DESCRIPTION:
;
;-----------------------------------------------------------------------------
;
;  ARGUMENTS:
;
;  RETURNS:
;
;  SIDE EFFECTS: REGISTERS ARE VOLATILE: THE A AND X REGISTERS MAY BE MODIFIED!
;
;  THEORY of OPERATION or PROCEDURE:
;
;-----------------------------------------------------------------------------
.SECTION
 USB_Stop:
_USB_Stop:
    MOV     [USB_bCurrentDevice], 0    ; The app selects the desired device

    MOV     [USB_TransferType], USB_TRANS_STATE_IDLE ; Transaction Idle State
    MOV     [USB_Configuration], 0     ; Unconfigured
    MOV     [USB_DeviceStatus], 0      ; Clear the  device status
    MOV     [USB_bActivity], 0         ; Clear the activity flag
    MOV     REG[USB_ADDR], 0           ; Clear the addfress and Address 0
    AND     REG[USB_USBXCR], ~USB_PULLUP_ENABLE ; Release D-
    M8C_DisableIntMask    INT_MSK1, (INT_MSK1_USB_ACTIVITY | INT_MSK1_USB_BUS_RESET | INT_MSK1_USB_EP0 | INT_MSK1_USB_EP1 | INT_MSK1_USB_EP2) ; Enable the interrupt

    RET
.ENDSECTION
;-----------------------------------------------------------------------------
;  FUNCTION NAME: USB_bCheckActivity
;
;  DESCRIPTION:
;
;-----------------------------------------------------------------------------
;
;  ARGUMENTS:
;
;  RETURNS:
;
;  SIDE EFFECTS: REGISTERS ARE VOLATILE: THE A AND X REGISTERS MAY BE MODIFIED!
;
;  THEORY of OPERATION or PROCEDURE:
;
;   The activity interrupt sets a RAM flag indicating activity and disables the
;   interrupt.  Disabling the interrupt keeps the bus activity from creating too
;   many interrupts.  bCheckActivity checks and clears the flag, the enables
;   interrupts for the next interval.
;
;-----------------------------------------------------------------------------
.SECTION
 USB_bCheckActivity:
_USB_bCheckActivity:
    MOV    A, [USB_bActivity]          ; Activity?
    CMP    A, 1                        ; 
    JZ     .active                     ; Jump on Activity
; Flow here on no activity
    RET
; Jump here if activity was detected
.active:
    MOV    [USB_bActivity], 0          ; Clear the activity flag for next time
    M8C_EnableIntMask INT_MSK1, INT_MSK1_USB_ACTIVITY ; Enable the activity interupt
    RET
.ENDSECTION
;-----------------------------------------------------------------------------
;  FUNCTION NAME: USB_bGetConfiguration
;
;  DESCRIPTION:   Returns the current configuration number
;
;-----------------------------------------------------------------------------
;
;  ARGUMENTS:    None
;
;  RETURNS:      A contains the current configuration number
;
;  SIDE EFFECTS: REGISTERS ARE VOLATILE: THE A AND X REGISTERS MAY BE MODIFIED!
;
;  THEORY of OPERATION or PROCEDURE:
;
;-----------------------------------------------------------------------------
.SECTION
 USB_bGetConfiguration:
_USB_bGetConfiguration:
    MOV     A,[USB_Configuration]
    RET
.ENDSECTION
;-----------------------------------------------------------------------------
;  FUNCTION NAME: USB_bGetEPState
;
;  DESCRIPTION:   Returns the current endpoint state
;
;-----------------------------------------------------------------------------
;
;  ARGUMENTS:   A: Endpoint Number
;
;  RETURNS:     A: NO_EVENT_ALLOWED
;                  EVENT_PENDING
;                  NO_EVENT_PENDING
;
;  SIDE EFFECTS: REGISTERS ARE VOLATILE: THE A AND X REGISTERS MAY BE MODIFIED!
;
;  THEORY of OPERATION or PROCEDURE:
;
;-----------------------------------------------------------------------------
.SECTION
 USB_bGetEPState:
_USB_bGetEPState:
    CMP     A, (USB_MAX_EP_NUMBER + 1) ; Range check
    JNC     .invalid_ep                ; Bail out
; Flow here to enable an endpoint        
    MOV     X, A                       ; Endpoint number is the index
    MOV     A, [X+USB_EndpointAPIStatus]; Get the state
    JMP     .exit                      ; Go to the common exit
; Jump here for an invalid endpoint
.invalid_ep:
    MOV     A, 0                       ; Return 0 for an invalid ep
; Jump or flow here for a common exit
.exit:
    RET                                ; All done
.ENDSECTION
;-----------------------------------------------------------------------------
;  FUNCTION NAME: USB_bRWUEnabled
;
;  DESCRIPTION:   Returns 1 if Remote Wake Up is enabled, otherwise 0
;
;-----------------------------------------------------------------------------
;
;  ARGUMENTS:   None
;
;  RETURNS:     A: 1--Remote Wake Up Enabled
;                  0--Remote Wake Up Disabled
;
;  SIDE EFFECTS: REGISTERS ARE VOLATILE: THE A AND X REGISTERS MAY BE MODIFIED!
;
;  THEORY of OPERATION or PROCEDURE:
;
;-----------------------------------------------------------------------------
.SECTION
 USB_bRWUEnabled:
_USB_bRWUEnabled:
    TST     [USB_DeviceStatus], USB_DEVICE_STATUS_REMOTE_WAKEUP
    JNZ     .enabled                   ; Jump if enabled
; Flow here if RWU is disabled        
    MOV     A, 0                       ; Return disabled
    JMP     .exit                      ; Go to the common exit
; Jump when RWU is enabled
.enabled:
    MOV     A, 1                       ; Return enabled
; Jump or flow here for a common exit
.exit:
    RET                                ; All done
.ENDSECTION
;-----------------------------------------------------------------------------
;  FUNCTION NAME: USB_bGetEPCount
;
;  DESCRIPTION:
;
;-----------------------------------------------------------------------------

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99久久久久久| 欧美精品一区二区三区在线 | 成人一级视频在线观看| 一本色道久久综合狠狠躁的推荐 | 在线视频综合导航| 国产日韩欧美不卡| 青青草成人在线观看| 91免费观看国产| 久久精品视频一区| 久久国产欧美日韩精品| 欧美午夜电影在线播放| 一区二区三区**美女毛片| 精品一区二区在线免费观看| 色偷偷久久人人79超碰人人澡| 久久奇米777| 久久成人久久鬼色| 91精品国产综合久久精品性色| 亚洲免费资源在线播放| 99精品视频中文字幕| 国产校园另类小说区| 精品亚洲aⅴ乱码一区二区三区| 欧美人与性动xxxx| 日日摸夜夜添夜夜添亚洲女人| 欧美丝袜自拍制服另类| 一区二区国产盗摄色噜噜| 99久久精品一区| 专区另类欧美日韩| 99国产精品久久| 中文字幕日韩精品一区| av在线不卡观看免费观看| 日本一区二区免费在线| 丁香激情综合国产| 中文字幕在线不卡一区二区三区 | 国产在线视视频有精品| 久久综合色鬼综合色| 国产美女精品人人做人人爽| 2014亚洲片线观看视频免费| 国内精品嫩模私拍在线| 国产欧美一二三区| jiyouzz国产精品久久| 亚洲欧美日韩国产中文在线| 在线视频一区二区免费| 日韩高清不卡一区二区三区| 日韩精品一区二区三区中文不卡 | 99久久精品费精品国产一区二区| 中文字幕亚洲一区二区va在线| av一二三不卡影片| 亚洲久草在线视频| 9191久久久久久久久久久| 精品在线一区二区| 中文字幕一区二区三区四区不卡 | 成人激情午夜影院| 亚洲图片另类小说| 精品1区2区3区| 久99久精品视频免费观看| 国产欧美精品一区二区色综合 | 日韩精品一区第一页| 欧美mv日韩mv国产| 国产不卡免费视频| 午夜a成v人精品| 337p日本欧洲亚洲大胆精品| 99久久er热在这里只有精品15 | 亚洲九九爱视频| 91精品国产综合久久久蜜臀粉嫩 | 性欧美大战久久久久久久久| 日韩欧美成人激情| 91亚洲国产成人精品一区二区三| 亚洲一区中文在线| 欧美成人欧美edvon| 972aa.com艺术欧美| 麻豆国产欧美日韩综合精品二区| 久久九九影视网| 欧美日韩国产经典色站一区二区三区| 国产九九视频一区二区三区| 亚洲夂夂婷婷色拍ww47| 国产视频一区二区在线| 欧美一区二区二区| 国产女同性恋一区二区| 一本到不卡免费一区二区| 麻豆精品在线播放| 亚洲男女毛片无遮挡| 久久欧美中文字幕| 欧美精品少妇一区二区三区| 成人免费毛片高清视频| 美脚の诱脚舐め脚责91 | 婷婷久久综合九色综合伊人色| 久久天天做天天爱综合色| 在线观看日韩精品| 99精品欧美一区二区三区小说 | 中文一区二区完整视频在线观看| 欧美日韩一区二区三区在线| 大陆成人av片| 国产在线视频一区二区三区| 日韩成人一区二区三区在线观看| 亚洲婷婷国产精品电影人久久| 亚洲精品一区二区三区四区高清| 555www色欧美视频| 在线观看国产日韩| 色婷婷久久久综合中文字幕| eeuss鲁片一区二区三区 | 欧美无人高清视频在线观看| 成人免费毛片片v| 国产iv一区二区三区| 国产精品自在在线| 国产一区福利在线| 久久99精品久久久久婷婷| 日韩国产一区二| 免费的成人av| 久久超碰97中文字幕| 麻豆成人免费电影| 精品在线一区二区| 国产剧情一区二区三区| 国产精品911| 国产99久久久国产精品免费看| 国产91精品在线观看| 国产成人自拍网| 白白色 亚洲乱淫| av欧美精品.com| 91久久国产综合久久| 欧美性极品少妇| 欧美电影在哪看比较好| 91精品婷婷国产综合久久| 日韩精品一区二区三区四区视频| 久久综合中文字幕| 国产免费久久精品| 亚洲欧美另类久久久精品| 洋洋av久久久久久久一区| 亚洲一区二区视频在线| 日本特黄久久久高潮| 国内精品久久久久影院色| 国产伦精品一区二区三区视频青涩 | 丝袜a∨在线一区二区三区不卡| 日韩精品国产欧美| 激情欧美一区二区三区在线观看| 国产激情一区二区三区四区| 91啪亚洲精品| 欧美肥妇毛茸茸| 国产目拍亚洲精品99久久精品| 亚洲激情中文1区| 免费精品视频在线| fc2成人免费人成在线观看播放| 欧美在线啊v一区| 精品国产91亚洲一区二区三区婷婷| 国产日韩三级在线| 亚洲成人综合在线| 国产成人自拍网| 欧美四级电影在线观看| 精品乱人伦小说| 有坂深雪av一区二区精品| 青青草视频一区| 91丨九色丨蝌蚪富婆spa| 日韩一级黄色片| 亚洲美女免费在线| 国产中文字幕精品| 欧美性xxxxxxxx| 国产亚洲成aⅴ人片在线观看| 亚洲成人一二三| 不卡视频免费播放| 日韩欧美高清在线| 亚洲免费观看在线观看| 狠狠久久亚洲欧美| 欧美日本一区二区| 亚洲欧美在线高清| 精品在线播放午夜| 欧美日韩精品久久久| 国产精品久久久久久一区二区三区| 天天影视网天天综合色在线播放| 成人va在线观看| 久久久不卡影院| 蜜臀av性久久久久蜜臀aⅴ流畅 | 精品美女在线播放| 亚洲一二三级电影| 91小视频在线| 欧美激情一区三区| 午夜国产精品影院在线观看| 欧美在线观看一区二区| 1区2区3区欧美| 国产伦精一区二区三区| 在线播放欧美女士性生活| 国产精品超碰97尤物18| 国产黄色91视频| 精品久久人人做人人爰| 视频一区二区三区中文字幕| 色婷婷av一区二区三区软件| 久久精品亚洲乱码伦伦中文| 激情综合色丁香一区二区| 欧美性猛交xxxxxxxx| 亚洲精品国产一区二区三区四区在线 | 日韩午夜激情视频| 五月综合激情婷婷六月色窝| 一本大道综合伊人精品热热| 国产精品久久久久一区二区三区 | 天堂资源在线中文精品| 欧洲一区在线观看| 亚洲免费大片在线观看| 91污在线观看| 亚洲另类春色国产| 色婷婷国产精品| 亚洲第一久久影院| 欧美挠脚心视频网站|