📄 t.lst
字号:
C51 COMPILER V7.07 T 03/10/2008 19:25:16 PAGE 1
C51 COMPILER V7.07, COMPILATION OF MODULE T
OBJECT MODULE PLACED IN T.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE T.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 #include <reg51.h>
2
3 #define uchar unsigned char
4 #define NODE1_ADDR 1
5 #define NODE2_ADDR 2
6
7 bit flag=0;
8 bit flag_send=0;
9 uchar KeyValue=0; //键值
10
11 uchar code str[]="0123456789ABCDEF";
12 uchar pointer_1=0;
13 uchar pointer_2=0;
14
15 void delay(uchar Time)
16 {
17 1 uchar i,j;
18 1 for(i=0;i<100;i++)
19 1 for(j=0;j<Time;j++);
20 1 }
21
22 uchar key_scan()
23 {
24 1 P1=0xff;
25 1 while(P1==0xff);
26 1 return P1;
27 1 }
28
29 void proc_key1()
30 {
31 1 delay(200);
32 1 //初始化串行口和波特率发生器
33 1 SCON=0xc0;
34 1 TMOD=0x20;
35 1 TH1=0xfd;
36 1 TR1=1; //打开T1
37 1 ET1=0; //关闭定时器中断
38 1 ES=1; //允许串行口中断
39 1 EA=1; //打开所有中断
40 1 //发送地址帧
41 1 TB8=1;
42 1 SBUF=NODE1_ADDR;
43 1 while(flag_send==0); //发送完毕
44 1 ES=0;
45 1 EA=0; //关中断
46 1 flag_send=0;
47 1 KeyValue=0;
48 1 }
49
50 void proc_key2()
51 {
52 1 delay(200);
53 1 //初始化串行口和波特率发生器
54 1 SCON=0xc0;
55 1 TMOD=0x20;
C51 COMPILER V7.07 T 03/10/2008 19:25:16 PAGE 2
56 1 TH1=0xfd;
57 1 TR1=1; //打开T1
58 1 ET1=0; //关闭定时器中断
59 1 ES=1; //允许串行口中断
60 1 EA=1; //打开所有中断
61 1 //发送地址帧
62 1 TB8=1;
63 1 SBUF=NODE2_ADDR;
64 1 while(flag_send==0); //发送完毕
65 1 ES=0;
66 1 EA=0; //关中断
67 1 flag_send=0;
68 1 KeyValue=0;
69 1 }
70
71 main()
72 {
73 1 while(1)
74 1 {
75 2 KeyValue=key_scan();
76 2 switch(KeyValue)
77 2 {
78 3 case 0xfe: proc_key1();break;
79 3 case 0xef: proc_key2();break;
80 3 default: break;
81 3 }
82 2 }
83 1 }
84
85 //串行中断服务程序
86 void send(void) interrupt 4 using 3
87 {
88 1 TI=0;
89 1 if(flag==1)
90 1 {
91 2 flag_send=1;
92 2 flag=0;
93 2 return;
94 2 }
95 1 else
96 1 {
97 2 TB8=0;
98 2 switch(KeyValue)
99 2 {
100 3 case 0xfe:
101 3 {
102 4 SBUF=str[pointer_1];
103 4 pointer_1++;
104 4 if(pointer_1>=16)
105 4 pointer_1=0;
106 4 break;
107 4 }
108 3 case 0xef:
109 3 {
110 4 SBUF=str[pointer_2];
111 4 pointer_2++;
112 4 if(pointer_2>=16)
113 4 pointer_2=0;
114 4 break;
115 4 }
116 3 default: break;
117 3 }
C51 COMPILER V7.07 T 03/10/2008 19:25:16 PAGE 3
118 2 flag=1;
119 2 }
120 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 217 ----
CONSTANT SIZE = 17 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 3 ----
IDATA SIZE = ---- ----
BIT SIZE = 2 ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -