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

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

?? kisr.lst

?? 飛利浦D12的AT89C52固件
?? LST
?? 第 1 頁 / 共 5 頁
字號:

  83   2      		if(i_st & D12_INT_ENDP2OUT)
  84   2      			main_rxdone();
  85   2      		
  86   2      	}
  87   1      	
  88   1      	bEPPflags.bits.in_isr = 0;
  89   1      	
  90   1      }
  91          
  92          usb_isr() interrupt 0
  93          {
  94   1      	DISABLE;
  95   1      	fn_usb_isr();
  96   1      	ENABLE;
  97   1      }
  98          void bus_reset(void)
  99          {
 100   1      }
 101          void dma_eot(void)
 102          {
 103   1      }
 104          //---------------------------------
 105          void ep0_rxdone(void)
 106          {
 107   1      	unsigned char ep_last, i;
 108   1      
 109   1      	ep_last = D12_ReadLastTransactionStatus(0); // Clear interrupt flag
 110   1      	if (ep_last & D12_SETUPPACKET) {
 111   2      
 112   2      		ControlData.wLength = 0;
 113   2      		ControlData.wCount = 0;
 114   2      	//判斷端點是否滿,如是,則取出
 115   2      		if( D12_ReadEndpoint(0, sizeof(ControlData.DeviceRequest),
 116   2      			(unsigned char *)(&(ControlData.DeviceRequest))) != sizeof(DEVICE_REQUEST) ) {
 117   3      
 118   3      			D12_SetEndpointStatus(0, 1);
 119   3      			D12_SetEndpointStatus(1, 1);
 120   3      			bEPPflags.bits.control_state = USB_IDLE;
 121   3      			
 122   3      			return;
 123   3      		}
 124   2      
 125   2      		ControlData.DeviceRequest.wValue = SWAP(ControlData.DeviceRequest.wValue);
 126   2      		ControlData.DeviceRequest.wIndex = SWAP(ControlData.DeviceRequest.wIndex);
 127   2      		ControlData.DeviceRequest.wLength = SWAP(ControlData.DeviceRequest.wLength);
 128   2      
 129   2      		// Acknowledge setup here to unlock in/out endp
 130   2      	//向控制輸出端點發送應答建立命令以重新使能下一個建立階段
 131   2      		D12_AcknowledgeEndpoint(0);
 132   2      		D12_AcknowledgeEndpoint(1);
 133   2      
 134   2      		ControlData.wLength = ControlData.DeviceRequest.wLength;
 135   2      		ControlData.wCount = 0;
 136   2      	//需要證實控制傳輸是控制讀還是寫,如果是讀:
 137   2      	//如果控制傳輸是一個控制讀類型那就是說器件需要在下一個數據階段向
 138   2      	//主機發回數據包.MCU需要設置一個標志以指示USB 設備現在正處于傳輸
 139   2      	//模式即準備在主機發送請求時發送數據
 140   2      
 141   2      		if (ControlData.DeviceRequest.bmRequestType & (unsigned char)USB_ENDPOINT_DIRECTION_MASK) {
 142   3      			bEPPflags.bits.setup_packet = 1;
 143   3      			bEPPflags.bits.control_state = USB_IDLE;		/* get command */
 144   3      		}
C51 COMPILER V6.20c  KISR                                                                  10/31/2002 21:55:46 PAGE 16  

 145   2      	//如果是寫
 146   2      		else {
 147   3      			if (ControlData.DeviceRequest.wLength == 0) {
 148   4      				bEPPflags.bits.setup_packet = 1;
 149   4      				bEPPflags.bits.control_state = USB_IDLE;		/* set command */
 150   4      			}
 151   3      			else {
 152   4      				if(ControlData.DeviceRequest.wLength > MAX_CONTROLDATA_SIZE) {
 153   5      					bEPPflags.bits.control_state = USB_IDLE;
 154   5      					D12_SetEndpointStatus(0, 1);
 155   5      					D12_SetEndpointStatus(1, 1);
 156   5      				}
 157   4      				else {
 158   5      					bEPPflags.bits.control_state = USB_RECEIVE;	/* set command with OUT token */
 159   5      				}
 160   4      			} // set command with data
 161   3      		} // else set command
 162   2      	} // if setup packet
 163   1      
 164   1      	else if (bEPPflags.bits.control_state == USB_RECEIVE) {
 165   2      		i =	D12_ReadEndpoint(0, EP0_PACKET_SIZE,
 166   2      			ControlData.dataBuffer + ControlData.wCount);
 167   2      
 168   2      		ControlData.wCount += i;
 169   2      		if( i != EP0_PACKET_SIZE || ControlData.wCount >= ControlData.wLength) {
 170   3      			bEPPflags.bits.setup_packet = 1;
 171   3      			bEPPflags.bits.control_state = USB_IDLE;
 172   3      		}
 173   2      	}
 174   1      
 175   1      	else {
 176   2      		bEPPflags.bits.control_state = USB_IDLE;
 177   2      	}
 178   1      
 179   1      }
 180          //----------------------------------
 181          void ep0_txdone(void)
 182          {
 183   1      	short i = ControlData.wLength - ControlData.wCount;
 184   1      
 185   1      	D12_ReadLastTransactionStatus(1); // Clear interrupt flag
 186   1      
 187   1      	if (bEPPflags.bits.control_state != USB_TRANSMIT) 
 188   1      		return;
 189   1      	//-------------------------
 190   1      	if( i >= EP0_PACKET_SIZE) {
 191   2      		D12_WriteEndpoint(1, EP0_PACKET_SIZE, ControlData.pData + ControlData.wCount);
 192   2      		ControlData.wCount += EP0_PACKET_SIZE;
 193   2      
 194   2      		bEPPflags.bits.control_state = USB_TRANSMIT;
 195   2      	}
 196   1      	else if( i != 0) {
 197   2      		D12_WriteEndpoint(1, i, ControlData.pData + ControlData.wCount);
 198   2      		ControlData.wCount += i;
 199   2      
 200   2      		bEPPflags.bits.control_state = USB_IDLE;
 201   2      	}
 202   1      	else if (i == 0){
 203   2      		D12_WriteEndpoint(1, 0, 0); // Send zero packet at the end ???
 204   2      
 205   2      		bEPPflags.bits.control_state = USB_IDLE;
 206   2      	}
C51 COMPILER V6.20c  KISR                                                                  10/31/2002 21:55:46 PAGE 17  

 207   1      
 208   1      }
 209          //----------------------------------
 210          void ep1_txdone(void)
 211          {
 212   1      	D12_ReadLastTransactionStatus(3); /* Clear interrupt flag */
 213   1      }
 214          
 215          void ep1_rxdone(void)
 216          {
 217   1      	unsigned char len;
 218   1      
 219   1      	D12_ReadLastTransactionStatus(2); /* Clear interrupt flag */
 220   1      
 221   1      	len = D12_ReadEndpoint(2, sizeof(GenEpBuf), GenEpBuf);
 222   1      
 223   1      	if(len != 0)
 224   1      		bEPPflags.bits.ep1_rxdone = 1;
 225   1      }
 226          //---------------------------------
 227          void main_txdone(void)
 228          {
 229   1      	unsigned char len;
 230   1      
 231   1      	D12_ReadLastTransactionStatus(5); /* Clear interrupt flag */
 232   1      
 233   1      	len = ioSize - ioCount;
 234   1      	if(len == 0) {
 235   2      		if(bEPPflags.bits.dma_state == DMA_PENDING)
 236   2      			bEPPflags.bits.setup_dma ++;
 237   2      		else
 238   2      			bEPPflags.bits.dma_state = DMA_IDLE;
 239   2      	}
 240   1      	else {
 241   2      		if(len > 64)
 242   2      			len = 64;
 243   2      		if(bNoRAM)
 244   2      			len = D12_WriteEndpoint(5, len, EpBuf + ioCount);
 245   2      		else
 246   2      			len = D12_WriteEndpoint(5, len, MainEpBuf + ioCount);
 247   2      		ioCount += len;
 248   2      	}
 249   1      }
 250          
 251          void main_rxdone(void)
 252          {
 253   1      	unsigned char len;
 254   1      
 255   1      	D12_ReadLastTransactionStatus(4); /* Clear interrupt flag */
 256   1      
 257   1      	if(bNoRAM)
 258   1      		len = D12_ReadEndpoint(4, 64, EpBuf + ioCount);
 259   1      	else
 260   1      		len = D12_ReadEndpoint(4, 64, MainEpBuf + ioCount);
 261   1      	ioCount += len;
 262   1      	if(bNoRAM)
 263   1      		len = D12_ReadEndpoint(4, 64, EpBuf + ioCount);
 264   1      	else
 265   1      		len = D12_ReadEndpoint(4, 64, MainEpBuf + ioCount);
 266   1      	ioCount += len;
 267   1      	if(ioCount >= ioSize) {
 268   2      		if(bEPPflags.bits.dma_state == DMA_PENDING)
C51 COMPILER V6.20c  KISR                                                                  10/31/2002 21:55:46 PAGE 18  

 269   2      			bEPPflags.bits.setup_dma ++;
 270   2      		else
 271   2      			bEPPflags.bits.dma_state = DMA_IDLE;
 272   2      	}
 273   1      	
 274   1      }
 275          
C51 COMPILER V6.20c  KISR                                                                  10/31/2002 21:55:46 PAGE 19  

ASSEMBLY LISTING OF GENERATED OBJECT CODE


             ; FUNCTION timer_isr (BEGIN)
0000 C0E0              PUSH    ACC
0002 C0D0              PUSH    PSW
0004 75D000            MOV     PSW,#00H
0007 C007              PUSH    AR7
                                           ; SOURCE LINE # 42
                                           ; SOURCE LINE # 44
0009 C2AF              CLR     EA
                                           ; SOURCE LINE # 45
000B E500        R     MOV     A,ClockTicks+03H
000D 2401              ADD     A,#01H
000F F500        R     MOV     ClockTicks+03H,A
0011 E4                CLR     A
0012 3500        R     ADDC    A,ClockTicks+02H
0014 F500        R     MOV     ClockTicks+02H,A
0016 E4                CLR     A
0017 3500        R     ADDC    A,ClockTicks+01H
0019 F500        R     MOV     ClockTicks+01H,A
001B E4                CLR     A
001C 3500        R     ADDC    A,ClockTicks
001E F500        R     MOV     ClockTicks,A
                                           ; SOURCE LINE # 46
0020 AF00        R     MOV     R7,bEPPflags
0022 EF                MOV     A,R7
0023 4401              ORL     A,#01H
0025 F500        R     MOV     bEPPflags,A
                                           ; SOURCE LINE # 47
0027 D2AF              SETB    EA
                                           ; SOURCE LINE # 48
0029 D007              POP     AR7
002B D0D0              POP     PSW
002D D0E0              POP     ACC
002F 32                RETI    
             ; FUNCTION timer_isr (END)

             ; FUNCTION fn_usb_isr (BEGIN)
                                           ; SOURCE LINE # 51
                                           ; SOURCE LINE # 52
                                           ; SOURCE LINE # 55
0000 AF00        R     MOV     R7,bEPPflags
0002 EF                MOV     A,R7
0003 4420              ORL     A,#020H
0005 F500        R     MOV     bEPPflags,A
                                           ; SOURCE LINE # 58
0007 120000      E     LCALL   D12_ReadInterruptRegister
000A 8E00        R     MOV     i_st,R6
000C 8F00        R     MOV     i_st+01H,R7
                                           ; SOURCE LINE # 60
000E E500        R     MOV     A,i_st+01H
0010 4500        R     ORL     A,i_st
0012 6053              JZ      ?C0002
                                           ; SOURCE LINE # 61
0014 E500        R     MOV     A,i_st+01H
0016 30E60A            JNB     ACC.6,?C0003
                                           ; SOURCE LINE # 62
0019 120000      R     LCALL   bus_reset
                                           ; SOURCE LINE # 63
001C AF00        R     MOV     R7,bEPPflags
001E EF                MOV     A,R7
C51 COMPILER V6.20c  KISR                                                                  10/31/2002 21:55:46 PAGE 20  

001F 4402              ORL     A,#02H
0021 F500        R     MOV     bEPPflags,A
                                           ; SOURCE LINE # 64
0023         ?C0003:
                                           ; SOURCE LINE # 66
0023 E500        R     MOV     A,i_st
0025 30E003            JNB     ACC.0,?C0004
                                           ; SOURCE LINE # 67
0028 120000      R     LCALL   dma_eot
002B         ?C0004:
                                           ; SOURCE LINE # 69
002B E500        R     MOV     A,i_st+01H
002D 30E707            JNB     ACC.7,?C0005
                                           ; SOURCE LINE # 70
0030 AF00        R     MOV     R7,bEPPflags
0032 EF                MOV     A,R7
0033 4404              ORL     A,#04H
0035 F500        R     MOV     bEPPflags,A
0037         ?C0005:
                                           ; SOURCE LINE # 73
0037 E500        R     MOV     A,i_st+01H
0039 30E103            JNB     ACC.1,?C0006
                                           ; SOURCE LINE # 74
003C 120000      R     LCALL   ep0_txdone
003F         ?C0006:
                                           ; SOURCE LINE # 75
003F E500        R     MOV     A,i_st+01H
0041 30E003            JNB     ACC.0,?C0007
                                           ; SOURCE LINE # 76
0044 120000      R     LCALL   ep0_rxdone
0047         ?C0007:
                                           ; SOURCE LINE # 77
0047 E500        R     MOV     A,i_st+01H

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久激情五月婷婷| 男女男精品视频网| 国产一区二区三区久久久| 日本韩国精品一区二区在线观看| 精品国产91久久久久久久妲己| 亚洲精品精品亚洲| 国产aⅴ综合色| 欧美一级在线观看| 亚洲与欧洲av电影| 94色蜜桃网一区二区三区| 国产亚洲自拍一区| 久久91精品久久久久久秒播| 欧美色窝79yyyycom| ㊣最新国产の精品bt伙计久久| 国产又黄又大久久| 日韩美女天天操| 日产欧产美韩系列久久99| 日本道精品一区二区三区| 日本一区二区三区四区| 精品无码三级在线观看视频| 欧美顶级少妇做爰| 亚洲国产一区二区三区| 日本丶国产丶欧美色综合| 亚洲丝袜制服诱惑| 暴力调教一区二区三区| 国产清纯在线一区二区www| 裸体歌舞表演一区二区| 91精品国产综合久久精品| 亚洲尤物在线视频观看| 在线亚洲欧美专区二区| 亚洲欧美日韩久久精品| 97久久超碰精品国产| 国产精品久久福利| 成人av小说网| 国产精品九色蝌蚪自拍| 成人精品电影在线观看| 国产精品你懂的在线| 成人午夜电影小说| 国产精品私人自拍| 成人av电影在线观看| 亚洲欧洲无码一区二区三区| 99精品视频一区| 亚洲日本在线看| 色视频成人在线观看免| 亚洲精品国产无天堂网2021| 91福利国产精品| 亚洲国产精品自拍| 欧美日韩高清影院| 免费观看一级欧美片| 26uuu色噜噜精品一区二区| 国内精品国产三级国产a久久| 久久久久久久久久久久久久久99 | 亚洲天堂免费看| 色就色 综合激情| 亚洲一区视频在线观看视频| 欧美美女bb生活片| 免费成人在线视频观看| 久久青草国产手机看片福利盒子| 国产成人免费9x9x人网站视频| 国产农村妇女精品| 99精品久久免费看蜜臀剧情介绍| 亚洲免费观看在线观看| 欧美美女一区二区| 九色综合狠狠综合久久| 欧美国产一区二区在线观看| 成人av网在线| 亚洲一区二区三区小说| 欧美精品xxxxbbbb| 激情五月婷婷综合| 国产精品视频一区二区三区不卡| 色成年激情久久综合| 七七婷婷婷婷精品国产| 久久久久一区二区三区四区| 91在线观看免费视频| 亚洲va在线va天堂| 精品国产不卡一区二区三区| 成人黄色小视频| 亚洲午夜精品久久久久久久久| 日韩一本二本av| 成人美女在线视频| 亚洲电影在线播放| 精品国产乱码久久久久久久| a在线播放不卡| 日本美女视频一区二区| 国产日韩欧美在线一区| 在线一区二区视频| 黄页网站大全一区二区| 亚洲少妇最新在线视频| 日韩女同互慰一区二区| 成人app网站| 日韩精品欧美精品| 国产日韩精品一区二区浪潮av | 国产.精品.日韩.另类.中文.在线.播放 | 高清av一区二区| 亚洲成国产人片在线观看| 久久先锋影音av| 日本久久一区二区三区| 国产一区美女在线| 亚洲综合图片区| 国产丝袜在线精品| 91精品黄色片免费大全| 不卡av电影在线播放| 日韩电影在线一区| 亚洲欧美一区二区视频| 精品久久五月天| 欧美日韩在线不卡| 国产91丝袜在线观看| 日韩 欧美一区二区三区| 亚洲丝袜精品丝袜在线| 26uuu亚洲综合色欧美| 欧美日韩一区三区四区| 成人免费高清在线| 久久不见久久见免费视频7| 亚洲最新视频在线观看| 国产亚洲综合在线| 日韩午夜电影在线观看| 91高清在线观看| 成人蜜臀av电影| 精品亚洲成a人在线观看| 舔着乳尖日韩一区| 亚洲欧美成aⅴ人在线观看| 国产午夜精品一区二区| 欧美一区二区三区人| 欧美在线高清视频| 成人av先锋影音| 国产乱子伦视频一区二区三区| 日韩va亚洲va欧美va久久| 一区二区免费视频| 18成人在线观看| 中文字幕精品一区| 久久影院电视剧免费观看| 3d成人h动漫网站入口| 在线观看视频欧美| 91在线小视频| 成人avav影音| 国产精品一区二区三区99| 久久电影网电视剧免费观看| 天天综合色天天综合| 亚洲伦在线观看| 中文字幕一区二区日韩精品绯色| 久久久久久久综合狠狠综合| 精品国产一区二区精华| 欧美一级艳片视频免费观看| 欧美日韩一区久久| 欧美日韩国产精选| 欧美视频一区二区三区四区 | 久草中文综合在线| 奇米影视在线99精品| 午夜激情综合网| 亚洲图片欧美视频| 亚洲bdsm女犯bdsm网站| 亚洲第一狼人社区| 亚洲一区二区三区国产| 亚洲综合在线视频| 亚洲一区在线观看免费观看电影高清 | 欧美在线999| 欧美日韩三级在线| 欧美欧美午夜aⅴ在线观看| 欧美色大人视频| 欧美日韩高清一区二区三区| 欧美日韩午夜影院| 91精品婷婷国产综合久久性色| 3d动漫精品啪啪1区2区免费 | 91网站黄www| 一本一道久久a久久精品综合蜜臀| 色哦色哦哦色天天综合| 欧美综合亚洲图片综合区| 欧美在线播放高清精品| 欧美蜜桃一区二区三区| 宅男噜噜噜66一区二区66| 日韩免费视频一区| 国产日韩欧美综合在线| 日韩美女久久久| 亚洲一区二区三区四区在线| 日韩av不卡在线观看| 激情文学综合插| 国产一区二区免费视频| 成人午夜免费电影| 色综合久久99| 欧美一区二区女人| 亚洲精品一区二区三区蜜桃下载 | 欧美人妖巨大在线| 欧美xfplay| 国产精品欧美久久久久无广告 | 国产视频亚洲色图| 亚洲色图制服诱惑| 日韩在线a电影| 国产精品中文有码| 色妹子一区二区| 日韩美女主播在线视频一区二区三区| 精品国产一区二区三区不卡| 国产精品卡一卡二| 亚洲成人资源在线| 国产精品一区二区三区乱码 | 国产乱码一区二区三区| 91片在线免费观看| 欧美一卡在线观看| 国产精品久久久久久久久果冻传媒 | 欧美日韩一区不卡| 久久影视一区二区|