快熱式家用電熱水器課程設(shè)計(jì)報(bào)告書(shū)_第1頁(yè)
快熱式家用電熱水器課程設(shè)計(jì)報(bào)告書(shū)_第2頁(yè)
快熱式家用電熱水器課程設(shè)計(jì)報(bào)告書(shū)_第3頁(yè)
已閱讀5頁(yè),還剩26頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、1引言現(xiàn)在熱水器大部分都是快熱式熱水器,它給我們的生活帶來(lái)了極大的便利,這使是它走進(jìn)千家萬(wàn)戶(hù)成為必然目前燃?xì)馐綗崴饕驗(yàn)樗陌踩[患和越來(lái)越高的成本正在逐漸退出熱水器市場(chǎng)。而太陽(yáng)能熱水器雖然環(huán)保無(wú)污染,但它壽誕天氣。氣候及安裝條件的嚴(yán)格限制。很難占據(jù)更大的市場(chǎng)份額。目前主流的貯水式電熱水器,體積龐大、預(yù)熱時(shí)間長(zhǎng)、熱水儲(chǔ)量有限,已經(jīng)不適合現(xiàn)代生活的節(jié)奏。于是,快熱式熱水器小巧時(shí)尚的外觀,安全可靠的性能讓它有著廣泛的發(fā)展和應(yīng)用前景。普通電熱水器有以下幾個(gè)缺點(diǎn):首先,因?yàn)殡姛崴鏖L(zhǎng)期通電,保持60度以上的高溫,發(fā)熱管容易結(jié)垢,膽容易漏水,比較容易損壞。我們學(xué)校的電熱水器經(jīng)常因?yàn)榻Y(jié)垢堵塞出水口水流越來(lái)

2、越小,給師生的飲水帶來(lái)不便;其次,管道及水箱本身熱量損耗大,等候熱水所用時(shí)間較長(zhǎng);再次,在熱水流出前都必須浪費(fèi)一定量的冷水,根據(jù)管道的長(zhǎng)短,這樣既不環(huán)保,又不經(jīng)濟(jì)。而快熱式熱水器克服了上述缺點(diǎn)。它安全、干凈、環(huán)保、即開(kāi)即熱。35秒出熱水,無(wú)需等候,熱水使用時(shí)間不受限制。2系統(tǒng)總體方案功能要求用2位數(shù)碼管顯示出水溫度,能顯示設(shè)定功率檔位。溫度檢測(cè)顯示圍0099C,精確度土仁C。設(shè)置3個(gè)功率檔位指示燈,14檔一個(gè)燈亮,58檔兩個(gè)燈亮,9檔3個(gè)燈全亮。0檔無(wú)功率輸出,檔位燈不亮。設(shè)置3個(gè)輕觸按鈕,分別為電源開(kāi)關(guān)鍵、“ +”鍵和“-”鍵。加熱功率分09檔,按“+”鍵依次遞增至9檔,按“-”鍵依次遞減至

3、0 0-9 檔功率依次為 0、1/9P、2/9P、3/9P、4/9P、5/9P、6/9P、7/9P、8/9P、P。膽溫度超過(guò)105C時(shí)停止加熱,防止干燒 方案論證 按快熱式電熱水器的功能要求,決定采用如圖 2.1所示的模塊組成系統(tǒng),即電源電路、單片機(jī)控制器、溫度檢測(cè)電路、按鍵輸入電路、LED數(shù)碼管及指示燈電路、報(bào)警電路和加熱控制電路。圖2.1快熱式電熱水器系統(tǒng)組成框圖快熱式電熱水器為了達(dá)到“快熱”的效果,取消了儲(chǔ)水罐,使冷水在在進(jìn)入加熱管后立即被加熱,這就要求加熱管有較大的功率,家 用電熱水器一般采用方便可靠的電熱絲加熱方法。根據(jù)熱學(xué)及流體力學(xué)原理結(jié)合實(shí)際實(shí)驗(yàn)室測(cè)試,可以得到水溫與流量、加熱功

4、率之 間的關(guān)系如表2.1。表2.1中所列水溫值和流量值可以滿(mǎn)足大多數(shù)家庭用戶(hù)使用要求,當(dāng)最大的加熱功率為7.5KW時(shí),按220V供電計(jì)算電流約為34A,所以要求專(zhuān)線供電。表2.1水溫與流量、加熱功率的關(guān)系溫度° C水流量功率2升/分鐘2.5升/分鐘3升/分鐘3.5升/分鐘4升/分鐘4.5KW47423634325.5KW54484138356.5KW62544642387.5KW7060514641注:進(jìn)水溫度 15C,輸入電壓 AC220V對(duì)于加熱功率的控制,最簡(jiǎn)單的方法是由若干不同功率的電熱絲組合得到幾種加熱功率,但由于快熱式熱水器的加熱功率較普通的大,且檔位設(shè)置較多,用電熱絲組

5、合的方法需要幾組電熱絲和繼電器,成本增高且工作可靠性降低,所以比較理想的是采用可控硅控制功 率,電路簡(jiǎn)單又控制方便。溫度檢測(cè)的方法較多,最經(jīng)典的方法就是用熱敏電阻(或熱敏傳感器)組成電橋來(lái)采集信號(hào),再經(jīng)放大、AD轉(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)換電路簡(jiǎn)單可靠,成本低廉。3系統(tǒng)硬件電路的設(shè)計(jì)快熱式熱水器控制系統(tǒng)電路如圖 3.1,由7個(gè)部分電路組成:?jiǎn)纹瑱C(jī)系統(tǒng)及外圍電路、

6、電源電路、按鍵輸入電路、LED數(shù)碼管及指示燈 電路、報(bào)警電路、加熱控制電路、溫度檢測(cè)電路控制器采用成本低廉且工作可靠的 89C51或其兼容系列的單片機(jī),采用12M的晶振。89C51對(duì)電源要求不甚嚴(yán)格,電源電路采用普通 的市電降壓整流,然后經(jīng)集成穩(wěn)壓器(7805)穩(wěn)壓輸出+5V電壓。按鍵采用輕觸小按鈕。顯示電路采用兩位共陽(yáng)數(shù)碼管,由2個(gè)三極管9012驅(qū)動(dòng),3個(gè)LED旨示燈用于指示加熱功率。報(bào)警電路采用 5V的自鳴式蜂鳴器。C3+5VU3BC2U3AR24U3CR4 100QC1U3DS274LS048050R2M卜0.056uF儀1KY口為C433P+5V20/9V:30K+5V31+5VR51

7、2 13赳14 -+5VEA/VPP0.0P0.1X1P0.2X2P0.3P0.4P0.5P0.6P0.7RESETINT0P2.CP2.1P2.2INT1P2.3T0P2.4T1P2 5P1.0P1.1P2.6P2.7P1.2RDP1.3WRP1.4PSENP1.5ALE/PP1.6TXDP1.7RXDU21918123467889C5116F -TT 10DS1DS2200 Q *8393837363534Q3Q423R924254.7K279012901228+5VR10174.7K33322122R19510QLED2LED3D2D51N4007*4Q2R20901510QR21LED

8、4U4YD1+5V1N4007U17805Vout510QR23U5MOC3023R82K/1WR25heateri.LED1R22©4.7KD6400720K/2WQ5 9012000u/16C50.1uF1FUSE»470u/100.1uC6Q6 BTA41TitleFast Water Heater circuit圖3.1快熱式家用電熱水器控制電路圖SizeNumberRevisionA4Date:10-Apr-2005Sheet ofFile:出版物熱水heaterheater1.DDrSwn By: Gavin Hu加熱控制電路123圖3.2為加熱控制電路原理圖,

9、電熱絲的加熱功率由雙向可控硅來(lái)控制, 單片機(jī) 通過(guò)光耦給可控硅觸發(fā)信號(hào),控制可控硅的導(dǎo)通角,從而控制電熱絲的有效加熱 功率。為了在關(guān)機(jī)和超溫保護(hù)的狀態(tài)下能可靠地關(guān)斷加熱電源,電路中設(shè)計(jì)了繼電器來(lái)控制加熱電源。其中串聯(lián)在繼電器線圈回路的熔絲為105C的熱保險(xiǎn)絲,當(dāng)溫度超過(guò)105C時(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è)的,電路如圖 3.3。圖3.2加熱控制電路圖+5VQ5D2D5T120V10K220/9V1N4007*43R32+5

10、VTR110KR21MU3DI INT18050Q1 74LS04TitleSizeA4Date:File:圖3.3過(guò)零檢測(cè)電路圖溫度檢測(cè)電路溫度檢測(cè)電路組成如圖3.4所示,溫度/頻率變換電路是利用反相器組成的RC多諧振蕩器,其中的R24是一個(gè)熱敏電阻,當(dāng)溫度變化時(shí)引起熱敏電阻的阻值變 化,從而改變了振蕩器輸出的方波頻率。該頻率的估算可用如下公式:f 1.1RC圖3.4溫度檢測(cè)電路圖式3.14系統(tǒng)軟件程序的設(shè)計(jì)C按快熱式熱水器的功能,系統(tǒng)程序必需實(shí)現(xiàn)以下任務(wù):顯示掃描;按鍵掃描處理; 加熱控制;溫度檢測(cè)(包括超溫報(bào)警)。51系列單片機(jī)實(shí)現(xiàn)多任務(wù)運(yùn)行的方法就 是分時(shí)復(fù)用,在程序設(shè)計(jì)的時(shí)候要相應(yīng)地

11、分配好各任務(wù)的 CPU占用時(shí)間。對(duì)于以 上幾個(gè)任務(wù)稍加分析可以看出,顯示掃描、按鍵掃描和加熱控制任務(wù)相對(duì)而言有 實(shí)時(shí)要求,而溫度檢測(cè)任務(wù)則可用定時(shí)(0.51s )實(shí)現(xiàn)。B 主函數(shù)系統(tǒng)在上電復(fù)位后,先對(duì)溫度寄存器、檔位寄存器賦默認(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í)要求的子程序(顯示掃描、按鍵掃描、加熱控制)放在最 層的循環(huán)中,計(jì)算其運(yùn)行一次占用的CPU寸間,然后根據(jù)溫度檢測(cè)定時(shí)的間隔時(shí) 間,計(jì)算出該循環(huán)的循環(huán)次數(shù)。本例中每運(yùn)行一次有實(shí)時(shí)要求的子程序 (即顯示 掃描、按鍵

12、掃描、加熱控制)約占用 5msCPU寸間,運(yùn)行測(cè)溫子程序的時(shí)間間隔 為0.5s,那么 1循環(huán)次數(shù)應(yīng)為100次。圖4.1為主函數(shù)程序流程圖。顯示掃描子函數(shù)顯示子函數(shù)完成兩位共陽(yáng)數(shù)碼管的掃描顯示任務(wù),圖4.2為顯示掃描子函數(shù)程序 流程圖。圖4.1主函數(shù)程序流程圖圖4.2顯示掃描子函數(shù)程序流程圖按鍵掃描處理子函數(shù)按鍵掃描子函數(shù)負(fù)責(zé)逐個(gè)掃描檔位“ +”鍵、檔位“-”鍵和開(kāi)關(guān)鍵是否被按下,若有鍵被按下則作出相應(yīng)處理。圖 4.3為按鍵掃描子函數(shù)程序流程圖。加熱控制函數(shù)加熱控制程序根據(jù)用戶(hù)設(shè)定的加熱檔位和系統(tǒng)當(dāng)前的狀態(tài),來(lái)決定是否加熱和控 制加熱的功率并點(diǎn)亮相應(yīng)的指示燈。如有超溫標(biāo)志還應(yīng)打開(kāi)蜂鳴器報(bào)警。圖

13、4.4 為加熱控制函數(shù)程序流程圖。加熱控制程序通過(guò)控制繼電器的通斷來(lái)決定是否給電熱絲通電加熱, 而加熱的功 率大小則由雙向可控硅的導(dǎo)通角決定。系統(tǒng)程序利用外中斷 INT1檢測(cè)市電的過(guò) 零點(diǎn),檢測(cè)到過(guò)零點(diǎn)后,立即根據(jù)設(shè)定的加熱檔位給定時(shí)器 T1賦一個(gè)延時(shí)參數(shù), 并打開(kāi)定時(shí)器T1,允許其中斷。當(dāng)定時(shí)器T1計(jì)滿(mǎn)溢出后觸發(fā)中斷,T1中斷程序 就會(huì)給可控硅發(fā)一個(gè)觸發(fā)信號(hào),使其導(dǎo)通。圖 12.10、12.11分別是過(guò)零檢測(cè)函 數(shù)程序流程圖和可控硅觸發(fā)信號(hào)控制函數(shù)程序流程圖。圖4.5過(guò)零檢測(cè)函數(shù)程序流程圖圖4.6可控硅觸發(fā)信號(hào)控制程序流程圖打開(kāi)測(cè)頻外中斷等待測(cè)試完成Tmin=0,Tmax=100Temp=(

14、Tmi n+Tmax)/2否是否是TOrig=Tabtemp?TOrig>Tabtemp?Tmax=TempTmin=Temp否Tmax-Tmin<=1?是否是Temp= TmaxTOrig 接近 Tabmax?Temp= Tmin否Temp>65?是否Temp<45?是置位超溫標(biāo)志清除超溫標(biāo)志刷新當(dāng)前寄存器結(jié)束圖4.7溫度檢測(cè)函數(shù)程序流程圖溫度檢測(cè)函數(shù)溫度檢測(cè)函數(shù)的基本原理就是將溫度/頻率轉(zhuǎn)換電路測(cè)得的頻率與事先建立好的 溫度/頻率表進(jìn)行比較,查找出與該頻率相應(yīng)的溫度值。事先在實(shí)驗(yàn)測(cè)試后建立 的溫度/頻率表是0100C溫度所對(duì)應(yīng)的頻率值,它是一個(gè)頻率對(duì)應(yīng)于溫度遞減 的

15、非線性函數(shù),我們?cè)贑語(yǔ)言中用一個(gè)一維數(shù)組Tab101來(lái)表示,下標(biāo)為溫度, 數(shù)組元素為頻率值。計(jì)算溫度的方法采用高效準(zhǔn)確的二分法查表,查表的過(guò)程如 下: 先給定查找的溫度的最大值 Tmax和最小值Tmin,即確定查找的圍,我們根 據(jù)已有的溫度表默認(rèn)最大值Tmax=100最小值Tmin=0; 假定測(cè)得溫度Temp為最大值和最小值之中間值即 Temp=(Tmax+Tmin”2 將實(shí)際測(cè)得的頻率值T0rig與假定溫度Temp在表格中對(duì)應(yīng)的頻率Tabtemp 相比較,如果相等,那么假定溫度就是當(dāng)前實(shí)際溫度,即完成查找; 如果T0rig> Tabtemp,說(shuō)明實(shí)際溫度應(yīng)該在Tmin和Temp之間(因

16、為遞減 函數(shù)特性),所以修改查找圍令 Tmax=Temp同理如果T0rig< Tabtemp,說(shuō)明 實(shí)際溫度應(yīng)該在Temp和Tmax之間,則令Tmin=Temp 檢查查找圍,如果 Tmax-Tmi*=1,判斷T0rig更接近最大值對(duì)應(yīng)的頻率 TabTmax還是最小值對(duì)應(yīng)的頻率 TabTmin,實(shí)際溫度值取頻率更接近的那個(gè) 值即完成查找, 如果Tmax-Tmin>1,那么重復(fù)第步驟直到完成查找。溫度檢測(cè)程序完成溫度計(jì)算后便刷新系統(tǒng)當(dāng)前溫度寄存器,并判斷有無(wú)超溫、置位或清除相應(yīng)的標(biāo)志位。圖4.7為溫度檢測(cè)函數(shù)程序流程圖。單片機(jī)使用外中斷INT0和計(jì)時(shí)器T0檢測(cè)輸入的頻率大小,為了減少測(cè)

17、量的系統(tǒng) 誤差相對(duì)值和隨機(jī)誤差對(duì)測(cè)量精度的影響,程序中取100個(gè)方波周期的和作為測(cè)量結(jié)果。程序中使用靜態(tài)變量 px0count進(jìn)行外中斷的計(jì)數(shù),在測(cè)量開(kāi)始時(shí),我 們給px0count賦值2是為了讓頻率測(cè)量有準(zhǔn)確的起點(diǎn)。另外,為了區(qū)分測(cè)頻的 開(kāi)始和結(jié)束,還使用了測(cè)頻開(kāi)始標(biāo)志位T0tst和測(cè)頻完成標(biāo)志位Testok。圖4.8 為頻率測(cè)試函數(shù)程序流程圖。圖4.8頻率測(cè)試函數(shù)程序流程圖5系統(tǒng)程序清單以下是快熱式電熱水器控制源程序清單,采用C51編寫(xiě),在Keil uVision2 V2.30(C51.exe V7.0 )環(huán)境下調(diào)試通過(guò),并下載到 AT89C51測(cè)試運(yùn)行成功。/*快熱式熱水器程序MCU A

18、T89C51 XAL 12MHz*/#in clude <reg51.h>#include vintrins.h> #in clude <math.h>void delay (un sig ned in t);/void display(void);/un sig ned char keysca n(v oid); / void heatctrl(void);/void temptest(void);/sbit swkey=P1A0;/sbit upkey=P1Al;/sbit dow nkey=P1A2;/sbit buzz=P1A05;/sbit triac=

19、P1A6;/sbit relay=P1A7;/sbit led仁卩2八5;/sbit led2=P2A6;/sbit led3=P2A7;/sig ned char data ctemp; /延時(shí)函數(shù)顯示函數(shù)按鍵掃描處理函數(shù)加熱控制函數(shù)測(cè)溫函數(shù)開(kāi)關(guān)鍵加熱檔位“ +”鍵加熱檔位“-”鍵蜂鳴器輸出端可控硅觸發(fā)信號(hào)輸出端繼電器控制信號(hào)輸出端加熱檔位指示燈1加熱檔位指示燈2加熱檔位指示燈3當(dāng)前測(cè)得水溫寄存器顯示區(qū)緩存unsigned char data dispram2=0x10,0x10; /un sig ned char data heatpower,px0co unt;/計(jì)數(shù)器bit tempo

20、v,t0tst,testok; /超溫標(biāo)志、測(cè)溫開(kāi)始標(biāo)志、測(cè)溫完成標(biāo)志加熱檔位寄存器、外中斷0/*主函數(shù) void ma in (void)無(wú)參數(shù),無(wú)返回值循環(huán)調(diào)用顯示、鍵掃描、溫度檢測(cè)、加熱控制函數(shù)*/ void main (void)un sig ned char i,j;ctemp=15;/初始化水溫寄存器heatpower=5;/初始化加熱檔位為5檔tempov=0;/清除超溫標(biāo)志swkey=0;/默認(rèn)開(kāi)關(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;/

21、打開(kāi)總中斷while (1)i=1;dofor (j=O;j<1OO;j+)/循環(huán)100次約0.5s如果有鍵按下,顯示當(dāng)前檔位3sdisplay。;/調(diào)用顯示函數(shù)一次約4msheatctrl();/調(diào)用加熱控制函數(shù)if (keysca n() i=6;/end for (b=0;b<100;b+)每0.5s進(jìn)行一次測(cè)溫通過(guò)改變循環(huán)次數(shù)i的大小決定是否刷新取溫度絕對(duì)值取個(gè)位數(shù)送顯示取十位數(shù)送顯示(帶滅零)temptest();/ while (-i);/顯示j=abs(ctemp);/dispram1=j%10;/j/=10;/dispram0=j?j:0x11;/end while

22、 (1)/*延時(shí)函數(shù) void delay(unsigned int dt)參數(shù):dt,無(wú)返回值延時(shí)時(shí)間=dt*500機(jī)器周期*/void delay (un sig ned int dt)register un sig ned char bt;/定義寄存器變量for (; dt; dt-)for (bt=250; -bt; );/此句編譯時(shí)以“ DJNZ 實(shí)現(xiàn),250*2=500機(jī)器周期/*顯示函數(shù) void display(void)無(wú)參數(shù),無(wú)返回值兩位共陽(yáng)數(shù)碼管掃描顯示*/ void display(void)codeun sig nedchartable=0xc0,0xf9,0xa4,

23、0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xbf,0xff;un sig ned char i,a;a=0xfe;/位選賦初值for (i=0; i<2; i+)/循環(huán)掃描兩位數(shù)碼管P2|=0x1f;/清除位選P0=tabledisprami;/送顯示段碼P2&=a;/選通一位delay(4);/延時(shí)2msa=_crol_(a,1);/改變位選字P0=0xff;/消影“ +”鍵打開(kāi)蜂鳴器(發(fā)出按鍵音)延時(shí)消抖關(guān)閉蜂鳴器檔位加一顯示當(dāng)前檔位等待鍵釋放返回有鍵按下/*按鍵掃描處理函數(shù) unsig

24、ned char keyscan(void)無(wú)參數(shù),返回值:無(wú)符號(hào)字符型,無(wú)鍵按下為 0,有鍵按下為其它影響全局變量:heatpower*/un sig ned char keysca n(v oid)un sig ned char i,ch;if (upkey=0)/buzz=0;/for (i=0;i<5;i+) display(); /buzz=1;/if (heatpower<9) heatpower+; / dispram0=0;dispram1=heatpower; /while (upkey=0) display(); /else if (dow nkey=0)/re

25、turn (1);/打開(kāi)蜂鳴器(發(fā)出按鍵音)延時(shí)消抖關(guān)閉蜂鳴器檔位減一顯示當(dāng)前檔位等待鍵釋放返回有鍵按下開(kāi)關(guān)鍵打開(kāi)蜂鳴器(發(fā)出按鍵音)延時(shí)消抖關(guān)閉蜂鳴器置位開(kāi)關(guān)鍵等待鍵釋放暫存中斷控制字IE禁止中斷清除端口輸出buzz=O;/for (i=0;i<5;i+) display。; / buzz=1;/if (heatpower>0) heatpower-; / dispram0=0;dispram1=heatpower; / while (dow nkey=0) display(); / return (2);/else if (swkey=0) /buzz=0;/for (i=0;

26、i<30;i+) display(); /buzz=1;/swkey=1;/while (swkey=0) display(); / ch=IE;/IE=0x00;/P0=0xff;P1=0xff;P2=0xff;/顯示“-等待開(kāi)關(guān)鍵按下打開(kāi)蜂鳴器(發(fā)出按鍵音延時(shí)消抖關(guān)閉蜂鳴器確認(rèn)開(kāi)關(guān)鍵被按下等待鍵釋放還原中斷控制字IE返回?zé)o鍵按下無(wú)任何鍵按下時(shí)由此返回dispram0=0x10;dispram1=0x10;/display。;while (1)while (swkey) display。;/buzz=0;/for (i=0;i<10;i+) display。;/buzz=1;/i

27、f (swkey=0) break; /while (swkey=0) display(); /IE=ch;/return (0);/else return (0);/*加熱控制函數(shù)void heatctrl(void)無(wú)參數(shù),無(wú)返回值判斷是否加熱、加熱功率及檔位指示燈處理*/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

28、 1:case 2:case 3:case 4: led1=0;led2=1;led3=1;EX1=1;break; /14檔case 5:case 6:case 7:case 8: led1=0;led2=0;led3=1;EX1=1;break; 58檔燈亮case 9: EX1=0;ET1=0;led1=0;led2=0;led3=0;triac=0;break; /9檔不1號(hào)指示等亮1號(hào)、2號(hào)指示檔全功率,指示燈全亮當(dāng)有超溫標(biāo)志時(shí)斷開(kāi)繼電器關(guān)閉可控硅蜂鳴報(bào)警else/relay=1;/EX仁0; ET1=0; triac=1;/buzz=0;/*測(cè)溫函數(shù) void temptest(v

29、oid)無(wú)參數(shù),無(wú)返回值,影響全局變量: ctemp,tempov測(cè)量并查表計(jì)算溫度,判斷是否超溫*/void temptest(void)sig ned char temp,tempm in ,tempmax;un sig ned int t0rig;codeun sig nedinttemptab=0x6262,0x61eb,0x6171,0x60f7,0x6047,0x5ff7,0x5f6e,0x5eef,0x5e53,0x5dbe,0x5d4b,0x5ca5,0x5c17,0x5b6b,0x5ada,0x5a5c,0x599b,0x58ff,0x5869,0x57b0,0x570d,0

30、x5663,0x55c6,0x550e,0x5444,0x5396,0x52dd,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,

31、0x3507,0x3487,0x33bc,0x32ed,0x324f,0x319e,0x3106,0x3053,0x2fa6,0x2f2a,0x2e88,0x2e00,0x2d63,0x2cd6,0x2c65,0x2bae,0x2b28,0x2a97,0x2a07,0x298e,0x2914,0x287a,0x280d,0x278a,0x2703,0x2687,0x2626,'測(cè)頻中斷函數(shù)參數(shù) 置測(cè)頻程序開(kāi)始標(biāo)志 打開(kāi)測(cè)頻外中斷 清除測(cè)頻程序完成標(biāo)志等待測(cè)試完成; /溫度頻率表px0cou nt=2;/t0tst=1;/EX0=1;/testok=0;/while (!testok)

32、display。;/tempm in=O;/以下是二分查表法計(jì)算溫度值tempmax=100;/tempm in和tempmax為溫度表的圍while (1)temp=(tempmax+tempmi n)/2;/點(diǎn)值if (t0rig=temptabtemp) break; /假定當(dāng)前溫度為最大值與最小值之中若實(shí)際值等于假定值結(jié)束查找else if (t0rig>temptabtemp) tempmax=temp;/減小查找圍的最大值若實(shí)際值大于假定值,else tempm in=temp;/最小值if (tempmax-tempm in<=1)/ /if (temptabtempmax+temptabtempm in >2*t0rig)最大值取最大值else temp=tempmi n;/break;/ctemp=temp;/if (temp>

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論