?? main.lst
字號:
文件: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 + -