- Visual C++源码
- Visual Basic源码
- C++ Builder源码
- Java源码
- Delphi源码
- C/C++源码
- PHP源码
- Perl源码
- Python源码
- Asm源码
- Pascal源码
- Borland C++源码
- Others源码
- SQL源码
- VBScript源码
- JavaScript源码
- ASP/ASPX源码
- C#源码
- Flash/ActionScript源码
- matlab源码
- PowerBuilder源码
- LabView源码
- Flex源码
- MathCAD源码
- VBA源码
- IDL源码
- Lisp/Scheme源码
- VHDL源码
- Objective-C源码
- Fortran源码
- tcl/tk源码
- QT源码
- /****************************************Copyright (c)**************************************************
- ** 广州周立功单片机发展有限公司
- ** 研 究 所
- ** http://www.zlgmcu.com
- **--------------当前版本修订------------------------------------------------------------------------------
- ** 修改人: 刘英斌
- ** 日 期:2003-03-13
- ** 描 述:ISP1581 V1.0
- **------------------------------------------------------------------------------------------------------
- ********************************************************************************************************/
- #include "standard.h"
- #include "Kernel.h"
- #include "D14.h"
- extern KERNEL Kernel_Flag;
- extern D14_CNTRL_REG xdata *D14_Cntrl_Ptr;
- extern volatile D14_CNTRL_REG xdata D14_Cntrl_Reg;
- extern DMA_INT_FLAG DMA_Int_Flag;
- extern USB_INT_FLAG USB_Int_Flag;
- extern void Init_D14(void);
- extern UC ATAPI_State;
- extern DRIVE_CONFIG Drive_Setup;
- extern void Set_USB(void);
- extern ULI bytecount;
- extern UI PIO_Count;
- //***********************************************************************
- //* *
- //* Variable Definition *
- //* *
- //***********************************************************************
- UI idata Data;
- ULI USB_Interrupt;
- UI DMA_Interrupt;
- //***********************************************************************
- //* *
- //* Routine Definition *
- //* *
- //***********************************************************************
- void Int_2(void) interrupt 2 using 0
- {
- }
- void Int_3(void) interrupt 3 using 0
- {
- }
- void Int_4(void) interrupt 4 using 0
- {
- }
- void Int_5(void) interrupt 5 using 0
- {
- }
- //***********************************************************************
- //* *
- //* Routine : Int_Timer0 *
- //* Input : Timer 0 overflow *
- //* Output : Set time up flag *
- //* Function : To set the time up flag *
- //* *
- //***********************************************************************
- void Int_Timer0(void) interrupt 1 using 0
- {
- Kernel_Flag.BITS.Timer_Expired = 1;
- }
- //***********************************************************************
- //* *
- //* Routine : Int Ext 0 *
- //* Input : External Interrupt from ISP1581 *
- //* Output : None *
- //* Function : To read and keep a copy of the interrupt source of *
- //* ISP1581 *
- //***********************************************************************
- void Int_Ext_0(void) interrupt 0 using 1
- {
- //read in USB interrupt register and keep a copy
- // USB_Interrupt = D14_Cntrl_Reg.D14_INT.VALUE;
- // USB_Int_Flag.VALUE |= USB_Interrupt;
- //读取ISP1581中断寄存器
- USB_Int_Flag.VALUE |= D14_Cntrl_Reg.D14_INT.VALUE;
- //回写ISP1581中断寄存器
- D14_Cntrl_Reg.D14_INT.VALUE = USB_Int_Flag.VALUE;
- //总线复位处理
- if(USB_Int_Flag.BITS.RESET)
- {
- //清除总线复位中断位
- USB_Int_Flag.BITS.RESET = 0;
- //设置总线复位标志
- Kernel_Flag.BITS.Bus_Reset = 1;
- PIO_Count = 64;
- //切换到全速模式
- HS_FS_LED = FULL_SPEED_LED;
- Kernel_Flag.BITS.HS_FS_State = FULL_SPEED;
- //初始化ISP1581
- Init_D14();
- //设置softconnect
- D14_Cntrl_Reg.D14_MODE.BITS.SOFTCT = 1;
- }
- }