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

📄 isr.c

📁 该代码是基于菲利普ISP1581USB接口芯片与STC89C51单片机的USB2.0开发代码
💻 C
字号:
/****************************************Copyright (c)**************************************************

** 文   件   名: ISR.c
** 最后修改日期: 2006年10月19日
** 描        述: USB驱动程序软件包: D14 设备端驱动程序 中断处理程序
** 版	     本: 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;

//变量定义
UI	idata	Data;
ULI USB_Interrupt;
UI DMA_Interrupt;

 ///////////////////////////////////////


//定时器0中断处理函数
void Int_Timer0(void) interrupt 1 using 0
{
	
	Kernel_Flag.BITS.Timer_Expired = 1;
}



//外中断0--USB中断处理函数 

void Int_Ext_0(void) interrupt 0 using 1
{
	

	//读取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;		
	 }
	
}

⌨️ 快捷键说明

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