📄 main.asm
字号:
#INCLUDE ht46rb50.INC
#INCLUDE MACRO.H
;;***********************************************************
;;**********************Mask option**************************
;;***********************************************************
;;MCU Body: HT46RB50
;;Product: 18DIP
;;VDD: 5V
;;Fsys: 12MHZ
;;Pull-High: all pull-high
;;WDT: WDT enable
;;WDT Clock Soure: T1
;;CLR WDT: One clear instruction
;;Output mode PA0~7: CMOS output
;;Wake-Up: all none wake-up
;;Project name: USB
;;Programmer: dolphin
;;Established date: 2006/03/01
;;***********************************************************
;;**********************Code section*************************
;;***********************************************************
MAIN. SECTION AT 0H 'CODE'
ORG 00H
JMP MAIN
;;-----------------------------------------------------------
ORG 04H
RETI ;INT
ORG 08H
RETI ;TME0
ORG 0CH
JMP ISR_TMR1 ;TMR1
ORG 10H
JMP ISR_USB ;USB
ORG 14H
JMP ISR_AD ;AD
ORG 18H
RETI ;RS232
;;-----------------------------------------------------------
MAIN:
CLR WDT
CALL Clear_RAM ;clear all ram
CALL INI_PORT ;initial port
SET USC.4
CLR F_FsysClock ;UCC.6,12MHz
MOV A,125
MOV M_IdleTime,A ;set USB idle time is 125*4ms=500ms
SET F_ReportProtocol ;
SET M_Stall ;stall=FFH
SET F_AddressStatus ;
SET F_USBClockOn ;UCC.3,USB ON
CALL INI_RAM ;initial ram
;; MOV A,01H
;; MOV INTC1,A ;configer INTC
;; MOV A,01H
;; MOV INTC0,A
;;-----------------------------------------------------------
MLP_MAIN:
CLR WDT
SZ F_Suspend ;USR.0,USB in suspend status?
JMP L_ToSuspend ;YES,suspend
JMP MLP_MAIN
;;-----------------------------------------------------------
L_ToSuspend:
;; CLR TMR1C.4
CALL SBR_DelaySecond
SNZ F_Suspend
JMP L_ExitSuspend
CLR F_USBClockOn
SET F_Suspend2
HALT
;;-----------------------------------------------------------
L_Exitsuspend:
;; SET TMR1C.4
JMP MLP_MAIN
;;***********************************************************
#INCLUDE USB_ISR.ASM
#INCLUDE INITIATE.ASM
#INCLUDE USB_LIB.ASM
#INCLUDE STANDARD_REQUEST.ASM
#INCLUDE CLASS_REQUEST.ASM
;;#INCLUDE SERIAL.ASM
#INCLUDE Interrupt.asm
#INCLUDE DESCRIPTOR.ASM
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -