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

📄 isr.lst

📁 SL811开发资料_包含源程序_电路图_芯片资料
💻 LST
字号:
C51 COMPILER V6.20c  ISR                                                                   08/21/2003 22:51:03 PAGE 1   


C51 COMPILER V6.20c, COMPILATION OF MODULE ISR
OBJECT MODULE PLACED IN ISR.OBJ
COMPILER INVOKED BY: E:\WIN98\HARDWARE\KEILC\C51\BIN\C51.EXE ISR.C BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include "common.h"
   2          #include "HAL.H"
   3          #include "SL811.H"
   4          #include "HPI.H"
   5          
   6          extern XXGFLAGS bdata bXXGFlags;
   7          //extern UART_CMD_BLOCK xdata inblock;
   8          //extern unsigned char xdata UartInBuffer[2112];
   9          extern UART_CMD_BLOCK xdata UartCmdBlock;
  10          extern unsigned char xdata UARTBUF[UARTBUF_LENGTH];
  11          //unsigned char nCount;
  12          /////////////////////////////////////////
  13          void ISRx_FN_USB(void);
  14          void Reset_Timer0(void);
  15          //////////////////////////////////////////
  16          void ISR_COMM(void) interrupt 4
  17          {
  18   1      	unsigned char *pBuf=(unsigned char *)&UartCmdBlock;
  19   1      	unsigned int cnt;
  20   1      	unsigned char uartState,i;
  21   1      	uartState=0;
  22   1      	if(RI==0)
  23   1      		return;
  24   1      	/////// CMD and PARA phase/////////////////
  25   1      	//for(cnt=0;cnt<2;cnt++)
  26   1      	{
  27   2      		while(!RI);
  28   2      		i=SBUF;
  29   2      		RI=0;
  30   2      		if(i==0xaa)
  31   2      			uartState=1;
  32   2      		else
  33   2      			{
  34   3      			bXXGFlags.bits.bCOM_ERR=1;
  35   3      			uartState=0;
  36   3      			return;
  37   3      			}
  38   2      		Reset_Timer0();
  39   2      		while(!RI && !TF0);
  40   2      		if(TF0)
  41   2      			{
  42   3      			bXXGFlags.bits.bCOM_ERR=1;
  43   3      			uartState=0;
  44   3      			return;
  45   3      			}
  46   2      		i=SBUF;
  47   2      		RI=0;
  48   2      		if((i==0xbb)&&(uartState==1))
  49   2      			uartState=2;
  50   2      		else
  51   2      			{
  52   3      			bXXGFlags.bits.bCOM_ERR=1;
  53   3      			uartState=0;
  54   3      			return;
  55   3      			}
C51 COMPILER V6.20c  ISR                                                                   08/21/2003 22:51:03 PAGE 2   

  56   2      		
  57   2      	}
  58   1      	
  59   1      	for(cnt=0;cnt<64;cnt++)
  60   1      	{
  61   2      		Reset_Timer0();
  62   2      		while(!RI && !TF0);
  63   2      		if(TF0)
  64   2      			{
  65   3      			bXXGFlags.bits.bCOM_ERR=1;
  66   3      			uartState=0;
  67   3      			return;
  68   3      			}
  69   2      		*(pBuf+cnt)=SBUF;
  70   2      		RI=0;
  71   2      	}	
  72   1      	/////// data phase /////////////////////
  73   1      	if(UartCmdBlock.cmd==CMD_WRITE_FILE)
  74   1      		{
  75   2      		UartCmdBlock.CmdBlock.Cmd_WriteFile.writeLength=SwapINT16(UartCmdBlock.CmdBlock.Cmd_WriteFile.writeLengt
             -h);
  76   2      		if(UartCmdBlock.CmdBlock.Cmd_WriteFile.writeLength>MAX_WRITE_LENGTH)
  77   2      		{
  78   3      		bXXGFlags.bits.bCOM_ERR=1;
  79   3      		uartState=0;
  80   3      		return;
  81   3      		}
  82   2      		for(cnt=0;cnt<UartCmdBlock.CmdBlock.Cmd_WriteFile.writeLength;cnt++)
  83   2      			{
  84   3      			Reset_Timer0();
  85   3      			while(!RI && !TF0);
  86   3      			if(TF0)
  87   3      			{
  88   4      			bXXGFlags.bits.bCOM_ERR=1;
  89   4      			uartState=0;
  90   4      			return;
  91   4      			}
  92   3      			UARTBUF[cnt]=SBUF;
  93   3      			RI=0;
  94   3      			}
  95   2      		UartCmdBlock.CmdBlock.Cmd_WriteFile.writeLength=SwapINT16(UartCmdBlock.CmdBlock.Cmd_WriteFile.writeLengt
             -h);
  96   2      		
  97   2      		}	
  98   1      	
  99   1      	
 100   1      	//////////////////////////
 101   1      	bXXGFlags.bits.bUartInDone=1;
 102   1      	RI=0;	
 103   1      }
 104          
 105          void ISR_Timer0(void) interrupt 1
 106          {
 107   1      	DISABLE_INTERRUPTS;
 108   1      	//lClockTicks ++;
 109   1      	bXXGFlags.bits.bTimer = 1;
 110   1      	
 111   1      	//if(bZBoardFlags.bits.bLED == LED_FLASH)
 112   1      	//	IO_LED ^= 1;
 113   1      	ENABLE_INTERRUPTS;
 114   1      }
 115          
C51 COMPILER V6.20c  ISR                                                                   08/21/2003 22:51:03 PAGE 3   

 116          void ISR_Timer1(void) interrupt 3
 117          {
 118   1      }
 119          
 120          void ISR_Timer2(void) interrupt 5
 121          {
 122   1      }
 123          
 124          void ISR_INT1(void) interrupt 2
 125          {
 126   1      }
 127          
 128          void ISR_INT0(void) interrupt 0
 129          {
 130   1      	//unsigned char intr;
 131   1      	DISABLE_INTERRUPTS;
 132   1      	//ISRx_FN_USB();
 133   1      	//intr=SL811Read(IntStatus);
 134   1      	SL811Write(IntStatus,INT_CLEAR);
 135   1      	ENABLE_INTERRUPTS;
 136   1      }
 137          
 138          void Reset_Timer0(void)
 139          {
 140   1      	TR0=0;
 141   1      	TF0=0;
 142   1      	TL0 = 0x0;         /* value set by user    */
 143   1      	TH0 = 0x0;         /* value set by user  */
 144   1      	//ET0 = 1;           /* IE.1*/
 145   1      	TR0 = 1;           /* TCON.4 start timer  */
 146   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    434    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       7
   IDATA SIZE       =   ----    ----
   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 + -