單片機(jī)按應(yīng)用范圍又可分成通用型和型。型是針對(duì)某種特定產(chǎn)品而設(shè)計(jì)的,例如用于的單片機(jī)、用于洗衣機(jī)的單片機(jī)等等。在通用型的單片機(jī)中,又可按字長(zhǎng)分為4位、8位、16/32位,雖然計(jì)算機(jī)的微處理器現(xiàn)在幾乎是32/64位的天下,8位、16位的微處理器已趨于,但單片機(jī)情況卻不同,8位單片機(jī)成本低,價(jià)格廉,便于開發(fā),其性能能滿足大部分的需要,只有在航天、汽車、機(jī)器人等高技術(shù)領(lǐng)域,需要高速處理大量數(shù)據(jù)時(shí),才需要選用16/32位,而在一般工業(yè)領(lǐng)域,8位通用型單片機(jī),仍然是目前應(yīng)用廣的單片機(jī)。
為了讀出傳感器測(cè)量值寄存器中的16位數(shù)據(jù),MCU必須與傳感器進(jìn)行兩次8位數(shù)據(jù)通信。當(dāng)傳感器上電工作時(shí),默認(rèn)的測(cè)量精度為9位,分辨力為 C/LSB(量程為- C至 C)。本方案采用默認(rèn)測(cè)量精度,根據(jù)需要,可以重新設(shè)置傳感器,將測(cè)量精度提高到12位。如果只要求作一般的溫度指示,比如自動(dòng)調(diào)溫器,那么分辨力達(dá)到1 C就可以滿足要求了。這種情況下,傳感器的低8位數(shù)據(jù)可以忽略,只用高8位數(shù)據(jù)就可以達(dá)到分辨力1 C的設(shè)計(jì)要求。由于讀取寄存器時(shí)是按先高8位后低8位的順序,所以低8位數(shù)據(jù)既可以讀,也可以不讀。只讀取高8位數(shù)據(jù)的好處有二,是可以縮短MCU和傳感器的工作時(shí)間,降低功耗;第二是不影響分辨力指標(biāo)。
要讀取傳感器測(cè)量值寄存器的內(nèi)容,MCU必須首先發(fā)送傳感器地址和寄存器指針。MCU發(fā)出一個(gè)啟動(dòng)信號(hào),接著發(fā)出傳感器地址,然后將RD/WR管腳設(shè)為高電平,就可以讀取測(cè)量值寄存器。
MCU讀取傳感器的測(cè)量值后,接下來(lái)就要進(jìn)行換算并將結(jié)果顯示在LCD上。整個(gè)處理過(guò)程包括:判斷顯示結(jié)果的正負(fù)號(hào),進(jìn)行二進(jìn)制碼到BCD碼的轉(zhuǎn)換,將數(shù)據(jù)傳到LCD的相關(guān)寄存器中。
MCU同溫度傳感器之間通過(guò)I2C總線連接。I2C總線占用2條MCU輸入輸出口線,二者之間的通信依靠軟件完成。溫度傳感器的地址可以通過(guò)2根地址引腳設(shè)定,這使得一根I2C總線上可以同時(shí)連接8個(gè)這樣的傳感器。本方案中,傳感器的7位地址已經(jīng)設(shè)定為1001000。MCU需要訪問(wèn)傳感器時(shí),先要發(fā)出一個(gè)8位的寄存器指針,然后再發(fā)出傳感器的地址(7位地址,低位是WR信號(hào))。傳感器中有3個(gè)寄存器可供MCU使用,8位寄存器指針就是用來(lái)確定MCU究竟要使用哪個(gè)寄存器的。本方案中,主程序會(huì)不新傳感器的配置寄存器,這會(huì)使傳感器工作于單步模式,每更新一次就會(huì)測(cè)量一次溫度。
深圳市卓瑪電子科技有限公司“想客戶之所想,急客戶之所急"既是我們對(duì)廣大客戶的承若也是我們的宗旨,我們將與時(shí)代同步,銳意進(jìn)取,我們將竭誠(chéng)以優(yōu)良的服務(wù)回報(bào)廣大客戶對(duì)我們的信賴和支持。






所有評(píng)論僅代表網(wǎng)友意見,與本站立場(chǎng)無(wú)關(guān)。