📄 usb_proc.asm
字号:
include HT82K96e.inc
include usbrf.inc
include usbfifo.inc
START_VAR EQU 20H
extern STALL :byte
extern ReportKBTime :byte
extern bAltkbProtocol :bit
extern bwait_setup :bit
usbproc .section AT 45fH 'code'
;-------------------------------------------------------------------
Ram_init: ;clear RAM {20~BF}
mov a,start_var
mov mp0,a
mov a,160
next_addr2:
clr wdt
clr r0
inc mp0
sdz acc
jmp next_addr2
set STALL
mov a,125
mov ReportKBTime,a
set bAltkbProtocol
set bwait_setup
ret
;-----------------------------------------------------------------------------------
start_timer:
clr intc.0
clr timer1_on
mov a,10000000b
mov tmr0c,a
mov a,10000000b
mov tmr1c,a
mov a,090h
mov tmr1L,a
mov a,0E8h
mov tmr1H,a ;about 4ms for 6MHz
mov a,00001011b
mov intc,a
set timer1_on
clr timer0_on
ret
;------------------------------------------------------------------------------
config_USB:
mov a,01000000b ;6MHz
mov CLK_ctrl_reg,a
mov a,00000000b ;switch to USB mode, internal ADC reference voltage
mov Int_reg,a ;clear all pipe interrupt
ret
;------------------------------------------------------------------------------
public Ram_init
public config_USB
public start_timer
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -