日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]這是一段利用單片機(jī)IO口作的溫控程序,感溫元件是NTC。功能是當(dāng)溫度低過某值時(shí)開始加熱,隨著溫度上升;當(dāng)高到某值時(shí)停止加熱,然后開始冷卻,不斷重復(fù)。使用時(shí)要注意RC常數(shù),常數(shù)過大會造成16位計(jì)數(shù)溢出,得不到正確

這是一段利用單片機(jī)IO口作的溫控程序,感溫元件是NTC。功能是當(dāng)溫度低過某值時(shí)開始加熱,隨著溫度上升;當(dāng)高到某值時(shí)停止加熱,然后開始冷卻,不斷重復(fù)。使用時(shí)要注意RC常數(shù),常數(shù)過大會造成16位計(jì)數(shù)溢出,得不到正確結(jié)果。程序是作產(chǎn)品前的一個(gè)試驗(yàn)程序,當(dāng)時(shí)調(diào)試已通過,能作到±0.5℃。


;******************************************************
;filename: IOTestNTC.asm
;mcu: MDT2005EP
;clock: 4 MHz for EXTXT
;date: 2006/03/17
;writer: aLin
;******************************************************



;計(jì)算被測量電阻。只做比較,不作計(jì)算。
;計(jì)算公式:Rx = Rf * (Tx/Tf)
;Rx為被測電阻
;Rf為已知電阻,Rf=10K
;Tx為被測電阻對電容C放電的計(jì)數(shù)值,為16位數(shù)
;Tf為被測電阻對電容C放電的計(jì)數(shù)值,為16位數(shù)
;查溫度特性表(NTC型號為:CWF2-473F-3950K,大亞科技制造):
;下限溫度5攝氏度時(shí)電阻為121545.44歐,即121.54544K
;換算為:Tx/Tf=Rx/Rf=12.154544
;擴(kuò)大1000倍后結(jié)果為:12154.544,約為12155,即2F76H
;上限溫度8攝氏度時(shí)電阻為104712.92歐,即104.71292K
;換算為:Tx/Tf=Rx/Rf=10.471292
;擴(kuò)大1000倍后結(jié)果為:10471.292,約為10471,即28E7H



;-------------------------------------------------------------------

listp=pic16c54
#i nclude"p16c5x.inc"


;定義I/O口
#definevtportb,0
#definerfportb,1
#definerxportb,2
#defineonportb,4
#defineoffportb,4
#definef0user,0



;RAM 分配
CNTEQU10H;計(jì)數(shù)器


SOU1EQU11H;四字節(jié)被除數(shù)最低位和16位商的低8位
SOU2EQU12H;被除數(shù)和16位商高8位
SOU3EQU13H;被除數(shù)和16位余數(shù)的低8位
SOU4EQU14H;四字節(jié)被除數(shù)最高位和16位余數(shù)的高8位
USEREQU15H;用戶標(biāo)記位


SOUEQU16H;被數(shù)低8位和積(四字節(jié)積的最低位)和RX電阻計(jì)數(shù)器低8位
SOUHEQU17H;被乘數(shù)高8位和積和RX電阻計(jì)數(shù)器高8位
RLTEQU18H;乘數(shù)低8位和積
RLTHEQU19H;乘數(shù)高8位和積(四字節(jié)積的最高位)


TEMP1EQU1AH;臨時(shí)寄存器1-4
TEMP2EQU1BH
TEMP3EQU1CH
TEMP4EQU1DH


RFCNTLEQU1EH;RF電阻計(jì)數(shù)器低8位
RFCNTHEQU1FH;RF電阻計(jì)數(shù)器高8位
;---------------------------------

ORG0000h


startbcffsr,6;選擇bank0
bcffsr,5
movlwb'11101111';RB4定義為輸出,其余輸入,PortB4為一直輸出
tris06h
;---------------------------------------------------
;停止加熱處理程序
;等待溫度降到5攝氏度以下是,重新加熱,跳到加熱處理程序
;
;負(fù)溫度系電阻,阻值越大,溫度越低
;用5攝氏度時(shí)對應(yīng)的電阻減去測出的電阻,為負(fù)數(shù),表明實(shí)際溫度已低過5攝氏度
;需加熱處理
;
HOT_DOWNbcfoff;停止加熱
;calld1s;延時(shí)1秒
callio_rm;調(diào)用測量電阻程序
callDUMUL;調(diào)用16位無符號乖法程序
callDUDIV;調(diào)用32位除以16位無符號除法程序

;比較商大小
;0E10 對應(yīng)36K電阻,溫度是31度

MOVLW2FH
MOVWFTEMP1
MOVFSOU2,W
SUBWFTEMP1,W;商高8位先減
BTFSSSTATUS,C;檢查是否有借位,有借位時(shí)C=0
GOTOHOT_UP;有借位,被減數(shù)小于減數(shù),跳到加熱程序
BTFSSSTATUS,Z;無借位,查相減結(jié)果是否為0
GOTOHOT_DOWN;結(jié)果不為0,則被減數(shù)大于減數(shù),跳到停止加熱程序

MOVLW76H;商高8位相等,商低8位相減
MOVWFTEMP1
MOVFSOU1,W
SUBWFTEMP1,W
BTFSSSTATUS,C
GOTOHOT_UP
BTFSSSTATUS,Z
GOTOHOT_DOWN

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉