?? client2.lst
字號:
C51 COMPILER V8.05a CLIENT2 12/26/2008 10:36:17 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE CLIENT2
OBJECT MODULE PLACED IN Client2.OBJ
COMPILER INVOKED BY: C:\Program Files\keil\C51\BIN\C51.EXE Client2.c DEBUG OBJECTEXTEND
line level source
1 //***********從機2代碼*******8
2
3 #include <reg51.h>
4 #include "Clicent_Setting.h"
5 #include "Funtion_T.h"
6 extern char DS18B20_Data[2];
7
8 char TTemp;
9 int num=0;
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
25 1 TR1=1;
26 1 ES=1;
27 1 }
28
29 //************
30 void Interrupt_Init(void) //中斷初始化
31 {
32 1 EA=1;
33 1 EX0=1;
34 1
35 1 }
36
37 //*************
38 void interrupt4(void) interrupt 4 using 2 //串口中斷觸發
39 {
40 1 EA=0;
41 1 if(TI)
42 1 TI=0;
43 1 if(RI)
44 1 {
45 2 RI=0;
46 2 if(SBUF==STD2) //0x8f) //如果接收到主機的地址碼
47 2 {
48 3 SBUF=Address_Respond2; //發送地址響應碼
49 3 while(!TI); //必須
50 3 TI=0;
51 3 SCON=0xd0; //并且把SCON中的SM2置0,允許響應數據中斷
52 3 }
53 2
54 2 if(SBUF==Clicent_Command2) //如果接收到主機的啟動的命令
55 2 {
C51 COMPILER V8.05a CLIENT2 12/26/2008 10:36:17 PAGE 2
56 3 SBUF=Command_Respond2; //發送響應碼返回給主機
57 3 while(!TI); //必須
58 3 TI=0;
59 3
60 3 }
61 2
62 2 if(SBUF==Clicent_Data_Command2) //如果接受到主機的發送轉化結果的命令
63 2 {
64 3 SBUF=Data_Command_Respond2;//發送響應碼
65 3 while(!TI); //必須
66 3 TI=0;
67 3 }
68 2
69 2 if(SBUF==Clicent_Receive_Data2)
70 2 {
71 3 SBUF=Data_Receive_Respone2;
72 3 while(!TI); //必須
73 3 TI=0;
74 3
75 3 while(!RI); //接收數據 測試
76 3 RI=0;
77 3 TTemp=SBUF;
78 3 P1=TTemp;
79 3
80 3 SCON=0xf0;
81 3
82 3 }
83 2 if(SBUF==Clicent_Send_Data2) //發送數據
84 2 {
85 3 SBUF=DS18B20_Data[0];
86 3 while(!TI);
87 3 TI=0;
88 3 SBUF=DS18B20_Data[1];
89 3 while(!TI);
90 3 TI=0;
91 3
92 3 SCON=0xf0;
93 3 }
94 2
95 2 }
96 1 EA=1;
97 1 }
98
99 //***************
100 void DS18B20_Run(void)
101 {
102 1 DS18B20_Read_Temperature();
103 1 }
104 //***************/
105 void main(void)
106 {
107 1 P1=0;
108 1 Interrupt_Init();
109 1 Serial_Init();
110 1
111 1 while(1)
112 1 {
113 2 delay_50ms(); //延時50ms左右讀一次溫度,讀得太多會出現亂數
114 2 DS18B20_Run(); //啟動DS18B20
115 2 delay_50ms(); //延時50ms左右讀一次溫度,讀得太多會出現亂數
116 2 }
117 1 }
C51 COMPILER V8.05a CLIENT2 12/26/2008 10:36:17 PAGE 3
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 322 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 8 ----
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 + -