




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、電子信息工程專業課程設計任務書題目:電熱水器控制系統設計設計內容設計一個由8051MCU組成的電熱水器控制系統。能夠測量當前水溫并顯示;可以設置燒水溫度,當無水時要有報警功能。通過這個過程熟悉溫度傳感器、鍵盤控制和七段數碼管的使用,掌握51系列單片機控制和測試方法。;用LED顯示測量得到的水溫值。完成基本要求,可以適當發揮進行擴展設計。1)數碼管顯示:年月日時分秒;2)鍵盤輸入修改時間、日期設置; 設計步驟一、總體方案設計以51系列MCU構成核心模塊,合理分配存儲器資源和I/O資源。溫度采集模塊建議采用DS18B20,或采用Pt100再經模數轉換;顯示模塊用2位LED可滿足需要;報
2、警模塊可采用聲光等形式;輸入模塊可選用矩陣式鍵盤或鍵盤驅動芯片;可選用8255進行I/O擴展。二、硬件選型工作對于每一個芯片要有具體型號,對每個分立元件要給出其參數三、硬件的設計和實現1. 選擇計算機機型(采用51內核的單片機);2. 設計支持計算機工作的外圍電路(EPROM、RAM、I/O端口、鍵盤、顯示接口電路等);3. 接口電路;4. 其它相關電路的設計或方案(電源、通信等)四、軟件設計1. 分配系統資源,編寫系統初始化和主程序模塊;2. 編寫相關子程序;3. 其它程序模塊(顯示與鍵盤等處理程序)。五、編寫課程設計說明書,繪制完整的系統電路圖(A3幅面)。目 錄一、設計要求1二、設計目的
3、1三、設計的具體實現 11.硬件設計 21.1.單片機的選擇 21.2.水位檢測電路 61.3.溫度檢測電路 71.4.A/D轉換器 91.5.報警電路102.軟件設計 112.1.溫度測量子程序 122.2.判斷子程序 132.3重要代碼四、結論與展望14五、心得體會及建議 14六、附錄14七、參考文獻14電熱水器控制系統設計報告一、設計要求設計一個由8051MCU組成的電熱水器控制系統。能夠測量當前水溫并顯示;可以設置燒水溫度,當無水時要有報警功能。通過這個過程熟悉溫度傳感器、鍵盤控制和七段數碼管的使用,掌握51系列單片機控制和測試方法。設計以AT89C51單片機為核心,用LED顯示測量得
4、到的水溫值。完成基本要求,可以適當發揮進行擴展設計。1)數碼管顯示:年月日時分秒;2)鍵盤輸入修改時間、日期設置; 以51系列MCU構成核心模塊,合理分配存儲器資源和I/O資源。溫度采集模塊建議采用DS18B20,或采用Pt100再經模數轉換;顯示模塊用2位LED可滿足需要;報警模塊可采用聲光等形式;輸入模塊可選用矩陣式鍵盤或鍵盤驅動芯片;可選用8255進行I/O擴展。二、設計目的運用我們所學的專業知識,采用單片機為主控芯片設計電熱水器控制系統并輔以外圍電路設計,既能加深我們對專業知識的理解,又能培養專業知識與實踐相結合的實踐技能,提高我們分析、解決問題的能力。三、設計具體實現電熱
5、水器控制系統的整體設計方案包括硬件設計方案和軟件設計方案。硬件是指以微控制器作為核心,由外接溫度測量電路、鍵盤、復位、熱水器加熱開關、LED顯示電路、報警電路組成。根據功能需求說明,本著節約開發成本、增加系統可靠性、減小體積等原則進行電熱水器控制系統的硬件設計。本系統采用51系列單片機AT89C52作為整個系統的核心,利用AT89C52現有的接口組織外圍硬件模塊。由于環境的特殊性,溫度測量主要是由Pt00鉑電阻溫度傳感器、溫度傳感器的信號調理電路和基于ADC0801的A/D轉換電路組成;鍵盤由三個按鍵組成:分別為開關和“+”、“-”;水位檢測電路檢測是否有水,避免干燒;LED顯示電路主要用于顯
6、示溫度;報警裝置為單片機I/O口驅動蜂鳴器,達到報警的效果。鍵盤顯示電路加熱開關控制水位檢測 溫度檢測蜂鳴報警A/DAT89C52圖1 系統硬件圖1硬件設計1.1 單片機的選擇圖2 AT89C52芯片引腳圖AT89C52 主要性能:1、 與MCS-51 單片機產品兼容2、 8K 字節在系統可編程Flash 存儲器3、 1000 次擦寫周期4、 全靜態操作:0Hz33Hz 5、 三級加密程序存儲器6、 32 個可編程I/O 口線7、 三個16 位定時器/計數器8、 八個中斷源9、 全雙工UART 串行通道10、低功耗空閑和掉電模式l1、掉電后中斷可喚醒l2、看門狗定時器13、雙數據指針l4、掉電
7、標識符功能特性描述:AT89C52提供以下表中功能:8k字節Flash閃速存儲器,256字節內部RAM,32個I/O口線,3個16位定時/計數器,一個6向量兩級中斷結構,一個全雙工串行通信口,片內振蕩器及時鐘電路。同時,AT89C52可降至0Hz的靜態邏輯操作,并支持兩種軟件可選的節電工作模式。空閑方式停止CPU的工作,但允許RAM,定時/計數器,串行通信口及中斷系統繼續工作。掉電方式保存RAM中的內容,但振蕩器停止工作并禁止其它所有部件工作指導下一個硬件復位。VCC : 電源電壓GND: 地P0 口:P0口是一個8位漏極開路的雙向I/O口,也即地址/數據總線復用口。作為輸出口,每位能吸收電流
8、的方式驅動8個TTL邏輯電平。對P0端口寫“1”時,引腳用作高阻抗輸入。當訪問外部程序和數據存儲器時,P0口也被作為低8位地址/數據復用。在這種模式下,P0具有內部上拉電阻。在flash編程時,P0口也用來接收指令字節;在程序校驗時,輸出指令字節。程序校驗時,需要外部上拉電阻。P1 口:P1 口是一個具有內部上拉電阻的8 位雙向I/O 口,P1 輸出緩沖器能驅動4 個TTL 邏輯電平。對P1 端口寫“1”時,內部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內部電阻的原因,將輸出電流(IIL)。此外,P1.0和P1.1分別作定時器/計數器2的外部計數輸(P1.
9、0/T2)和時器/計數器2的觸發輸入(P1.1/T2EX),具體如下表所示。在flash編程和校驗時,P1口接收低8位地址字節。表1 P1.0和P1.1口的第二功能P2 口:P2 口是一個具有內部上拉電阻的8 位雙向I/O 口,P2 輸出緩沖器能驅動4 個TTL 邏輯電平。對P2 端口寫“1”時,內部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內部電阻的原因,將輸出電流(IIL)。在訪問外部程序存儲器或用16位地址讀取外部數據存儲器(例如執行MOVX DPTR)時,P2 口送出高八位地址。在這種應用中,P2 口使用很強的內部上拉發送1。在使用8位地址(如MO
10、VX RI)訪問外部數據存儲器時,P2口輸出P2鎖存器的內容。在flash編程和校驗時,P2口也接收高8位地址字節和一些控制信號。P3口:P3 口是一個具有內部上拉電阻的8 位雙向I/O 口,P3 輸出緩沖器能驅動4 個TTL 邏輯電平。對P3 端口寫“1”時,內部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內部電阻的原因,將輸出電流(IIL)。P3口亦作為AT89C52特殊功能(第二功能)使用,如下表所示。在flash編程和校驗時,P3口也接收一些控制信號。表2 P3口的第二功能RST: 復位輸入。晶振工作時,RST腳持續2 個機器周期高電平將使單片機復位
11、。ALE/PROG:地址鎖存控制信號(ALE)是訪問外部程序存儲器時,鎖存低8 位地址的輸出脈沖。在flash編程時,此引腳(PROG)也用作編程輸入脈沖。在一般情況下,ALE 以晶振六分之一的固定頻率輸出脈沖,可用來作為外部定時器或時鐘使用。然而,特別強調,在每次訪問外部數據存儲器時,ALE脈沖將會跳過。如果需要,通過將地址為8EH的SFR的第0位置 “1”,ALE操作將無效。這一位置 “1”,ALE 僅在執行MOVX 或MOVC指令時有效。否則,ALE 將被微弱拉高。這個ALE 使能標志位(地址為8EH的SFR的第0位)的設置對微控制器處于外部執行模式下無效。PSEN:外部程序存儲器選通信
12、號(PSEN)是外部程序存儲器選通信號。當AT89C52從外部程序存儲器執行外部代碼時,PSEN在每個機器周期被激活兩次,而在訪問外部數據存儲器時,PSEN將不被激活。EA/VPP:訪問外部程序存儲器控制信號。為使能從0000H 到FFFFH的外部程序存儲器讀取指令,EA必須接GND。為了執行內部程序指令,EA應該接VCC。在flash編程期間,EA也接收12伏VPP電壓。XTAL1:振蕩器反相放大器和內部時鐘發生器的輸入端。XTAL2:振蕩器反相放大器的輸出端。Flash 編程并行模式:AT89C52 帶有用作編程的片上Flash 存儲器陣列。編程接口需要一個高電壓(12V)編程使能信號,并
13、且兼容常規的第三方Flash 或EPROM 編程器。編程方法:對AT89C52 編程之前,需設置好地址、數據及控制信號,可采用下列步驟對AT89C52 編程:1在地址線上輸入編程單元地址信號2在數據線上輸入正確的數據3激活相應的控制信號4把EA/Vpp 升至12V 5每給Flash 寫入一個字節或程序加密位時,都要給ALE/PROG 一次脈沖。每個字節寫入周期是自身定時的,通常均為1.5ms。重復15步驟,改變編程單元的地址和寫入的數據,直到全部文件編程結束。1.2.水位檢測電路在這里我采用排阻式水位傳感器的方法,排阻式水位傳感器的工作原理大致是分別用兩個根銅針分別置于水箱內的底部位置。若是無
14、水,銅針不接觸水面,其輸出為高電平;若銅針與其對應水面接觸時則輸出為低電平,輸出接至電子開關,接到AT89S52的 P33引腳。單片機對引腳進行判斷后 ,判斷是否有水,避免干燒。水位傳感器采用電壓跟隨器與電壓比較電路相結合實現。圖3 水位檢測電路1.3.溫度檢測電路在溫度檢測電路采用WZP型Pt100溫度傳感器進行設計,溫度的測量范圍為0+400之間,分辨率為2,溫度顯示設置為小數點后1位數據。Pt100是模擬量輸出的溫度傳感器,隨溫度變化的是電阻,所以需要通過模擬電路將電阻轉變為電壓,然后經放大電路處理后再送入A/D轉換器。Pt100熱電阻是利用金屬導體再溫度變化時自身的電阻值也隨著發生變化
15、的特性來測量溫度的。熱電阻的受熱部分是用細金屬絲均勻地雙繞在絕緣材料制成的骨架上。當被檢測介質中有溫度梯度存在時,所測得的溫度是感溫元件所在范圍內介質層中的平均溫度。Pt100溫度傳感器為正溫度系數熱敏電阻傳感器,主要技術參數如下:1. 測溫范圍:-200+850;2. 允許偏差值:A級±(0.15+0.02|t|),B級±(0.30+0.05|t|);3. 最小置入深度:熱電阻的最小置入深度200mm;4. 允許通過的通電流5mA;5. 另外,Pt100溫度傳感器還具有抗震動、穩定性好、準確度高、耐高壓等優點。Pt100的線性好,在0100之間變化時,最大非線性偏差小于0
16、.5。雖然Pt100的線性度比較好,但是可以從數據之間發現Pt100的電阻與測量的溫度之間并不是完全的線性關系。因此在實際使用Pt100時,往往需要通過查表法或線性插值算法來計算出測量的溫度。查表法是指在單片機的ROM存儲區間中建立一個電阻和溫度之間的分度表。當測量溫度時,通過軟件先計算出Pt100的阻值,然后再去查詢分度表獲得該阻值所對應的溫度值。顯而易見,在檢測值的范圍內對標定的點數設置的越多表格越大,占用的的ROM存儲容量也就越大,但是對Pt100的描述也就越精確。另一種計算溫度的方法就是采用線性插值算法。這種方法就是通過已知的Pt100分度表中的數據,將溫度的變化曲線分為相應的幾段。然
17、后,找一個最佳的函數關系式來表示各段曲線上Pt100的阻值與被測溫度之間的函數關系式。由于每個區間段都是用了一個函數解析式來進行描述,因此這種方法在程序設計時十分方便。所以在此我們采用線性插值算法。根據系統的溫度測量范圍先將曲線分為四段,每100分為一段。每一段的溫度與阻值之間的關系如下:當0t100時,t=2.558*Rpt100-256.02當100<t200時,t=2.637*Rpt100-267.01當200<t300時,t=2.721*Rpt100-281.9當300<t400時,t=2.81*Rpt100-300.94圖4 溫度測量電路圖放大電路采用LM358集成
18、運算放大器,為了防止單級放大倍數過高帶來的非線性誤差,放大電路采用兩級放大,如圖 3.4所示,前一級約為10倍,后一級約為3倍。溫度在0100度變化,當溫度上升時,Pt100阻值變大,輸入放大電路的差分信號變大,放大電路的輸出電壓Av對應升高。1.4.A/D轉換器 ADC0801是一個8位、單通道、低價格A/D轉換器,主要特點是:摸數轉換時間大約100us;方便的TTL或CMOS標準接口;可以滿足差分電壓輸入;具有參考電壓輸入端;內含時鐘發生器;單電源工作時(0V5V)輸入信號電壓范圍是0V5V;不需要調零等等。 CS:片選信號。低電平有效,高電平時芯片不工作。
19、 RD:外部讀數據控制信號。此信號低電平時ADC0804把轉換完成的數據加載到DB口。 WR:外部寫數據控制信號。此信號的上升沿可以啟動ADC0804的A/D轉換過程。 CLK IN:時鐘輸入引腳。ADC0804使用RC振蕩器作為A/D時鐘,CLK IN是振動 的輸入端。
20、160; INTR:轉換結束輸出信號。ADC0804完成一次A/D轉換后,此引腳輸出一個低脈沖。對單片機可以稱為中斷觸發信號。 Vin(+):輸入信號電壓的正極。 Vin():輸入信號電壓的負極。可以連接到電源地。 AGND:模擬電源的地線。
21、60; Vref/2:參考電源輸入端。參考電源取輸入信號電壓(最大值)的二分之一。例如輸入信號電壓是0V5V時,參考電源取2.;輸入信號電壓是0V4V時,參考電源取2. 0V。 DGND:數字電源的地線。 DB8DB0:數字信號輸出口,連接單片機的數據總線。 &
22、#160; CLK R:時鐘輸入端。 VCC:5V電源引腳。 補充說明:CLKI和CLKR:ADC08010805 片內有時鐘電路,只要在外部“CLKI”和“CLKR”兩端外接一對電阻電容即可產生A/D 轉換所要求的時鐘,其振蕩頻率為fCLK1/1.1RC。其典型應用參數為:R=10K,C=150PF,fCLK640KHz,轉換速度為100。若采用外部時鐘,則外部fCL
23、K 可從CLKI 端送入,此時不接R、C。允許的時鐘頻率范圍為100KHz1460KHz。 圖5 A/D轉換器電路圖1.5.報警電路蜂鳴器是采用直流電壓供電的一種一體化結構的電子訊響器,目前廣泛應用于我們的生活中,比如說在電腦、各種報警器、汽車電子設備、電話機、定時器等常見的電子產品中作為發聲器。本設計采用的蜂鳴器為電磁式蜂鳴器。電磁式蜂鳴器由振蕩器、磁鐵、電磁線圈、振動膜片以及外殼組成,電磁式蜂鳴器基本原理是在電源接通后,在電磁線圈和磁鐵的相互作用下,振蕩膜片周期性地振動發聲。因為蜂鳴器通常工作電流比較大,但是單片機I/O口輸
24、出的電流很小驅動不了蜂鳴器,所以還得選用的NPN型三極管9013來驅動蜂鳴器。報警電路設計原理:當水箱的水位降到一定值時,輸出的低電平信號,或者燒水溫度達到預置溫度時,單片機通過指令將P1.5置成高電平,三極管Q5導通,揚聲器工作,發出吱吱的聲音。同理當水箱的水過高時,P1.5為高電平,報警電路開始工作。蜂鳴器報警電路如圖3.6所示。圖6 電磁式蜂鳴器報警電路圖2 軟件設計軟件設計由主程序,鍵掃描子程序及若干功能模塊子程序組成。其中主控制器子程序包括A/D轉換子程序(水位、水溫),鍵盤處理及顯示子程序,加熱控制子程序(使用輸出比較功能)等組成。主程序要先初始化系統的工作參數,主要是單片機的定時
25、器,COP模塊、A/D轉換、端口、鍵中斷等的工作模式參數設定,之后系統主程序循環調用各個功能模塊子程序,對相關事件的處理依靠標志位和判斷標志位實現。在本次設計中運用到了PROTEUS的ISIS電路分析實物仿真系統和KEIL單片機編程軟件,通過對它們聯調可以仿真出本次設計的要求。主程序設計思路:軟件設計采用各個模塊功能分開獨立設施的設計方式,將各個功能分成獨立模塊,有系統和監控程序一起管理執行。本設計的軟件包括主程序,鍵盤掃描子程序,顯示子程序,水位測量子程序以及有關的Pt100的程序。我主要說明了兩個最主要的子程序:溫度測量、水位測量的流程和液晶顯示流程。主程序完成功能:系統對傳感器PT100
26、、顯示器進行初始化,并且讀取用戶通過鍵盤設置的最高燒水溫度信息,隨之系統自動讀取當前水位,系統執行相應功能,完成后等待下一次的啟動命令。當檢測到無水時,系統會啟動報警電路工作,當檢測到超過設定的燒水溫度時,啟動報警電路并關閉加熱電路。本設計的系統整體流程圖如圖8所示。開始初始化測量當前溫度顯示當前溫度判斷是否有按鍵 否 是更改設定溫度開電磁閥判斷當前是否有水溫度是否低于預定值 是 否圖7 系統總體程序流程圖2.1溫度測量子程序溫度測量由Pt100溫度傳感器來完成,溫度測量子程序流程如圖3.8所示。根據系統的溫度測量范圍溫度與阻值之間的關系編寫程序,使阻值變換為溫度,進行溫度的測量,送入AT89
27、C51單片機內,之后送入顯示電路進行顯示溫度。圖8 Pt100測溫程序流程圖2.2判斷子程序判斷整個程序的運行,當水溫超過預定設置溫度值時,關閉加熱電路,如果低于預定設置溫度值時,開通加熱電路,進行加熱。當無水的時候,自己斷電避免干燒,并蜂鳴報警。斷電水溫高于設定值嗎?水溫低于設定值嗎?通電加熱報警斷電無水嗎?NNYNY開始圖9 判斷程序流程圖2.3重要代碼主函數: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;nu
28、m2=21;num3=21;while(1)uint a;uchar b;changetemp();a=gettemp();b=scanff();numy=gettemp();display(a,b);顯示函數的分析: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=
29、0)&&(dis1=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;
30、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;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;中斷加熱子函數的分析:void timer0() interrupt 1int a;TH0=(65536-46000)/256;TL0=(65536-46000)%256;zd+;if(zd=6)zd=0;a=num1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 煤炭制品企業市場競爭力提升策略與考核試卷
- 游樂設施施工法律法規知識考核試卷
- 電氣靜電及雷電安全防護技術考核試卷
- 稀土金屬冶煉工藝考核試卷
- 玻璃防眩光涂層開發考核試卷
- 礦山電氣系統設計與優化考核試卷
- 畜牧機械質量管理與可靠性考核試卷
- 海底古海洋學研究中心考核試卷
- 海上旅游目的地營銷策略考核試卷
- 遼寧省葫蘆島市高中名校2024-2025學年高三第10次統練數學試題含解析
- 白細胞疾病及其檢驗(血液學檢驗課件)
- 案例3 哪吒-全球首個“海空一體”跨域航行器平臺
- T-CTSS 3-2024 茶藝職業技能競賽技術規程
- 車隊運營中的司機管理策略研究
- 新生兒臍部出血的護理
- 實驗室的智能化設計與建設
- 《中國海洋大學》課件
- 排污許可管理培訓課件
- 《鹽津鋪子公司盈利能力探析實例報告(10000字論文)》
- 2025年中考語文課內名著閱讀專題復習:第10部 《水滸傳》課件
- 案例:中建八局綠色施工示范工程綠色施工(76P)
評論
0/150
提交評論