




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、1.1 設計題目:加熱定時器設計 設計目的(1) 掌握可任意預置的定時構成、原理與設計方法;(2) 熟悉集成電路的使用方法。(3) 通過應用單片機系統,培養創新意識,提高動手能力。 基本要求(1)設計要求:為系熱水器定時加熱(2)每天早7:00起加熱,晚10:00起加熱,保證熱水; 周末全天供水。 (3)控制面板設計。 基本優點 傳統的大容量電熱水器的加熱時間一般都比較長,如果熱水器一直開著,則會一直耗能耗電,而定時開關控制器則可有效解決這些問題,使電熱水器使用起來更加舒適省電。這樣,電熱水器不僅可以充分利用閑置的時間,避免用戶使用時長時間的等待,減少不必要的保溫,也可以更加節約電能,特別對低
2、谷及高峰用電有差價的地區利用晚間低谷用電開機加熱,白天用電高峰關機保溫,便能大量節約電費開支。本文中的定時控制器主要是以單片機AT89C51作為核心控制元件,通過外圍電路來控制熱水器的電源,以達到定時開關機的目的。2 設計思路 1 硬件組成 本電熱水器控制系統在加電后即可進入正常計時狀態,用戶可以隨時校準時間并設定熱水器的開關時間,以便控制器能夠在設定的開關時刻通過單片機的輸出端口控制輸出繼電器的動作,進
3、而控制熱水器的啟閉。該系統的硬件原理圖見圖1所示。 本系統的核心單片機AT89C2051為20腳300MIL封裝,是一種帶有2KB FLASH E2PROM的單片機。該單片機除了少了兩個并口外,能兼容MCS-51系列單片機的所有功能,且具備體積小、功能強、運行速度快等特點。該電路可通過單片機的P37口連接一個鍵盤電路來實現對參數的人工自由設定,同時可通過串口連接8位LED數碼管,以分別顯示小時、分鐘和秒
4、。系統定時啟動是通過P30口完成的。程序開始時這三個口的輸出狀態都是低電平,AT89C51通過程序查詢P30口輸出ON或OFF的狀態預置時間是否已到, 如果已到時間,則改變相應的輸出狀態,從而完成對外部電路的控制。 本設計采用時鐘芯片DS1302來控制時間。美國DALLAS公司推出的具有涓細電流充電能力的低功耗實時時鐘電路DS1302的結構、工作原理及其在實時顯示時間中的應用。它可以對年、月、日、周、日、時、分、秒進行計時,且具有閏年補償等多種功能。DS1
5、302 是美國DALLAS公司推出的一種高性能、低功耗、帶RAM的實時時鐘電路,它可以對年、月、日、周日、時、分、秒進行計時,具有閏年補償功能,工作電壓為2.5V5.5V。采用三線接口與CPU進行同步通信,并可采用突發方式一次傳送多個字節的時鐘信號或RAM數據。DS1302內部有一個31×8的用于臨時性存放數據的RAM寄存器。DS1302是DS1202的升級產品,與DS1202兼容,但增加了主電源/后備電源雙電源引腳,同時提供了對后備電源進行涓細電流充電的能力。 1.1 引腳功能及結構DS1302的引腳排列,其中Vcc1為后備電源,VCC2為主電源。在主電源關閉的情況下,也能保持時鐘
6、的連續運行。DS1302由Vcc1或Vcc2兩者中的較大者供電。當Vcc2大于Vcc1+0.2V時,Vcc2給DS1302供電。當Vcc2小于Vcc1時,DS1302由Vcc1供電。X1和X2是振蕩源,外接32.768kHz晶振。RST是復位/片選線,通過把RST輸入驅動置高電平來啟動所有的數據傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供終止單字節或多字節數據的傳送手段。當RST為高電平時,所有的數據傳送被初始化,允許對DS1302進行操作。如果在傳送過程中RST置為低電平,則會終止此次數據傳送,I/O引腳變為高阻態。上電運行時,在V
7、cc>2.0V之前,RST必須保持低電平。只有在SCLK為低電平時,才能將RST置為高電平。I/O為串行數據輸入輸出端(雙向),后面有詳細說明。SCLK為時鐘輸入端。1.2 數據輸入輸出(I/O)在控制指令字輸入后的下一個SCLK時鐘的上升沿時,數據被寫入DS1302,數據輸入從低位即位0開始。同樣,在緊跟8位的控制指令字后的下一個SCLK脈沖的下降沿讀出DS1302的數據,讀出數據時從低位0位到高位7。 2.4 DS1302的寄存器DS1302有12個寄存器,其中有7個寄存器與日歷、時鐘相關,存放的數據位為BCD碼形式, 下面重點介紹鍵盤、顯示以及輸出控制這三種電路。
8、60; 11 顯示電路 本系統中的顯示電路主要由七段共陽顯示譯碼器74LS47、3線8線譯碼器74tHC138、7個PNP型三極管和六個數碼管組成。通過AT89C2051的P14P17口將要顯示字符的BCD碼輸出到74LS47的四個輸人端,然后譯碼并輸出相應的筆段來驅動LED數碼管(共陽)。LED數碼管顯示采用動態掃描方式,即在某一時刻,只有一個數碼管被點亮。數碼管的位選信號由AT89C2051的P33P35輸出,并經74HCl
9、38譯碼后通過三極管放大,以驅動相應的數碼管。 12 鍵盤電路 鍵盤電路跟顯示電路一樣采用掃描方式,并利用動態顯示時的數碼管驅動位置信號來判斷相應按鍵的狀態。單片機的P33P35口輸出的BCD碼經譯碼器譯碼后,相應的Y口呈低電平,而AT89C205 1的P37口平時為高電平(由于有上拉電阻),只有當某一按鍵按下時,P37才被下拉為低,這時,單片機將利用程序查詢P37是否為低,如果P37為低電平,則讀回單片
10、機P33P35口的值(從緩沖區讀取),并判斷是那個按鍵按下然后調用相應的處理程序進行處理。 13 輸出控制電路 單片機的控制輸出是通過P30P32口完成的。當程序開始時,這三個口的輸出狀態都是低電平,AT89C2051通過程序查詢三路輸出的ON或OFF狀態預置時間是否已到,若時間到,則改變相應的輸出狀態,以完成對外部電路的控制。 中斷功能申請寄存器IE介紹中斷
11、允許寄存器IE(可以打開和屏蔽相應的中斷)EX0/EX1 ET1/ET0 ES 位:分別是外部中斷、定時中斷、串口中斷 允許控制位。 =0 :禁止中斷; =1 :允許中斷。EA:總的中斷允許控制位(總開關): =0 :禁止全部中斷;=1 :允許中斷。模式設置(杯子的大小)工作方式寄存器TMOD高四位對于定時器1,低四位對應定時器0M1,M0:工作方式選擇位 。工作方式0 =00:13位定時器/計數器;工作方式1 =01:16位定時器/計數器(常用);工作方式2 =10:可自動重裝的8位定時器/計數器(常用);工作方式3 =11:T0 分為2個8位定時器/計數器;僅適用于T0。C/T :定時方式
12、/計數方式選擇位。 = 0 :內部提供信號脈沖。 = 1: 外部提供信號脈沖。GATE:定時器啟動控制位 = 0 :程序控制。 = 1 :硬件控制。例如:TMOD = 0000 0001 =0x01; /設定時器0為16位模式1 例如:TMOD = 0001 0000 =0x10; /設定時器1為16位模式1 如何選擇16位內部脈沖計數寄存器,并選擇定時器0作為為定時器,且用軟件方式實現定時器啟動控制。TMOD的值為多少?定時0,選擇低四位(高四位全為0)16位計數寄存器 選工作方式1 即M1 M0值為01內部脈沖 C/T 值為0軟件啟動定時器 GATE 值為 0TMOD=0000 0001
13、=0x01定時器控制寄存器TCON(高四位與定時器中斷有關,低四位與外部中斷有關)TR0/TR1:定時器運行啟停控制位(可由用戶通過軟件設置 )。 =0:定時器停止運行; =1:定時器啟動運行。TF0/TF1:定時器溢出中斷申請標志位(由硬件自動置位)。 =0:定時器未溢出;=1:定時器溢出(由全“1”變成全“0”)時由硬件自動置位,申請中斷,中斷被CPU響應后由硬件自動清零。7、如何啟動定時器和判斷是否溢出TRx賦值為1,即可啟動相應的定時器如果TFx的值為1,即可以判斷計數寄存器的值已經溢出。可以用位賦值。TCON=0001 0000 =0x10 代表什么?即TR0的值為1,TF0的值為0
14、。定時器已經啟動,并且計數寄存器的計數值還沒有溢出。(不能產生有效的內容中斷信號)程序1:仿真實現定時器1S LED閃爍一次 #include <reg51.h>sbit LED=P20;int count=0; /50ms次數記錄timer_csh() /定時中斷初始化函數 IE=0x82; /允許CPU中斷和定時計數器0中斷開關 1000 0010 TMOD = 0x01; /設定時器0和1為16位模式1 TH0 = 0x3C; /12M晶振 定時 50ms TL0 = 0xB0; void main() timer_csh(); /定時中斷初始化TR0 = 1;/開始計數 w
15、hile(1); /主程處于無限循環這里可以處理其他的事情/定時器0中斷處理void timeint(void) interrupt 1 count+; if(count=20) /1s到 count=0; LED=LED; TH0=0x3C; /定時初始值 TL0=0xB0; 2 軟件設計 21 主程序流程 本系統的主程序工作過程是首先循環進行8個數碼管的
16、掃描顯示(DISPLY段),然后比較所有預置時間(COMP段)是否與當前時間相等,如相等則轉向相應處理程序。比較完成(或處理完成)后,再判斷有無按鍵(PP2段)按下,沒有則返回繼續顯示、比較、判斷;有按鍵按下則轉向相應的處理程序。按鍵轉移采用偏移量加表格跳轉轉移法(KEY段)。預置時間比較則采用逐一比較法,即對每一個預設的值都進行比較,如果相等,則進行相應的處理。在具體比較時(COMP1段),首先比較TH值,如不相等,則直接轉出并置"時間到"標志CCB為0,而如果TH、TM、TS全部對應相等,則置該標志為1,其軟件流程見圖2所示。
17、0; 此次設計的可預置熱水器控制電路,實現對時間和分鐘的現實,可以設置熱水器的使用時間,使熱水器自動加熱和停止,并且設置了水位比較電路可以進行報警。由石英晶體振蕩器產生頻率為1000Hz的信號,經過三片74LS160進行分頻后,得到1Hz的秒脈沖信號,再經過2片74LS90連接成的60進制計數器后得到1/60秒的分脈沖信號。將分信號傳輸給兩片74LS290連成的六十進制計數器進行分的計數,再由分計數的進位驅動二十四進制的時計數器。時間計數器連接七段譯碼顯示器進行時間的現實。預置時間的電路與此相同。預
18、置時間計數器產生的輸出進入減法器進行自動減一的設置,減法器的輸出信號進入比較器,與正常時間計數器產生的信號進行比較。當兩者相等時,自動開始加。由時計數器和分計數器產生的輸出接入比較器,與設定時間電路的時計數器和分計數器相比較,當時間相等時熱水器停止加熱。由傳感器感知水位,經由模數轉換器轉換成八位二進制數,再由二進制BCD碼轉換器將其轉換成8421BCD碼,輸出的數據經計數器傳入七段譯碼顯示器進行水位的顯示。從水位計數器引出的信號進入比較器,與比較器中設置的水位進行比較,當其水位低于設定值時,自動停止工作并進行水位報警。其中水位報警電路由555定時器構成的單穩態單路和多諧振蕩電路組成。
19、; 22 秒脈沖發生器的軟件設計 系統中的秒脈沖發生器是由定時器T0和內存空間TT0配合完成的。其中T0工作于l 6位計數器模式,當T0向上計數并由全1變為全0時產生中斷。本程序中,T0的初值為0DC00H,大約001秒中斷一次。這里使用的晶振頻率為110592MHz,由此可計算出日誤差約為078 s。其操作流程如圖3所示,系統產生中斷后,首先保存ACC和PSW的值,然后為T0重裝初值,并判斷中斷次數是否小于100,若是,則轉出中斷服務,反之則將秒計數器加1。秒計
20、數器大于59時,則為分計數器加1,同時秒計數器清0。同樣,分計數器如大于59,則為時計數器加1,同時分計數器清0。時計數器如大于23時則清0并轉出中斷服務。TD中斷100次的時間剛好為1秒鐘。 附圖 程序#include <REG52.H>#include "DS1302.h"/*端 口 定 義*/sbit hot = P17;sbit Add_hour = P30;sbit Add_min = P31; unsigned char qiangdanum=0;unsi
21、gned char code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f;/unsigned char code duan=;unsigned char ge=0,shi=0; void delay(unsigned int ms) /晶振12M unsigned int i,j;for(j=ms;j>0;j-) for(i=0;i<120;i+); void display(void) P2=0x7f;P0=tableweek;delay(5);P2=0xbf;P0=0x40;delay(5);P2=0xdf;
22、P0=tableh1;delay(5);P2=0xef;P0=tableh0;delay(5);P2=0xf7;P0=tablemi1;delay(5);P2=0xfb;P0=tablemi0;delay(5);P2=0xfd;P0=tables1;delay(5);P2=0xfe;P0=tables0;delay(5);/*write_ds1302(0x8e,0x00);/寫保護寄存器,在對時鐘或RAM寫前WP一定要為0/write_ds1302(0x8c,year);/年/write_ds1302(0x88,month);/月/write_ds1302(0x86,day);/日/write
23、_ds1302(0x8A,week);/星期write_ds1302(0x84,hour);/時write_ds1302(0x82,minute);/分write_ds1302(0x80,second);/秒write_ds1302(0x8e,0x80);/寫保護寄存器*/void changtime()unsigned char Change_minute,Change_hour;Change_minute = minute;Change_hour=hour; if(0 = Add_min)while(0 = Add_min)display(); Change_minute+; if( Ch
24、ange_minute=90) Change_minute=0; if( Change_minute%16=10) Change_minute+=6; write_ds1302(0x8e,0x00);/寫保護寄存器,在對時鐘或RAM寫前WP一定要為0/write_ds1302(0x8c,year);/年/write_ds1302(0x88,month);/月/write_ds1302(0x86,day);/日/write_ds1302(0x8A,week);/星期/write_ds1302(0x84,hour);/時write_ds1302(0x82,Change_minute);/分/wri
25、te_ds1302(0x80,second);/秒write_ds1302(0x8e,0x80);/寫保護寄存器 if( 0=Add_hour) while(0 =Add_hour)display(); Change_hour+; if( Change_hour=0x24) Change_hour=0; if( Change_hour%16=10) Change_hour+=6; write_ds1302(0x8e,0x00);/寫保護寄存器,在對時鐘或RAM寫前WP一定要為0/write_ds1302(0x8c,year);/年/write_ds1302(0x88,month);/月/wri
26、te_ds1302(0x86,day);/日/write_ds1302(0x8A,week);/星期 write_ds1302(0x84,Change_hour);/時/write_ds1302(0x82,Change_minute);/分/write_ds1302(0x80,second);/秒write_ds1302(0x8e,0x80);/寫保護寄存器void main ()hot = 1; initial_ds1302(); while(1)read_time(); /讀時間display();/ if()changtime();if(week<=0x05) if(hour>
27、;=0x07 & hour<=0x22) hot = 0;elsehot = 1;else hot = 0; 3 結束語 本文通過以AT89C2051單片機為核心并輔以外圍電路的設計方法實現了低成本的控制要求。該定時時控制器可定時控制并顯示有關參數,在滿足系統要求的同時,又具備簡單、經濟之特點。此外,靈活的鍵盤輸入方式來設定參數可增加系統的靈活性。
28、160; 日前,采用本設計制作的定時控制器已經通過測試并投入使用,實際使用結果證明:該定時控制器運行可靠,操作方便,可用在傳統的不帶定時功能的熱水器上,而且既經濟又實用,值得推廣。可預置熱水器控制電路是一個十分接近于生活的課題,其中采用數字電路實現對時和分的顯示計時裝置。整個熱水器電路只要有晶體振蕩電路、分頻電路、時間顯示電路、譯碼顯示電路、減法器電路、比較電路、模數轉換電路、水位控制電路、報警電路組成。熱水器電路廣泛應用于生活中,為人們的生活提供了便利的條件。經過這次對可預置熱水器控制電路的設計,我了解了熱水器電路的基本構成和原理,同時也更加了解一直基本電路的實現方法。這次的數字電子課程設計是一次自我檢驗的機會,我們要將課堂上所學到知識融會貫通到一個設計電路中去,而且,僅僅是教科書上所講解的知識是完全不夠的,設計的過程中,我們需要自己去查找各種各樣的資料,將一些陌生的東西用我們學過的知識去理解,再把它們應用到我們設計的電路中去。經過2個星期的課程設計,我對數字電子技術知識的了解更加
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2025學年福建省福州四中桔園洲中學九年級(下)月考數學試卷(3月份)(含詳解)
- 拓展視野 2024年體育經紀人考試的試題及答案
- 志愿者服務禮儀解說
- 2024年專注種子繁育員職業資格考試試題及答案
- 明確目標的體育經紀人備考方法試題及答案
- 2024年種子繁育員的知識更新試題及答案
- 模具設計師資格認證考試解題策略與試題及答案
- 人教版初中英語八年級上學期期末考試試卷5英語試題含聽力音頻及答案解析
- 2024年6月23日廣東省廣州市林業和園林局直屬事業單位第1次公開招聘工作人員筆試試題真題試卷答案解析
- 主動學習的2024年籃球裁判員考試試題及答案
- 吉林銀行總行社會招聘筆試真題2023
- 2024年現場綜合化維護工程師三級認證考試試題及答案
- 西藏拉薩市2025屆高三理綜下學期一模試題
- 助貸機構及人員從業禁止
- DL-T+748.8-2021火力發電廠鍋爐機組檢修導則 第8部分:空氣預熱器檢修
- 《無人機測繪技能訓練模塊》課件-無人機航測影像獲取外業
- CJJT135-2009 透水水泥混凝土路面技術規程
- 營造和諧人際交往含內容模板
- SH/T 3224-2024 石油化工雨水監控及事故排水儲存設施設計規范(正式版)
- 小學六年級期中考試家長會
- 質譜法在食品樣本農藥殘留分析中的應用進展
評論
0/150
提交評論