亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? avr_usb_disk.lst

?? USB通信程序開發(附源碼 精品)包括詳細論文說明
?? LST
?? 第 1 頁 / 共 5 頁
字號:
(0023) **工程名稱:U盤固件程序開發
(0024) **編譯器類型及版本:ICCAVR 6.26C
(0025) **日期:2004.4.30
(0026) **創建人:陳馳
(0027) **所屬單位:湖南大學計算機與通信學院
(0028) 
(0029) **芯片類型:AT90S8515,PDIUSUD12,K9F5608U0A-YCB0
(0030) **時鐘頻率:8MHZ
(0031) 
(0032) **函數功能:中斷服務處理
(0033) **函數輸入參數及說明:無
(0034) 
(0035) **函數返回值:無
(0036) **在本函數以外定義的變量:D12_COMMAND,D12_DATA
(0037) **調用的函數說明:
(0038)   Setup_control():枚舉控制函數
(0039)   USB_submit():控制端點提交函數
(0040)   Bulk_Out_Pack(j):處理PC發送的批量傳輸包
(0041)   Bulk_In_Packet():回應批量傳輸包
(0042)   void bus_reset(void):總線重置
(0043)   void dma_eot(void):Dma 操作結束
(0044) 
(0045) **修改人:陳馳
(0046) **修改日期:2004.4.30
(0047) **修改說明:創建
(0048) *************************************************************/
(0049) void D12_ISR(void)
(0050) {
(0051) 	unsigned char i,j;
(0052) 	D12_COMMAND = 0xf4;// 讀中斷寄存器
    040F EF84      LDI	R24,0xF4
    0410 93807C01  STS	R24,0x7C01
(0053) 	cwait1;
    0412 0000      NOP
    0413 0000      NOP
(0054) 	i=D12_DATA;//讀取數據賦值給局部變量i
    0414 91407C00  LDS	R20,0x7C00
(0055) 	csram;
    0416 9360FC01  STS	R22,0xFC01
(0056) 	if(i & 0x01)//處理控制輸出端點
    0418 FF40      SBRS	R20,0
    0419 C00D      RJMP	0x0427
(0057) 	{
(0058) 		D12_COMMAND = 0x40;//讀最后狀態
    041A E480      LDI	R24,0x40
    041B 93807C01  STS	R24,0x7C01
(0059) 		cwait1;
    041D 0000      NOP
    041E 0000      NOP
(0060) 		i= D12_DATA;//從端點緩沖區讀取數據
    041F 91407C00  LDS	R20,0x7C00
(0061) 		csram;
    0421 9360FC01  STS	R22,0xFC01
(0062) 		if (i & 0x20) //收到SETUP包
    0423 FF45      SBRS	R20,5
    0424 C04F      RJMP	0x0474
(0063) 		{
(0064) 			Setup_control();//枚舉控制函數
    0425 D119      RCALL	_Setup_control
(0065) 		}
(0066) 	}else if(i & 0x02)//處理控制輸入端點
    0426 C04D      RJMP	0x0474
    0427 FF41      SBRS	R20,1
    0428 C00B      RJMP	0x0434
(0067) 	{
(0068) 		D12_COMMAND = 0x41;//讀最后狀態
    0429 E481      LDI	R24,0x41
    042A 93807C01  STS	R24,0x7C01
(0069) 		cwait1;
    042C 0000      NOP
    042D 0000      NOP
(0070) 		i = D12_DATA;//從端點緩沖區讀取數據
    042E 91407C00  LDS	R20,0x7C00
(0071) 		csram;
    0430 9360FC01  STS	R22,0xFC01
(0072) 		USB_submit();//控制端點提交函數
    0432 D045      RCALL	_USB_submit
(0073) 	}else if(i & 0x04)//處理端點1輸出
    0433 C040      RJMP	0x0474
    0434 FF42      SBRS	R20,2
    0435 C001      RJMP	0x0437
(0074) 	{
(0075) 		
(0076) 	}else if(i & 0x08)//處理端點1輸入
    0436 C03D      RJMP	0x0474
    0437 FF43      SBRS	R20,3
    0438 C001      RJMP	0x043A
(0077) 	{
(0078) 
(0079) 	}else if(i & 0x10)//處理批量輸出端點
    0439 C03A      RJMP	0x0474
    043A FF44      SBRS	R20,4
    043B C01D      RJMP	0x0459
(0080) 	{
(0081) 		D12_COMMAND = 0x44;//讀最后狀態
    043C E484      LDI	R24,0x44
    043D 93807C01  STS	R24,0x7C01
(0082) 		cwait;
    043F 0000      NOP
(0083) 		i = D12_DATA;
    0440 91407C00  LDS	R20,0x7C00
(0084) 		csram;
    0442 9360FC01  STS	R22,0xFC01
(0085) 		D12_COMMAND = 0x04;//選擇端點(指針指向0位置)
    0444 E084      LDI	R24,4
    0445 93807C01  STS	R24,0x7C01
(0086) 		cwait;
    0447 0000      NOP
(0087) 		D12_COMMAND = 0xf0;//讀緩沖區
    0448 EF80      LDI	R24,0xF0
    0449 93807C01  STS	R24,0x7C01
(0088) 		/****************************
(0089) 		  緩沖區數據結構:
(0090) 		  字節1:保留,可為任意值
(0091) 		  字節2:數據字節的數目/長度
(0092) 		  字節3:數據字節1
(0093) 		  字節4:數據字節2
(0094) 		*****************************/
(0095) 		cwait1;
    044B 0000      NOP
    044C 0000      NOP
(0096) 		j=D12_DATA;//字節1
    044D 91607C00  LDS	R22,0x7C00
(0097) 		cwait1;
    044F 0000      NOP
    0450 0000      NOP
(0098) 		j=D12_DATA;//字節2
    0451 91607C00  LDS	R22,0x7C00
(0099) 		csram;
    0453 9360FC01  STS	R22,0xFC01
(0100) 		Bulk_Out_Packet(j);//處理PC發送的批量傳輸包
    0455 2F06      MOV	R16,R22
    0456 2711      CLR	R17
    0457 DCFF      RCALL	_Bulk_Out_Packet
(0101) 	}else if(i & 0x20)//處理批量輸入端點
    0458 C01B      RJMP	0x0474
    0459 FF45      SBRS	R20,5
    045A C00D      RJMP	0x0468
(0102) 	{
(0103) 		D12_COMMAND = 0x45;//讀 in 最后狀態
    045B E485      LDI	R24,0x45
    045C 93807C01  STS	R24,0x7C01
(0104) 		cwait1;
    045E 0000      NOP
    045F 0000      NOP
(0105) 		i = D12_DATA;
    0460 91407C00  LDS	R20,0x7C00
(0106) 		cwait1;
    0462 0000      NOP
    0463 0000      NOP
(0107) 		csram;
    0464 9360FC01  STS	R22,0xFC01
(0108) 		Bulk_In_Packet();//回應批量傳輸包
    0466 DE43      RCALL	_Bulk_In_Packet
(0109) 	}else if(i & 0x80)//D12_INT_SUSPENDCHANGE D12掛起
    0467 C00C      RJMP	0x0474
    0468 FF47      SBRS	R20,7
    0469 C001      RJMP	0x046B
(0110) 	{
(0111) 	
(0112) 	}else if(i & 0x40)//D12_INT_BUSRESET總線復位
    046A C009      RJMP	0x0474
    046B FF46      SBRS	R20,6
    046C C002      RJMP	0x046F
(0113) 	{
(0114) 		bus_reset();//總線重置
    046D D008      RCALL	_bus_reset
(0115) 	}else
    046E C005      RJMP	0x0474
(0116) 	{
(0117) 		i=D12_DATA; //D12_INT_EOT DMA操作已結束
    046F 91407C00  LDS	R20,0x7C00
(0118) 		if(i & 0x01)
    0471 FF40      SBRS	R20,0
    0472 C001      RJMP	0x0474
(0119) 		{
(0120) 			dma_eot();//Dma 操作結束
    0473 D003      RCALL	_dma_eot
(0121) 		}
(0122) 	}
(0123) }
    0474 D67E      RCALL	pop_gset2
    0475 9508      RET
(0124) 
(0125) void bus_reset(void)//總線重置函數
(0126) {
(0127) }
_bus_reset:
    0476 9508      RET
(0128) 
(0129) void dma_eot(void)//Dma 操作結束函數
(0130) {
(0131) }
_dma_eot:
    0477 9508      RET
_USB_submit:
  j                    --> R16
  k                    --> R18
  i                    --> R20
    0478 D657      RCALL	push_gset1
(0132) /************************************************************
(0133) **工程名稱:U盤固件程序開發
(0134) **編譯器類型及版本:ICCAVR 6.26C
(0135) **日期:2004.4.30
(0136) **創建人:陳馳
(0137) **所屬單位:湖南大學計算機與通信學院
(0138) 
(0139) **芯片類型:AT90S8515,PDIUSUD12,K9F5608U0A-YCB0
(0140) **時鐘頻率:8MHZ
(0141) 
(0142) **函數功能:控制端點傳輸提交
(0143) **函數輸入參數及說明:無
(0144) 
(0145) **函數返回值:無
(0146) **在本函數以外定義的變量:傳輸結構體
(0147) **調用的函數說明:無
(0148) 
(0149) **修改人:陳馳
(0150) **修改日期:2004.4.30
(0151) **修改說明:創建
(0152) *************************************************************/
(0153) void USB_submit(void)
(0154) {
(0155) 	unsigned char i,j,k;
(0156) 	/*********說明******************
(0157) 	  D12芯片數據手冊上說明控制端點
(0158) 	  緩沖區大小為16BYTES,使用時試用
(0159) 	  64BYTES可以完成傳輸,這里故用64
(0160) 	  來處理
(0161) 	*******************************/
(0162) 	if(64 > XmtBuff.wrLength)
    0479 90300156  LDS	R3,0x156
    047B 90200155  LDS	R2,0x155
    047D E480      LDI	R24,0x40
    047E E090      LDI	R25,0
    047F 1628      CP	R2,R24
    0480 0639      CPC	R3,R25
    0481 F418      BCC	0x0485
(0163) 	{
(0164) 		j = XmtBuff.wrLength;
    0482 2D02      MOV	R16,R2
    0483 2D13      MOV	R17,R3
(0165) 	}else
    0484 C001      RJMP	0x0486
(0166) 	{
(0167) 		j = 64;
    0485 E400      LDI	R16,0x40
(0168) 	}
(0169) 	D12_COMMAND = 0x01;//選擇端點(指針指向0位置)
    0486 E081      LDI	R24,1
    0487 93807C01  STS	R24,0x7C01
(0170) 	cwait;
    0489 0000      NOP
(0171) 	D12_COMMAND = 0xf0;//寫緩沖區
    048A EF80      LDI	R24,0xF0
    048B 93807C01  STS	R24,0x7C01
(0172) 	cwait;
    048D 0000      NOP
(0173) 	/****************************
(0174) 	  緩沖區數據結構:
(0175) 	  字節1:保留,可為任意值
(0176) 	  字節2:數據字節的數目/長度
(0177) 	  字節3:數據字節1
(0178) 	  字節4:數據字節2
(0179) 	*****************************/
(0180) 	D12_DATA = 0x00;//寫字節1
    048E 2422      CLR	R2
    048F 92207C00  STS	R2,0x7C00
(0181) 	cwait;
    0491 0000      NOP
(0182) 	D12_DATA = j;//寫字節2
    0492 93007C00  STS	R16,0x7C00
(0183) 	csram;
    0494 9360FC01  STS	R22,0xFC01
(0184) 	for(i=0;i<j;i++)
    0496 2744      CLR	R20
    0497 C011      RJMP	0x04A9
(0185) 	{
(0186) 		k = *(XmtBuff.pp+i);
    0498 90300158  LDS	R3,0x158
    049A 90200157  LDS	R2,0x157
    049C 2E44      MOV	R4,R20
    049D 2455      CLR	R5
    049E 0C42      ADD	R4,R2
    049F 1C53      ADC	R5,R3
    04A0 2DE4      MOV	R30,R4
    04A1 2DF5      MOV	R31,R5
    04A2 95C8      LPM
    04A3 2D20      MOV	R18,R0
(0187) 		D12_DATA = k;//寫數據字節
    04A4 93207C00  STS	R18,0x7C00
(0188) 		csram;
    04A6 9360FC01  STS	R22,0xFC01
(0189) 	}
    04A8 9543      INC	R20
    04A9 1740      CP	R20,R16
    04AA F368      BCS	0x0498
(0190) 	XmtBuff.pp += j;
    04AB 90300158  LDS	R3,0x158
    04AD 90200157  LDS	R2,0x157
    04AF 2E40      MOV	R4,R16
    04B0 2455      CLR	R5
    04B1 0C42      ADD	R4,R2
    04B2 1C53      ADC	R5,R3
    04B3 92500158  STS	R5,0x158
    04B5 92400157  STS	R4,0x157
(0191) 	XmtBuff.wrLength -= j;
    04B7 2E20      MOV	R2,R16
    04B8 2433      CLR	R3
    04B9 90500156  LDS	R5,0x156
    04BB 90400155  LDS	R4,0x155
    04BD 1842      SUB	R4,R2
    04BE 0853      SBC	R5,R3
    04BF 92500156  STS	R5,0x156
    04C1 92400155  STS	R4,0x155
(0192) 	D12_COMMAND = 0xfa;//設置緩沖區有效(滿標志)
    04C3 EF8A      LDI	R24,0xFA
    04C4 93807C01  STS	R24,0x7C01
(0193) 	csram;
    04C6 9360FC01  STS	R22,0xFC01
(0194) }
    04C8 D60A      RCALL	pop_gset1
    04C9 9508      RET
_BULK_submit:
  j                    --> R16
  k                    --> R18
  i                    --> R20
    04CA D605      RCALL	push_gset1
(0195) /************************************************************
(0196) **工程名稱:U盤固件程序開發
(0197) **編譯器類型及版本:ICCAVR 6.26C
(0198) **日期:2004.4.30
(0199) **創建人:陳馳
(0200) **所屬單位:湖南大學計算機與通信學院
(0201) 
(0202) **芯片類型:AT90S8515,PDIUSUD12,K9F5608U0A-YCB0
(0203) **時鐘頻率:8MHZ
(0204) 
(0205) **函數功能:BULK端點傳輸提交
(0206) **函數輸入參數及說明:無
(0207) 
(0208) **函數返回值:無
(0209) **在本函數以外定義的變量:傳輸結構體
(0210) **調用的函數說明:
(0211) 
(0212) **修改人:陳馳
(0213) **修改日期:2004.4.30
(0214) **修改說明:創建
(0215) *************************************************************/
(0216) void BULK_submit(void)
(0217) {
(0218) 	unsigned char i,j,k;
(0219) 	if(64 > XmtBuff.wrLength)
    04CB 90300156  LDS	R3,0x156
    04CD 90200155  LDS	R2,0x155
    04CF E480      LDI	R24,0x40
    04D0 E090      LDI	R25,0
    04D1 1628      CP	R2,R24
    04D2 0639      CPC	R3,R25
    04D3 F418      BCC	0x04D7
(0220) 	{
(0221) 		j = XmtBuff.wrLength;
    04D4 2D02      MOV	R16,R2
    04D5 2D13      MOV	R17,R3
(0222) 	}else
    04D6 C001      RJMP	0x04D8
(0223) 	{
(0224) 		j = 64;
    04D7 E400      LDI	R16,0x40
(0225) 	}
(0226) 	D12_COMMAND = 0x05;// 選擇端點(指針指向0位置)
    04D8 E085      LDI	R24,5
    04D9 93807C01  STS	R24,0x7C01
(0227) 	cwait;
    04DB 0000      NOP
(0228) 	D12_COMMAND = 0xf0;// 寫緩沖區
    04DC EF80      LDI	R24,0xF0
    04DD 93807C01  STS	R24,0x7C01
(0229) 	cwait;
    04DF 0000      NOP
(0230) 	/****************************
(0231) 	  緩沖區數據結構:
(0232) 	  字節1:保留,可為任意值
(0233) 	  字節2:數據字節的數目/長度
(0234) 	  字節3:數據字節1
(0235) 	  字節4:數據字節2
(0236) 	*****************************/
(0237) 	D12_DATA = 0x00;//寫字節1
    04E0 2422      CLR	R2
    04E1 92207C00  STS	R2,0x7C00
(0238) 	cwait;
    04E3 0000      NOP
(0239) 	D12_DATA = j;//寫字節2
    04E4 93007C00  STS	R16,0x7C00
(0240) 	csram;
    04E6 9360FC01  STS	R22,0xFC01
(0241) 	/*****************************
(0242) 	  判斷輸出
(0243) 	  XmtBuff.p_p = 0:輸出一般數據
(0244) 	  XmtBuff.p_p = 1:輸出CONST數據
(0245) 	******************************/
(0246) 	if(XmtBuff.p_p)
    04E8 9020015B  LDS	R2,0x15B
    04EA 2022      TST	R2
    04EB F111      BEQ	0x050E
(0247) 	{
(0248) 		for(i=0;i<j ;i++)
    04EC 2744      CLR	R20

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产乱码久久久久久闺蜜| 欧美三级中文字| 亚洲欧美综合另类在线卡通| 92国产精品观看| 久久99精品国产麻豆婷婷| 国产精品你懂的| 精品国产乱码久久久久久牛牛| 国产精品夜夜嗨| 高清久久久久久| 欧美高清你懂得| 色哟哟国产精品| 欧美xxxxx牲另类人与| 不卡一区二区三区四区| 久久丁香综合五月国产三级网站| 亚洲韩国一区二区三区| 全国精品久久少妇| 另类小说视频一区二区| 麻豆精品在线视频| 成人黄色免费短视频| 中文字幕的久久| 欧美日韩中文另类| 99久久伊人网影院| 国产成人av电影在线观看| 日韩高清不卡一区二区| 午夜精品久久久久| 老鸭窝一区二区久久精品| 国产精品久久久久久福利一牛影视| 日韩区在线观看| 欧美肥妇毛茸茸| 日韩一区二区在线观看视频 | 99久久精品久久久久久清纯| 美女一区二区三区在线观看| 亚洲www啪成人一区二区麻豆| 国产精品免费久久久久| 国产精品免费丝袜| 国产精品二三区| 国产精品高潮呻吟久久| 欧美va亚洲va在线观看蝴蝶网| 在线成人小视频| 欧美精品一区二区三区蜜臀| 精品美女一区二区三区| 欧美国产1区2区| 亚洲免费在线观看视频| 日韩精品免费视频人成| 国产在线日韩欧美| 99这里都是精品| 欧美精品久久天天躁| 久久这里只有精品6| 亚洲丝袜制服诱惑| 亚洲自拍欧美精品| 国产在线精品一区在线观看麻豆| 国产91丝袜在线播放九色| 欧美天堂一区二区三区| 精品久久久久香蕉网| 又紧又大又爽精品一区二区| 久久99久久久欧美国产| 色偷偷成人一区二区三区91| 日韩免费观看高清完整版| 国产精品久久久久影院老司| 青青草成人在线观看| 欧美手机在线视频| 亚洲人成精品久久久久| 国产主播一区二区| 精品乱人伦一区二区三区| 亚洲曰韩产成在线| 色域天天综合网| 国产精品国产成人国产三级| 国内精品在线播放| 欧美mv日韩mv| 韩国女主播成人在线| 日韩欧美电影一区| 久久电影网电视剧免费观看| 欧美日韩不卡一区二区| 丝袜国产日韩另类美女| 欧美男生操女生| 青青草国产成人av片免费| 日韩一二三区视频| 精品一区二区三区影院在线午夜 | 欧美在线影院一区二区| 亚洲一区二区三区中文字幕| 欧美色综合天天久久综合精品| 亚洲午夜精品久久久久久久久| 99精品视频在线播放观看| 亚洲欧洲av一区二区三区久久| 国产不卡视频一区| 亚洲视频一二三区| 日本高清视频一区二区| 天天av天天翘天天综合网色鬼国产| 欧美日韩一区二区三区高清| 欧美aaaaa成人免费观看视频| 久久免费精品国产久精品久久久久| 韩国三级在线一区| 亚洲精品网站在线观看| 欧美一区午夜精品| 99re在线视频这里只有精品| 亚洲成a人在线观看| 久久久99精品免费观看不卡| 欧美视频在线一区| 东方欧美亚洲色图在线| 日本午夜一区二区| 亚洲va在线va天堂| 中文av一区二区| 久久亚洲春色中文字幕久久久| 91免费国产在线观看| 成人性生交大片免费| 精品一区二区三区免费播放| 亚洲不卡av一区二区三区| 中文字幕综合网| 欧美不卡一二三| 91精品欧美福利在线观看| 一本一道久久a久久精品| 懂色av一区二区夜夜嗨| 日韩精品一二三区| 免费高清在线一区| 日韩成人av影视| 蜜臀va亚洲va欧美va天堂| 亚洲国产wwwccc36天堂| 日韩主播视频在线| 日韩不卡在线观看日韩不卡视频| 日韩精品欧美成人高清一区二区| 亚洲国产视频网站| 麻豆一区二区三| 成人午夜免费av| 欧美日韩亚洲综合一区二区三区 | 91色|porny| 91精品国产91久久久久久一区二区| 欧美在线观看禁18| 欧美精品乱人伦久久久久久| 欧美日韩视频在线一区二区| 日韩免费成人网| 日本一区二区免费在线| 亚洲女人****多毛耸耸8| 国产日产欧产精品推荐色| 亚洲欧洲av色图| 日韩av一区二区三区四区| 亚洲国产精品久久艾草纯爱| 丝袜亚洲另类欧美综合| 日韩高清在线一区| 亚洲成人免费在线| 99精品热视频| 欧美特级限制片免费在线观看| 欧美久久久久久蜜桃| 日韩精品一区二区三区四区视频| 欧美私人免费视频| 欧美视频一区二区| 欧美精品精品一区| 欧美视频一二三区| 91麻豆精品国产91久久久久| 久久久三级国产网站| 欧美另类videos死尸| 色婷婷香蕉在线一区二区| 丰满少妇久久久久久久| 成人性生交大合| a亚洲天堂av| 不卡电影免费在线播放一区| 国产成人自拍在线| 中文字幕av一区二区三区| 免费一级欧美片在线观看| 性做久久久久久免费观看欧美| 美女视频免费一区| 91浏览器入口在线观看| 99精品国产热久久91蜜凸| 在线观看一区二区精品视频| 久久久精品一品道一区| 丁香婷婷综合色啪| 8x8x8国产精品| 国产精品无圣光一区二区| 亚洲精品网站在线观看| jlzzjlzz亚洲日本少妇| 亚洲欧美自拍偷拍色图| 成人福利在线看| 一区二区三区精品| 一本一道综合狠狠老| 欧美激情中文字幕| 国产伦精品一区二区三区免费| 国产午夜精品美女毛片视频| 成人高清免费观看| 亚洲精品国产a| 精品动漫一区二区三区在线观看| 国产sm精品调教视频网站| 久久精品亚洲国产奇米99| 欧美精品日韩精品| 成人h动漫精品一区二区| 日本欧美韩国一区三区| 亚洲色图第一区| 91精品国产欧美一区二区| av亚洲精华国产精华精| 欧美aa在线视频| 亚洲va韩国va欧美va| 亚洲日本韩国一区| 国产欧美日韩另类视频免费观看| 久久综合色综合88| 欧美一区二区三区在线| 精品视频一区二区三区免费| 99r国产精品| 亚洲国产精品视频| 视频一区视频二区在线观看| 日韩和欧美的一区| 国产麻豆精品在线| 久久99精品久久久久久动态图|