📄 client.lst
字号:
C51 COMPILER V8.16 CLIENT 03/21/2009 23:04:30 PAGE 1
C51 COMPILER V8.16, COMPILATION OF MODULE CLIENT
OBJECT MODULE PLACED IN Client.OBJ
COMPILER INVOKED BY: E:\Program Files\设计软件\Keil\C51\BIN\C51.EXE Client.c DEBUG OBJECTEXTEND
line level source
1 //***********从机1代码*******8
2
3 #include <reg51.h>
4 #include "Funtion_T.h"
5 #include "Clicent_Setting.h"
6
7 char TTemp;
8 int ss=2;
9 int num=1;
10 void delay_50ms()
11 {
12 1 int s=5000;
13 1 while(--s);
14 1 }
15 //************
16 void Serial_Init(void) //串口初始化
17 {
18 1 //SCON=0xf0;
19 1 SCON = 0x50; // 设定串行口工作方式
20 1 PCON =0x80; // 波特率倍增 SMOD=1
21 1 TMOD=0x20;
22 1 TH1 = 0xf3; // 6MHZ 波特率2400
23 1 TL1 = 0xf3;
24 1 TR1=1;
25 1 ES=1;
26 1 }
27
28 //************
29 void Interrupt_Init(void) //中断初始化
30 {
31 1 EA=1;
32 1 EX0=1;
33 1
34 1 }
35
36 //*************
37 void interrupt4(void) interrupt 4 using 2 //串口中断触发
38 {
39 1 EA=0;
40 1 if(TI)
41 1 TI=0;
42 1 if(RI)
43 1 {
44 2 RI=0;
45 2 if(SBUF==STD1) //如果接收到主机的地址码
46 2 {
47 3 SBUF=Address_Respond1; //发送地址响应码
48 3 while(!TI); //必须
49 3 TI=0;
50 3 SCON=0xd0; //并且把SCON中的SM2置0,允许响应数据中断
51 3 }
52 2
53 2 if(SBUF==Clicent_Command1) //如果接收到主机的启动的命令
54 2 {
55 3 SBUF=Command_Respond1; //发送响应码返回给主机
C51 COMPILER V8.16 CLIENT 03/21/2009 23:04:30 PAGE 2
56 3 while(!TI); //必须
57 3 TI=0;
58 3 }
59 2
60 2 if(SBUF==Clicent_Data_Command1) //如果接受到主机的发送转化结果的命令
61 2 {
62 3 SBUF=Data_Command_Respond1;//发送响应码
63 3 while(!TI); //必须
64 3 TI=0;
65 3 }
66 2 if(SBUF==Clicent_Receive_Data1)
67 2 {
68 3 SBUF=Data_Receive_Respone1;
69 3 while(!TI); //必须
70 3 TI=0;
71 3
72 3 while(!RI); //接收数据 测试
73 3 RI=0;
74 3 TTemp=SBUF;
75 3 P1=TTemp;
76 3
77 3 SCON=0xf0; //并且把SCON中的SM2置1
78 3
79 3 }
80 2 if(SBUF==Clicent_Send_Data1) //发送数据
81 2 {
82 3
83 3 SBUF=DS18B20_Data[0]; //发送温度数据
84 3 while(!TI);
85 3 TI=0;
86 3 SBUF=DS18B20_Data[1];
87 3 while(!TI);
88 3 TI=0;
89 3 SCON=0xf0;
90 3 }
91 2
92 2 }
93 1 EA=1;
94 1 }
95
96 //***************
97 void DS18B20_Run(void)
98 {
99 1 DS18B20_Read_Temperature();
100 1 }
101 //***************/
102 void main(void)
103 {
104 1
105 1 P1=0;
106 1 Interrupt_Init();
107 1 Serial_Init();
108 1
109 1 while(1)
110 1 {
111 2 delay_50ms(); //延时50ms左右读一次温度,读得太多太快可能会出现乱数
112 2 DS18B20_Run();
113 2 delay_50ms(); //延时50ms左右读一次温度,读得太多太快可能会出现乱数
114 2 }
115 1 }
C51 COMPILER V8.16 CLIENT 03/21/2009 23:04:30 PAGE 3
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 322 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 10 ----
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 + -