📄 isr.lst
字号:
C51 COMPILER V6.21 ISR 06/13/2005 16:14:56 PAGE 1
C51 COMPILER V6.21, COMPILATION OF MODULE ISR
OBJECT MODULE PLACED IN ISR.OBJ
COMPILER INVOKED BY: g:\Keil_run\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 #include "string.h"
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.21 ISR 06/13/2005 16:14:56 PAGE 2
56 2 }
57 1
58 1 for(cnt=0;cnt<64;cnt++)
59 1 {
60 2 Reset_Timer0();
61 2 while(!RI && !TF0);
62 2 if(TF0)
63 2 {
64 3 bXXGFlags.bits.bCOM_ERR=1;
65 3 uartState=0;
66 3 return;
67 3 }
68 2 *(pBuf+cnt)=SBUF;
69 2 RI=0;
70 2 }
71 1 /////// data phase /////////////////////
72 1 if(UartCmdBlock.cmd==CMD_WRITE_FILE)
73 1 {
74 2 UartCmdBlock.CmdBlock.Cmd_WriteFile.writeLength=SwapINT16(UartCmdBlock.CmdBlock.Cmd_WriteFile.writeLengt
-h);
75 2 if(UartCmdBlock.CmdBlock.Cmd_WriteFile.writeLength>MAX_WRITE_LENGTH)
76 2 {
77 3 bXXGFlags.bits.bCOM_ERR=1;
78 3 uartState=0;
79 3 return;
80 3 }
81 2 for(cnt=0;cnt<UartCmdBlock.CmdBlock.Cmd_WriteFile.writeLength;cnt++)
82 2 {
83 3 Reset_Timer0();
84 3 while(!RI && !TF0);
85 3 if(TF0)
86 3 {
87 4 bXXGFlags.bits.bCOM_ERR=1;
88 4 uartState=0;
89 4 return;
90 4 }
91 3 UARTBUF[cnt]=SBUF;
92 3 RI=0;
93 3 }
94 2 UartCmdBlock.CmdBlock.Cmd_WriteFile.writeLength=SwapINT16(UartCmdBlock.CmdBlock.Cmd_WriteFile.writeLengt
-h);
95 2
96 2 }
97 1 //////////////////////////
98 1 bXXGFlags.bits.bUartInDone=1;
99 1 RI=0;
100 1 }
101 void ISR_Timer0(void) interrupt 1
102 {
103 1 DISABLE_INTERRUPTS;
104 1 //lClockTicks ++;
105 1 bXXGFlags.bits.bTimer = 1;
106 1
107 1 //if(bZBoardFlags.bits.bLED == LED_FLASH)
108 1 // IO_LED ^= 1;
109 1 ENABLE_INTERRUPTS;
110 1 }
111 void ISR_Timer1(void) interrupt 3
112 {
113 1 }
114 void ISR_Timer2(void) interrupt 5
115 {
C51 COMPILER V6.21 ISR 06/13/2005 16:14:56 PAGE 3
116 1 }
117 void ISR_INT1(void) interrupt 2
118 {
119 1 }
120 void ISR_INT0(void) interrupt 0
121 {
122 1 //unsigned char intr;
123 1 DISABLE_INTERRUPTS;
124 1 //ISRx_FN_USB();
125 1 //intr=SL811Read(IntStatus);
126 1 SL811Write(IntStatus,INT_CLEAR);
127 1 ENABLE_INTERRUPTS;
128 1 }
129 void Reset_Timer0(void)
130 {
131 1 TR0=0;
132 1 TF0=0;
133 1 TL0 = 0x0; /* value set by user */
134 1 TH0 = 0x0; /* value set by user */
135 1 //ET0 = 1; /* IE.1*/
136 1 TR0 = 1; /* TCON.4 start timer */
137 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 + -