溫度傳感器DSl8B20在Proteus中的仿真
2.2 讀溫度主要使用的命令
讀溫度主要使用的命令如表1所列。本文引用地址:http://www.ex-cimer.com/article/162859.htm
3 測溫的實(shí)現(xiàn)及在PrOteus中的仿真
3.1 測溫的實(shí)現(xiàn)
整個(gè)讀取溫度步驟具體如下:
若還要讀其他芯片的溫度,則從②~⑤開始循環(huán)。其中,reset()為調(diào)用初始化子程序;send_com()為機(jī)向從機(jī)發(fā)送1字節(jié)的子程序;send_num()為主機(jī)向從機(jī)發(fā)送64位器件序列號(hào)的子程序;delay()為延時(shí)子程序;check()為主機(jī)判斷所有從機(jī)的溫度是否全部讀取完畢的子程序。
3.2 Proteus仿真
在Proteus中使用多個(gè)DSl8B20時(shí),必須改變器件的屬性,使仿真中每個(gè)器件的序列號(hào)各不相同。具體作法是:右擊DSl8B20,選中Edit Properties選項(xiàng),在其中改變ROM Serial Numbet的值;還可改變Granularity的數(shù)值,即改變每次調(diào)整溫度的額度。在Proteus中,可以人為改變3個(gè)字節(jié)的器件序列號(hào)。要想得到全部8個(gè)字節(jié),一個(gè)簡單的方法就是每一次總線上只連接一個(gè)器件,利用Ox33讀器件序列號(hào)的命令在程序中得到完整的器件序列號(hào)。具體的程序如下所示:
評(píng)論