⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 const.inc

📁 holtek usb音频IC应用DEMO汇编语言源程序。
💻 INC
字号:
;****************************************************************
;Author:Ansonku
;Email:ansonku@holtek.com.tw
;================================================================
;Update Information
;================================================================
;2004/09/27
;define register for usb audio speaker chip
;the usb chip register are all at bank0
;
;****************************************************************


USB_REG_BANK	EQU	0


;R0		EQU	[00H]
;MP0		EQU	[01H]
;R1		EQU	[02H]
;MP1		EQU	[03H]

;ACC		EQU	[05H]
;PCL		EQU	[06H]
;TBLP		EQU	[07H]
;TBLH		EQU	[08H]

;STATUS		EQU	[0AH]
;INTC0		EQU	[0BH]

;TMR0		EQU	[0DH]
;TMR0C		EQU	[0EH]
;TMR1H		EQU	[0FH]
;TMR1L		EQU	[10H]
;TMR1C		EQU	[11H]
;PA		EQU	[12H]
;PAC		EQU	[13H]
;PB		EQU	[14H]
;PBC		EQU	[15H]
;PC		EQU	[16H]
;PCC		EQU	[17H]
;PD		EQU	[18H]
;PDC		EQU	[19H]
;PE		EQU	[1AH]
;PEC		EQU	[1BH]

;INTC1		EQU	[1EH]

EP0_FIFO_SIZE	EQU	8

USB_FIFO0_SIZE	EQU	8
USB_FIFO1_SIZE	EQU	8
USB_FIFO2_SIZE	EQU	8
USB_FIFO3_SIZE	EQU	8
USB_FIFO4_SIZE	EQU	8
USB_FIFO5_SIZE	EQU	8



USB_USC		EQU	020H
USB_USR		EQU	021H
USB_UCC		EQU	022H
USB_AWR		EQU	023H
USB_STALL	EQU	024H
USB_SIES	EQU	025H
USB_MISC	EQU	026H
USB_SETIO	EQU	027H
USB_FIFO0	EQU	028H
USB_FIFO1	EQU	029H
USB_FIFO2	EQU	02AH
USB_FIFO3	EQU	02BH
USB_FIFO4	EQU	02CH
USB_FIFO5	EQU	02DH


;bit position define
@BIT0		EQU	0
@BIT1		EQU	1
@BIT2		EQU	2
@BIT3		EQU	3
@BIT4		EQU	4
@BIT5		EQU	5
@BIT6		EQU	6
@BIT7		EQU	7

;INTC0
@INTC0_EMI	EQU	@BIT0
@INTC0_EEI	EQU	@BIT1
@INTC0_ET0I	EQU	@BIT2
@INTC0_ET1I	EQU	@BIT3
@INTC0_EIF	EQU	@BIT4
@INTC0_T0F	EQU	@BIT5
@INTC0_T1F	EQU	@BIT6

;INTC1
@INTC1_E48KI		EQU	@BIT0
@INTC1_ESII		EQU	@BIT1
@INTC1_AUDIO48KF	EQU	@BIT4
@INTC1_SIF		EQU	@BIT5


;USC
@USC_SUSP	EQU	@BIT0
@USC_RMWK	EQU	@BIT1
@USC_URST	EQU	@BIT2
@USC_RESUME	EQU	@BIT3
@USC_V33C	EQU	@BIT4
@USC_URD	EQU	@BIT7

;USR
@USR_EP0F	EQU	@BIT0
@USR_EP1F	EQU	@BIT1
@USR_EP2F	EQU	@BIT2
@USR_EP3F	EQU	@BIT3
@USR_EP4F	EQU	@BIT4
@USR_EP5F	EQU	@BIT5


;UCC  [20H]
@UCC_EPS0	EQU	@BIT0
@UCC_EPS1	EQU	@BIT1
@UCC_EPS2	EQU	@BIT2
@UCC_USBCKEN	EQU	@BIT3
@UCC_SUSP2	EQU	@BIT4
@UCC_SYSCLK	EQU	@BIT6
@UCC_UFLS	EQU	@BIT7

;AWR
@AWR_WKEN	EQU	@BIT0

;STALL
@STALL_STL0	EQU	@BIT0
@STALL_STL1	EQU	@BIT1
@STALL_STL2	EQU	@BIT2
@STALL_STL3	EQU	@BIT3
@STALL_STL4	EQU	@BIT4
@STALL_STL5	EQU	@BIT5

;SIES
@SIES_ASET	EQU	@BIT0
@SIES_ERR	EQU	@BIT1
@SIES_OUT	EQU	@BIT2
@SIES_IN	EQU	@BIT3
@SIES_NAK	EQU	@BIT4
@SIES_SETUP	EQU	@BIT5

;MISC
@MISC_REQ	EQU	@BIT0
@MISC_TX	EQU	@BIT1
@MISC_CLEAR	EQU	@BIT2
@MISC_ISIEN	EQU	@BIT3
@MISC_ISOEN	EQU	@BIT4
@MISC_SCMD	EQU	@BIT5
@MISC_READY	EQU	@BIT6
@MISC_LEN0	EQU	@BIT7

;SETIO
@SETIO_DATATG	EQU	@BIT0
@SETIO_SETIO1	EQU	@BIT1
@SETIO_SETIO2	EQU	@BIT2
@SETIO_SETIO3	EQU	@BIT3
@SETIO_SETIO4	EQU	@BIT4
@SETIO_SETIO5	EQU	@BIT5

;DPGA
@DPGA_MUTE	EQU	@BIT7
;
;===================================================
;Descriptor constant declarations
;===================================================
;Standard Request Codes
get_status		EQU	0
clear_feature		EQU	1
set_feature		EQU	3
set_address		EQU	5
get_descriptor		EQU	6
set_descriptor		EQU	7
get_configuration	EQU	8
set_configuration	EQU	9
get_interface		EQU	10
set_interface		EQU	11
synch_frame		EQU	12

;Standard Descriptor types
device			EQU	1
configuration		EQU	2
string			EQU	3
interface		EQU	4
endpoint		EQU	5

;Standard Feature Selectors
endpoint_stalled	EQU	0
device_remote_wakeup	EQU	1

;HID class
HID			EQU	21H
report			EQU	22H
physical		EQU	23H

;calss specific request code from section 7.2 class specific requests
get_report		EQU	1
get_idle		EQU	2
get_protocol		EQU	3
set_report		EQU	09
set_idle		EQU	10
set_protocol		EQU	11

set_input_report	EQU	1	
set_output_report	EQU	2

;===================================================
;USB packet constants (debug purposes)
;===================================================
setup			EQU	0B4H
in			EQU	096H
out			EQU	087H
data0			EQU	0C3H
data1			EQU	0D2H
ack			EQU	04BH
nak			EQU	04AH
;===================================================
;USB Audio Class-Specific Request Code
;===================================================
REQUEST_CODE_UNDEFINED	EQU	000H
SET_CUR			EQU	001H
GET_CUR			EQU	081H
SET_MIN			EQU	002H
GET_MIN			EQU	082H
SET_MAX			EQU	003H
GET_MAX			EQU	083H
SET_RES			EQU	004H
GET_RES			EQU	084H
SET_MEM			EQU	005H
GET_MEM			EQU	085H
GET_STAT		EQU	0FFH

;Feature Unit Control Selectors
FU_CONTROL_UNDEFINED	EQU	000H
MUTE_CONTROL		EQU	001H
VOLUME_CONTROL		EQU	002H
BASS_CONTROL		EQU	003H
MID_CONTROL		EQU	004H
TREBLE_CONTROL		EQU	005H
GRAPHIC_EQUALIZER_CONTROL	EQU	006H
AUTOMATIC_GAIN_CONTROL	EQU	007H
DELAY_CONTROL		EQU	008H
BASS_BOOST_CONTROL	EQU	009H
LOUNDNESS_CONTROL	EQU	00AH


;//just for HT23RB60 RAM bank
ABank0			EQU	000H
ABank1			EQU	001H
ABank2			EQU	002H
ABank3			EQU	003H
ABank4			EQU	004H
ABank5			EQU	005H
ABank6			EQU	006H
ABank7			EQU	007H
ABank8			EQU	008H
ABank9			EQU	009H
ABankA			EQU	00aH
ABankB			EQU	00bH
;//just for HT23RB60 ROM bank
OBank0			EQU	000H
OBank1			EQU	020H
OBank2			EQU	040H
OBank3			EQU	060H


;for HT16A102B 68k Parallel Mode
OLCD_DATA_PIN	EQU	PA
C68		EQU	PB.0
RD		EQU	PB.1
RW		EQU	PB.2
DCOM		EQU	PB.3
RES		EQU	PB.4


;for volume control 
Const_Counter	EQU	00AH

VIOP		EQU	[12H]
;@Mute		EQU	@BIT6
;@Inc		EQU	@BIT4
;@Dec		EQU	@BIT5

Min_Volume	EQU	0E0H
Max_Volume	EQU	00CH





;=============================================================
;  IF USE key Debounced Function please set UseMedaiKey = 1
;  Key_Defined represent which bit you want to detect
;  For Example : I want to detect PA.0  and PA.1
;		 Then I set Key_Defined to 00000011'b = 03H
;=============================================================
#define		UseMediaKey	1
;Key_Defined	EQU	00EH
Key_Defined	EQU	03EH ;Media Key
;PA1: Volume Dec
;PA2: Volume Inc
;PA3: Volume Mute/Un-Mute
USB_LED_ON	EQU	PA.0

;Add for HT82A832R
;-----------------------------------
;PGA_CTRL	
@PGACTRL_MUTEMKB	EQU	@BIT7

;PFDC
@PFDC_PRES1		EQU	@BIT6
@PFDC_PRES0		EQU	@BIT5
@PFDC_PFDEN		EQU	@BIT4
@PFDC_SELW		EQU	@BIT0
@PFDC_PFDIO		EQU	@BIT1

;SBCR
@SBCR_CKS		EQU	@BIT7
@SBCR_M1		EQU	@BIT6
@SBCR_M0		EQU	@BIT5		
@SBCR_SBEN		EQU	@BIT4
@SBCR_MLS		EQU	@BIT3
@SBCR_CSEN		EQU	@BIT2
@SBCR_WCOL		EQU	@BIT1
@SBCR_TRF		EQU	@BIT0

;MODE_CTRL 
@MODECTRL_ADENB		EQU	@BIT2
@MODECTRL_DARENB	EQU	@BIT1
@MODECTRL_DALENB	EQU	@BIT0

@MODECTRL_SIOCSEN	EQU	@BIT6  
@MODECTRL_SIOWCOL	EQU	@BIT5  
@MODECTRL_SIOCPOL	EQU	@BIT4  
@MODECTRL_SIOEN		EQU	@BIT3 


MIC_Min_Volume		EQU	000H   
MIC_Max_Volume		EQU	00CH   

;-----------------------------------

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -