基于PWM模式輸出的溫度傳感器的測溫系統(tǒng)
與其它單片機(jī)不同,PIC單片機(jī)的RB4-RB7端口具有輸入電平變化中斷功能,當(dāng)RB4-RB7任意一個(gè)引腳上的輸入電平發(fā)生變化(由高變低或由低變高)時(shí),都可以引起CPU中斷,執(zhí)行中斷處理程序。因此,可以將TMP04的輸出信號輸入RB4,當(dāng)輸入RB4的信號發(fā)生跳變時(shí),利用RB4的電平變換中斷調(diào)用中斷處理程序分別對信號高低電平的脈寬進(jìn)行測量,從而間接算出信號的占空比,最終得到TMP04輸出的溫度信息。程序流程圖如圖5所示。
3.3 由外部中斷INT實(shí)現(xiàn)
由外部中斷INT實(shí)現(xiàn)與由RB端口電平變化中斷實(shí)現(xiàn)的設(shè)計(jì)方案類似,都是由單片機(jī)響應(yīng)電平變化產(chǎn)生中斷,再通過中斷服務(wù)程序計(jì)算高低脈寬,從而得到TMP04輸出信號的占空比和所攜帶的溫度信息。所以由外部中斷INT實(shí)現(xiàn)和由RB端口電平變化中斷實(shí)現(xiàn)程序類似,只是將中斷源改為INT0(INT1,INT2均可)中斷,使能INT0中斷使能位INT0IE,判斷INT0中斷標(biāo)志位INT0IF,由于INT0輸入為RB0引腳,上例中設(shè)RB0為輸入,并由INTEDG0判斷高低電平即可,注意要啟動(dòng)RB口的弱上拉功能,其總體的程序流程程圖類似圖5。
4 實(shí)驗(yàn)數(shù)據(jù)對比
利用簡單的電路及以上軟件程序在室溫為24.1℃時(shí),筆者用三種方法測量溫度,為了得到更好的精度,每種分別設(shè)計(jì)了泄編和C評議二種測溫程序,其結(jié)果與平均值如表1所示。
表1 測試結(jié)果與平均值
5 結(jié)束語
由于測量脈寬是由定時(shí)器在高電平(低電平)期間計(jì)數(shù)實(shí)現(xiàn)的,所以單片機(jī)的指令周期將直接影響到測量的精度,指令周期越短精度越高。但是如果指令周期短而晶振頻率高,將會(huì)引入高頻干擾,所以晶振要根據(jù)系統(tǒng)實(shí)現(xiàn)情況選取。此外還要注意PIC單片機(jī)定時(shí)器預(yù)分頻比的設(shè)定,應(yīng)在保證測量傳感器信號脈寬進(jìn)不會(huì)發(fā)生溢出的情況下使分頻比最小,這樣有利于提高測量精度。
pwm相關(guān)文章:pwm原理
評論