基于MSP430單片機的智能溫度檢測系統(tǒng)設(shè)計
MSP430系列是一種具有集成度高、功能豐富、功耗低等技術(shù)特點的16位單片機, 它采用c語言完成程序設(shè)計, 大大提高了開發(fā)調(diào)試的工作效率; 同時用c語言所產(chǎn)生的文檔資料也容易理解, 便于移植。
3. 1 下位機編程
系統(tǒng)程序設(shè)計包括主程序, 復(fù)位子程序, 報警和分辨率設(shè)置子程序, 溫度轉(zhuǎn)換子程序, 讀溫度子程序, 計算溫度和顯示溫度子程序等等。MSP430F149對DS18B20的訪問流程是: 先對DS18B20初始化,再進行ROM 操作命令, 最后才能對存儲器RAM 操作。程序流程圖如圖4 所示。下面就簡要介紹MSP430系列單片機C 語言的幾個主要子程序。
圖4 程序流程圖
3. 1. 1 復(fù)位子程序
該程序的主要功能是負(fù)責(zé)DS18B20的復(fù)位, 以方便進行以后的操作。復(fù)位要求主CPU 將數(shù)據(jù)線下拉500微秒, 然后釋放, DS18B20收到信號后等待16~ 60微秒左右, 后發(fā)出60 ~ 240微秒的存在低脈沖, 主CPU 收到此信號表示復(fù)位成功。
bit ResetDS18B20( )
{ unsigned char ;i
bit flag;
DS18B20= 0:
for( i= 0; i 200; i+ + ) ; / /保持低電平500微秒
DS18B20= 1:
for( i= O; i 30; i+ + ) ; / /等60微秒
flag= DS18B20; / /取DS18B20狀態(tài)
for( i= 0; i 100; i+ + ) ; / /等300微秒
return flag; / / flag= 0復(fù)位成功, flag= 1, 復(fù)位不成功
}
評論