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

📄 main.lst

📁 Holtek ht82a832r USB-PHONE DEMO 源码 ht82a832r 是Holtek开发的USB-PHONE 的OTP SOC芯片,信价比很高
💻 LST
📖 第 1 页 / 共 4 页
字号:
文件:MAIN.ASM     盛群编译器版本 2.86 页次1


   1  0000              ;*******************************************************************************
   2  0000              ;*
   3  0000              ;*  (c) Copyright 2005, Holtek Semiconductor Inc.
   4  0000              ;* 
   5  0000              ;******************************************************************************/
   6  0000              ;*******************************************************************************
   7  0000              ;MODULE:	main.asm
   8  0000              
   9  0000              ;INITIAL:	04/10/2005
  10  0000              
  11  0000              ;AUTHOR:	C351  Ansonku.
  12  0000              
  13  0000              ;NOTE:	 	HT82A832R Main Function
  14  0000              
  15  0000              ;VERSION:	0.01
  16  0000              ;Function:
  17  0000              ;key debounced	N
  18  0000              ;oled		N
  19  0000              ;volume adjust	Y
  20  0000              ;2005/05/13     Update Key Debounce
  21  0000              ;2005/05/25	Modify Pop noise
  22  0000              ;2005/06/06     Modify Send_Hand_Shake
  23  0000              ;2005/06/10	判斷 token 時,假設遇到setup scmd,要在讀取8 bytes清除scmd與len0
  24  0000              ;*******************************************************************************
  25  0000              
  26  0000              ;***************************************************************
  27  0000              ;Include File
  28  0000              ;const.inc		user defined
  29  0000              ;macro.asm		macro function
  30  0000              ;***************************************************************
  31  0000              #include		ht82a832r.inc


  32  0000              #include		const.inc


  33  0000              #include		macro.asm


  34  0000              #define			WaitBias	0
  35  0000              
  36  0000              ;====================================================================
  37  0000              ;Variable Defined , DATA 從 40H 開始放
  38  0000              ;====================================================================
  39  0000              DATA		.SECTION		AT	40H		'DATA'
  40  0000              ;***************************************************************
  41  0000              ;		USB ISR Var (中斷時備份用)
  42  0000              ;***************************************************************
  43  0000  00          isr_usb_acc		DB		?
  44  0001  00          isr_usb_status		DB		?
  45  0002  00          isr_usb_mp1		DB		?
  46  0003  00          isr_usb_mp0		DB		?
  47  0004  00          isr_usb_tblp		DB		?
  48  0005              ;***************************************************************
  49  0005              ;		Timer0 ISR Var (中斷時備份用)
  50  0005              ;***************************************************************
  51  0005  00          isr_tmr0_acc		DB		?
  52  0006  00          isr_tmr0_status		DB		?
  53  0007  00          isr_tmr0_mp1		DB		?
文件:MAIN.ASM     盛群编译器版本 2.86 页次2

  54  0008  00          isr_tmr0_mp0		DB		?
  55  0009  00          isr_tmr0_tblp		DB		?
  56  000A              ;***************************************************************
  57  000A              ;		Timer1 ISR Var (中斷時備份用)
  58  000A              ;***************************************************************
  59  000A  00          isr_tmr1_acc		DB		?
  60  000B  00          isr_tmr1_status		DB		?
  61  000C  00          isr_tmr1_mp1		DB		?
  62  000D  00          isr_tmr1_mp0		DB		?
  63  000E  00          isr_tmr1_tblp		DB		?
  64  000F              
  65  000F              ;***************************************************************
  66  000F              ;		Delay 變數
  67  000F              ;***************************************************************
  68  000F  00          Delay_1			DB		?
  69  0010  00          Delay_2			DB		?
  70  0011  00          Delay_3			DB		?
  71  0012              
  72  0012              ;***************************************************************
  73  0012              ;USB FIFO Variable
  74  0012              ;USB_Interface : to save usb current interface number
  75  0012              ;USB_Interface_Alt : to save usb current alternate of interface number
  76  0012              ;USB_Configuration : to save USB configuration number
  77  0012              ;FIFO_ADDR     : to save USB ADDRESS
  78  0012              ;Loop_Counter , Data_Count , Data_Start : control_read variable
  79  0012              ;***************************************************************
  80  0012              ;For FIFO Access
  81  0012              ;modify 2006-09-22
  82  0012  00          FIFO_SIZE                       db              ?
  83  0013              ;------------------------------------------------
  84  0013  00          FIFO_SendLen			db		?
  85  0014              FIFO_out1			label	byte
  86  0014  00          FIFO_Type			db		?
  87  0015              FIFO_out2			label	byte
  88  0015  00          FIFO_Request			db		?
  89  0016              FIFO_out3			label	byte
  90  0016  00          FIFO_wValueL			db		?
  91  0017              FIFO_out4			label	byte
  92  0017  00          FIFO_wValueH			db		?
  93  0018              FIFO_out5			label	byte
  94  0018  00          FIFO_wIndexL			db		?
  95  0019              FIFO_out6			label	byte
  96  0019  00          FIFO_wIndexH			db		?
  97  001A              FIFO_out7			label	byte
  98  001A  00          FIFO_wLengthL			db		?
  99  001B              FIFO_out8			label	byte
 100  001B  00          FIFO_wLengthH			db		?
 101  001C              
 102  001C  0008[       FIFO_9_16			db	8 DUP(?)
            00
            ]
 103  0024              ;
 104  0024              ;存储EP0 IN OUT Token的数据阶段的数据
 105  0024              ;
 106  0024              CMD_Request			label	byte
 107  0024  0020[       DATA_Buf			db	32 DUP(?)
            00
            ]
 108  0044              ;接收缓冲区的接收指针和接收字节数
 109  0044  00          Data_Length			db		?	;EP0在Setup Token中指定的长度
文件:MAIN.ASM     盛群编译器版本 2.86 页次3

 110  0045  00          Data_RCount			db		?
 111  0046  00          Data_RStart			db		?
 112  0047              
 113  0047              
 114  0047  00          USB_Interface			db		?
 115  0048  00          USB_Interface_Alt		db		?
 116  0049  00          USB_Configuration		db		?
 117  004A              
 118  004A  00          FIFO_ADDR			db		?
 119  004B              
 120  004B              
 121  004B  00          Loop_Counter			db		?
 122  004C  00          Data_Count			db		?
 123  004D  00          Data_Start			db		?
 124  004E              
 125  004E              
 126  004E              ;voice control
 127  004E  00          INC_Counter			db		?
 128  004F  00          DEC_Counter			db		?
 129  0050              
 130  0050              
 131  0050              ;FIFO
 132  0050  00          FIFO_TEMP			db		?
 133  0051  00          bFlag_SetConfiguration_Ready	dbit		
 134  0051              bFlag_SetInterface_Ready	dbit		
 135  0051              bFlag_Real_Cmd			dbit		
 136  0051              bFlag_FIFO_Ready		dbit
 137  0051              bFlag_FIFO_LEN0			dbit
 138  0051              bFlag_RD_HTable			dbit
 139  0051              bFlag_wait_control_out		dbit
 140  0051              bFlag_SET_ADDRESS		dbit
 141  0052  00          bFlag_SCMD			dbit
 142  0052              bFlag_Enum_Ready		dbit
 143  0053              
 144  0053              ;
 145  0053              ;EP0 中OUT Token 的数据剩余中断,在Setup Token 中将bFlag_OutTokenRemainInt置0
 146  0053              ;在Out Token中若检查该Bit=0则从接收缓冲区首1字节开始存储,1则从当前位置开始存储
 147  0052              bFlag_OutTokenRemainInt		dbit	
 148  0053              
 149  0053              
 150  0053              ;Audio
 151  0053  00          PortC_data			db	?
 152  0052              bFlag_Audio_Mute		dbit
 153  0052              bFlag_Mic_Mute			dbit
 154  0054  00          Volume1				db	?
 155  0055  00          Volume2				db	?
 156  0052              bFlag_Mute_Detect		dbit		
 157  0052              bFlag_INC_Detect		dbit		
 158  0052              bFlag_DEC_Detect		dbit	
 159  0056  00          Flag_Audio_Control		db	?	; 0 0 muteH muteL incH incL decH decL
 160  0057              
 161  0057  00          VolumeH_Save			db	?
 162  0058  00          VolumeL_Save			db	?
 163  0059              
 164  0059  00          nCmdIndex1			db	?
 165  005A  00          nCmdIndex2			db	?
 166  005B  00          nCmdIndex3			db	?
 167  005C              
 168  005C              
 169  005C  00          Key_Process			db	?
文件:MAIN.ASM     盛群编译器版本 2.86 页次4

 170  005D  00          Key_CheckIn			db	?
 171  005E  00          Key_Counter			db	?
 172  005F  00          Key_Temp			db	?
 173  0060  00          Key_IncCounter			db	?
 174  0061  00          Key_DecCounter			db	?
 175  0062  00          MODE_CTRL_TEMP  		db    	?	
 176  0063  00          TMR1_KEY_FG			dbit
 177  0064              
 178  0064              ;---------------
 179  0063              ADC_POR_FG			dbit
 180  0064              ;---------------
 181  0064              
 182  0064              ;
 183  0064              ;数据缓冲区
 184  0064              ;
 185  0064              ;
 186  0064  0010[       CMD_Buf				db	16 DUP(?)	;待处理指令
            00
            ]
 187  0074              ;CMD_RCount			db	?		;接收的待处理指令的字节数
 188  0074  00          CMD_SCount			db	?		;待发送处理指令的字节数
 189  0075  00          CMD_SPtr			db	?
 190  0076  0020[       Key_Buf				db	32 DUP(?)	;键码缓冲区
            00
            ]
 191  0096  00          Key_ptr				db	?
 192  0097  00          Key_Count			db	?		;检测到新的按键
 193  0098              ;
 194  0098              ;按键IO读取的状态	Key_State00 ,Key_State01  第一列按键
 195  0098  00          Key_State00 			db	?		;当前状态
 196  0099  00          Key_State01 			db	?		;前一状态
 197  009A              ;			Key_State10 ,Key_State11  第二列按键
 198  009A  00          Key_State10 			db	?
 199  009B  00          Key_State11 			db	?
 200  009C              ;			Key_State20 ,Key_State21  第三列按键
 201  009C  00          Key_State20 			db	?
 202  009D  00          Key_State21 			db	?
 203  009E              ;			Key_State30 ,Key_State31  第四列按键
 204  009E  00          Key_State30 			db	?
 205  009F  00          Key_State31 			db	?
 206  00A0              ;			Media Key 的状态
 207  00A0  00          Key_MState0			db	?
 208  00A1  00          Key_MState1			db	?
 209  00A2              
 210  00A2              
 211  00A2              #define 	AUDIO_8K 		1
 212  00A2              
 213  00A2              
 214  00A2              DA_R_ENB	EQU	MODE_CTRL.1
 215  00A2              DA_L_ENB	EQU	MODE_CTRL.0
 216  00A2              AD_ENB		EQU	MODE_CTRL.2
 217  00A2              
 218  00A2              extern			control_read_table:NEAR        
 219  00A2              extern			device_desc_table:NEAR         
 220  00A2              extern			config_desc_table:NEAR         
 221  00A2              
 222  00A2              extern			end_config_desc_table:NEAR  
 223  00A2              extern			hid_report_desc_table:NEAR
 224  00A2              extern			end_hid_report_desc_table:NEAR
 225  00A2              
文件:MAIN.ASM     盛群编译器版本 2.86 页次5

 226  00A2              extern			USBStringLanguageDescription:NEAR
 227  00A2              extern			USBStringDescription1:NEAR
 228  00A2              extern			USBStringDescription2:NEAR
 229  00A2              
 230  00A2              extern			config_desc_length:NEAR
 231  00A2              extern			report_desc_length:NEAR
 232  00A2              ;function
 233  00A2              extern			Control_Read:NEAR
 234  00A2              extern			FIFO0_RD_CHECK:NEAR
 235  00A2              extern			FIFO1_RD_CHECK:NEAR
 236  00A2              extern			FIFO2_RD_CHECK:NEAR
 237  00A2              extern			FIFO3_RD_CHECK:NEAR
 238  00A2              extern			FIFO4_RD_CHECK:NEAR
 239  00A2              extern			FIFO5_RD_CHECK:NEAR
 240  00A2              extern			FIFO0_WR_CHECK:NEAR
 241  00A2              extern			FIFO1_WR_CHECK:NEAR
 242  00A2              extern			FIFO2_WR_CHECK:NEAR
 243  00A2              extern			FIFO3_WR_CHECK:NEAR
 244  00A2              extern			FIFO4_WR_CHECK:NEAR
 245  00A2              extern			FIFO5_WR_CHECK:NEAR
 246  00A2              extern			Read_FIFO0:NEAR
 247  00A2              extern			Read_FIFO1:NEAR
 248  00A2              extern			Read_FIFO2:NEAR
 249  00A2              extern			Read_FIFO3:NEAR
 250  00A2              extern			Read_FIFO4:NEAR
 251  00A2              extern			Read_FIFO5:NEAR
 252  00A2              
 253  00A2              
 254  00A2              extern			Read_FIFO0_EX:NEAR
 255  00A2              extern			Read_FIFO1_EX:NEAR
 256  00A2              extern			Read_FIFO2_EX:NEAR
 257  00A2              extern			Read_FIFO3_EX:NEAR
 258  00A2              extern			Read_FIFO4_EX:NEAR
 259  00A2              extern			Read_FIFO5_EX:NEAR
 260  00A2              
 261  00A2              extern			Write_FIFO0:NEAR
 262  00A2              extern			Write_FIFO1:NEAR
 263  00A2              extern			Write_FIFO2:NEAR
 264  00A2              extern			Write_FIFO3:NEAR
 265  00A2              extern			Write_FIFO4:NEAR
 266  00A2              extern			Write_FIFO5:NEAR

⌨️ 快捷键说明

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