![快熱式家用電熱水器 課程設(shè)計(jì)報(bào)告書_第1頁](http://file4.renrendoc.com/view/d9ab918b477868ca720c8372e4e470c4/d9ab918b477868ca720c8372e4e470c41.gif)
![快熱式家用電熱水器 課程設(shè)計(jì)報(bào)告書_第2頁](http://file4.renrendoc.com/view/d9ab918b477868ca720c8372e4e470c4/d9ab918b477868ca720c8372e4e470c42.gif)
![快熱式家用電熱水器 課程設(shè)計(jì)報(bào)告書_第3頁](http://file4.renrendoc.com/view/d9ab918b477868ca720c8372e4e470c4/d9ab918b477868ca720c8372e4e470c43.gif)
![快熱式家用電熱水器 課程設(shè)計(jì)報(bào)告書_第4頁](http://file4.renrendoc.com/view/d9ab918b477868ca720c8372e4e470c4/d9ab918b477868ca720c8372e4e470c44.gif)
![快熱式家用電熱水器 課程設(shè)計(jì)報(bào)告書_第5頁](http://file4.renrendoc.com/view/d9ab918b477868ca720c8372e4e470c4/d9ab918b477868ca720c8372e4e470c45.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
./1引言現(xiàn)在熱水器大部分都是快熱式熱水器,它給我們的生活帶來了極大的便利,這使是它走進(jìn)千家萬戶成為必然目前燃?xì)馐綗崴饕驗(yàn)樗陌踩[患和越來越高的成本正在逐漸退出熱水器市場。而太陽能熱水器雖然環(huán)保無污染,但它壽誕天氣。氣候及安裝條件的嚴(yán)格限制。很難占據(jù)更大的市場份額。目前主流的貯水式電熱水器,體積龐大、預(yù)熱時(shí)間長、熱水儲(chǔ)量有限,已經(jīng)不適合現(xiàn)代生活的節(jié)奏。于是,快熱式熱水器小巧時(shí)尚的外觀,安全可靠的性能讓它有著廣泛的發(fā)展和應(yīng)用前景。普通電熱水器有以下幾個(gè)缺點(diǎn):首先,因?yàn)殡姛崴鏖L期通電,保持60度以上的高溫,發(fā)熱管容易結(jié)垢,膽容易漏水,比較容易損壞。我們學(xué)校的電熱水器經(jīng)常因?yàn)榻Y(jié)垢堵塞出水口水流越來越小,給師生的飲水帶來不便;其次,管道及水箱本身熱量損耗大,等候熱水所用時(shí)間較長;再次,在熱水流出前都必須浪費(fèi)一定量的冷水,根據(jù)管道的長短,這樣既不環(huán)保,又不經(jīng)濟(jì)。而快熱式熱水器克服了上述缺點(diǎn)。它安全、干凈、環(huán)保、即開即熱。3—5秒出熱水,無需等候,熱水使用時(shí)間不受限制。2系統(tǒng)總體方案功能要求用2位數(shù)碼管顯示出水溫度,能顯示設(shè)定功率檔位。溫度檢測顯示圍00~99℃,精確度±1設(shè)置3個(gè)功率檔位指示燈,1~4檔一個(gè)燈亮,5~8檔兩個(gè)燈亮,9檔3個(gè)燈全亮。0檔無功率輸出,檔位燈不亮。設(shè)置3個(gè)輕觸按鈕,分別為電源開關(guān)鍵、"+"鍵和"-"鍵。加熱功率分0~9檔,按"+"鍵依次遞增至9檔,按"-"鍵依次遞減至0。0-9檔功率依次為0、1/9P、2/9P、3/9P、4/9P、5/9P、6/9P、7/9P、8/9P、P。出水溫度超過65℃時(shí)停止加熱,并蜂鳴報(bào)警,溫度降到45膽溫度超過105℃方案論證按快熱式電熱水器的功能要求,決定采用如圖2.1所示的模塊組成系統(tǒng),即電源電路、單片機(jī)控制器、溫度檢測電路、按鍵輸入電路、LED數(shù)碼管及指示燈電路、報(bào)警電路和加熱控制電路。圖2.1快熱式電熱水器系統(tǒng)組成框圖快熱式電熱水器為了達(dá)到"快熱"的效果,取消了儲(chǔ)水罐,使冷水在在進(jìn)入加熱管后立即被加熱,這就要求加熱管有較大的功率,家用電熱水器一般采用方便可靠的電熱絲加熱方法。根據(jù)熱學(xué)及流體力學(xué)原理結(jié)合實(shí)際實(shí)驗(yàn)室測試,可以得到水溫與流量、加熱功率之間的關(guān)系如表2.1。表2.1中所列水溫值和流量值可以滿足大多數(shù)家庭用戶使用要求,當(dāng)最大的加熱功率為7.5KW時(shí),按220V供電計(jì)算電流約為34A,所以要求專線供電。表2.1水溫與流量、加熱功率的關(guān)系2升/分鐘2.5升/分鐘3升/分鐘3.5升/分鐘4升/分鐘4.5KW47423634325.5KW54484138356.5KW62544642387.5KW7060514641注:進(jìn)水溫度15℃對(duì)于加熱功率的控制,最簡單的方法是由若干不同功率的電熱絲組合得到幾種加熱功率,但由于快熱式熱水器的加熱功率較普通的大,且檔位設(shè)置較多,用電熱絲組合的方法需要幾組電熱絲和繼電器,成本增高且工作可靠性降低,所以比較理想的是采用可控硅控制功率,電路簡單又控制方便。溫度檢測的方法較多,最經(jīng)典的方法就是用熱敏電阻〔或熱敏傳感器組成電橋來采集信號(hào),再經(jīng)放大、AD轉(zhuǎn)換后送單片機(jī)。目前比較先進(jìn)的方法是采用專門的集成測溫傳感器〔如DS18B20,直接將溫度轉(zhuǎn)換成數(shù)字信號(hào)傳送給單片機(jī)。為了簡化電路又降低成本,本文采用了溫度/頻率轉(zhuǎn)換測溫法,直接將溫度信息轉(zhuǎn)換成頻率信號(hào),用單片機(jī)測出頻率大小,從而間接測出溫度值,溫度/頻率轉(zhuǎn)換電路簡單可靠,成本低廉。3系統(tǒng)硬件電路的設(shè)計(jì)快熱式熱水器控制系統(tǒng)電路如圖3.1,由7個(gè)部分電路組成:單片機(jī)系統(tǒng)及外圍電路、電源電路、按鍵輸入電路、LED數(shù)碼管及指示燈電路、報(bào)警電路、加熱控制電路、溫度檢測電路??刂破鞑捎贸杀镜土夜ぷ骺煽康?9C51或其兼容系列的單片機(jī),采用12M的晶振。89C51對(duì)電源要求不甚嚴(yán)格,電源電路采用普通的市電降壓整流,然后經(jīng)集成穩(wěn)壓器〔7805穩(wěn)壓輸出+5V電壓。按鍵采用輕觸小按鈕。顯示電路采用兩位共陽數(shù)碼管,由2個(gè)三極管9012驅(qū)動(dòng),3個(gè)LED指示燈用于指示加熱功率。報(bào)警電路采用5V的自鳴式蜂鳴器。圖3.1快熱式家用電熱水器控制電路圖.加熱控制電路圖3.2為加熱控制電路原理圖,電熱絲的加熱功率由雙向可控硅來控制,單片機(jī)通過光耦給可控硅觸發(fā)信號(hào),控制可控硅的導(dǎo)通角,從而控制電熱絲的有效加熱功率。為了在關(guān)機(jī)和超溫保護(hù)的狀態(tài)下能可靠地關(guān)斷加熱電源,電路中設(shè)計(jì)了繼電器來控制加熱電源。其中串聯(lián)在繼電器線圈回路的熔絲為105℃的熱保險(xiǎn)絲,當(dāng)溫度超過105可控硅觸發(fā)信號(hào)中需要對(duì)市電進(jìn)行過零檢測,以實(shí)現(xiàn)觸發(fā)脈沖的相位延時(shí)。本電路中是利用三極管8050和一個(gè)非門實(shí)現(xiàn)過零檢測的,電路如圖3.3。圖3.2加熱控制電路圖圖3.3過零檢測電路圖溫度檢測電路溫度檢測電路組成如圖3.4所示,溫度/頻率變換電路是利用反相器組成的RC多諧振蕩器,其中的R24是一個(gè)熱敏電阻,當(dāng)溫度變化時(shí)引起熱敏電阻的阻值變化,從而改變了振蕩器輸出的方波頻率。該頻率的估算可用如下公式:式3.1圖3.4溫度檢測電路圖4系統(tǒng)軟件程序的設(shè)計(jì)按快熱式熱水器的功能,系統(tǒng)程序必需實(shí)現(xiàn)以下任務(wù):顯示掃描;按鍵掃描處理;加熱控制;溫度檢測〔包括超溫報(bào)警。51系列單片機(jī)實(shí)現(xiàn)多任務(wù)運(yùn)行的方法就是分時(shí)復(fù)用,在程序設(shè)計(jì)的時(shí)候要相應(yīng)地分配好各任務(wù)的CPU占用時(shí)間。對(duì)于以上幾個(gè)任務(wù)稍加分析可以看出,顯示掃描、按鍵掃描和加熱控制任務(wù)相對(duì)而言有實(shí)時(shí)要求,而溫度檢測任務(wù)則可用定時(shí)〔0.5~1s實(shí)現(xiàn)。主函數(shù)系統(tǒng)在上電復(fù)位后,先對(duì)溫度寄存器、檔位寄存器賦默認(rèn)值,并進(jìn)行清除超溫標(biāo)志,設(shè)置定時(shí)器及中斷系統(tǒng)的工作方式等初始化工作。由于51系列單片機(jī)沒有停機(jī)指令,我們可以利用主程序設(shè)置死循環(huán)反復(fù)運(yùn)行各個(gè)任務(wù)。我們把有實(shí)時(shí)要求的子程序〔顯示掃描、按鍵掃描、加熱控制放在最層的循環(huán)中,計(jì)算其運(yùn)行一次占用的CPU時(shí)間,然后根據(jù)溫度檢測定時(shí)的間隔時(shí)間,計(jì)算出該循環(huán)的循環(huán)次數(shù)。本例中每運(yùn)行一次有實(shí)時(shí)要求的子程序〔即顯示掃描、按鍵掃描、加熱控制約占用5msCPU時(shí)間,運(yùn)行測溫子程序的時(shí)間間隔為0.5s,那么循環(huán)次數(shù)應(yīng)為100次。圖4.1為主函數(shù)程序流程圖。顯示掃描子函數(shù)顯示子函數(shù)完成兩位共陽數(shù)碼管的掃描顯示任務(wù),圖4.2為顯示掃描子函數(shù)程序流程圖。圖4.1主函數(shù)程序流程圖圖4.2顯示掃描子函數(shù)程序流程圖按鍵掃描處理子函數(shù)按鍵掃描子函數(shù)負(fù)責(zé)逐個(gè)掃描檔位"+"鍵、檔位"-"鍵和開關(guān)鍵是否被按下,若有鍵被按下則作出相應(yīng)處理。圖4.3為按鍵掃描子函數(shù)程序流程圖。圖4.3按鍵掃描子函數(shù)程序流程圖加熱控制函數(shù)加熱控制程序根據(jù)用戶設(shè)定的加熱檔位和系統(tǒng)當(dāng)前的狀態(tài),來決定是否加熱和控制加熱的功率并點(diǎn)亮相應(yīng)的指示燈。如有超溫標(biāo)志還應(yīng)打開蜂鳴器報(bào)警。圖4.4為加熱控制函數(shù)程序流程圖。加熱控制程序通過控制繼電器的通斷來決定是否給電熱絲通電加熱,而加熱的功率大小則由雙向可控硅的導(dǎo)通角決定。系統(tǒng)程序利用外中斷INT1檢測市電的過零點(diǎn),檢測到過零點(diǎn)后,立即根據(jù)設(shè)定的加熱檔位給定時(shí)器T1賦一個(gè)延時(shí)參數(shù),并打開定時(shí)器T1,允許其中斷。當(dāng)定時(shí)器T1計(jì)滿溢出后觸發(fā)中斷,T1中斷程序就會(huì)給可控硅發(fā)一個(gè)觸發(fā)信號(hào),使其導(dǎo)通。圖12.10、12.11分別是過零檢測函數(shù)程序流程圖和可控硅觸發(fā)信號(hào)控制函數(shù)程序流程圖。圖4.4加熱控制函數(shù)程序流程圖圖4.5過零檢測函數(shù)程序流程圖圖4.6可控硅觸發(fā)信號(hào)控制程序流程圖圖4.7溫度檢測函數(shù)程序流程圖溫度檢測函數(shù)溫度檢測函數(shù)的基本原理就是將溫度/頻率轉(zhuǎn)換電路測得的頻率與事先建立好的溫度/頻率表進(jìn)行比較,查找出與該頻率相應(yīng)的溫度值。事先在實(shí)驗(yàn)測試后建立的溫度/頻率表是0~100℃溫度所對(duì)應(yīng)的頻率值,它是一個(gè)頻率對(duì)應(yīng)于溫度遞減的非線性函數(shù),我們在C語言中用一個(gè)一維數(shù)組Tab[101]來表示,下標(biāo)為溫度,數(shù)組元素為頻率值。計(jì)算溫度的方法采用高效準(zhǔn)確的二分法查表,查表的過程如下:①先給定查找的溫度的最大值Tmax和最小值Tmin,即確定查找的圍,我們根據(jù)已有的溫度表默認(rèn)最大值Tmax=100,最小值Tmin=0;②假定測得溫度Temp為最大值和最小值之中間值即Temp=<Tmax+Tmin>/2;③將實(shí)際測得的頻率值T0rig與假定溫度Temp在表格中對(duì)應(yīng)的頻率Tab[temp]相比較,如果相等,那么假定溫度就是當(dāng)前實(shí)際溫度,即完成查找;④如果T0rig>Tab[temp],說明實(shí)際溫度應(yīng)該在Tmin和Temp之間〔因?yàn)檫f減函數(shù)特性,所以修改查找圍令Tmax=Temp,同理如果T0rig<Tab[temp],說明實(shí)際溫度應(yīng)該在Temp和Tmax之間,則令Tmin=Temp;⑤檢查查找圍,如果Tmax-Tmin<=1,判斷T0rig更接近最大值對(duì)應(yīng)的頻率Tab[Tmax]還是最小值對(duì)應(yīng)的頻率Tab[Tmin],實(shí)際溫度值取頻率更接近的那個(gè)值即完成查找,⑥如果Tmax-Tmin>1,那么重復(fù)第②③④⑤溫度檢測程序完成溫度計(jì)算后便刷新系統(tǒng)當(dāng)前溫度寄存器,并判斷有無超溫、置位或清除相應(yīng)的標(biāo)志位。圖4.7為溫度檢測函數(shù)程序流程圖。單片機(jī)使用外中斷INT0和計(jì)時(shí)器T0檢測輸入的頻率大小,為了減少測量的系統(tǒng)誤差相對(duì)值和隨機(jī)誤差對(duì)測量精度的影響,程序中取100個(gè)方波周期的和作為測量結(jié)果。程序中使用靜態(tài)變量px0count進(jìn)行外中斷的計(jì)數(shù),在測量開始時(shí),我們給px0count賦值2是為了讓頻率測量有準(zhǔn)確的起點(diǎn)。另外,為了區(qū)分測頻的開始和結(jié)束,還使用了測頻開始標(biāo)志位T0tst和測頻完成標(biāo)志位Testok。圖4.8為頻率測試函數(shù)程序流程圖。圖4.8頻率測試函數(shù)程序流程圖5系統(tǒng)程序清單以下是快熱式電熱水器控制源程序清單,采用C51編寫,在KeiluVision2V2.30〔C51.exeV7.0環(huán)境下調(diào)試通過,并下載到AT89C51測試運(yùn)行成功。/*快熱式熱水器程序MCUAT89C51XAL12MHz*/#include<reg51.h>#include<intrins.h>#include<math.h>voiddelay<unsignedint>;//延時(shí)函數(shù)voiddisplay<void>;//顯示函數(shù)unsignedcharkeyscan<void>;//按鍵掃描處理函數(shù)voidheatctrl<void>;//加熱控制函數(shù)voidtemptest<void>;//測溫函數(shù)sbitswkey=P1^0;//開關(guān)鍵sbitupkey=P1^1;//加熱檔位"+"鍵sbitdownkey=P1^2;//加熱檔位"-"鍵sbitbuzz=P1^05;//蜂鳴器輸出端sbittriac=P1^6;//可控硅觸發(fā)信號(hào)輸出端sbitrelay=P1^7;//繼電器控制信號(hào)輸出端sbitled1=P2^5;//加熱檔位指示燈1sbitled2=P2^6;//加熱檔位指示燈2sbitled3=P2^7;//加熱檔位指示燈3signedchardatactemp;//當(dāng)前測得水溫寄存器unsignedchardatadispram[2]={0x10,0x10};//顯示區(qū)緩存unsignedchardataheatpower,px0count;//加熱檔位寄存器、外中斷0計(jì)數(shù)器bittempov,t0tst,testok;//超溫標(biāo)志、測溫開始標(biāo)志、測溫完成標(biāo)志/*主函數(shù)voidmain<void>無參數(shù),無返回值循環(huán)調(diào)用顯示、鍵掃描、溫度檢測、加熱控制函數(shù)*/voidmain<void>{unsignedchari,j;ctemp=15;//初始化水溫寄存器heatpower=5;//初始化加熱檔位為5檔tempov=0;//清除超溫標(biāo)志swkey=0;//默認(rèn)開關(guān)鍵被按下,進(jìn)入待機(jī)狀態(tài)TMOD=0x11;//設(shè)定T0和T1工作方式為16位定時(shí)器TCON=0x05;//設(shè)置外中斷0和1為下降沿觸發(fā)IP=0x01;//設(shè)置外中斷0優(yōu)先IE=0x80;//打開總中斷while<1>{i=1;do{for<j=0;j<100;j++>//循環(huán)100次約0.5s{if<keyscan<>>i=6;//如果有鍵按下,顯示當(dāng)前檔位3sdisplay<>;//調(diào)用顯示函數(shù)一次約4msheatctrl<>;//調(diào)用加熱控制函數(shù)}//endfor<b=0;b<100;b++>temptest<>;//每0.5s進(jìn)行一次測溫}while<--i>;//通過改變循環(huán)次數(shù)i的大小決定是否刷新顯示j=abs<ctemp>;//取溫度絕對(duì)值dispram[1]=j%10;//取個(gè)位數(shù)送顯示j/=10;//取十位數(shù)dispram[0]=j?j:0x11;//送顯示〔帶滅零}//endwhile<1>}/*延時(shí)函數(shù)voiddelay<unsignedintdt>參數(shù):dt,無返回值延時(shí)時(shí)間=dt*500機(jī)器周期*/voiddelay<unsignedintdt>{registerunsignedcharbt;//定義寄存器變量for<;dt;dt-->for<bt=250;--bt;>;//此句編譯時(shí)以"DJNZ"實(shí)現(xiàn),250*2=500機(jī)器周期}/*顯示函數(shù)voiddisplay<void>無參數(shù),無返回值兩位共陽數(shù)碼管掃描顯示*/voiddisplay<void>{unsignedcharcodetable[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,\0x88,0x83,0xc6,0xa1,0x86,0x8e,0xbf,0xff};unsignedchari,a;a=0xfe;//位選賦初值for<i=0;i<2;i++>//循環(huán)掃描兩位數(shù)碼管{P2|=0x1f;//清除位選P0=table[dispram[i]];//送顯示段碼P2&=a;//選通一位delay<4>;//延時(shí)2msa=_crol_<a,1>;//改變位選字P0=0xff;//消影}}/*按鍵掃描處理函數(shù)unsignedcharkeyscan<void>無參數(shù),返回值:無符號(hào)字符型,無鍵按下為0,有鍵按下為其它影響全局變量:heatpower*/unsignedcharkeyscan<void>{unsignedchari,ch;if<upkey==0>//"+"鍵{buzz=0;//打開蜂鳴器〔發(fā)出按鍵音for<i=0;i<5;i++>display<>;//延時(shí)消抖buzz=1;//關(guān)閉蜂鳴器if<heatpower<9>heatpower++;//檔位加一dispram[0]=0;dispram[1]=heatpower;//顯示當(dāng)前檔位while<upkey==0>display<>;//等待鍵釋放return<1>;//返回有鍵按下}elseif<downkey==0>//"-"鍵{buzz=0;//打開蜂鳴器〔發(fā)出按鍵音for<i=0;i<5;i++>display<>;//延時(shí)消抖buzz=1;//關(guān)閉蜂鳴器if<heatpower>0>heatpower--;//檔位減一dispram[0]=0;dispram[1]=heatpower;//顯示當(dāng)前檔位while<downkey==0>display<>;//等待鍵釋放return<2>;//返回有鍵按下}elseif<swkey==0>//開關(guān)鍵{buzz=0;//打開蜂鳴器〔發(fā)出按鍵音for<i=0;i<30;i++>display<>;//延時(shí)消抖buzz=1;//關(guān)閉蜂鳴器swkey=1;//置位開關(guān)鍵while<swkey==0>display<>;//等待鍵釋放ch=IE;//暫存中斷控制字IEIE=0x00;//禁止中斷P0=0xff;P1=0xff;P2=0xff;//清除端口輸出dispram[0]=0x10;dispram[1]=0x10;//顯示"--"display<>;while<1>{while<swkey>display<>;//等待開關(guān)鍵按下buzz=0;//打開蜂鳴器〔發(fā)出按鍵音for<i=0;i<10;i++>display<>;//延時(shí)消抖buzz=1;//關(guān)閉蜂鳴器if<swkey==0>break;//確認(rèn)開關(guān)鍵被按下}while<swkey==0>display<>;//等待鍵釋放IE=ch;//還原中斷控制字IEreturn<0>;//返回?zé)o鍵按下}elsereturn<0>;//無任何鍵按下時(shí)由此返回}/*加熱控制函數(shù)voidheatctrl<void>無參數(shù),無返回值判斷是否加熱、加熱功率及檔位指示燈處理*/voidheatctrl<void>{if<!tempov>//當(dāng)沒有超溫標(biāo)志時(shí){relay=0;//接通繼電器buzz=1;//關(guān)閉蜂鳴器switch<heatpower>//判斷加熱檔位{case0:{EX1=0;ET1=0;triac=1;led1=1;led2=1;led3=1;break;}//0檔不加熱,指示燈不亮case1:case2:case3:case4:{led1=0;led2=1;led3=1;EX1=1;break;}//1~4檔1號(hào)指示等亮case5:case6:case7:case8:{led1=0;led2=0;led3=1;EX1=1;break;}//5~8檔1號(hào)、2號(hào)指示燈亮case9:{EX1=0;ET1=0;led1=0;led2=0;led3=0;triac=0;break;}//9檔全功率,指示燈全亮}}else//當(dāng)有超溫標(biāo)志時(shí){relay=1;//斷開繼電器EX1=0;ET1=0;triac=1;//關(guān)閉可控硅buzz=0;//蜂鳴報(bào)警}}/*測溫函數(shù)voidtemptest<void>無參數(shù),無返回值,影響全局變量:ctemp,tempov測量并查表計(jì)算溫度,判斷是否超溫*/voidtemptest<void>{signedchartemp,tempmin,tempmax;unsignedintt0rig;unsignedintcodetemptab[]={0x6262,0x61eb,0x6171,0x60f7,0x6047,0x5ff7,0x5f6e,0x5eef,0x5e53,0x5dbe,0x5d4b,0x5ca5,0x5c17,\0x5b6b,0x5ada,0x5a5c,0x599b,0x58ff,0x5869,0x57b0,0x570d,0x5663,0x55c0x52dd,0x5240,0x5189,0x50b0,0x5005,0x4f20,0x4e69,0x4db1,0x4cef,0x4c42,0x4b64,0x4aaa,0x49e1,\0x48fc,0x4847,0x476c,0x46b1,0x4604,0x4503,0x4449,0x4356,0x4299,0x41c0,0x40ce,0x3ff0,0x3f2b,\0x3e33,0x3d86,0x3ca6,0x3bd2,0x3b26,0x3a39,0x3973,0x38a6,0x37ef,0x373f,0x3687,0x35c3,0x3507,\0x3487,0x33bc,0x32ed,0x324f,0x319e,0x3106,0x3053,0x2fa6,0x2f2a0x2c65,0x2bae,0x2b28,0x2a97,0x2a07,0x298e,0x2914,0x287a,0x280d,0x278a,0x2703,0x2687,0x2626,\0x25e5,0x256d,0x24ee,0x2489,0x2414,0x23bc,0x2356,0x22d9,0x2278,0x2203};//溫度頻率表px0count=2;//測頻中斷函數(shù)參數(shù)t0tst=1;//置測頻程序開始標(biāo)志EX0=1;//打開測頻外中斷testok=0;//清除測頻程序完成標(biāo)志while<!testok>display<>;//等待測試完成t0rig=<unsignedint>TH0<<8|TL0;//字節(jié)合成字tempmin=0;//以下是二分查表法計(jì)算溫度值tempmax=100;//tempmin和tempmax為溫度表的圍while<1>{temp=<tempmax+tempmin>/2;//假定當(dāng)前溫度為最大值與最小值之中點(diǎn)值if<t0rig==temptab[temp]>break;//若實(shí)際值等于假定值結(jié)束查找elseif<t0rig>temptab[temp]>tempmax=temp;//若實(shí)際值大于假定值,減小查找圍的最大值elsetempmin=temp;//若實(shí)際值小于假定值,增大查找圍的最小值if<tempmax-tempmin<=1>//若查找圍已縮小到1度之間,{//判斷實(shí)際值更接近哪個(gè)端點(diǎn)if<temptab[tempmax]+temptab[tempmin]>2*t0rig>temp=tempmax;//接近最大值取最大值elsetemp=tempmin;//接近最小值取最小值break;//結(jié)束查找}}ctemp=temp;//刷新當(dāng)前溫度寄存器if<temp>65>tempov=1;//如果溫度超過65度置位超溫標(biāo)志elseif<temp<45>tempov=0;//當(dāng)溫度回落到45度以下時(shí)清除超溫標(biāo)志}/*測溫頻率測試函數(shù)voidtempfrequency<void>使用外部X0中斷,寄存器組1測出溫度——頻率轉(zhuǎn)換電
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年農(nóng)業(yè)銀行歐元借款合同
- 2025年二手住宅全額成交合同模板
- 2025年產(chǎn)品創(chuàng)新升級(jí)加工合同
- 2025年住宅租賃意向金策劃管理協(xié)議
- 2025年企業(yè)財(cái)務(wù)戰(zhàn)略規(guī)劃合作協(xié)議
- 2025年共有股權(quán)權(quán)益分配合同樣本
- 2025年合作聯(lián)盟年終合同協(xié)議書
- 2025年店鋪權(quán)益轉(zhuǎn)接與策劃協(xié)議書樣本
- 2025年聯(lián)盟權(quán)益與義務(wù)綜合協(xié)議
- 2025年專利權(quán)爭議和解協(xié)議指導(dǎo)原則
- 2025年上半年北京市事業(yè)單位招聘易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 山東省濱州市2024-2025學(xué)年高一上學(xué)期期末考試語文試題(含答案)
- 2025年廣西投資集團(tuán)有限公司招聘筆試參考題庫含答案解析
- 北京市北師大附中2024-2025學(xué)年高一上學(xué)期期末考試數(shù)學(xué)試卷(含答案)
- 駝鳥養(yǎng)殖生態(tài)旅游項(xiàng)目策劃書方案模版(4篇)
- 煤礦重大災(zāi)害治理中長期規(guī)劃(防治煤塵爆炸、火災(zāi)事故)
- 安全風(fēng)險(xiǎn)隱患舉報(bào)獎(jiǎng)勵(lì)制度
- 教學(xué)成果獎(jiǎng)培育工作方案
- JJF 1375-2024機(jī)動(dòng)車發(fā)動(dòng)機(jī)轉(zhuǎn)速測量儀校準(zhǔn)規(guī)范
- 七年級(jí)英語閱讀理解55篇(含答案)
- 2024年中國華能瀾滄江水電股份有限公司招聘筆試參考題庫含答案解析
評(píng)論
0/150
提交評(píng)論