基于PWM模式輸出的溫度傳感器的測溫系統
與其它單片機不同,PIC單片機的RB4-RB7端口具有輸入電平變化中斷功能,當RB4-RB7任意一個(gè)引腳上的輸入電平發(fā)生變化(由高變低或由低變高)時(shí),都可以引起CPU中斷,執行中斷處理程序。因此,可以將TMP04的輸出信號輸入RB4,當輸入RB4的信號發(fā)生跳變時(shí),利用RB4的電平變換中斷調用中斷處理程序分別對信號高低電平的脈寬進(jìn)行測量,從而間接算出信號的占空比,最終得到TMP04輸出的溫度信息。程序流程圖如圖5所示。

3.3 由外部中斷INT實(shí)現
由外部中斷INT實(shí)現與由RB端口電平變化中斷實(shí)現的設計方案類(lèi)似,都是由單片機響應電平變化產(chǎn)生中斷,再通過(guò)中斷服務(wù)程序計算高低脈寬,從而得到TMP04輸出信號的占空比和所攜帶的溫度信息。所以由外部中斷INT實(shí)現和由RB端口電平變化中斷實(shí)現程序類(lèi)似,只是將中斷源改為INT0(INT1,INT2均可)中斷,使能INT0中斷使能位INT0IE,判斷INT0中斷標志位INT0IF,由于INT0輸入為RB0引腳,上例中設RB0為輸入,并由INTEDG0判斷高低電平即可,注意要啟動(dòng)RB口的弱上拉功能,其總體的程序流程程圖類(lèi)似圖5。
4 實(shí)驗數據對比
利用簡(jiǎn)單的電路及以上軟件程序在室溫為24.1℃時(shí),筆者用三種方法測量溫度,為了得到更好的精度,每種分別設計了泄編和C評議二種測溫程序,其結果與平均值如表1所示。
表1 測試結果與平均值

5 結束語(yǔ)
由于測量脈寬是由定時(shí)器在高電平(低電平)期間計數實(shí)現的,所以單片機的指令周期將直接影響到測量的精度,指令周期越短精度越高。但是如果指令周期短而晶振頻率高,將會(huì )引入高頻干擾,所以晶振要根據系統實(shí)現情況選取。此外還要注意PIC單片機定時(shí)器預分頻比的設定,應在保證測量傳感器信號脈寬進(jìn)不會(huì )發(fā)生溢出的情況下使分頻比最小,這樣有利于提高測量精度。
pwm相關(guān)文章:pwm原理
評論