📄 zj.lst
字号:
C51 COMPILER V8.01 ZJ 03/21/2010 22:52:51 PAGE 1
C51 COMPILER V8.01, COMPILATION OF MODULE ZJ
OBJECT MODULE PLACED IN zj.OBJ
COMPILER INVOKED BY: D:\学习软件\keil\C51\BIN\C51.EXE zj.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include<reg51.h>
2 #define uchar unsigned char
3
4 sbit RE=P3^4; // 控制487接收,发送控制端
5 uchar code display_table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40,0x77,0x7c};
6 uchar temperature[4];
7
8
9 void delay(uchar a);
10 void judge_button();
11 void display();
12 void cj(uchar a);
13
14
15 void main()
16 {
17 1 TMOD=0x20; //定时计数器1设置为模式2
18 1 TL1=0XFD; //波特率设置
19 1 TH1=0XFD;
20 1 PCON=0X00;
21 1 TR1=1;
22 1 SCON=0xd8; //工作在方式3,允许通信,TB8=1;
23 1 P1=0xff;
24 1 RE=1; //487准备发送数据
25 1
26 1 while(1)
27 1 {
28 2 judge_button();
29 2 display();
30 2
31 2 }
32 1
33 1
34 1 }
35
36 void delay(uchar a)
37 {
38 1 uchar i;
39 1 for(;a>0;a--)
40 1 for(i=100;i>0;i--);
41 1
42 1 }
43
44
45 void judge_button()
46 {
47 1 if(P1!=0xff) //判断是否有按钮按下
48 1 {
49 2 delay(10);
50 2
51 2 switch(P1)
52 2 {
53 3 case 0xfe: cj(1); break; // 寻址从机1,并接受从机数据
54 3 case 0xfd: cj(2); break; // 寻址从机2,并接受从机数据
55 3 }
C51 COMPILER V8.01 ZJ 03/21/2010 22:52:51 PAGE 2
56 2
57 2 P1=0XFF;
58 2 }
59 1
60 1
61 1 }
62
63
64 void display()
65 {
66 1
67 1 P2=0XFF; // 显示从机的代号
68 1 P0=display_table[temperature[0]];
69 1 P2=0xfe;
70 1 delay(1);
71 1
72 1 P2=0XFF; // 显示温度
73 1 P0=display_table[temperature[1]];
74 1 P2=0xfd;
75 1 delay(1);
76 1
77 1 P2=0XFF;
78 1 P0=display_table[temperature[2]];
79 1 P2=0xfb;
80 1 delay(1);
81 1
82 1 P2=0XFF;
83 1 P0=display_table[temperature[3]]+0x80;
84 1 P2=0xf7;
85 1 delay(1);
86 1
87 1 }
88
89
90 void cj(uchar a)
91 {
92 1 uchar i;
93 1
94 1 SBUF=a;
95 1 while(TI!=1);
96 1 TI=0;
97 1 delay(10);
98 1
99 1 RE=0; //准备接受数据
100 1 delay(5);
101 1 TB8=0;
102 1
103 1 while(RI!=1);
104 1 RI=0;
105 1 delay(10);
106 1
107 1 if(SBUF==a)
108 1 {
109 2 delay(10);
110 2
111 2 for(i=0;i<4;i++)
112 2 {
113 3 while(RI!=1);
114 3 temperature[i]=SBUF;
115 3 RI=0;
116 3 delay(10);
117 3 }
C51 COMPILER V8.01 ZJ 03/21/2010 22:52:51 PAGE 3
118 2
119 2 }
120 1
121 1 RE=1; //准备下一次发送数据
122 1 TB8=1;
123 1
124 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 216 ----
CONSTANT SIZE = 13 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 4 ----
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 + -