105 lines
3.4 KiB
Plaintext
105 lines
3.4 KiB
Plaintext
C51 COMPILER V9.60.7.0 ONEWIRE 03/10/2025 18:03:54 PAGE 1
|
||
|
||
|
||
C51 COMPILER V9.60.7.0, COMPILATION OF MODULE ONEWIRE
|
||
OBJECT MODULE PLACED IN .\Objects\onewire.obj
|
||
COMPILER INVOKED BY: D:\Keil_v5\C51\BIN\C51.EXE ..\driver\onewire.c OPTIMIZE(8,SPEED) BROWSE INCDIR(..\driver;..\user) D
|
||
-EBUG OBJECTEXTEND PRINT(.\Listings\onewire.lst) TABS(2) OBJECT(.\Objects\onewire.obj)
|
||
|
||
line level source
|
||
|
||
1 /* # 蜊墓サ郤ソ莉」遐∫援谿オ隸エ譏<EFBDB4>
|
||
2 1. 譛ャ譁<EFBDAC>サカ螟ケ荳ュ謠蝉セ帷噪鬩ア蜉ィ莉」遐∽セ帛盾襍幃画焔螳梧<E89EB3>遞句コ剰ョセ隶。蜿り<E3828A><EFBFBD>
|
||
3 2.
|
||
4 蜿りオ幃画焔蜿ッ莉・閾ェ陦檎シ門<EFBDBC>逶ク蜈ウ莉」遐∵<E98190>莉・隸・莉」遐∽クコ蝓コ遑<E98191>梧<EFBFBD>ケ謐ョ謇騾牙黒迚<E9BB92>惻邀サ蝙九∬ソ占
|
||
-。碁溷コヲ蜥瑚ッ暮「<E69AAE>
|
||
5 荳ュ蟇ケ蜊慕援譛コ譌カ髓滄「醍紫逧<E7B4AB>ヲ∵アゑシ瑚ソ幄。御サ」遐∬ー<E288AC>ッ募柱菫ョ謾ケ縲<EFBDB9>
|
||
6 */
|
||
7 #include "onewire.h"
|
||
8 sbit DQ = P1 ^ 4;
|
||
9 //
|
||
10 void Delay_OneWire(unsigned int t) {
|
||
11 1 unsigned char i;
|
||
12 1 while (t--) {
|
||
13 2 for (i = 0; i < 12; i++);
|
||
14 2 }
|
||
15 1 }
|
||
16
|
||
17 //
|
||
18 void Write_DS18B20(unsigned char dat) {
|
||
19 1 unsigned char i;
|
||
20 1 for (i = 0; i < 8; i++) {
|
||
21 2 DQ = 0;
|
||
22 2 DQ = dat & 0x01;
|
||
23 2 Delay_OneWire(5);
|
||
24 2 DQ = 1;
|
||
25 2 dat >>= 1;
|
||
26 2 }
|
||
27 1 Delay_OneWire(5);
|
||
28 1 }
|
||
29
|
||
30 //
|
||
31 unsigned char Read_DS18B20(void) {
|
||
32 1 unsigned char i;
|
||
33 1 unsigned char dat;
|
||
34 1
|
||
35 1 for (i = 0; i < 8; i++) {
|
||
36 2 DQ = 0;
|
||
37 2 dat >>= 1;
|
||
38 2 DQ = 1;
|
||
39 2 if (DQ) {
|
||
40 3 dat |= 0x80;
|
||
41 3 }
|
||
42 2 Delay_OneWire(5);
|
||
43 2 }
|
||
44 1 return dat;
|
||
45 1 }
|
||
46
|
||
47 //
|
||
48 bit init_ds18b20(void) {
|
||
49 1 bit initflag = 0;
|
||
50 1
|
||
51 1 DQ = 1;
|
||
52 1 Delay_OneWire(12);
|
||
53 1 DQ = 0;
|
||
C51 COMPILER V9.60.7.0 ONEWIRE 03/10/2025 18:03:54 PAGE 2
|
||
|
||
54 1 Delay_OneWire(80);
|
||
55 1 DQ = 1;
|
||
56 1 Delay_OneWire(10);
|
||
57 1 initflag = DQ;
|
||
58 1 Delay_OneWire(5);
|
||
59 1
|
||
60 1 return initflag;
|
||
61 1 }
|
||
62
|
||
63 float rd_temperature() {
|
||
64 1 unsigned char low, high;
|
||
65 1 init_ds18b20();
|
||
66 1 Write_DS18B20(0xcc);
|
||
67 1 Write_DS18B20(0x44);
|
||
68 1
|
||
69 1 Delay_OneWire(200);
|
||
70 1
|
||
71 1 init_ds18b20();
|
||
72 1 Write_DS18B20(0xcc);
|
||
73 1 Write_DS18B20(0xbe);
|
||
74 1 low = Read_DS18B20();
|
||
75 1 high = Read_DS18B20();
|
||
76 1 return (float)(high << 8 | low) * 0.0625;
|
||
77 1 }
|
||
|
||
|
||
MODULE INFORMATION: STATIC OVERLAYABLE
|
||
CODE SIZE = 180 ----
|
||
CONSTANT SIZE = ---- ----
|
||
XDATA SIZE = ---- ----
|
||
PDATA SIZE = ---- ----
|
||
DATA SIZE = ---- ----
|
||
IDATA SIZE = ---- ----
|
||
BIT SIZE = ---- 1
|
||
END OF MODULE INFORMATION.
|
||
|
||
|
||
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
|