MCU同溫度傳感器之間通過I2C總線連接。I2C總線占用2條MCU輸入輸出口線,二者之間的通信完全依靠軟件完成。溫度傳感器的地址可以通過2根地址引腳設定,這使得一根I2C總線上可以同時連接8個這樣的傳感器。本方案中,傳感器的7位地址已經(jīng)設定為1001000。MCU需要訪問傳感器時,先要發(fā)出一個8位的寄存器指針,然后再發(fā)出傳感器的地址(7位地址,低位是WR信號)。傳感器中有3個寄存器可供MCU使用,8位寄存器指針就是用來確定MCU究竟要使用哪個寄存器的。本方案中,主程序會不斷更新傳感器的配置寄存器,這會使傳感器工作于單步模式,每更新一次就會測量一次溫度。要讀取傳感器測量值寄存器的內容,MCU必須首先發(fā)送傳感器地址和寄存器指針。MCU發(fā)出一個啟動信號,接著發(fā)出傳感器地址,然后將RD/WR管腳設為高電平,就可以讀取測量值寄存器。
為了讀出傳感器測量值寄存器中的16位數(shù)據(jù),MCU必須與傳感器進行兩次8位數(shù)據(jù)通信。當傳感器上電工作時,默認的測量精度為9位,分辨力為0.5 C/LSB(量程為-128.5 C至128.5 C)。本方案采用默認測量精度,根據(jù)需要,可以重新設置傳感器,將測量精度提高到12位。如果只要求作一般的溫度指示,比如自動調溫器,那么分辨力達到1 C就可以滿足要求了。這種情況下,傳感器的低8位數(shù)據(jù)可以忽略,只用高8位數(shù)據(jù)就可以達到分辨力1 C的設計要求。由于讀取寄存器時是按先高8位后低8位的順序,所以低8位數(shù)據(jù)既可以讀,也可以不讀。只讀取高8位數(shù)據(jù)的好處有二,第一是可以縮短MCU和傳感器的工作時間,降低功耗;第二是不影響分辨力指標。MCU讀取傳感器的測量值后,接下來就要進行換算并將結果顯示在LCD上。整個處理過程包括:判斷顯示結果的正負號,進行二進制碼到BCD碼的轉換,將數(shù)據(jù)傳到LCD的相關寄存器中。數(shù)據(jù)處理完畢并顯示結果之后,MCU會向傳感器發(fā)出一個單步指令。單步指令會讓傳感器啟動一次溫度測試,然后自動進入等待模式,直到模數(shù)轉換完畢。MCU發(fā)出單步指令后,就進入LPM3模式,這時MCU系統(tǒng)時鐘繼續(xù)工作,產(chǎn)生定時中斷喚醒CPU。定時的長短可以通過編程調整,以便適應具體應用的需要。
在20世紀最值得人們稱道的成就中,就有集成電路和電子計算機的發(fā)展。20世紀70年代出現(xiàn)的微型計算機,在科學技術界引起了影響深遠的變革。在70年代中期,微型計算機家族中又分裂出一個小小的派系--單片機。隨著4位單片機出現(xiàn)之后,又推出了8位的單片機。MCS48系列,特別是MCS51系列單片機的出現(xiàn),確立了單片機作為微控制器(MCU)的地位,引起了微型計算機領域新的變革。在當今世界上,微處理器(MPU)和微控制器(MCU)形成了各具特色的兩個分支。它們互相區(qū)別,但又互相融合、互相促進。與微處理器(MPU)以運算性能和速度為特征的飛速發(fā)展不同,微控制器(MCU)則是以其控制功能的不斷完善為發(fā)展標志的。CPU(Central Processing Unit,中央處理器)發(fā)展出來三個分枝,一個是DSP(Digital Signal Processing/Processor,數(shù)字信號處理),另外兩個是MCU(Micro Control Unit,微控制器單元)和MPU(Micro Processor Unit,微處理器單元)。MCU集成了片上外圍器件;MPU不帶外圍器件(例如存儲器陣列),是高度集成的通用結構的處理器,是去除了集成外設的MCU;DSP運算能力強,擅長很多的重復數(shù)據(jù)運算,而MCU則適合不同信息源的多種數(shù)據(jù)的處理診斷和運算,側重于控制,速度并不如DSP。MCU區(qū)別于DSP的最大特點在于它的通用性,反應在指令集和尋址模式中。DSP與MCU的結合是DSC,它終將取代這兩種芯片。