170 likes | 1.14k Views
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. PIN Descriptions.
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