📄 interrupt.lst
字号:
C51 COMPILER V7.09 INTERRUPT 10/11/2006 16:32:11 PAGE 1
C51 COMPILER V7.09, COMPILATION OF MODULE INTERRUPT
OBJECT MODULE PLACED IN interrupt.OBJ
COMPILER INVOKED BY: e:\Keil\C51\BIN\C51.EXE interrupt.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include "sys.h"
2
3 extern data UCHAR *p;
4 extern UCHAR UIData[6];
5 extern bit receiveFlag;
6 extern bit responseFlag;
7 extern bit sendFlag;
8
9 void int0() interrupt 0
10 {
11 1 //todo
12 1 }
13
14 void timer0() interrupt 1
15 {
16 1 static UCHAR n;
17 1 TH0 = 0;
18 1 TL0 = 0;
19 1 n++;
20 1 if(n == 5)
21 1 {
22 2 n = 0;
23 2 TR0 = 0;
24 2 TH0 = 0;
25 2 TL0 = 0;
26 2 responseFlag = 1;
27 2 }
28 1 }
29
30 void int1() interrupt 2
31 {
32 1 //todo
33 1 }
34
35 void timer1() interrupt 3
36 {
37 1 //todo
38 1 }
39
40 void serial() interrupt 4
41 {
42 1 static UCHAR temp = 0;
43 1 if(RI) //the receive process
44 1 {
45 2 RI = 0;
46 2 if(RB8) //receive the address
47 2 {
48 3 temp = SBUF;
49 3 if(temp == LOCALCELL)
50 3 SM2 = 0;
51 3 temp = 0;
52 3 }
53 2 else //receive the data
54 2 {
55 3 UIData[temp++] = SBUF;
C51 COMPILER V7.09 INTERRUPT 10/11/2006 16:32:11 PAGE 2
56 3 if(temp == 6)
57 3 {
58 4 SM2 = 1;
59 4 receiveFlag = 1;
60 4 TR0 = 0; //receive the response,close the timer0
61 4 TH0 = 0;
62 4 TL0 = 0;
63 4 temp = 0;
64 4 }
65 3 }
66 2 }
67 1 else if(TI && (temp < 2))
68 1 {
69 2 TB8 = 0; //sign data flag
70 2 TI = 0;
71 2 SBUF = *p;
72 2 temp++;
73 2 }
74 1 else if(TI)
75 1 {
76 2 TI = 0;
77 2 temp = 0;
78 2 sendFlag = 1;
79 2 }
80 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 170 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 2 ----
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 + -