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

📄 main.lst

📁 at89c51+isp1581控制程序(c语言源代码).包含快速模式和高速模式
💻 LST
📖 第 1 页 / 共 2 页
字号:
 169   1      	ISP1581_SetEndpointConfig(EPINDEX4EP01IN, 0);
 170   1      	ISP1581_SetEndpointConfig(EPINDEX4EP02OUT, 0);
 171   1      	ISP1581_SetEndpointConfig(EPINDEX4EP02IN, 0);
 172   1      	ISP1581_SetEndpointConfig(EPINDEX4EP03OUT, 0);
 173   1      	ISP1581_SetEndpointConfig(EPINDEX4EP03IN, 0);
 174   1      	ISP1581_SetEndpointConfig(EPINDEX4EP04OUT, 0);
 175   1      	ISP1581_SetEndpointConfig(EPINDEX4EP04IN, 0);
 176   1      	ISP1581_SetEndpointConfig(EPINDEX4EP05OUT, 0);
 177   1      	ISP1581_SetEndpointConfig(EPINDEX4EP05IN, 0);
 178   1      	ISP1581_SetEndpointConfig(EPINDEX4EP06OUT, 0);
C51 COMPILER V6.20c  MAIN                                                                  05/19/2003 01:05:03 PAGE 4   

 179   1      	ISP1581_SetEndpointConfig(EPINDEX4EP06IN, 0);
 180   1      	ISP1581_SetEndpointConfig(EPINDEX4EP07OUT, 0);
 181   1      	ISP1581_SetEndpointConfig(EPINDEX4EP07IN, 0);
 182   1      
 183   1      	switch(bZBoardFlags.bits.ConnectSpeed)
 184   1      	{
 185   2      		case FullSpeed:
 186   2      		{
 187   3      			ISP1581_SetEPMAXSize(EPINDEX4EP01OUT, EP1_PACKET_SIZE);
 188   3      			ISP1581_SetEPMAXSize(EPINDEX4EP01IN, EP1_PACKET_SIZE);
 189   3      			globe_variable.maxepsize_bulk = maxepsize_FS;
 190   3      			ISP1581_SetEPMAXSize(EPINDEX4EP02OUT, globe_variable.maxepsize_bulk);
 191   3      			ISP1581_SetEPMAXSize(EPINDEX4EP02IN, globe_variable.maxepsize_bulk);
 192   3      			//ISP1581_SetEPMAXSize(EPINDEX4EP03OUT, maxepsize_256);
 193   3      			//ISP1581_SetEPMAXSize(EPINDEX4EP03IN, maxepsize_256);
 194   3      			ISP1581_SetEPMAXSize(EPINDEX4EP04OUT, maxepsize_16);
 195   3      			ISP1581_SetEPMAXSize(EPINDEX4EP04IN, maxepsize_16);
 196   3      			break;
 197   3      		}
 198   2      		case HighSpeed:
 199   2      		{
 200   3      			ISP1581_SetEPMAXSize(EPINDEX4EP01OUT, maxepsize_512);
 201   3      			ISP1581_SetEPMAXSize(EPINDEX4EP01IN, maxepsize_512);
 202   3      			globe_variable.maxepsize_bulk = maxepsize_HS;
 203   3      			ISP1581_SetEPMAXSize(EPINDEX4EP02OUT, globe_variable.maxepsize_bulk);
 204   3      			ISP1581_SetEPMAXSize(EPINDEX4EP02IN, globe_variable.maxepsize_bulk);
 205   3      			//ISP1581_SetEPMAXSize(EPINDEX4EP03OUT, maxepsize_256);
 206   3      			//ISP1581_SetEPMAXSize(EPINDEX4EP03IN, maxepsize_256);
 207   3      			ISP1581_SetEPMAXSize(EPINDEX4EP04OUT, maxepsize_512);
 208   3      			ISP1581_SetEPMAXSize(EPINDEX4EP04IN, maxepsize_16);
 209   3      			break;
 210   3      		}
 211   2      		default:
 212   2      		{
 213   3      			globe_variable.maxepsize_bulk = maxepsize_FS;
 214   3      			break;
 215   3      		}
 216   2      	}
 217   1      	
 218   1      	ISP1581_SetEPMAXSize(EPINDEX4EP03OUT, maxepsize_0);
 219   1      	ISP1581_SetEPMAXSize(EPINDEX4EP03IN, maxepsize_0);
 220   1      	ISP1581_SetEPMAXSize(EPINDEX4EP05OUT, maxepsize_0);
 221   1      	ISP1581_SetEPMAXSize(EPINDEX4EP05IN, maxepsize_0);
 222   1      	ISP1581_SetEPMAXSize(EPINDEX4EP06OUT, maxepsize_0);
 223   1      	ISP1581_SetEPMAXSize(EPINDEX4EP06IN, maxepsize_0);
 224   1      	ISP1581_SetEPMAXSize(EPINDEX4EP07OUT, maxepsize_0);
 225   1      	ISP1581_SetEPMAXSize(EPINDEX4EP07IN, maxepsize_0);
 226   1      
 227   1      	ISP1581_SetEndpointConfig(EPINDEX4EP01OUT, eptype_bulk|eptype_enable);
 228   1      	ISP1581_SetEndpointConfig(EPINDEX4EP01IN, eptype_bulk|eptype_enable);//|eptype_doublebuf);//|eptype_noemp
             -kt);
 229   1      	ISP1581_SetEndpointConfig(EPINDEX4EP02OUT, eptype_bulk|eptype_enable|eptype_doublebuf);
 230   1      	ISP1581_SetEndpointConfig(EPINDEX4EP02IN, eptype_bulk|eptype_enable|eptype_doublebuf|eptype_noempkt);
 231   1      	ISP1581_SetEndpointConfig(EPINDEX4EP03OUT, 0);
 232   1      	ISP1581_SetEndpointConfig(EPINDEX4EP03IN, 0);
 233   1      	ISP1581_SetEndpointConfig(EPINDEX4EP04OUT, eptype_bulk|eptype_enable);
 234   1      	ISP1581_SetEndpointConfig(EPINDEX4EP04IN, eptype_int|eptype_enable);
 235   1      	ISP1581_SetEndpointConfig(EPINDEX4EP05OUT, 0);
 236   1      	ISP1581_SetEndpointConfig(EPINDEX4EP05IN, 0);
 237   1      	ISP1581_SetEndpointConfig(EPINDEX4EP06OUT, 0);
 238   1      	ISP1581_SetEndpointConfig(EPINDEX4EP06IN, 0);
 239   1      	ISP1581_SetEndpointConfig(EPINDEX4EP07OUT, 0);
C51 COMPILER V6.20c  MAIN                                                                  05/19/2003 01:05:03 PAGE 5   

 240   1      	ISP1581_SetEndpointConfig(EPINDEX4EP07IN, 0);
 241   1      	ISP1581_ClearBuffer(EPINDEX4EP01OUT);
 242   1      	ISP1581_ClearBuffer(EPINDEX4EP01IN);
 243   1      	ISP1581_ClearBuffer(EPINDEX4EP02OUT);
 244   1      	ISP1581_ClearBuffer(EPINDEX4EP02IN);
 245   1      	ISP1581_ClearBuffer(EPINDEX4EP03OUT);
 246   1      	ISP1581_ClearBuffer(EPINDEX4EP03IN);
 247   1      	ISP1581_ClearBuffer(EPINDEX4EP04OUT);
 248   1      	ISP1581_ClearBuffer(EPINDEX4EP04IN);
 249   1      	
 250   1      }
 251          
 252          void Isr_BusReset(void)
 253          {
 254   1      	bZBoardFlags.bits.DCP_state = USBFSM4DCP_IDLE;
 255   1      	bZBoardFlags.bits.dma_state = DMA_IDLE;
 256   1      	ioRequest.bAddressH = 0;
 257   1      	ioRequest.uAddressL = 0;
 258   1      	ioRequest.uSize = 0;
 259   1      	globe_variable.ioINSize = 0;
 260   1      	globe_variable.ioINCount = 0;
 261   1      	globe_variable.ioOUTSize = 0;
 262   1      	globe_variable.ioOUTCount = 0;
 263   1      	bZBoardFlags.bits.CONTROL_HANDLE_DONE = 0;
 264   1      	bZBoardFlags.bits.ISO_CONFIG = 0;
 265   1      	ISP1581_SetDMAInt(0xffff);//c);
 266   1      	ISP1581_IntClearl(0xffff);
 267   1      	ISP1581_IntClearh(0xffff);
 268   1      	ISP1581_Initiate();
 269   1      }
 270          
 271          void Device_Initiate(void)
 272          {
 273   1      	unsigned long clk_cnt;
 274   1      	
 275   1      	MCU_LED0 = 0;
 276   1      	MCU_LED1 = 0;
 277   1      	
 278   1      	disconnect_USB();
 279   1      	
 280   1      	ENABLE_INTERRUPTS;
 281   1      	clk_cnt = lClockTicks;
 282   1      	while(lClockTicks < clk_cnt + 20);
 283   1      	DISABLE_INTERRUPTS;
 284   1      	
 285   1      	bZBoardFlags.bits.DCP_state = USBFSM4DCP_IDLE;
 286   1      	bZBoardFlags.bits.ConnectSpeed = FullSpeed;
 287   1      	bZBoardFlags.bits.dma_state = DMA_IDLE;
 288   1      	bZBoardFlags.bits.CONTROL_HANDLE_DONE = 0;
 289   1      	bZBoardFlags.bits.ISO_CONFIG = 0;
 290   1      	ISP1581_SetDMAInt(0xffff);//c);
 291   1      	ISP1581_IntClearl(0xffff);
 292   1      	ISP1581_IntClearh(0xffff);
 293   1      	ioRequest.bAddressH = 0;
 294   1      	ioRequest.uAddressL = 0;
 295   1      	ioRequest.uSize = 0;
 296   1      	globe_variable.ioINSize = 0;
 297   1      	globe_variable.ioINCount = 0;
 298   1      	globe_variable.ioOUTSize = 0;
 299   1      	globe_variable.ioOUTCount = 0;
 300   1      	
 301   1      	globe_variable.isoINSize = 0;
C51 COMPILER V6.20c  MAIN                                                                  05/19/2003 01:05:03 PAGE 6   

 302   1      	globe_variable.isoINCount = 0;
 303   1      	globe_variable.isoOUTSize = 0;
 304   1      	globe_variable.isoOUTCount = 0;
 305   1      	
 306   1      	MCU_LED0 = 1;
 307   1      	MCU_LED1 = 1;
 308   1      	
 309   1      	connect_USB();
 310   1      	return;
 311   1      }
 312          void disconnect_USB(void)
 313          {
 314   1      	ISP1581_SetTestMode(testmode_forcefs);
 315   1      	//You may need some delay here if MPU is very fast.
 316   1      	ISP1581_SetMode(/* mode_clkaon*/mode_glintena);	
 317   1      //					|mode_wkupcs);
 318   1      //					|mode_softct);
 319   1      
 320   1      }
 321          void connect_USB(void)
 322          {
 323   1      	bZBoardFlags.bits.DCP_state = USBFSM4DCP_IDLE;
 324   1      	ISP1581_Initiate();
 325   1      }
 326          
 327          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    980    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     26       6
   IDATA SIZE       =      6    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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