📄 hehe.lst
字号:
151 1 write_byte(TH);
152 1 write_byte(TL);
153 1 write_byte(confgReg);
154 1
155 1 }
156
157
158 /*void read_ROMID(void) // 总线上只有一个DS18B20时,主机读出它的64位ROM代码
159 {
160 uchar i;
161 write_byte(0x33); // 启动读ROM
162 for(i=0;i<8;i++)
163 {
164 ROMID[0][i]=read_byte();
165 }
166 }*/
167
168
169 main()
170 {
171 1
172 1 uchar k,th,tl,defaulth,defaultl,confi;
173 1 unit t=0;
174 1
175 1 float result;
176 1 P1=0x7f;
177 1 DQ=0;
178 1 initial();
179 1 TR1=1;
C51 COMPILER V7.50 HEHE 01/10/2006 11:16:02 PAGE 4
180 1
181 1
182 1 while(1)
183 1 {
184 2
185 2 bus_reset(); // 如果总线上没有DS18B20,就等待
186 2 write_byte(0xCC);
187 2 write_scratchPad(); // 先匹配传感器,再写入TH、TL、配置寄存器
188 2
189 2 // bus_reset(); // 复位
190 2 send_matchRom(); // 匹配第0个传感器
191 2 write_byte(0x44); // 启动转换
192 2 while(!read_bit()); // DQ 为低电平,等待,DQ为高表示转换结束
193 2
194 2 bus_reset();
195 2 write_byte(0xCC);
196 2 write_byte(0xBE); // 读取温度值,scratchPad的前两个字节就是温度
197 2 tl=read_byte();
198 2 th=read_byte();
199 2 defaulth=read_byte();
200 2 defaultl=read_byte();
201 2 confi=read_byte();
202 2 tl&=0xfc; // 精度是10位,因此最低两位无效,屏蔽掉
203 2 t=th;
204 2 t<<=8;
205 2 t|=tl;
206 2 result=t*0.0625;
207 2 k=(uchar)result;
208 2
209 2 LED=!LED; // 发光二极管亮,提示发出一个数据
210 2 SBUF=th;
211 2 while(TI==0);
212 2 TI=0;
213 2
214 2 SBUF=tl;
215 2 while(TI==0);
216 2 TI=0;
217 2 delay_1s();
218 2 SBUF=defaulth;
219 2 while(TI==0);
220 2 TI=0;
221 2
222 2 SBUF=defaultl;
223 2 while(TI==0);
224 2 TI=0;
225 2 delay_1s();
226 2
227 2 }
228 1 }
229
230
231
232
233
234
235
C51 COMPILER V7.50 HEHE 01/10/2006 11:16:02 PAGE 5
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
P1 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0090H 1
P3 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B0H 1
scratchPad . . . . . . . . . . . . . . PUBLIC DATA ARRAY 0000H 9
IE . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00A8H 1
write_scratchPad . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
DQ . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0097H 1
delay_1s . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
i. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
j. . . . . . . . . . . . . . . . . . * REG * DATA U_INT 0004H 2
IP . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B8H 1
TH . . . . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 0009H 1
TI . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0099H 1
TL . . . . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 000AH 1
_write_byte. . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
val. . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0001H 1
i. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0002H 1
temp . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0003H 1
main . . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
k. . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0000H 1
th . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0001H 1
tl . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0002H 1
defaulth . . . . . . . . . . . . . . AUTO DATA U_CHAR 0003H 1
defaultl . . . . . . . . . . . . . . AUTO DATA U_CHAR 0004H 1
confi. . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0005H 1
t. . . . . . . . . . . . . . . . . . AUTO DATA U_INT 0006H 2
result . . . . . . . . . . . . . . . * REG * DATA FLOAT 0004H 4
_write_bit . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
bitval . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
confgReg . . . . . . . . . . . . . . . PUBLIC DATA U_CHAR 000BH 1
SBUF . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0099H 1
PCON . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0087H 1
SCON . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0098H 1
read_byte. . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
i. . . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0002H 1
value. . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0003H 1
TMOD . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0089H 1
TCON . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 0088H 1
read_bit . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
send_matchRom. . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
i. . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0000H 1
TH1. . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 008DH 1
TL1. . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 008BH 1
bus_reset. . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
presence . . . . . . . . . . . . . . AUTO DATA BIT 0000H 1
LED. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0096H 1
TR1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008EH 1
T2CON. . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00C8H 1
initial. . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
_delay . . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
time . . . . . . . . . . . . . . . . * REG * DATA INT 0006H 2
i. . . . . . . . . . . . . . . . . . * REG * DATA INT 0004H 2
PSW. . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00D0H 1
ROMID. . . . . . . . . . . . . . . . . PUBLIC DATA ARRAY 000CH 8
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 412 ----
CONSTANT SIZE = ---- ----
C51 COMPILER V7.50 HEHE 01/10/2006 11:16:02 PAGE 6
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 20 9
IDATA SIZE = ---- ----
BIT SIZE = ---- 1
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -