170 likes | 1.23k Views
Learn about the Dallas Semiconductor DS18B20 sensor, its circuit diagram, data format, and memory map. Get insight into the transaction sequence, commands, and code for temperature reading and user data management.
E N D
Temperature Sensor Team Members: Jiaxiong Chen Yi Lu Changpeng Ti EE587 Apr. 17, 2009
Features Dallas Semiconductor DS18B20 Unique 1-Wire interface Digital temperature output Measures temperatures from -55C to +125C Power supply range is 3.0V to 5.5V
Transaction Sequence Initialization Skip ROM Command (CCh) Function Command (followed by data exchange)
Code: ReadTemperature() void ReadTemperature() { unsigned char a,b; Init(); Skip_ROM(); Convert_T(); Init(); Skip_ROM(); Read_Scratchpad(); [a,b] = Recv_2_chars(); LT = Lower 4 digits of a; HT = Lower 4 digits of b + Higher 4 digits of a; }
Code: WriteUser() void WriteUser(unsigned char x,y) { unsigned char a,b,c,d; Init(); Skip_ROM(); Write_Scratchpad(); write(x); write(y); Init(); Skip_ROM(); Copy_Scratchpad(); }
Code: ReadUser() void ReadUser() { unsigned char a,b,c,d; Init(); Skip_ROM(); Recall_E2(); Init(); Skip_ROM(); Read_Scratchpad(); [a,b,c,d] = Recv_4_chars(); U1 = c; U2 = d; }
Validation Result: Code: WriteUser(80, -40); Run time: 13ms ReadUser(); Run time: 9ms ReadTemperature(); Run time: 8ms