91精品一区二区三区久久久久久_欧美一级特黄大片色_欧美一区二区人人喊爽_精品一区二区三区av

位置:51電子網 » 技術資料 » 其它綜合

基于I2C總線的MSP430單片機應用系統設計

發布時間:2007/8/29 0:00:00 訪問次數:676

引言


串行護展總線技術是新一代單片機技術發展的一個顯著特點。其中PHILIPS公司推出的I2C總線最為著名,它包括一個兩端接口,通過一個帶有緩沖區的接口,數據可以被I2C發送或接收,控制和狀態信息則通過一套內存映射寄存器來傳送。與并行擴展總線相比,串行擴展總線有突出的優點:電路結構簡單,程序編寫方便,易于實現用戶系統軟硬件的模塊化、標準化等。本文是把I2C總線應用到MSP430單片機溫度控制系統中的一個典型實例。

I2C總線是用2根雙向I/O信號線(串行時鐘線SCL和串行數據線SDA)把多種器件連接起來,并實現器件之間的串行通訊。

MSP430是TI公司一種具有超低功耗的功能強大的16位單片機,MSP430F169是該系列中的一種型號。它內部集成2個16位定時器,1個高速12位A/D轉換器,12位或8位的雙重D/A轉換器,2個通用同步/異步通訊接口和1個I2C模塊。我們就是利用其I2C模塊來對MSP430F169單片機進行擴展。

系統硬件設計

該系統實現對曲軸的熱處理進行溫度控制。曲軸的熱處理工藝為:曲軸放入淬火加熱爐以350℃~400℃/h加熱,到910℃~930℃保溫1.5h,淬火冷卻至室溫,進爐550℃?600℃回火2.5h。因此,系統需要同時對淬火爐和回火爐進行溫度控制。在此系統中,我們需要分別設計鍵盤模塊和LED顯示模塊,通過鍵盤實現溫度、PID參數、時間周期等參數的人工輸入設定,通過LED分別實時顯示淬火爐和回火爐的溫度。在以往的單片機應用系統中,鍵盤接口和LED顯示接口一般是通過并行總線擴展的,其特點是信息傳送速度快,但占用的口線多,電路復雜。有了I2C BUS后,可通過I2C BUS進行系統擴展,這時只要用SCL和SDA兩根信號線就可將單片機與外圍器件連接起來,使占用的信號線少,電路大大簡化,系統電路結構如圖1所示。




圖1 系統硬件電路圖

圖中鍵盤接口是通過PCF8574擴展的,PCF8574是8位I/O擴展器,具有8位準雙向口和I2C總線接口,每位都可單獨設為輸入或輸出,功耗低,輸出有鎖存,驅動能力強,還具有中斷請求功能。本方案中,該芯片作為4×4矩陣式鍵盤與單片機接口,初始化后,P0-P3為輸出低電平,P4-P7為輸入,平時單片機執行其它程序,當有任一鍵按下時,該芯片在INT端產生中斷請求信號,CPU響應中斷進入中斷服務程序。

在該芯片中,A2-A0為地址引腳,由引腳電平確定,在該系統中A0接高電平,A1、A2接地;P0-P7為準雙向口;INT為中斷請求輸出,低電平有效,需要注意的是該端應通過上拉電阻上拉。當單片機主節點對PCF8574進行一個字節的寫操作時,即實現了I/O口的數據輸出。I2C總線發送到PCF8574中的串行數據,在應答位后出現在I/O端口上,I2C總線不斷送數,I/O上的數據不斷更迭。當單片機主節點對PCF8574讀操作時,即可實現I/O端口數據的輸入,讀入的數據存放在接收緩沖區MRD中。當PCF8574輸入端電平狀態改變時,中斷請求輸出端INT出現低電平,中斷輸出有效,在對其讀寫操作后,中斷請求復位。I2C總線對PCF8574 I/O口的輸入操作是一個字節的讀出操作,該系統中PCF8574的SLAW/SLAR為42H/43H。

圖中SAA1064為4位帶小數點的七段LED顯示器驅動電路,該器件可靜態驅動2位LED、動態驅動4位LED,只有一個地址引腳ADR,但可選擇4種電平狀態。SAA1064中有動態驅動控制電路,不須外部動態驅動管理。在該芯片中,ADR為地址引腳端,4個模擬電平狀態對應4個引腳地址;CEXT為時鐘振蕩器外接電容,典型值為2.7nF;P1-P16為段驅動輸出端口,口鎖存器置1時,端口狀態為低電平;MX1、MX2為動態顯示方式下,公共段驅動輸出端,外部應用驅動晶體管。SAA1064的器件地址是0111,地址引腳只有一個,即ADR,引腳地址A2、A1、A0采取ADR模擬電平的比較編址,ADR引腳電平為0、3/8VDD、5/8VDD 、VDD時,相應引腳地址A2、A1、A0為000、001、010、011。


在該系統中,兩片SAA1064的ADR一個接地,一個接VDD,按圖中接法,左邊SAA1064的SLAW/SLAR為70H / 71H,右邊SAA1064的SLAW/SLAR為76H/77H。應用動態驅動方式在兩片SAA1064上分別接3個LED,都采用P1-P8口動態驅動兩位LED顯示,P9-P16口單獨驅動一位LED顯示。SAA1064中有5個寄存器單元,分別為1個控制寄存器和4個顯示寄存器,地址單元00H的裝載內容為控制命令COM,地址單元01H、02H、03H、04H的裝載內容分別為顯示段碼1、顯示段碼2、顯示段碼3、顯示段碼4,在本系統中,只用到前3個顯示段碼。單片機可從芯片中讀出狀態字節,該狀態字節只用到最高位PR。PR=1表示從上次讀狀態后出現過掉電和加電,讀狀態字節后,PR清“0”。單片機也可向芯片寫入地址字節、指令字節、控制字節和數據字節,指令字節(00000SC SB SA)中的SC、SB、SA規定指令字節后的數據字節從哪個單元開始寫入,以后地址自動增量。  


系統軟件設計     


MSP430F169中的I2C控制器是通用串行同步/異步USART外圍模塊中的一部

引言


串行護展總線技術是新一代單片機技術發展的一個顯著特點。其中PHILIPS公司推出的I2C總線最為著名,它包括一個兩端接口,通過一個帶有緩沖區的接口,數據可以被I2C發送或接收,控制和狀態信息則通過一套內存映射寄存器來傳送。與并行擴展總線相比,串行擴展總線有突出的優點:電路結構簡單,程序編寫方便,易于實現用戶系統軟硬件的模塊化、標準化等。本文是把I2C總線應用到MSP430單片機溫度控制系統中的一個典型實例。

I2C總線是用2根雙向I/O信號線(串行時鐘線SCL和串行數據線SDA)把多種器件連接起來,并實現器件之間的串行通訊。

MSP430是TI公司一種具有超低功耗的功能強大的16位單片機,MSP430F169是該系列中的一種型號。它內部集成2個16位定時器,1個高速12位A/D轉換器,12位或8位的雙重D/A轉換器,2個通用同步/異步通訊接口和1個I2C模塊。我們就是利用其I2C模塊來對MSP430F169單片機進行擴展。

系統硬件設計

該系統實現對曲軸的熱處理進行溫度控制。曲軸的熱處理工藝為:曲軸放入淬火加熱爐以350℃~400℃/h加熱,到910℃~930℃保溫1.5h,淬火冷卻至室溫,進爐550℃?600℃回火2.5h。因此,系統需要同時對淬火爐和回火爐進行溫度控制。在此系統中,我們需要分別設計鍵盤模塊和LED顯示模塊,通過鍵盤實現溫度、PID參數、時間周期等參數的人工輸入設定,通過LED分別實時顯示淬火爐和回火爐的溫度。在以往的單片機應用系統中,鍵盤接口和LED顯示接口一般是通過并行總線擴展的,其特點是信息傳送速度快,但占用的口線多,電路復雜。有了I2C BUS后,可通過I2C BUS進行系統擴展,這時只要用SCL和SDA兩根信號線就可將單片機與外圍器件連接起來,使占用的信號線少,電路大大簡化,系統電路結構如圖1所示。




圖1 系統硬件電路圖

圖中鍵盤接口是通過PCF8574擴展的,PCF8574是8位I/O擴展器,具有8位準雙向口和I2C總線接口,每位都可單獨設為輸入或輸出,功耗低,輸出有鎖存,驅動能力強,還具有中斷請求功能。本方案中,該芯片作為4×4矩陣式鍵盤與單片機接口,初始化后,P0-P3為輸出低電平,P4-P7為輸入,平時單片機執行其它程序,當有任一鍵按下時,該芯片在INT端產生中斷請求信號,CPU響應中斷進入中斷服務程序。

在該芯片中,A2-A0為地址引腳,由引腳電平確定,在該系統中A0接高電平,A1、A2接地;P0-P7為準雙向口;INT為中斷請求輸出,低電平有效,需要注意的是該端應通過上拉電阻上拉。當單片機主節點對PCF8574進行一個字節的寫操作時,即實現了I/O口的數據輸出。I2C總線發送到PCF8574中的串行數據,在應答位后出現在I/O端口上,I2C總線不斷送數,I/O上的數據不斷更迭。當單片機主節點對PCF8574讀操作時,即可實現I/O端口數據的輸入,讀入的數據存放在接收緩沖區MRD中。當PCF8574輸入端電平狀態改變時,中斷請求輸出端INT出現低電平,中斷輸出有效,在對其讀寫操作后,中斷請求復位。I2C總線對PCF8574 I/O口的輸入操作是一個字節的讀出操作,該系統中PCF8574的SLAW/SLAR為42H/43H。

圖中SAA1064為4位帶小數點的七段LED顯示器驅動電路,該器件可靜態驅動2位LED、動態驅動4位LED,只有一個地址引腳ADR,但可選擇4種電平狀態。SAA1064中有動態驅動控制電路,不須外部動態驅動管理。在該芯片中,ADR為地址引腳端,4個模擬電平狀態對應4個引腳地址;CEXT為時鐘振蕩器外接電容,典型值為2.7nF;P1-P16為段驅動輸出端口,口鎖存器置1時,端口狀態為低電平;MX1、MX2為動態顯示方式下,公共段驅動輸出端,外部應用驅動晶體管。SAA1064的器件地址是0111,地址引腳只有一個,即ADR,引腳地址A2、A1、A0采取ADR模擬電平的比較編址,ADR引腳電平為0、3/8VDD、5/8VDD 、VDD時,相應引腳地址A2、A1、A0為000、001、010、011。


在該系統中,兩片SAA1064的ADR一個接地,一個接VDD,按圖中接法,左邊SAA1064的SLAW/SLAR為70H / 71H,右邊SAA1064的SLAW/SLAR為76H/77H。應用動態驅動方式在兩片SAA1064上分別接3個LED,都采用P1-P8口動態驅動兩位LED顯示,P9-P16口單獨驅動一位LED顯示。SAA1064中有5個寄存器單元,分別為1個控制寄存器和4個顯示寄存器,地址單元00H的裝載內容為控制命令COM,地址單元01H、02H、03H、04H的裝載內容分別為顯示段碼1、顯示段碼2、顯示段碼3、顯示段碼4,在本系統中,只用到前3個顯示段碼。單片機可從芯片中讀出狀態字節,該狀態字節只用到最高位PR。PR=1表示從上次讀狀態后出現過掉電和加電,讀狀態字節后,PR清“0”。單片機也可向芯片寫入地址字節、指令字節、控制字節和數據字節,指令字節(00000SC SB SA)中的SC、SB、SA規定指令字節后的數據字節從哪個單元開始寫入,以后地址自動增量。  


系統軟件設計     


MSP430F169中的I2C控制器是通用串行同步/異步USART外圍模塊中的一部

相關IC型號

熱門點擊

 

推薦技術資料

羅盤誤差及補償
    造成羅盤誤差的主要因素有傳感器誤差、其他磁材料干擾等。... [詳細]
版權所有:51dzw.COM
深圳服務熱線:13751165337  13692101218
粵ICP備09112631號-6(miitbeian.gov.cn)
公網安備44030402000607
深圳市碧威特網絡技術有限公司
付款方式


 復制成功!
普格县| 荃湾区| 舞阳县| 商丘市| 寿宁县| 湘西| 密云县| 汉寿县| 儋州市| 香港| 尉氏县| 潞西市| 华池县| 揭西县| 弋阳县| 拉孜县| 内丘县| 肥东县| 苍梧县| 永福县| 德江县| 洛隆县| 葵青区| 洪泽县| 柳林县| 邢台县| 灵石县| 乌什县| 拉孜县| 获嘉县| 安新县| 新乐市| 甘孜县| 宝丰县| 同仁县| 霍邱县| 巴马| 隆安县| 丹东市| 六枝特区| 阜阳市|