




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上電子信息工程專業(yè)課程設(shè)計(jì)任務(wù)書題目:電熱水器控制系統(tǒng)設(shè)計(jì)設(shè)計(jì)容設(shè)計(jì)一個(gè)由8051MCU組成的電熱水器控制系統(tǒng)。能夠測(cè)量當(dāng)前水溫并顯示;可以設(shè)置燒水溫度,當(dāng)無水時(shí)要有報(bào)警功能。通過這個(gè)過程熟悉溫度傳感器、鍵盤控制和七段數(shù)碼管的使用,掌握51系列單片機(jī)控制和測(cè)試方法。;用LED顯示測(cè)量得到的水溫值。完成基本要求,可以適當(dāng)發(fā)揮進(jìn)行擴(kuò)展設(shè)計(jì)。1)數(shù)碼管顯示:年月日時(shí)分秒;2)鍵盤輸入修改時(shí)間、日期設(shè)置; 設(shè)計(jì)步驟一、總體方案設(shè)計(jì)以51系列MCU構(gòu)成核心模塊,合理分配存儲(chǔ)器資源和I/O資源。溫度采集模塊建議采用DS18B20,或采用Pt100再經(jīng)模數(shù)轉(zhuǎn)換;顯示模塊用
2、2位LED可滿足需要;報(bào)警模塊可采用聲光等形式;輸入模塊可選用矩陣式鍵盤或鍵盤驅(qū)動(dòng)芯片;可選用8255進(jìn)行I/O擴(kuò)展。二、硬件選型工作對(duì)于每一個(gè)芯片要有具體型號(hào),對(duì)每個(gè)分立元件要給出其參數(shù)三、硬件的設(shè)計(jì)和實(shí)現(xiàn)1. 選擇計(jì)算機(jī)機(jī)型(采用51核的單片機(jī));2. 設(shè)計(jì)支持計(jì)算機(jī)工作的外圍電路(EPROM、RAM、I/O端口、鍵盤、顯示接口電路等);3. 接口電路;4. 其它相關(guān)電路的設(shè)計(jì)或方案(電源、通信等)四、軟件設(shè)計(jì)1. 分配系統(tǒng)資源,編寫系統(tǒng)初始化和主程序模塊;2. 編寫相關(guān)子程序;3. 其它程序模塊(顯示與鍵盤等處理程序)。五、編寫課程設(shè)計(jì)說明書,繪制完整的系統(tǒng)電路圖(A3幅面)。目 錄一、
3、設(shè)計(jì)要求1二、設(shè)計(jì)目的1三、設(shè)計(jì)的具體實(shí)現(xiàn) 11.硬件設(shè)計(jì) 21.1.單片機(jī)的選擇 21.2.水位檢測(cè)電路 61.3.溫度檢測(cè)電路 71.4.A/D轉(zhuǎn)換器 91.5.報(bào)警電路102.軟件設(shè)計(jì) 112.1.溫度測(cè)量子程序 122.2.判斷子程序 132.3重要代碼四、結(jié)論與展望14五、心得體會(huì)及建議 14六、附錄14七、參考文獻(xiàn)14專心-專注-專業(yè)電熱水器控制系統(tǒng)設(shè)計(jì)報(bào)告一、設(shè)計(jì)要求設(shè)計(jì)一個(gè)由8051MCU組成的電熱水器控制系統(tǒng)。能夠測(cè)量當(dāng)前水溫并顯示;可以設(shè)置燒水溫度,當(dāng)無水時(shí)要有報(bào)警功能。通過這個(gè)過程熟悉溫度傳感器、鍵盤控制和七段數(shù)碼管的使用,掌握51系列單片機(jī)控制和測(cè)試方法。設(shè)計(jì)以AT89
4、C51單片機(jī)為核心,用LED顯示測(cè)量得到的水溫值。完成基本要求,可以適當(dāng)發(fā)揮進(jìn)行擴(kuò)展設(shè)計(jì)。1)數(shù)碼管顯示:年月日時(shí)分秒;2)鍵盤輸入修改時(shí)間、日期設(shè)置; 以51系列MCU構(gòu)成核心模塊,合理分配存儲(chǔ)器資源和I/O資源。溫度采集模塊建議采用DS18B20,或采用Pt100再經(jīng)模數(shù)轉(zhuǎn)換;顯示模塊用2位LED可滿足需要;報(bào)警模塊可采用聲光等形式;輸入模塊可選用矩陣式鍵盤或鍵盤驅(qū)動(dòng)芯片;可選用8255進(jìn)行I/O擴(kuò)展。二、設(shè)計(jì)目的運(yùn)用我們所學(xué)的專業(yè)知識(shí),采用單片機(jī)為主控芯片設(shè)計(jì)電熱水器控制系統(tǒng)并輔以外圍電路設(shè)計(jì),既能加深我們對(duì)專業(yè)知識(shí)的理解,又能培養(yǎng)專業(yè)知識(shí)與實(shí)踐相結(jié)合的實(shí)踐技能,提高我們分析
5、、解決問題的能力。三、設(shè)計(jì)具體實(shí)現(xiàn)電熱水器控制系統(tǒng)的整體設(shè)計(jì)方案包括硬件設(shè)計(jì)方案和軟件設(shè)計(jì)方案。硬件是指以微控制器作為核心,由外接溫度測(cè)量電路、鍵盤、復(fù)位、熱水器加熱開關(guān)、LED顯示電路、報(bào)警電路組成。根據(jù)功能需求說明,本著節(jié)約開發(fā)成本、增加系統(tǒng)可靠性、減小體積等原則進(jìn)行電熱水器控制系統(tǒng)的硬件設(shè)計(jì)。本系統(tǒng)采用51系列單片機(jī)AT89C52作為整個(gè)系統(tǒng)的核心,利用AT89C52現(xiàn)有的接口組織外圍硬件模塊。由于環(huán)境的特殊性,溫度測(cè)量主要是由Pt00鉑電阻溫度傳感器、溫度傳感器的信號(hào)調(diào)理電路和基于ADC0801的A/D轉(zhuǎn)換電路組成;鍵盤由三個(gè)按鍵組成:分別為開關(guān)和“+”、“-”;水位檢測(cè)電路檢測(cè)是否有
6、水,避免干燒;LED顯示電路主要用于顯示溫度;報(bào)警裝置為單片機(jī)I/O口驅(qū)動(dòng)蜂鳴器,達(dá)到報(bào)警的效果。鍵盤顯示電路加熱開關(guān)控制水位檢測(cè) 溫度檢測(cè)蜂鳴報(bào)警A/DAT89C52圖1 系統(tǒng)硬件圖1硬件設(shè)計(jì)1.1 單片機(jī)的選擇圖2 AT89C52芯片引腳圖AT89C52 主要性能:1、 與MCS-51 單片機(jī)產(chǎn)品兼容2、 8K 字節(jié)在系統(tǒng)可編程Flash 存儲(chǔ)器3、 1000 次擦寫周期4、 全靜態(tài)操作:0Hz33Hz 5、 三級(jí)加密程序存儲(chǔ)器6、 32 個(gè)可編程I/O 口線7、 三個(gè)16 位定時(shí)器/計(jì)數(shù)器8、 八個(gè)中斷源9、 全雙工UART 串行通道10、低功耗空閑和掉電模式l1、掉電后中斷可喚醒l2、
7、看門狗定時(shí)器13、雙數(shù)據(jù)指針l4、掉電標(biāo)識(shí)符功能特性描述:AT89C52提供以下表中功能:8k字節(jié)Flash閃速存儲(chǔ)器,256字節(jié)部RAM,32個(gè)I/O口線,3個(gè)16位定時(shí)/計(jì)數(shù)器,一個(gè)6向量兩級(jí)中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片振蕩器及時(shí)鐘電路。同時(shí),AT89C52可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許RAM,定時(shí)/計(jì)數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的容,但振蕩器停止工作并禁止其它所有部件工作指導(dǎo)下一個(gè)硬件復(fù)位。VCC : 電源電壓GND: 地P0 口:P0口是一個(gè)8位漏極開路的雙向I/O口,也即地址/數(shù)據(jù)總線復(fù)
8、用口。作為輸出口,每位能吸收電流的方式驅(qū)動(dòng)8個(gè)TTL邏輯電平。對(duì)P0端口寫“1”時(shí),引腳用作高阻抗輸入。當(dāng)訪問外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),P0口也被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下,P0具有部上拉電阻。在flash編程時(shí),P0口也用來接收指令字節(jié);在程序校驗(yàn)時(shí),輸出指令字節(jié)。程序校驗(yàn)時(shí),需要外部上拉電阻。P1 口:P1 口是一個(gè)具有部上拉電阻的8 位雙向I/O 口,P1 輸出緩沖器能驅(qū)動(dòng)4 個(gè)TTL 邏輯電平。對(duì)P1 端口寫“1”時(shí),部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于部電阻的原因,將輸出電流(IIL)。此外,P1.0和P1.1分別作定時(shí)器/計(jì)數(shù)
9、器2的外部計(jì)數(shù)輸(P1.0/T2)和時(shí)器/計(jì)數(shù)器2的觸發(fā)輸入(P1.1/T2EX),具體如下表所示。在flash編程和校驗(yàn)時(shí),P1口接收低8位地址字節(jié)。表1 P1.0和P1.1口的第二功能P2 口:P2 口是一個(gè)具有部上拉電阻的8 位雙向I/O 口,P2 輸出緩沖器能驅(qū)動(dòng)4 個(gè)TTL 邏輯電平。對(duì)P2 端口寫“1”時(shí),部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于部電阻的原因,將輸出電流(IIL)。在訪問外部程序存儲(chǔ)器或用16位地址讀取外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOVX DPTR)時(shí),P2 口送出高八位地址。在這種應(yīng)用中,P2 口使用很強(qiáng)的部上拉發(fā)送1。在使用
10、8位地址(如MOVX RI)訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),P2口輸出P2鎖存器的容。在flash編程和校驗(yàn)時(shí),P2口也接收高8位地址字節(jié)和一些控制信號(hào)。P3口:P3 口是一個(gè)具有部上拉電阻的8 位雙向I/O 口,P3 輸出緩沖器能驅(qū)動(dòng)4 個(gè)TTL 邏輯電平。對(duì)P3 端口寫“1”時(shí),部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于部電阻的原因,將輸出電流(IIL)。P3口亦作為AT89C52特殊功能(第二功能)使用,如下表所示。在flash編程和校驗(yàn)時(shí),P3口也接收一些控制信號(hào)。表2 P3口的第二功能RST: 復(fù)位輸入。晶振工作時(shí),RST腳持續(xù)2 個(gè)機(jī)器周期高電平將使單
11、片機(jī)復(fù)位。ALE/PROG:地址鎖存控制信號(hào)(ALE)是訪問外部程序存儲(chǔ)器時(shí),鎖存低8 位地址的輸出脈沖。在flash編程時(shí),此引腳(PROG)也用作編程輸入脈沖。在一般情況下,ALE 以晶振六分之一的固定頻率輸出脈沖,可用來作為外部定時(shí)器或時(shí)鐘使用。然而,特別強(qiáng)調(diào),在每次訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),ALE脈沖將會(huì)跳過。如果需要,通過將地址為8EH的SFR的第0位置 “1”,ALE操作將無效。這一位置 “1”,ALE 僅在執(zhí)行MOVX 或MOVC指令時(shí)有效。否則,ALE 將被微弱拉高。這個(gè)ALE 使能標(biāo)志位(地址為8EH的SFR的第0位)的設(shè)置對(duì)微控制器處于外部執(zhí)行模式下無效。PSEN:外部程序存儲(chǔ)
12、器選通信號(hào)(PSEN)是外部程序存儲(chǔ)器選通信號(hào)。當(dāng)AT89C52從外部程序存儲(chǔ)器執(zhí)行外部代碼時(shí),PSEN在每個(gè)機(jī)器周期被激活兩次,而在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),PSEN將不被激活。EA/VPP:訪問外部程序存儲(chǔ)器控制信號(hào)。為使能從0000H 到FFFFH的外部程序存儲(chǔ)器讀取指令,EA必須接GND。為了執(zhí)行部程序指令,EA應(yīng)該接VCC。在flash編程期間,EA也接收12伏VPP電壓。XTAL1:振蕩器反相放大器和部時(shí)鐘發(fā)生器的輸入端。XTAL2:振蕩器反相放大器的輸出端。Flash 編程并行模式:AT89C52 帶有用作編程的片上Flash 存儲(chǔ)器陣列。編程接口需要一個(gè)高電壓(12V)編程使能信號(hào)
13、,并且兼容常規(guī)的第三方Flash 或EPROM 編程器。編程方法:對(duì)AT89C52 編程之前,需設(shè)置好地址、數(shù)據(jù)及控制信號(hào),可采用下列步驟對(duì)AT89C52 編程:1在地址線上輸入編程單元地址信號(hào)2在數(shù)據(jù)線上輸入正確的數(shù)據(jù)3激活相應(yīng)的控制信號(hào)4把EA/Vpp 升至12V 5每給Flash 寫入一個(gè)字節(jié)或程序加密位時(shí),都要給ALE/PROG 一次脈沖。每個(gè)字節(jié)寫入周期是自身定時(shí)的,通常均為1.5ms。重復(fù)15步驟,改變編程單元的地址和寫入的數(shù)據(jù),直到全部文件編程結(jié)束。1.2.水位檢測(cè)電路在這里我采用排阻式水位傳感器的方法,排阻式水位傳感器的工作原理大致是分別用兩個(gè)根銅針分別置于水箱的底部位置。若是
14、無水,銅針不接觸水面,其輸出為高電平;若銅針與其對(duì)應(yīng)水面接觸時(shí)則輸出為低電平,輸出接至電子開關(guān),接到AT89S52的 P33引腳。單片機(jī)對(duì)引腳進(jìn)行判斷后 ,判斷是否有水,避免干燒。水位傳感器采用電壓跟隨器與電壓比較電路相結(jié)合實(shí)現(xiàn)。圖3 水位檢測(cè)電路1.3.溫度檢測(cè)電路在溫度檢測(cè)電路采用WZP型Pt100溫度傳感器進(jìn)行設(shè)計(jì),溫度的測(cè)量圍為0+400之間,分辨率為2,溫度顯示設(shè)置為小數(shù)點(diǎn)后1位數(shù)據(jù)。Pt100是模擬量輸出的溫度傳感器,隨溫度變化的是電阻,所以需要通過模擬電路將電阻轉(zhuǎn)變?yōu)殡妷海缓蠼?jīng)放大電路處理后再送入A/D轉(zhuǎn)換器。Pt100熱電阻是利用金屬導(dǎo)體再溫度變化時(shí)自身的電阻值也隨著發(fā)生變化
15、的特性來測(cè)量溫度的。熱電阻的受熱部分是用細(xì)金屬絲均勻地雙繞在絕緣材料制成的骨架上。當(dāng)被檢測(cè)介質(zhì)中有溫度梯度存在時(shí),所測(cè)得的溫度是感溫元件所在圍介質(zhì)層中的平均溫度。Pt100溫度傳感器為正溫度系數(shù)熱敏電阻傳感器,主要技術(shù)參數(shù)如下:1. 測(cè)溫圍:-200+850;2. 允許偏差值:A級(jí)±(0.15+0.02|t|),B級(jí)±(0.30+0.05|t|);3. 最小置入深度:熱電阻的最小置入深度200mm;4. 允許通過的通電流5mA;5. 另外,Pt100溫度傳感器還具有抗震動(dòng)、穩(wěn)定性好、準(zhǔn)確度高、耐高壓等優(yōu)點(diǎn)。Pt100的線性好,在0100之間變化時(shí),最大非線性偏差小于0.5。
16、雖然Pt100的線性度比較好,但是可以從數(shù)據(jù)之間發(fā)現(xiàn)Pt100的電阻與測(cè)量的溫度之間并不是完全的線性關(guān)系。因此在實(shí)際使用Pt100時(shí),往往需要通過查表法或線性插值算法來計(jì)算出測(cè)量的溫度。查表法是指在單片機(jī)的ROM存儲(chǔ)區(qū)間中建立一個(gè)電阻和溫度之間的分度表。當(dāng)測(cè)量溫度時(shí),通過軟件先計(jì)算出Pt100的阻值,然后再去查詢分度表獲得該阻值所對(duì)應(yīng)的溫度值。顯而易見,在檢測(cè)值的圍對(duì)標(biāo)定的點(diǎn)數(shù)設(shè)置的越多表格越大,占用的的ROM存儲(chǔ)容量也就越大,但是對(duì)Pt100的描述也就越精確。另一種計(jì)算溫度的方法就是采用線性插值算法。這種方法就是通過已知的Pt100分度表中的數(shù)據(jù),將溫度的變化曲線分為相應(yīng)的幾段。然后,找一個(gè)
17、最佳的函數(shù)關(guān)系式來表示各段曲線上Pt100的阻值與被測(cè)溫度之間的函數(shù)關(guān)系式。由于每個(gè)區(qū)間段都是用了一個(gè)函數(shù)解析式來進(jìn)行描述,因此這種方法在程序設(shè)計(jì)時(shí)十分方便。所以在此我們采用線性插值算法。根據(jù)系統(tǒng)的溫度測(cè)量圍先將曲線分為四段,每100分為一段。每一段的溫度與阻值之間的關(guān)系如下:當(dāng)0t100時(shí),t=2.558*Rpt100-256.02當(dāng)100<t200時(shí),t=2.637*Rpt100-267.01當(dāng)200<t300時(shí),t=2.721*Rpt100-281.9當(dāng)300<t400時(shí),t=2.81*Rpt100-300.94圖4 溫度測(cè)量電路圖放大電路采用LM358集成運(yùn)算放大器,
18、為了防止單級(jí)放大倍數(shù)過高帶來的非線性誤差,放大電路采用兩級(jí)放大,如圖 3.4所示,前一級(jí)約為10倍,后一級(jí)約為3倍。溫度在0100度變化,當(dāng)溫度上升時(shí),Pt100阻值變大,輸入放大電路的差分信號(hào)變大,放大電路的輸出電壓Av對(duì)應(yīng)升高。1.4.A/D轉(zhuǎn)換器 ADC0801是一個(gè)8位、單通道、低價(jià)格A/D轉(zhuǎn)換器,主要特點(diǎn)是:摸數(shù)轉(zhuǎn)換時(shí)間大約100us;方便的TTL或CMOS標(biāo)準(zhǔn)接口;可以滿足差分電壓輸入;具有參考電壓輸入端;含時(shí)鐘發(fā)生器;單電源工作時(shí)(0V5V)輸入信號(hào)電壓圍是0V5V;不需要調(diào)零等等。 CS:片選信號(hào)。低電平有效,高電平時(shí)芯片不工作。
19、160; RD:外部讀數(shù)據(jù)控制信號(hào)。此信號(hào)低電平時(shí)ADC0804把轉(zhuǎn)換完成的數(shù)據(jù)加載到DB口。 WR:外部寫數(shù)據(jù)控制信號(hào)。此信號(hào)的上升沿可以啟動(dòng)ADC0804的A/D轉(zhuǎn)換過程。 CLK IN:時(shí)鐘輸入引腳。ADC0804使用RC振蕩器作為A/D時(shí)鐘,CLK IN是振動(dòng) 的輸入端。
20、0; INTR:轉(zhuǎn)換結(jié)束輸出信號(hào)。ADC0804完成一次A/D轉(zhuǎn)換后,此引腳輸出一個(gè)低脈沖。對(duì)單片機(jī)可以稱為中斷觸發(fā)信號(hào)。 Vin(+):輸入信號(hào)電壓的正極。 Vin():輸入信號(hào)電壓的負(fù)極??梢赃B接到電源地。 AGND:模擬電源的地線。
21、; Vref/2:參考電源輸入端。參考電源取輸入信號(hào)電壓(最大值)的二分之一。例如輸入信號(hào)電壓是0V5V時(shí),參考電源取2.;輸入信號(hào)電壓是0V4V時(shí),參考電源取2. 0V。 DGND:數(shù)字電源的地線。 DB8DB0:數(shù)字信號(hào)輸出口,連接單片機(jī)的數(shù)據(jù)總線。
22、60;CLK R:時(shí)鐘輸入端。 VCC:5V電源引腳。 補(bǔ)充說明:CLKI和CLKR:ADC08010805 片有時(shí)鐘電路,只要在外部“CLKI”和“CLKR”兩端外接一對(duì)電阻電容即可產(chǎn)生A/D 轉(zhuǎn)換所要求的時(shí)鐘,其振蕩頻率為fCLK1/1.1RC。其典型應(yīng)用參數(shù)為:R=10K,C=150PF,fCLK640KHz,轉(zhuǎn)換速度為100。若采用外部時(shí)鐘,則外部fCLK 可從
23、CLKI 端送入,此時(shí)不接R、C。允許的時(shí)鐘頻率圍為100KHz1460KHz。 圖5 A/D轉(zhuǎn)換器電路圖1.5.報(bào)警電路蜂鳴器是采用直流電壓供電的一種一體化結(jié)構(gòu)的電子訊響器,目前廣泛應(yīng)用于我們的生活中,比如說在電腦、各種報(bào)警器、汽車電子設(shè)備、機(jī)、定時(shí)器等常見的電子產(chǎn)品中作為發(fā)聲器。本設(shè)計(jì)采用的蜂鳴器為電磁式蜂鳴器。電磁式蜂鳴器由振蕩器、磁鐵、電磁線圈、振動(dòng)膜片以及外殼組成,電磁式蜂鳴器基本原理是在電源接通后,在電磁線圈和磁鐵的相互作用下,振蕩膜片周期性地振動(dòng)發(fā)聲。因?yàn)榉澍Q器通常工作電流比較大,但是單片機(jī)I/O口輸出的電流很小驅(qū)動(dòng)不了蜂鳴
24、器,所以還得選用的NPN型三極管9013來驅(qū)動(dòng)蜂鳴器。報(bào)警電路設(shè)計(jì)原理:當(dāng)水箱的水位降到一定值時(shí),輸出的低電平信號(hào),或者燒水溫度達(dá)到預(yù)置溫度時(shí),單片機(jī)通過指令將P1.5置成高電平,三極管Q5導(dǎo)通,揚(yáng)聲器工作,發(fā)出吱吱的聲音。同理當(dāng)水箱的水過高時(shí),P1.5為高電平,報(bào)警電路開始工作。蜂鳴器報(bào)警電路如圖3.6所示。圖6 電磁式蜂鳴器報(bào)警電路圖2 軟件設(shè)計(jì)軟件設(shè)計(jì)由主程序,鍵掃描子程序及若干功能模塊子程序組成。其中主控制器子程序包括A/D轉(zhuǎn)換子程序(水位、水溫),鍵盤處理及顯示子程序,加熱控制子程序(使用輸出比較功能)等組成。主程序要先初始化系統(tǒng)的工作參數(shù),主要是單片機(jī)的定時(shí)器,COP模塊、A/D轉(zhuǎn)
25、換、端口、鍵中斷等的工作模式參數(shù)設(shè)定,之后系統(tǒng)主程序循環(huán)調(diào)用各個(gè)功能模塊子程序,對(duì)相關(guān)事件的處理依靠標(biāo)志位和判斷標(biāo)志位實(shí)現(xiàn)。在本次設(shè)計(jì)中運(yùn)用到了PROTEUS的ISIS電路分析實(shí)物仿真系統(tǒng)和KEIL單片機(jī)編程軟件,通過對(duì)它們聯(lián)調(diào)可以仿真出本次設(shè)計(jì)的要求。主程序設(shè)計(jì)思路:軟件設(shè)計(jì)采用各個(gè)模塊功能分開獨(dú)立設(shè)施的設(shè)計(jì)方式,將各個(gè)功能分成獨(dú)立模塊,有系統(tǒng)和監(jiān)控程序一起管理執(zhí)行。本設(shè)計(jì)的軟件包括主程序,鍵盤掃描子程序,顯示子程序,水位測(cè)量子程序以及有關(guān)的Pt100的程序。我主要說明了兩個(gè)最主要的子程序:溫度測(cè)量、水位測(cè)量的流程和液晶顯示流程。主程序完成功能:系統(tǒng)對(duì)傳感器PT100、顯示器進(jìn)行初始化,并且
26、讀取用戶通過鍵盤設(shè)置的最高燒水溫度信息,隨之系統(tǒng)自動(dòng)讀取當(dāng)前水位,系統(tǒng)執(zhí)行相應(yīng)功能,完成后等待下一次的啟動(dòng)命令。當(dāng)檢測(cè)到無水時(shí),系統(tǒng)會(huì)啟動(dòng)報(bào)警電路工作,當(dāng)檢測(cè)到超過設(shè)定的燒水溫度時(shí),啟動(dòng)報(bào)警電路并關(guān)閉加熱電路。本設(shè)計(jì)的系統(tǒng)整體流程圖如圖8所示。開始初始化測(cè)量當(dāng)前溫度顯示當(dāng)前溫度判斷是否有按鍵 否 是更改設(shè)定溫度開電磁閥判斷當(dāng)前是否有水溫度是否低于預(yù)定值 是 否圖7 系統(tǒng)總體程序流程圖2.1溫度測(cè)量子程序溫度測(cè)量由Pt100溫度傳感器來完成,溫度測(cè)量子程序流程如圖3.8所示。根據(jù)系統(tǒng)的溫度測(cè)量圍溫度與阻值之間的關(guān)系編寫程序,使阻值變換為溫度,進(jìn)行溫度的測(cè)量,送入AT89C51單片機(jī),之后送入顯示
27、電路進(jìn)行顯示溫度。圖8 Pt100測(cè)溫程序流程圖2.2判斷子程序判斷整個(gè)程序的運(yùn)行,當(dāng)水溫超過預(yù)定設(shè)置溫度值時(shí),關(guān)閉加熱電路,如果低于預(yù)定設(shè)置溫度值時(shí),開通加熱電路,進(jìn)行加熱。當(dāng)無水的時(shí)候,自己斷電避免干燒,并蜂鳴報(bào)警。斷電水溫高于設(shè)定值嗎?水溫低于設(shè)定值嗎?通電加熱報(bào)警斷電無水嗎?NNYNY開始圖9 判斷程序流程圖2.3重要代碼主函數(shù):void main()TMOD=0x01;TH0=(65536-46000)/256;TL0=(65536-46000)%256;EA=1;ET0=1;TR0=1;zd=0;num=21;aaa=0;bbb=0;num1=21;num2=21;num3=21;
28、while(1)uint a;uchar b;changetemp();a=gettemp();b=scanff();numy=gettemp();display(a,b);顯示函數(shù)的分析:void display(uint a,uchar b)uchar i,temp,srtemp,dis4;uint dda;dda=abs(a);numx=dda/1000;num4=dda%1000/100;num5=dda%100/10;num6=dda%10;dis0=numx;dis1=num4;dis2=num5;dis3=num6;dis2+=10; if(dis0=0)&&(d
29、is1=0)dis1=20; if(a<0) dis3+=10;elseif(dis0!=0) dis1=dis1+10;temp=0xfb;for(i=1;i<4;i+)P0=0xff;wei=1;temp=_crol_(temp,1);P0=temp;wei=0;P0=0;duan=1;P0=tabledisi;duan=0;delay(3);duan=1;P0=0x00;duan=0;if(aaa=1&&ccc!=21)bbb+;switch(bbb)case 0:dis1=b;num1=b;dis2=num2;dis3=num3;if(dis2=21)dis
30、2+;elsedis2+=10;srtemp=0xfe;for(i=1;i<4;i+)P0=0xff;wei=1;P0=srtemp; wei=0;srtemp=_crol_(srtemp,1);P0=0x00;duan=1;P0=tabledisi;duan=0;delay(1);duan=1;P0=0x00;duan=0;break;case 1:dis1=num1;dis2=b;num2=b;dis3=num3;if(dis2=21)dis2+;elsedis2+=10;srtemp=0xfe;for(i=1;i<4;i+)P0=0xff;wei=1;P0=srtemp; wei=0;srtemp=_crol_(srtemp,1);P0=0x00;duan=1;P0=tabledisi;duan=0;delay(1);duan=1;P0=0x00;duan=0;中斷加熱子函數(shù)的分析:void timer0() interrupt 1int a;TH0=(65536-46000)/256;TL0=(65536-46000)%256;zd+;if(zd=6)zd=0;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 課題申報(bào)書高校怎么寫的
- 藥學(xué)課題申報(bào)書范文
- 科技課題立項(xiàng)申報(bào)書
- 微課教學(xué)課題申報(bào)書
- 學(xué)校美育特色課題申報(bào)書
- 涉穩(wěn)調(diào)研課題申報(bào)書
- 足球現(xiàn)狀課題申報(bào)書
- 課題申報(bào)書資料哪里找
- 品牌vi授權(quán)合同范本
- 樂理課題申報(bào)書
- 傳媒侵權(quán)法介紹
- 初中物理作圖題集萃附答案
- 5S管理優(yōu)點(diǎn)與推行手段實(shí)施可視化現(xiàn)場(chǎng)管理的要點(diǎn)與方法
- 2023屆高考英語單詞分類-航空航天類詞匯短語與高分句型模板講義
- 第七版《方劑學(xué)》課本方歌
- 劉心武班主任
- MT 191-1989煤礦井下用橡膠管安全性能檢驗(yàn)規(guī)范
- GB/T 6031-1998硫化橡膠或熱塑性橡膠硬度的測(cè)定(10~100IRHD)
- GB/T 3280-2015不銹鋼冷軋鋼板和鋼帶
- GB/T 1872-1995磷礦石和磷精礦中氟含量的測(cè)定離子選擇性電極法
- 診所備案信息表2022
評(píng)論
0/150
提交評(píng)論