?? ints.lst
字號:
C51 COMPILER V7.06 INTS 11/17/2006 09:08:21 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE INTS
OBJECT MODULE PLACED IN ints.OBJ
COMPILER INVOKED BY: E:\keil\C51\BIN\C51.EXE ints.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 //Serial interrupt.
2
3 #include <SST89V564.H>
4 #include "ext_temp.h"
5
6 void receive(void) interrupt 4 using 2 /*Receive interrupt*/
7 {
8 1 unsigned char rev; //One byte for receive buffer.
9 1 if (RI==1)
10 1 {
11 2 RI=0;
12 2 rev=SBUF;
13 2 if (IAP==0)
14 2 {
15 3 if (moto_fg ==0)
16 3 {if (count==0x00) //Whether the first byte is $.
17 4 {
18 5 if (rev=='$')
19 5 {rdata[count++]=rev;}
20 5 }
21 4 else if (count==0x01)//Whether the second byte is B.
22 4 {
23 5 if ((rev=='B')||(rev=='b'))
24 5 {rdata[count++]=rev;}
25 5 else
26 5 {count=0x00;}
27 5 }
28 4 else if (count==0x02)//Whether the second byte is D.
29 4 {
30 5 if ((rev=='D')||(rev=='d'))
31 5 {rdata[count++]=rev;}
32 5 else
33 5 {count=0x00;}
34 5 }
35 4 else if (count>=127)
36 4 {count = 0;}
37 4 else
38 4 {
39 5 rdata[count++]=SBUF;
40 5 if (rdata[count-1]== 0x0a) //Receive data.
41 5 {
42 6 RXLen = count;
43 6 count = 0;
44 6 flagserial=1;
45 6 }
46 5 }
47 4 }
48 3 else
49 3 {
50 4 if (count ==0x00)
51 4 {
52 5 if (rev =='@')
53 5 rdata[count++]=rev;
54 5 }
55 4 else if (count ==0x01)
C51 COMPILER V7.06 INTS 11/17/2006 09:08:21 PAGE 2
56 4 {
57 5 if (rev =='@')
58 5 rdata[count++]=rev;
59 5 else
60 5 count =0;
61 5 }
62 4 else if (count >128)
63 4 count =0;
64 4 else
65 4 {
66 5 rdata[count++]=rev;
67 5 if ((rdata[count-2]== 0x0d)&&(rdata[count-1]== 0x0a)) //Receive data.
68 5 {
69 6 RXLen = count;
70 6 count = 0;
71 6 flagserial=1;
72 6 }
73 5 }
74 4 }
75 3
76 3 }
77 2 else
78 2 {
79 3 if (count==0x00)
80 3 {
81 4 if (rev==0x80)
82 4 {count++;}
83 4 }
84 3 else if (count==0x01)
85 3 {
86 4 if (rev==0xe0)
87 4 {count++;}
88 4 else
89 4 {count=0x00;}
90 4 }
91 3 else if (count==0x02)
92 3 {
93 4 if (rev==0xf8)
94 4 {count++;}
95 4 else
96 4 {count=0x00;}
97 4 }
98 3 else if (count==0x03)
99 3 {
100 4 if (rev==0xfe)
101 4 {RunIAP=1;count=0x00;}
102 4 else
103 4 {count=0x00;}
104 4 }
105 3 }
106 2 }
107 1 if (TI&&!moto_fg)//ASCII
108 1 {
109 2 TI = 0;
110 2 if (TXCont < TXLen)
111 2 {SBUF = sdata[TXCont++];}
112 2 }
113 1 //else if (TI&&moto_fg) //motonola binary
114 1 // {
115 1 // TI = 0;
116 1 // }
117 1 }
C51 COMPILER V7.06 INTS 11/17/2006 09:08:21 PAGE 3
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 345 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
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 + -