MCU按其存儲器類型可分為無片內ROM型和帶片內ROM型兩種。對于無片內ROM型的芯片,必須外接EPROM才能應用(典型芯片為8031)。帶片內ROM型的芯片又分為片內EPROM型(典型芯片為87C51)、MASK片內掩模ROM型(典型芯片為8051)、片內FLASH型(典型芯片為89C51)等類型,一些公司還推出帶有片內一次性可編程ROM(One Time Programming, OTP)的芯片(典型芯片為97C51)。MASKROM的MCU價格便宜,但程序在出廠時已經固化,適合程序固定不變的應用場合;FLASH ROM的MCU程序可以反復擦寫,靈活性很強,但價格較高,適合對價格不敏感的應用場合或做開發(fā)用途;OTPROM的MCU價格介于前兩者之間,同時又擁有一次性可編程能力,適合既要求一定靈活性,又要求低成本的應用場合,尤其是功能不斷翻新、需要迅速量產的電子產品。
MCU同溫度傳感器之間通過I2C總線連接。I2C總線占用2條MCU輸入輸出口線,二者之間的通信依靠軟件完成。溫度傳感器的地址可以通過2根地址引腳設定,這使得一根I2C總線上可以同時連接8個這樣的傳感器。本方案中,傳感器的7位地址已經設定為1001000。MCU需要訪問傳感器時,先要發(fā)出一個8位的寄存器指針,然后再發(fā)出傳感器的地址(7位地址,低位是WR信號)。傳感器中有3個寄存器可供MCU使用,8位寄存器指針就是用來確定MCU究竟要使用哪個寄存器的。本方案中,主程序會不新傳感器的配置寄存器,這會使傳感器工作于單步模式,每更新一次就會測量一次溫度。
MCU讀取傳感器的測量值后,接下來就要進行換算并將結果顯示在LCD上。整個處理過程包括:判斷顯示結果的正負號,進行二進制碼到BCD碼的轉換,將數(shù)據(jù)傳到LCD的相關寄存器中。
為了讀出傳感器測量值寄存器中的16位數(shù)據(jù),MCU必須與傳感器進行兩次8位數(shù)據(jù)通信。當傳感器上電工作時,默認的測量精度為9位,分辨力為 C/LSB(量程為- C至 C)。本方案采用默認測量精度,根據(jù)需要,可以重新設置傳感器,將測量精度提高到12位。如果只要求作一般的溫度指示,比如自動調溫器,那么分辨力達到1 C就可以滿足要求了。這種情況下,傳感器的低8位數(shù)據(jù)可以忽略,只用高8位數(shù)據(jù)就可以達到分辨力1 C的設計要求。由于讀取寄存器時是按先高8位后低8位的順序,所以低8位數(shù)據(jù)既可以讀,也可以不讀。只讀取高8位數(shù)據(jù)的好處有二,是可以縮短MCU和傳感器的工作時間,降低功耗;第二是不影響分辨力指標。
要讀取傳感器測量值寄存器的內容,MCU必須首先發(fā)送傳感器地址和寄存器指針。MCU發(fā)出一個啟動信號,接著發(fā)出傳感器地址,然后將RD/WR管腳設為高電平,就可以讀取測量值寄存器。
客戶的滿意是公司的立足之本,是公司的追求,深圳市卓瑪電子科技有限公司歡迎新老客戶來人洽談業(yè)務。
















所有評論僅代表網友意見,與本站立場無關。