溫度傳感器MAX6662的應用研究
溫度寄存器存儲12位的轉換數據和1位溫度符號位,能確定的溫度范圍為一55~+155℃,數據傳送格式如表3所列。
2 應用電路設計
2.1 硬件電路設計
MAX6662傳感器與MCS一51系列單片機AT89S52的硬件接口電路如圖3所示。
MAX6662的S10、SCLK、CS腳分別與AT89S52的P1.0、P1.1、P1.2腳連接,用于模擬三線(xiàn)SPI總線(xiàn),以實(shí)現傳感器串行數據的傳輸。報警端口OT和ALERT均為漏極開(kāi)路端,使用時(shí)需要接上拉電阻,因此均經(jīng)過(guò)10 kΩ的電阻接地;同時(shí)分別連接AT89S52的P3.3和P3.2腳,用于觸發(fā)外部中斷,實(shí)現報警操作。MAX6662的VCC腳經(jīng)0.1μF的電容接地,用于濾除干擾。
2.2 傳感器數據的讀取
每次有效的數據傳輸只能使用24個(gè)時(shí)鐘周期,數據的讀取分為2步(讀取前應首先置CS為低):
①前8個(gè)周期,單片機向傳感器發(fā)送讀取寄存器命令,可以讀取傳感器所有寄存器的值。此時(shí)為單片機向傳感器串行發(fā)送數據,數據在時(shí)鐘的上升沿送入傳感器。
②后16個(gè)周期,傳感器將寄存器的值串行送入數據線(xiàn)SIO,由單片機接收。此時(shí)為單片機接收傳感器的串行數據,數據在時(shí)鐘的下降沿送入單片機。即由MAX6662來(lái)控制SIO,數據的傳輸開(kāi)始于第8個(gè)時(shí)鐘周期的下降沿。
數據讀取程序如下:
程序運行結束后,傳感器送到單片機中的值就會(huì )存入變量dat中,以便后面的數據處理使用。
2.3 傳感器數據的寫(xiě)入
向MAX6662傳感器中寫(xiě)數據的功能主要是用于配置傳感器或是規定報警溫度值,每次寫(xiě)入也必須是24個(gè)時(shí)鐘周期。數據的寫(xiě)入也分為2步:
①前8個(gè)周期完成的操作與數據的讀取相同,命令字各位在時(shí)鐘的上升沿送入傳感器。
②后16個(gè)周期,主機控制SIO數據線(xiàn)將要寫(xiě)入的數據一位一位地送入數據線(xiàn)SIO。與讀取數據不同的是,數據的寫(xiě)入開(kāi)始于第9個(gè)時(shí)鐘周期的上升沿,因為主機發(fā)送數據時(shí),數據在上升沿時(shí)送入傳感器。
寫(xiě)命令的函數與數據讀取相同,數據寫(xiě)入程序如下:
初始化時(shí),應首先把數據賦值給wdata,再調用此函數。
結 語(yǔ)
本文提出了用單片機3根I/O口線(xiàn)模擬溫度傳感器MAX6662的SPI總線(xiàn)的方法。經(jīng)實(shí)驗驗證,完全可行,并且由于MAX6662用于溫度測量時(shí)具有高精度和附加報警功能,因而在需要精確溫度控制和溫度測量等方面也會(huì )有廣泛的應用。
評論