?? d12setup.lis
字號:
00CA .dbline 108
; D12_COMMAND = 0x00;//選擇端點(指針指向0位置)
00CA 2224 clr R2
00CC 2092017C sts 31745,R2
00D0 .dbline 109
; cwait;
00D0 0000 nop
00D2 .dbline 110
; D12_COMMAND = 0xf1;//應答SETUP包
00D2 81EF ldi R24,241
00D4 8093017C sts 31745,R24
00D8 .dbline 111
; cwait;
00D8 0000 nop
00DA .dbline 112
; D12_COMMAND = 0xf2;//清端點緩沖區
00DA 82EF ldi R24,242
00DC 8093017C sts 31745,R24
00E0 .dbline -2
00E0 .dbline 113
; }
00E0 L2:
00E0 00D0 rcall pop_gset3
00E2 .dbline 0 ; func end
00E2 0895 ret
00E4 .dbsym r p 10 pc
00E4 .dbsym r j 20 c
00E4 .dbsym r i 22 c
00E4 .dbfunc s void_function _void_function fI
.even
00E4 _void_function::
00E4 .dbline -1
00E4 .dbline 136
; /************************************************************
; **工程名稱:U盤固件程序開發
; **編譯器類型及版本:ICCAVR 6.26C
; **日期:2004.4.30
; **創建人:陳馳
; **所屬單位:湖南大學計算機與通信學院
;
; **芯片類型:AT90S8515,PDIUSUD12,K9F5608U0A-YCB0
; **時鐘頻率:8MHZ
;
; **函數功能:停止控制端點.應答枚舉請求
; **函數輸入參數及說明:無
;
; **函數返回值:無
; **在本函數以外定義的變量:D12_COMMAND,D12_DATA
; **調用的函數說明:無
;
; **修改人:陳馳
; **修改日期:2004.4.30
; **修改說明:創建
; *************************************************************/
; void void_function(void)
; {
00E4 .dbline 137
; D12_COMMAND = 0x40;//0端點停止(用于發送Stall包)
00E4 80E4 ldi R24,64
00E6 8093017C sts 31745,R24
00EA .dbline 138
; cwait;
00EA 0000 nop
00EC .dbline 139
; D12_DATA = 0x01;
00EC 81E0 ldi R24,1
00EE 8093007C sts 31744,R24
00F2 .dbline 140
; cwait;
00F2 0000 nop
00F4 .dbline 141
; D12_COMMAND = 0x41;//1端點停止(用于發送Stall包)
00F4 81E4 ldi R24,65
00F6 8093017C sts 31745,R24
00FA .dbline 142
; cwait;
00FA 0000 nop
00FC .dbline 143
; D12_DATA = 0x01;
00FC 81E0 ldi R24,1
00FE 8093007C sts 31744,R24
0102 .dbline 144
; cwait;
0102 0000 nop
0104 .dbline 145
; D12_COMMAND = 0xf1;//應答SETUP包
0104 81EF ldi R24,241
0106 8093017C sts 31745,R24
010A .dbline 146
; csram;
010A 609301FC sts 0xfc01,R22
010E .dbline 146
010E .dbline -2
010E .dbline 147
; }
010E L10:
010E .dbline 0 ; func end
010E 0895 ret
0110 .dbfunc s get_status _get_status fI
.even
0110 _get_status::
0110 00D0 rcall push_gset1
0112 .dbline -1
0112 .dbline 172
; /************************************************************
; **工程名稱:U盤固件程序開發
; **編譯器類型及版本:ICCAVR 6.26C
; **日期:2004.4.30
; **創建人:陳馳
; **所屬單位:湖南大學計算機與通信學院
;
; **芯片類型:AT90S8515,PDIUSUD12,K9F5608U0A-YCB0
; **時鐘頻率:8MHZ
;
; **函數功能:標準設備請求
; **函數輸入參數及說明:無
;
; **函數返回值:無
; **在本函數以外定義的變量:D12_COMMAND,D12_DATA
; **調用的函數說明:
; USB_submit();
; 控制端點提交函數
;
; **修改人:陳馳
; **修改日期:2004.4.30
; **修改說明:創建
; *************************************************************/
; void get_status(void)
; {
0112 .dbline 173
; XmtBuff.b[1] = 0x00;
0112 2224 clr R2
0114 20920100 sts _XmtBuff+1,R2
0118 .dbline 174
; switch (XmtBuff.b[0])
0118 40910000 lds R20,_XmtBuff
011C 5527 clr R21
011E 4038 cpi R20,128
0120 E0E0 ldi R30,0
0122 5E07 cpc R21,R30
0124 81F0 breq L14
0126 4138 cpi R20,129
0128 E0E0 ldi R30,0
012A 5E07 cpc R21,R30
012C 29F0 breq L17
012E 4238 cpi R20,130
0130 E0E0 ldi R30,0
0132 5E07 cpc R21,R30
0134 29F0 breq L18
0136 07C0 rjmp L13
0138 X0:
0138 .dbline 175
; {
0138 .dbline 177
; case 0x80:
; break;
0138 L17:
0138 .dbline 179
; case 0x81:
; XmtBuff.b[0] = 0x00;
0138 2224 clr R2
013A 20920000 sts _XmtBuff,R2
013E .dbline 180
; break;
013E 03C0 rjmp L14
0140 L18:
0140 .dbline 182
; case 0x82:
; XmtBuff.b[0] = 0x00;
0140 2224 clr R2
0142 20920000 sts _XmtBuff,R2
0146 .dbline 183
; break;
0146 L13:
0146 L14:
0146 .dbline 185
; }
; XmtBuff.p_p=0;
0146 2224 clr R2
0148 20924600 sts _XmtBuff+70,R2
014C .dbline 186
; XmtBuff.wrLength = 2;
014C 82E0 ldi R24,2
014E 90E0 ldi R25,0
0150 90934100 sts _XmtBuff+64+1,R25
0154 80934000 sts _XmtBuff+64,R24
0158 .dbline 187
; XmtBuff.p = XmtBuff.b;
0158 80E0 ldi R24,<_XmtBuff
015A 90E0 ldi R25,>_XmtBuff
015C 90934500 sts _XmtBuff+68+1,R25
0160 80934400 sts _XmtBuff+68,R24
0164 .dbline 188
; USB_submit();
0164 00D0 rcall _USB_submit
0166 .dbline -2
0166 .dbline 189
; }
0166 L11:
0166 00D0 rcall pop_gset1
0168 .dbline 0 ; func end
0168 0895 ret
016A .dbfunc s clear_feature _clear_feature fI
; j -> R20
.even
016A _clear_feature::
016A 00D0 rcall push_gset1
016C .dbline -1
016C .dbline 214
; /************************************************************
; **工程名稱:U盤固件程序開發
; **編譯器類型及版本:ICCAVR 6.26C
; **日期:2004.4.30
; **創建人:陳馳
; **所屬單位:湖南大學計算機與通信學院
;
; **芯片類型:AT90S8515,PDIUSUD12,K9F5608U0A-YCB0
; **時鐘頻率:8MHZ
;
; **函數功能:標準設備請求
; **函數輸入參數及說明:無
;
; **函數返回值:無
; **在本函數以外定義的變量:D12_COMMAND,D12_DATA
; **調用的函數說明:
; USB_submit();
; 控制端點提交函數
;
; **修改人:陳馳
; **修改日期:2004.4.30
; **修改說明:創建
; *************************************************************/
; void clear_feature(void)
; {
016C .dbline 216
; unsigned char j;
; switch (XmtBuff.b[0])
016C 40910000 lds R20,_XmtBuff
0170 5527 clr R21
0172 4030 cpi R20,0
0174 4507 cpc R20,R21
0176 11F1 breq L24
0178 4130 cpi R20,1
017A E0E0 ldi R30,0
017C 5E07 cpc R21,R30
017E F1F0 breq L24
0180 4230 cpi R20,2
0182 E0E0 ldi R30,0
0184 5E07 cpc R21,R30
0186 09F0 breq L28
0188 19C0 rjmp L23
018A X1:
018A .dbline 217
; {
018A .dbline 219
; case 0x00://清設備喚醒功能
; break;
018A .dbline 221
; case 0x01://清接口狀態
; break;
018A L28:
018A .dbline 224
; case 0x02://啟用端點
; //XmtBuff.b[5] D7為方向,D3~0為端點號
; j = XmtBuff.b[5];
018A 40910500 lds R20,_XmtBuff+5
018E .dbline 225
; if(j<0x80)
018E 4038 cpi R20,128
0190 50F4 brsh L30
0192 .dbline 226
; {
0192 .dbline 227
; j = 0x40+j*2;
0192 440F lsl R20
0194 405C subi R20,192 ; addi 64
0196 .dbline 228
; D12_COMMAND = j;// 啟用OUT端點
0196 4093017C sts 31745,R20
019A .dbline 229
; D12_DATA = 0x00;
019A 2224 clr R2
019C 2092007C sts 31744,R2
01A0 .dbline 230
; csram;
01A0 609301FC sts 0xfc01,R22
01A4 .dbline 230
01A4 .dbline 231
; }
01A4 0BC0 rjmp L24
01A6 L30:
01A6 .dbline 233
; else
; {
01A6 .dbline 234
; j = (j & 0x0f);
01A6 4F70 andi R20,15
01A8 .dbline 235
; D12_COMMAND = 0x41+j*2;// 啟用IN端點
01A8 842F mov R24,R20
01AA 880F lsl R24
01AC 8F5B subi R24,191 ; addi 65
01AE 8093017C sts 31745,R24
01B2 .dbline 236
; D12_DATA = 0x00;
01B2 2224 clr R2
01B4 2092007C sts 31744,R2
01B8 .dbline 237
; csram;
01B8 609301FC sts 0xfc01,R22
01BC .dbline 237
01BC .dbline 238
; }
01BC .dbline 239
; break;
01BC L23:
01BC L24:
01BC .dbline 241
; }
; XmtBuff.wrLength = 0;
01BC 2224 clr R2
01BE 3324 clr R3
01C0 30924100 sts _XmtBuff+64+1,R3
01C4 20924000 sts _XmtBuff+64,R2
01C8 .dbline 242
; USB_submit();
01C8 00D0 rcall _USB_submit
01CA .dbline -2
01CA .dbline 243
; }
01CA L22:
01CA 00D0 rcall pop_gset1
01CC .dbline 0 ; func end
01CC 0895 ret
01CE .dbsym r j 20 c
01CE .dbfunc s set_feature _set_feature fI
; j -> R20
.even
01CE _set_feature::
01CE 00D0 rcall push_gset1
01D0 .dbline -1
01D0 .dbline 268
; /************************************************************
; **工程名稱:U盤固件程序開發
; **編譯器類型及版本:ICCAVR 6.26C
; **日期:2004.4.30
; **創建人:陳馳
; **所屬單位:湖南大學計算機與通信學院
;
; **芯片類型:AT90S8515,PDIUSUD12,K9F5608U0A-YCB0
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -