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