




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、快熱式家用電熱水器1 功能要求 當(dāng)前,熱水器已成為日常生活中不可缺少的家用電器,設(shè)計(jì)制造更實(shí)用、更方便、更安全、更節(jié)能的熱水器是產(chǎn)品設(shè)計(jì)師和生產(chǎn)廠家不斷追求的目標(biāo)??鞜崾诫姛崴髋c普通電熱水器最大的區(qū)別在于它取消了儲(chǔ)水罐,熱水隨開(kāi)隨用,無(wú)須預(yù)熱,減少了電能浪費(fèi)。另外,它還具有體積小,使用安全,安裝方便等優(yōu)點(diǎn)。 其設(shè)計(jì)要求如下:用2位數(shù)碼管顯示出水溫度,能顯示設(shè)定功率檔位。溫度檢測(cè)顯示范圍為0099,精確度為±1。設(shè)置3個(gè)功率檔位指示燈,14檔1個(gè)燈亮,58檔2個(gè)燈亮,9檔3個(gè)燈全亮。O檔無(wú)功率輸出,檔位燈不亮。設(shè)置3個(gè)輕觸按鈕,分別為電源開(kāi)關(guān)鍵、“+”鍵和“一”鍵。加熱功率分09檔,
2、按“+”鍵依次遞增至9檔,按“一”鍵依次遞減至0。09檔功率依次為0、1/9P、2/9P、3/9P、4/9P、5/9P、6/9P、7/9P、8/9P和P。出水溫度超過(guò)65時(shí)停止加熱,并蜂鳴報(bào)警,溫度降到45以下時(shí)恢復(fù)。內(nèi)膽溫度超過(guò)105時(shí)停止加熱,防止干燒。2 方案論證 按快熱式電熱水器的功能要求,決定采用如圖1所示的模塊組成系統(tǒng),主要包括電源電路、單片機(jī)控制器、溫度檢測(cè)電路、按鍵輸入電路、LED數(shù)碼管及指示燈電路、報(bào)警電路和加熱控制電路。 圖1 快熱式電熱水器系統(tǒng)組成框圖 快熱式電熱水器為了達(dá)到“快熱”的效果,取消了儲(chǔ)水罐,使冷水在進(jìn)入加熱管后立即被加熱,這就要求加熱管有較大的功率。家用電熱
3、水器一般采用方便、可靠的電熱絲加熱方法。根據(jù)熱學(xué)及流體力學(xué)原理,結(jié)合實(shí)際實(shí)驗(yàn)室測(cè)試,可以得到水溫與流量、加熱功率之間的關(guān)系如表1所列。表1中所列水溫值和流量值可以滿(mǎn)足大多數(shù)家庭用戶(hù)使用要求。當(dāng)最大的加熱功率為7.5 kW時(shí),按220 V供電計(jì)算,電流約為34 A,所以要求專(zhuān)線供電。 表14.1水溫與流量、加熱功率的關(guān)系溫度 水流量 L.min-1功率kW 2 2.5 3 3.5 4 4.5 47 42 36 34 32 S5 54 48 41 38 35 6.5 62 54 46 42 38 7.5 70 60 51 46 41注:進(jìn)水溫度為15,輸入電壓為AC 220 V。 對(duì)于加熱功率的控
4、制,最簡(jiǎn)單的方法是由若干不同功率的電熱絲組合得到幾種加熱功率但由于快熱式熱水器的加熱功率較普通的大,且檔位設(shè)置較多,用電熱絲組合的方法需要幾組電熱絲和繼電器,成本增高且工作可靠性降低,所以比較理想的是采用可控硅控制功率,電路簡(jiǎn)單又控制方便。 溫度檢測(cè)的方法較多,最經(jīng)典的方法就是用熱敏電阻(或熱敏傳感器)組成電橋來(lái)采集信號(hào),再經(jīng)放大、A/D轉(zhuǎn)換后送單片機(jī)。目前比較先進(jìn)的方法是采用專(zhuān)門(mén)的集成測(cè)溫傳感器(如DS18B20),直接將溫度轉(zhuǎn)換成數(shù)字信號(hào)傳送給單片機(jī)。為了簡(jiǎn)化電路,降低成本,本文采用了溫度頻率轉(zhuǎn)換測(cè)溫法,直接將溫度信息轉(zhuǎn)換成頻率信號(hào),用單片機(jī)測(cè)出頻率大小,從而間接測(cè)出溫度值,溫度頻率轉(zhuǎn)換電
5、路簡(jiǎn)單可靠,成本低廉。3 系統(tǒng)硬件電路的設(shè)計(jì) 快熱式熱水器控制系統(tǒng)電路如圖2所示。它由7部分電路組成:?jiǎn)纹瑱C(jī)系統(tǒng)及外圍電路、電源電路、按鍵輸入電路、LED數(shù)碼管及指示燈電路、報(bào)警電路、加熱控制電路和溫度檢測(cè)電路??刂破鞑捎贸杀镜土夜ぷ骺煽康?9C51或其兼容系列的單片機(jī),采用12MHz的晶振。89C51對(duì)電源要求不甚嚴(yán)格,電源電路采用普通的市電降壓整流,然后經(jīng)集成穩(wěn)壓器(7805)穩(wěn)壓輸出+5 V電壓。按鍵采用輕觸小按鈕。顯示電路采用兩位共陽(yáng)數(shù)碼管,由兩個(gè)三極管9012驅(qū)動(dòng)。3個(gè)LED指示燈用于指示加熱功率。報(bào)警電路采用5V的自鳴式蜂鳴器。3.1 加熱控制電路 圖3所示為加熱控制電路原理圖,
6、電熱絲的加熱功率由雙向可控硅控制,單片機(jī)通過(guò)光耦給可控硅觸發(fā)信號(hào),控制可控硅的導(dǎo)通角,從而控制電熱絲的有效加熱功率。為了在關(guān)機(jī)和超溫保護(hù)的狀態(tài)下能可靠地關(guān)斷加熱電源,電路中加入了繼電器來(lái)控制加熱電源。其中串聯(lián)在繼電器線圈回路的熔絲為105的熱保險(xiǎn)絲,當(dāng)溫度超過(guò)105時(shí),熱保險(xiǎn)絲會(huì)熔斷,防止加熱管干燒。與電熱絲并聯(lián)的LED發(fā)光管用來(lái)指示電熱絲的工作狀態(tài)。 可控硅觸發(fā)信號(hào)中需要對(duì)市電進(jìn)行過(guò)零檢測(cè),以實(shí)現(xiàn)觸發(fā)脈沖的相位延時(shí)。本電路中是利用三極管8050和一個(gè)“非”門(mén)實(shí)現(xiàn)過(guò)零檢測(cè)的,電路如圖4所示。 圖3加熱控制電路圖 圖4過(guò)零檢測(cè)電路圖3.2 溫度檢測(cè)電路 溫度檢測(cè)電路如圖14.5所示,溫度頻率變換
7、電路是利用反相器組成的RC多諧振蕩器,其中的R24是一個(gè)熱敏電阻,當(dāng)溫度變化時(shí)引起熱敏電阻的阻值變化,從而改變了振蕩器輸出的方波頻率。 該頻率的估算可用如下公式: f1.1RC 圖5溫度檢測(cè)電路圖4 系統(tǒng)程序的設(shè)計(jì) 按快熱式熱水器的功能,系統(tǒng)程序必須實(shí)現(xiàn)顯示掃描、按鍵掃描處理、加熱控制和溫度檢測(cè)(包括超溫報(bào)警)4項(xiàng)任務(wù)。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í)要求,而溫度檢測(cè)任務(wù)則可用定時(shí)(0.51s)實(shí)現(xiàn)。4.1主程序 系統(tǒng)在上電復(fù)位后,先對(duì)溫度寄存器、檔
8、位寄存器賦默認(rèn)值,并進(jìn)行清除超溫標(biāo)志,設(shè)置定時(shí)器及中斷系統(tǒng)的工作方式等初始化工作。 由于51系列單片機(jī)沒(méi)有停機(jī)指令,所以可以利用主程序設(shè)置死循環(huán)反復(fù)運(yùn)行各個(gè)任務(wù)。把有實(shí)時(shí)要求的子程序(顯示掃描、按鍵掃描、加熱控制)放在最內(nèi)層的循環(huán)中,計(jì)算其運(yùn)行一次占用的CPU時(shí)間,然后根據(jù)溫度檢測(cè)定時(shí)的間隔時(shí)間,計(jì)算出該循環(huán)的循環(huán)次數(shù)。本例中每運(yùn)行一次有實(shí)時(shí)要求的子程序(即顯示掃描、按鍵掃描、加熱控制)約占用5 ms CPU時(shí)間,運(yùn)行測(cè)溫子程序的時(shí)間間隔為0.5 s,那么循環(huán)次數(shù)應(yīng)為100次。圖6所示為主程序流程圖。4.2 顯示掃描子程序 顯示掃描子程序完成兩位共陽(yáng)數(shù)碼管的掃描顯示任務(wù)。圖7所示為顯示掃描子程
9、序流程圖。4.3 按鍵掃描處理子程序 按鍵掃描子程序負(fù)責(zé)逐個(gè)掃描檔位“+”鍵、檔位“一”鍵和開(kāi)關(guān)鍵是否被按下,若有鍵被按下,則作出相應(yīng)處理。圖8所示為按鍵掃描子程序程序流程圖。 圖8 按鍵掃描子程序流程圖4.4 加熱控制程序 加熱控制程序根據(jù)用戶(hù)設(shè)定的加熱檔位和系統(tǒng)當(dāng)前的狀態(tài),決定是否加熱和控制加熱的功率并點(diǎn)亮相應(yīng)的指示燈。 若有超溫標(biāo)志,還應(yīng)打開(kāi)蜂鳴器報(bào)警。 圖9所示為加熱控制程序流程圖。 加熱控制程序通過(guò)控制繼電器的通斷來(lái)決定是否給電熱絲通電加熱,而加熱的功率大小則由雙向可控硅的導(dǎo)通角決定。系統(tǒng)程序利用外中斷INT1檢測(cè)市電的過(guò)零點(diǎn),檢測(cè)到過(guò)零點(diǎn)后,立即根據(jù)設(shè)定的加熱檔位給定時(shí)器T1賦一個(gè)
10、延時(shí)參數(shù),并打開(kāi)定時(shí)器T1,允許其中斷。當(dāng)定時(shí)器T1計(jì)滿(mǎn)溢出后觸發(fā)中斷,T1中斷程序就會(huì)給可控硅發(fā)一個(gè)觸發(fā)信號(hào),使其導(dǎo)通。圖10和圖11所示分別為過(guò)零檢測(cè)程序流程圖和可控硅觸發(fā)信號(hào)控制程序流程圖。圖9 加熱控制程序流程圖圖10過(guò)零檢測(cè)程序流程圖圖11 可控硅觸發(fā)信號(hào)控制程序流程圖4.5 溫度檢測(cè)程序 溫度檢測(cè)程序的基本原理就是將溫度/頻率轉(zhuǎn)換電路測(cè)得的頻率與事先建立好的溫度/頻率表進(jìn)行比較,查找出與該頻率相應(yīng)的溫度值。在實(shí)驗(yàn)測(cè)試后建立的溫度/頻率表是O100溫度所對(duì)應(yīng)的頻率值。它是一個(gè)頻率對(duì)應(yīng)于溫度遞減的非線性函數(shù),在C語(yǔ)言中用一個(gè)一維數(shù)組Tab101來(lái)表示,下標(biāo)為溫度,數(shù)組元素為頻率值。計(jì)算
11、溫度的方法采用高效、準(zhǔn)確的二分法查表,查表的過(guò)程如下: 先給定查找的溫度最大值Tmax和最小值Tmin,即確定查找的范圍,根據(jù)已有的溫度表默認(rèn)最大值Tmax= 100,最小值Tmin=0。 假定測(cè)得溫度Temp為最大值與最小值的中間值,即Temp = ( Tmax+Tmin)2。 將實(shí)際測(cè)得的頻率值TOrig與假定溫度Temp在表格中對(duì)應(yīng)的頻率Tabtemp相比較,如果相等,那么假定溫度就是當(dāng)前實(shí)際溫度,即完成查找。 若TOrig>Tabtemp,說(shuō)明實(shí)際溫度應(yīng)該在Tmin與Temp之間(因?yàn)檫f減函數(shù)特性),則修改查找范圍,令Tmax= Temp;同理,若TOrig<Tabtemp
12、,說(shuō)明實(shí)際溫度應(yīng)該在Temp與Tmax之間,則令Tmin= Temp; 檢查查找范圍,若Tmax一Tmin1,則判斷TOrig更接近最大值對(duì)應(yīng)的頻率TabTmax還是最小值對(duì)應(yīng)的頻率TabTmin,實(shí)際溫度值取頻率更接近的那個(gè)值即完成查找。 若Tmax-Tmin>l,則重復(fù)第、步驟、直到完成查找。 溫度檢測(cè)程序完成溫度計(jì)算后,便刷新系統(tǒng)當(dāng)前溫度寄存器,并判斷有無(wú)超溫、置位或清除相應(yīng)的標(biāo)志位。 圖12所示為溫度檢測(cè)程序流程圖。 圖12溫度檢測(cè)程序流程圖 單片機(jī)使用外中斷INTO和計(jì)時(shí)器TO檢測(cè)輸入頻率的大小。為了減少測(cè)量的系統(tǒng)誤差相對(duì)值和隨機(jī)誤差對(duì)測(cè)量精度的影響,程序中取100個(gè)方波周期的
13、和作為測(cè)量結(jié)果。程序中使用靜態(tài)變量pxOcount進(jìn)行外中斷的計(jì)數(shù),在測(cè)量開(kāi)始時(shí),給pxOcount賦值2是為了讓頻率測(cè)量有準(zhǔn)確的起點(diǎn)。 另外,為了區(qū)分測(cè)頻的開(kāi)始和結(jié)束,還使用了測(cè)頻開(kāi)始標(biāo)志位TOtst和測(cè)頻完成標(biāo)志位Testok。 圖13所示為頻率測(cè)試程序流程圖。 圖13頻率測(cè)試程序流程圖5 調(diào)試及性能分析 快熱式熱水器硬件電路不包含任何可調(diào)節(jié)元件,因此只要器件質(zhì)量可靠,引腳焊接正確,硬件電路無(wú)須調(diào)試。 該電路中測(cè)溫部分的振蕩電路對(duì)電容Cl的容量比較敏感,若此電路要批量化生產(chǎn),可在熱敏電阻R24上再串一個(gè)可變電阻,以補(bǔ)償C1的容量變化。 在初次試做本電路或關(guān)鍵硬件參數(shù)有調(diào)整時(shí),應(yīng)對(duì)系統(tǒng)軟件中
14、控制加熱功率的可控硅導(dǎo)通角延時(shí)參數(shù)表和溫度頻率轉(zhuǎn)換表這兩部分進(jìn)行調(diào)試。 可控硅導(dǎo)通角延時(shí)參數(shù)主要由市電的頻率和過(guò)零檢測(cè)電路的脈沖寬度決定,可以先根據(jù)市電頻率,按等功率的要求計(jì)算理論值,再根據(jù)過(guò)零檢測(cè)電路的脈沖寬度加以調(diào)整。 溫度頻率轉(zhuǎn)換表可以用對(duì)照標(biāo)準(zhǔn)溫度計(jì)實(shí)測(cè)的辦法進(jìn)行測(cè)試。圖14. 14所示為用實(shí)際電路在實(shí)驗(yàn)室測(cè)得的溫度頻率曲線圖。 用這個(gè)方案設(shè)計(jì)的快熱式家用電熱水器,電路簡(jiǎn)單,成本較低,經(jīng)試驗(yàn)運(yùn)行證明工作穩(wěn)定,可靠,在無(wú)須改變硬件的條件下,如加入PID等自動(dòng)控制程序還可以升級(jí)成自動(dòng)控溫的電熱水器。 圖14溫度頻率曲線圖6 控制源程序清單以下是快熱式電熱水器控制源程序清單,采用C51編寫(xiě),
15、在Keil C51環(huán)境下調(diào)試通過(guò),并下載到AT89C51測(cè)試運(yùn)行成功。/*-快熱式熱水器程序MCU AT89C51 XAL 12MHz-*/#pragma src#include <reg51.h>#include <intrins.h>#include <math.h>void delay(unsigned int); /延時(shí)函數(shù)void display(void); /顯示函數(shù)unsigned char keyscan(void); /按鍵掃描處理函數(shù)void heatctrl(void); /加熱控制函數(shù)void temptest(void); /測(cè)溫
16、函數(shù)sbit swkey=P10; /開(kāi)關(guān)鍵sbit upkey=P11; /加熱檔位“+”鍵sbit downkey=P12; /加熱檔位“-”鍵sbit buzz=P105; /蜂鳴器輸出端sbit triac=P16; /可控硅觸發(fā)信號(hào)輸出端sbit relay=P17; /繼電器控制信號(hào)輸出端sbit led1=P25; /加熱檔位指示燈1sbit led2=P26; /加熱檔位指示燈2sbit led3=P27; /加熱檔位指示燈3signed char data ctemp; /當(dāng)前測(cè)得水溫寄存器unsigned char data dispram2=0x10,0x10; /顯示區(qū)
17、緩存unsigned char data heatpower,px0count; /加熱檔位寄存器、外中斷0計(jì)數(shù)器bit tempov,t0tst,testok; /超溫標(biāo)志、測(cè)溫開(kāi)始標(biāo)志、測(cè)溫完成標(biāo)志/*- 主函數(shù) void main(void) 無(wú)參數(shù),無(wú)返回值 循環(huán)調(diào)用顯示、鍵掃描、溫度檢測(cè)、加熱控制函數(shù)-*/void main(void) unsigned char i,j;ctemp=15; /初始化水溫寄存器heatpower=5; /初始化加熱檔位為5當(dāng)tempov=0; /清除超溫標(biāo)志swkey=0; /默認(rèn)開(kāi)關(guān)鍵被按下,進(jìn)入待機(jī)狀態(tài)TMOD=0x11; /設(shè)定T0和T1工作方
18、式為16位定時(shí)器TCON=0x05; /設(shè)置外中斷0和1為下降沿觸發(fā)IP=0x01; /設(shè)置外中斷0優(yōu)先IE=0x80; /打開(kāi)總中斷while (1) i=1; do for (j=0;j<100;j+) /循環(huán)100次約0.5s if (keyscan() i=6; /如果有鍵按下,顯示當(dāng)前檔位3s display(); /調(diào)用顯示函數(shù)一次約4ms heatctrl(); /調(diào)用加熱控制函數(shù) /end for (b=0;b<100;b+) temptest(); /每0.5s進(jìn)行一次測(cè)溫 while (-i); /通過(guò)改變循環(huán)次數(shù)i的大小決定是否刷新顯示 j=abs(ctemp
19、); /取溫度絕對(duì)值 dispram1=j%10; /取個(gè)位數(shù)送顯示 j/=10; /取十位數(shù) dispram0=j?j:0x11; /送顯示(帶滅零) /end while (1) /*- 延時(shí)函數(shù) void delay(unsigned int dt) 參數(shù):dt,無(wú)返回值 延時(shí)時(shí)間=dt*500機(jī)器周期-*/void delay(unsigned int dt)register unsigned char bt; /定義寄存器變量for (; dt; dt-) for (bt=250; -bt; ); /此句編譯時(shí)以“DJNZ”實(shí)現(xiàn),250*2=500機(jī)器周期/*- 顯示函數(shù) void
20、display(void) 無(wú)參數(shù),無(wú)返回值 兩位共陽(yáng)數(shù)碼管掃描顯示-*/void display(void)unsigned char code table=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90, 0x88,0x83,0xc6,0xa1,0x86,0x8e,0xbf,0xff;unsigned char i,a;a=0xfe; /位選賦初值for (i=0; i<2; i+) /循環(huán)掃描兩位數(shù)碼管 P2|=0x1f; /清除位選 P0=tabledisprami; /送顯示段碼 P2&=a; /選通一位 delay(
21、4); /延時(shí)2ms a=_crol_(a,1); /改變位選字 P0=0xff; /消影 /*- 按鍵掃描處理函數(shù) unsigned char keyscan(void) 無(wú)參數(shù),返回值:無(wú)符號(hào)字符型,無(wú)鍵按下為0,有鍵按下為其它 影響全局變量:heatpower-*/unsigned char keyscan(void)unsigned char i,ch;if (upkey=0) /“+”鍵 buzz=0; /打開(kāi)蜂鳴器(發(fā)出按鍵音) for (i=0;i<5;i+) display(); /延時(shí)消抖 buzz=1; /關(guān)閉蜂鳴器 if (heatpower<9) heatp
22、ower+; /檔位加一 dispram0=0; dispram1=heatpower; /顯示當(dāng)前檔位 while (upkey=0) display(); /等待鍵釋放 return (1); /返回有鍵按下 else if (downkey=0) /“-”鍵 buzz=0; /打開(kāi)蜂鳴器(發(fā)出按鍵音) for (i=0;i<5;i+) display(); /延時(shí)消抖 buzz=1; /關(guān)閉蜂鳴器 if (heatpower>0) heatpower-; /檔位減一 dispram0=0; dispram1=heatpower; /顯示當(dāng)前檔位 while (downkey=
23、0) display(); /等待鍵釋放 return (2); /返回有鍵按下 else if (swkey=0) /開(kāi)關(guān)鍵 buzz=0; /打開(kāi)蜂鳴器(發(fā)出按鍵音) for (i=0;i<30;i+) display(); /延時(shí)消抖 buzz=1; /關(guān)閉蜂鳴器 swkey=1; /置位開(kāi)關(guān)鍵 while (swkey=0) display(); /等待鍵釋放 ch=IE; /暫存中斷控制字IE IE=0x00; /禁止中斷 P0=0xff; P1=0xff; P2=0xff; /清除端口輸出 dispram0=0x10; dispram1=0x10; /顯示“-” displa
24、y(); while (1) while (swkey) display(); /等待開(kāi)關(guān)鍵按下 buzz=0; /打開(kāi)蜂鳴器(發(fā)出按鍵音) for (i=0;i<10;i+) display();/延時(shí)消抖 buzz=1; /關(guān)閉蜂鳴器 if (swkey=0) break; /確認(rèn)開(kāi)關(guān)鍵被按下 while (swkey=0) display(); /等待鍵釋放 IE=ch; /還原中斷控制字IE return (0); /返回?zé)o鍵按下 else return (0); /無(wú)任何鍵按下時(shí)由此返回/*- 加熱控制函數(shù) void heatctrl(void) 無(wú)參數(shù),無(wú)返回值 判斷是否加熱
25、、加熱功率及檔位指示燈處理-*/void heatctrl(void)if (!tempov) /當(dāng)沒(méi)有超溫標(biāo)志時(shí) relay=0; /接通繼電器 buzz=1; /關(guān)閉蜂鳴器 switch (heatpower) /判斷加熱檔位 case 0: EX1=0;ET1=0;triac=1;led1=1;led2=1;led3=1;break;/0檔不加熱,指示燈不亮 case 1: case 2: case 3: case 4: led1=0;led2=1;led3=1;EX1=1;break; /14檔1號(hào)指示等亮 case 5: case 6: case 7: case 8: led1=0;
26、led2=0;led3=1;EX1=1;break; /58檔1號(hào)、2號(hào)指示燈亮 case 9: EX1=0;ET1=0;led1=0;led2=0;led3=0;triac=0;break; /9檔全功率,指示燈全亮 else /當(dāng)有超溫標(biāo)志時(shí) relay=1; /斷開(kāi)繼電器 EX1=0; ET1=0; triac=1; /關(guān)閉可控硅 buzz=0; /蜂鳴報(bào)警 /*- 測(cè)溫函數(shù) void temptest(void) 無(wú)參數(shù),無(wú)返回值, 影響全局變量:ctemp,tempov 測(cè)量并查表計(jì)算溫度,判斷是否超溫-*/void temptest(void)signed char temp,te
27、mpmin,tempmax;unsigned int t0rig;unsigned int code temptab=0x6262,0x61eb,0x6171,0x60f7,0x6047,0x5ff7,0x5f6e,0x5eef,0x5e53,0x5dbe,0x5d4b,0x5ca5,0x5c17,0x5b6b,0x5ada,0x5a5c,0x599b,0x58ff,0x5869,0x57b0,0x570d,0x5663,0x55c6,0x550e,0x5444,0x5396,0x52dd,0x5240,0x5189,0x50b0,0x5005,0x4f20,0x4e69,0x4db1,0x4
28、cef,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,0x2f2a,0x2e88,0x2e00,0x2d63,0x
29、2cd6,0x2c65,0x2bae,0x2b28,0x2a97,0x2a07,0x298e,0x2914,0x287a,0x280d,0x278a,0x2703,0x2687,0x2626,0x25e5,0x256d,0x24ee,0x2489,0x2414,0x23bc,0x2356,0x22d9,0x2278,0x2203; /溫度頻率表px0count=2; /測(cè)頻中斷函數(shù)參數(shù)t0tst=1; /置測(cè)頻程序開(kāi)始標(biāo)志EX0=1; /打開(kāi)測(cè)頻外中斷testok=0; /清除測(cè)頻程序完成標(biāo)志while (!testok) display(); /等待測(cè)試完成t0rig=(unsigned i
30、nt)TH0<<8|TL0; /字節(jié)合成字tempmin=0; /以下是二分查表法計(jì)算溫度值tempmax=100; /tempmin和tempmax為溫度表的范圍while (1) temp=(tempmax+tempmin)/2; /假定當(dāng)前溫度為最大值與最小值之中點(diǎn)值 if (t0rig=temptabtemp) break; /若實(shí)際值等于假定值結(jié)束查找 else if (t0rig>temptabtemp) tempmax=temp;/若實(shí)際值大于假定值,減小查找范圍的最大值 else tempmin=temp; /若實(shí)際值小于假定值,增大查找范圍的最小值 if (tempmax-tempmin<=1) /若查找范圍已縮小到1度之間, /判斷實(shí)際值更接近哪個(gè)端點(diǎn) if (temptabtempmax+temptabtempmin>2*t0rig) temp=tempmax;/接近最大值取最大值 else temp=tempmin; /接近最小值取最小值 break; /結(jié)束查找
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 專(zhuān)項(xiàng)5 標(biāo)點(diǎn)(解析版)
- 2025年初中教科版八年級(jí)上冊(cè)物理2.3測(cè)量物體運(yùn)動(dòng)的速度說(shuō)課稿
- 2.2 聲音的特性 說(shuō)課稿-2025年初中人教版八年級(jí)物理上冊(cè)
- 品牌戰(zhàn)略規(guī)劃作業(yè)指導(dǎo)書(shū)
- 電信行業(yè)網(wǎng)絡(luò)優(yōu)化及增值業(yè)務(wù)拓展方案
- 垃圾焚燒發(fā)電廠項(xiàng)目劃分
- 房地產(chǎn)開(kāi)發(fā)項(xiàng)目可行性研究論文
- 股份制改革實(shí)施路徑研究
- 快遞行業(yè)長(zhǎng)期物流合作協(xié)議
- 針對(duì)提高團(tuán)隊(duì)協(xié)作效率的解決方案
- 《油氣儲(chǔ)存企業(yè)安全風(fēng)險(xiǎn)評(píng)估細(xì)則(2025年修訂版)》解讀與培訓(xùn)
- 2025年安徽職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)匯編
- 2025年內(nèi)蒙古北方職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫(kù)完美版
- Deepseek 學(xué)習(xí)手冊(cè)分享
- 電網(wǎng)工程設(shè)備材料信息參考價(jià)(2024年第四季度)
- 《你當(dāng)像鳥(niǎo)飛往你的山》讀書(shū)分享讀書(shū)分享筆記
- 2024年浙江省中考社會(huì)試卷真題(含標(biāo)準(zhǔn)答案及評(píng)分標(biāo)準(zhǔn))
- 20以?xún)?nèi)退位減法口算練習(xí)題100題30套(共3000題)
- 4925095728國(guó)內(nèi)外中小學(xué)作業(yè)研究綜述
- 外墻粉刷施工方案(完整版)
- 華為-原理圖繪制評(píng)審規(guī)范-checklist
評(píng)論
0/150
提交評(píng)論