usb_proc.asm

来自「82K96E/82M99E开发的USB键盘接收端DEMO程序源码」· 汇编 代码 · 共 78 行

ASM
78
字号
include		HT82K96e.inc
include		usbrf.inc
include		usbfifo.inc


START_VAR		EQU			20H
extern			STALL			:byte
extern			ReportKBTime	:byte
extern			bAltkbProtocol	:bit
extern			baltmouseprotocol	: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			baltmouseprotocol
			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		a,00000000b				;12MHz
		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 + =
减小字号Ctrl + -
显示快捷键?