版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
基于單片機的智能風扇控制設(shè)計-PAGE35-摘要本文介紹一種基于單片機溫控風扇的控制系統(tǒng)設(shè)計方案。巧妙地利用單片機技術(shù),可控硅技術(shù),溫度傳感器技術(shù)。
硬件系統(tǒng)采用AT89C51作為微處理器,利用DS18B20對室內(nèi)溫度的探測并適時顯示當前溫度值,通過控制可控硅的導(dǎo)通,從而實現(xiàn)對電風扇進行溫度調(diào)速控制。軟件系統(tǒng)則采用模塊設(shè)計即主程序,鍵盤控制程序,溫度顯示程序,電機調(diào)速程序。文中給出AT89C51為核心的電路設(shè)計主體軟件設(shè)計,著重討論溫控相關(guān)程序的設(shè)計并給出流程圖和相關(guān)程序。
關(guān)鍵詞:AT89C51;DS18B20;仿真,電機調(diào)速,溫度顯示AbstractThispaperintroducesacontrolbasedonsingle-chipmicrocomputercontrolsystemdesignschemeofthefan.Ingeniousofsinglechipmicrocomputer,thyristortechnology,thetemperaturesensortechnology.HardwaresystemAT89C51asmicroprocessors,useofindoortemperaturedetectionDS18B20anddisplaythecurrentcontrolledtemperature,throughthecontrolofconduction,soastorealizethefanspeedcontroloftemperature.Softwaresystemisamodulardesignwhichmainprogram,keyboardcontrolprocedures,temperaturedisplayprogram,motorspeedprogram.GiventhecircuitdesignasthecoreofAT89C51mainsoftwaredesign,emphaticallydiscussesthedesignandtemperaturecontrolproceduresareflowchartandrelevantprocedure.Keywords:AT89C51,DS18B20,Simulation,motorspeed,temperaturedisplay
目錄第1章引言 41.1課題的設(shè)計要求 41.2課題的設(shè)計目的和意義 4第2章系統(tǒng)主要硬件電路設(shè)計 52.1總體硬件設(shè)計 52.1.1AT89C51介紹及說明 52.1.2AT89C51主要特性及引腳說明 62.2數(shù)字溫度傳感器模塊設(shè)計 92.2.1DS18B20介紹 92.2.2DS18B20的功能及使用說明 102.2.3DS18B20寄存器的存儲器及格式 112.2.4DS18B20使用注意事項 122.3鍵盤輸入模塊 122.3.1鍵盤的選擇與原理 122.3.2鍵盤電路 132.4溫度顯示與控制模塊 142.4.1LED顯示燈介紹 142.5電機調(diào)速與控制模塊設(shè)計 152.5.1電機調(diào)速原理 162.5.2電機控制模塊硬件設(shè)計 17第3章軟件設(shè)計與說明(包括流程圖) 193.1系統(tǒng)方案設(shè)計 193.2主要程序流程圖 193.2.1主程序流程圖 193.2.2數(shù)字溫度傳感器模塊程序流程圖 203.2.3顯示程序流程圖 223.2.4電動機程序設(shè)計原理以及流程圖 22第4章調(diào)試步驟、結(jié)果、使用說明 24第5章設(shè)計總結(jié) 25附錄A系統(tǒng)原理圖 26附錄B程序清單 27參考文獻 36第1章引言1.1課題的設(shè)計要求本課題要求以單片機為核心設(shè)計一個智能風扇控制器,具備倒數(shù)計時、時間修改、實時顯示溫度、預(yù)設(shè)關(guān)機溫度、預(yù)設(shè)報警溫度等功能。可作為家用風扇控制器,和工業(yè)用于溫度控制的場合。智能風扇控制器有8個按鍵設(shè)置?,F(xiàn)在想要實現(xiàn)以下功能:1、顯示實時溫度;2、可改變設(shè)定溫度;3、手動控制;4、自動控制;5、溫度顯示范圍00—99。1.2課題的設(shè)計目的和意義單片機在檢測和控制系統(tǒng)中得到廣泛的應(yīng)用,溫度則是系統(tǒng)常需要測量、控制和保持的一個量。本課題設(shè)計從硬件和軟件兩方面介紹了AT89C51單片機溫度控制系統(tǒng)的設(shè)計。單片機在電子產(chǎn)品中的應(yīng)用已經(jīng)越來越廣泛,并且在很多電子產(chǎn)品中也將其用到溫度檢測和溫度控制。為此在本文設(shè)計了基于ATMEL公司的AT89C51由于采用了智能控制器直接控制風扇,實現(xiàn)了的風扇開和關(guān)。節(jié)約了電能,積極響應(yīng)了國家提出的節(jié)能減排的號召。具有很好的市場發(fā)展前景。在夏天時,由于天氣溫度高,人們通常直接打開風扇的電源而不用風扇的定時功能。當夜深時,環(huán)境溫度會降低。此時,如果風扇直接吹到人上,人們很容易得感冒。本課題設(shè)計的智能風扇控制器,可以實時監(jiān)控環(huán)境溫度,當環(huán)境溫度低于用戶設(shè)定的溫度時,風扇會自動關(guān)閉。本智能溫度控制器也可用于工業(yè)溫度測量的場所,課程設(shè)計我們可以學到關(guān)于單片機在實際生活中的設(shè)計應(yīng)用,也可以深入地學習到單片機的編程。第2章系統(tǒng)主要硬件電路設(shè)計2.1總體硬件設(shè)計圖2-1系統(tǒng)原理框圖2.1.1AT89C51介紹及說明根據(jù)設(shè)計要求設(shè)定AT89C51為中央處理器,它是一種低功耗、高性能的處理器。作為整個控制系統(tǒng)的核心,AT89C51內(nèi)部已包含了定時器、程序存儲器、數(shù)據(jù)存儲器等硬件,其硬件能符合整個控制系統(tǒng)的要求,不需要外接其他存儲器芯片和定時器件,方便地構(gòu)成一個最小系統(tǒng)。整個系統(tǒng)結(jié)構(gòu)緊湊,抗干擾能力強,性價比高。是比較合適的方案。AT89C51是一個低電壓,高性能CMOS8位單片機,片內(nèi)含4kbytes的可反復(fù)擦寫的Flash只讀程序存儲器和128bytes的隨機存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標準MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲單元,內(nèi)置功能強大的微型計算機的AT89C51提供了高性價比的解決方案。
AT89C51是一個低功耗高性能單片機,如AT89C51引腳圖,它共有40個引腳,32個外部雙向輸入/輸出(I/O)端口,同時內(nèi)含2個外中斷口,2個16位可編程定時計數(shù)器,2個全雙工串行通信口,AT89C51可以按照常規(guī)方法進行編程,也可以在線編程。其將通用的微處理器和Flash存儲器結(jié)合在一起,特別是可反復(fù)擦寫的Flash存儲器可有效地降低開發(fā)成本。2.1.2AT89C51主要特性及引腳說明:與MCS-51兼容,4K字節(jié)可編程閃爍存儲器壽命:1000寫/擦循環(huán)數(shù)據(jù)保留時間:10年全靜態(tài)工作:0Hz-24MHz三級程序存儲器鎖定128×8位內(nèi)部RAM32可編程I/O線兩個16位定時器/計數(shù)器5個中斷源可編程串行通道低功耗的閑置和掉電模式管腳說明:VCC:供電電壓。GND:接地。P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口,如下表所示:P3口管腳備選功能P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2/INT0(外部中斷0)P3.3/INT1(外部中斷1)P3.4T0(記時器0外部輸入)P3.5T1(記時器1外部輸入)P3.6/WR(外部數(shù)據(jù)存儲器寫選通)P3.7/RD(外部數(shù)據(jù)存儲器讀選通)P3口同時為閃爍編程和編程校驗接收一些控制信號。RST:復(fù)位輸入。當振蕩器復(fù)位器件時,要保持RST腳兩個機器周期的高電平時間。ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時,ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。/PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。/EA/VPP:當/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/EA將內(nèi)部鎖定為RESET;當/EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。振蕩器特性:XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅(qū)動器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。2.2數(shù)字溫度傳感器模塊設(shè)計在選定單片機類型后,通常還要對一些嚴重影響系統(tǒng)性能指標的器件,如傳感器進行選擇。有時一個設(shè)計合理的測控系統(tǒng)往往因為傳感器的限制而達不到應(yīng)有的效果。該電路的根本任務(wù)是溫度的實時測量。因此,選用一塊好的溫度傳感器是本設(shè)計的關(guān)鍵。典型的溫度測控系統(tǒng)是由模擬溫度傳感器、A、D轉(zhuǎn)換電路和單片機組成。但是由于模擬溫度傳感器輸出為模擬信號,必須經(jīng)過A/D轉(zhuǎn)換環(huán)節(jié)獲得數(shù)字信號后才能與單片機等微處理器接口,使得硬件電路結(jié)構(gòu)復(fù)雜,成本較高。近年來,由于以DSl8B20為代表的新型單總線數(shù)字式溫度傳感器的突出優(yōu)點使得它得到充分利。2.2.1DS18B20介紹DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM、溫度傳感器非揮發(fā)的溫度報警觸發(fā)器TH和TL、配置寄存器。DS18B20的測量溫度范圍是-55~+125℃。該溫度傳感器的輸出溫度數(shù)據(jù)可與攝氏度校準,使用查找表或轉(zhuǎn)換規(guī)則就可計算溫度值。它采用單根信號線,既傳輸時鐘,又傳輸數(shù)據(jù),而且數(shù)據(jù)傳輸是雙向的,因此具有節(jié)省I/O口線資源、結(jié)構(gòu)簡單、成本低廉、便于總線擴展和維護等諸多優(yōu)點。2.2.2DS18B20的功能及使用說明DS18B20高精度數(shù)字溫度傳感器可以完成如下的功能:(1)采用采用AT89S52單片機和DS18B20溫度傳感器通信,控制溫度的采集過程和進行數(shù)據(jù)通信;(2)提供DS18B20的使用外圍電路溫度顯示LED電路以及DS18B20和單片機的通信接口電路;(3)利用發(fā)光二極管指示系統(tǒng)的工作狀態(tài),DS18B20溫度傳感器內(nèi)置溫度上下限;(4)編寫程序,完成單片機對溫度數(shù)據(jù)的采集過程以及與DS18B20數(shù)據(jù)傳輸過程的控制。主機(單片機)控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過三個步驟:每一次讀寫之前都要對DS18B20進行復(fù)位操作,復(fù)位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令,這樣才能對DS18B20進行預(yù)定的操作。復(fù)位要求主CPU將數(shù)據(jù)線下拉500微秒,然后釋放,當DS18B20收到信號后等待16~60微秒左右,后發(fā)出60~240微秒的存在低脈沖,主CPU收到此信號表示復(fù)位成功。部分溫度值與DS18B20輸出的數(shù)字量對照表如下圖表2-2-2:表2-2-2部分溫度值與DS18B20輸出的數(shù)字量對照表+85℃0000010101010000+25.625+10.125℃000000001010001000A+0.5℃0℃0000000-0.5℃-10.125℃-25.625℃-552.2.3DS18B20寄存器的存儲器及格式DS18B20溫度傳感器的內(nèi)部存儲器包括一個高速暫存RAM和一個非易失性的可電擦除的E2RAM,后者存放高溫度和低溫度觸發(fā)器TH、TL和結(jié)構(gòu)寄存器。暫存存儲器包含了8個連續(xù)字節(jié),前兩個字節(jié)是測得的溫度信息,第一個字節(jié)的內(nèi)容是溫度的低八位,第二個字節(jié)是溫度的高八位。第三個和第四個字節(jié)是TH、TL的易失性拷貝,第五個字節(jié)是結(jié)構(gòu)寄存器的易失性拷貝,這三個字節(jié)的內(nèi)容在每一次上電復(fù)位時被刷新。第六、七、八個字節(jié)用于內(nèi)部計算。第九個字節(jié)是冗余檢驗字節(jié)。DS18B20溫度寄存器的格式:2.2.4DS18B20使用注意事項DS18B20雖然具有測溫系統(tǒng)簡單、測溫精度高、連接方便和占用口線少等優(yōu)點,但是在實際應(yīng)用中也應(yīng)注意以下幾個問題:(1)因為硬件開銷較小,所以需要較復(fù)雜的軟件進行補償,由于DS18B20與微處理器間采用串行數(shù)據(jù)傳送,因此,在對DS18B20進行讀寫編程時必須嚴格保證讀寫時序,否則將無法讀取測溫結(jié)果。(2)當單總線上所掛DS18B20超過8個時,就需要解決微處理器的總線驅(qū)動問題,這一點在進行多點測溫系統(tǒng)設(shè)計時要加以注意(3)在DS18B20測溫程序設(shè)計中,向DS18B20發(fā)出溫度轉(zhuǎn)換時總要等待DS18B20的返回信號,一旦某個DS18B20接觸不好或短線,當程序讀該DS18B20時,將沒有返回信號,程序進入死循環(huán)。這一點在進行DS18B20硬件連接和軟件設(shè)計時也要加以注意。2.3鍵盤輸入模塊鍵盤的基本工作原理:鍵盤是單片機應(yīng)用系統(tǒng)中不可缺少的設(shè)備,人們通過它往計算機中傳遞信息。常用的鍵盤電路有兩種,即獨立式鍵盤和矩陣式鍵盤。2.3.1鍵盤的選擇與原理獨立式鍵盤最簡單的鍵盤為獨立式鍵盤,每個鍵對應(yīng)I/O端口的一位,沒有鍵閉合時,I/O端口各位均處于高電平。當有一個鍵被按下時,就使對應(yīng)位接地成為低電平。而其他位仍為高電平。這樣,只要CPU檢測到I/O端口的某一位為“0”矩陣式鍵盤當系統(tǒng)所需按鍵較多時,為了減少鍵盤電路占用的I/O引腳數(shù)目,一般采用矩陣式電路。設(shè)有一個含有m×n個鍵的鍵盤,如果采用獨立式的鍵盤結(jié)構(gòu)設(shè)計,需要m×n條引線和m×n位I/O端口。如果采用矩陣式鍵盤結(jié)構(gòu),便只要m+n條引線和m+n位I/O端口就行了。它由行線和列線組成,按鍵設(shè)置在行、列的交叉點上,行、列分別連接到按鍵開關(guān)的兩端。行線通過上拉電阻接到+5v上。平時無按鍵動作時,行線處于高電平狀態(tài),而當有按鍵按下時,行線電平狀態(tài)將由與此行線相連的列線電平?jīng)Q定。列線電平如果為低,則行線電平為低;列線電平如果為高,則行線電平亦為高。這一點是識別矩陣按鍵是否被按下的關(guān)鍵。由于矩陣鍵盤中行、列線為多鍵共用,各按鍵均影響該鍵所在行和列的電平。因此各按鍵彼此將互相發(fā)生影響,所以必須將行、列信號配合起來并做適當?shù)奶幚恚拍艽_定閉合鍵的位置。鍵盤功能手動按鈕:在此狀態(tài)下,手動調(diào)節(jié)等級調(diào)速來實現(xiàn)調(diào)速自動按鈕:在此狀態(tài)下,自動調(diào)速以使室溫等于設(shè)定溫度設(shè)定按鈕:按下時,溫度顯示設(shè)定溫度,并可改變設(shè)定溫度+按鈕:改變設(shè)定溫度使設(shè)定溫度增加-按鈕:改變設(shè)定溫度使設(shè)定溫度減小高中低檔:手動控制調(diào)速等級2.3.2鍵盤電路根據(jù)所需按鍵個數(shù)、I/O引腳輸出級電路結(jié)構(gòu)以及可以利用的I/O引腳數(shù)量,確定鍵盤電路形式。本方案有8個按鍵,又考慮到I/O口的數(shù)量,采用獨立式鍵盤電路。8個按鍵分別定義如下:K1、自動按鈕;K2、手動按鈕;K3、設(shè)定鍵;K4、+按鍵K5、-按鍵;K6、高檔;K7、中檔;K8、低檔,電路圖如下:2.4溫度顯示與控制模塊在單片機控制系統(tǒng)中,常用LED顯示器來顯示各種數(shù)字和符號。這種顯示器顯示清晰,亮度高,接口方便,廣泛用于各種控制系統(tǒng)中。2.4.1LED顯示燈介紹LED顯示器在電路連接上有兩種形式:一種是8個發(fā)光二極管的陽極都連在一起的,稱之為共陽極型LED顯示器;另一種是8個發(fā)光二極管的陰極都連在一起的,稱為共陰極型LED顯示器。顯示器的顯示方式有兩種:靜態(tài)顯示和動態(tài)掃描顯示。所謂靜態(tài)顯示,是指當顯示器顯示某個字符時,相應(yīng)段的發(fā)光二極管處于恒定的導(dǎo)通或截止狀態(tài),直到需要顯示另一個字符為止。在這種工作方式下,LED的亮度高,軟件編程也比較容易;但是它占用比較多的I/O資源,常用于現(xiàn)實位數(shù)不多的情況。LED顯示器動態(tài)接口的基本原理是利用人眼的“視覺暫留”效應(yīng)。接口電路把所有顯示器的8個筆端a到h分別并聯(lián)在一起,構(gòu)成“字段口”,每個顯示器的公共端COM各自獨立的受I/O線控制,稱“位掃描口”。CPU向字段輸出口送出字形碼時,所有的顯示器都能接受到,但是究竟點亮哪個顯示器,取決于此時的位掃描口德輸出端接通了哪個LED顯示器的公共端。所謂動態(tài),就是利用循環(huán)掃描的方式,分時輪流選通各顯示器的公共端,使各個顯示器輪流導(dǎo)通。當掃描速度達到一定程度時,人眼就分辨不出來了,認為是各個顯示器。本設(shè)計是對室內(nèi)溫度進行顯示,一般用戶室內(nèi)溫度是兩位,所以我采用兩位數(shù)碼管顯示,共陽極、動態(tài)顯示方式。P0.0~P0.7連接數(shù)碼管的段輸出,P3.0、P3.1連接數(shù)碼管的位輸出,溫度顯示模塊如下圖:溫度顯示模塊2.5電機調(diào)速與控制模塊設(shè)計電機調(diào)速是整個控制系統(tǒng)中的一個重要的方面。通過控制雙向可控硅的導(dǎo)通角,使輸出端電壓發(fā)生改變,從而使施加在電風扇的輸入電壓發(fā)生改變,以調(diào)節(jié)風扇的轉(zhuǎn)速,實現(xiàn)各檔位風速的無級調(diào)速。2.5.1可控硅的導(dǎo)通條件如下:1)陽-陰極間加正向電壓;2)控制極-陰極間加正向觸發(fā)電壓;3)陽極電流IA大于可控硅的最小維持電流IH。電風扇的風速設(shè)為從高到低5、4、3、2、1檔,各檔風速都有一個限定值。在額定電壓、額定功率下,以最高轉(zhuǎn)速運轉(zhuǎn)時,要求風葉最大圓周上的線速度不大于2150m/min。且線速度可由下列公式求得式中,V為扇葉最大圓周上的線速度(m/min),D為扇中的最大頂端掃出圓的直徑(mm);n為電風扇的最高轉(zhuǎn)速(r/min)。代入數(shù)據(jù)求得1555r/min,取=1250r/min.又因為:取n1=875r/min.則可得出五個檔位的轉(zhuǎn)速值:=1250r/min=1150r/min=1063r/min=980r/min=875r/min又由于負載上電壓的有效值其中,u1為輸入交流電壓的有效值,α為控制角。解得:=0°t=0ms=23.5°t=1.70ms=46.5°t=2.58ms=61.5°t=3.43ms=76.5°t=4.30ms以上計算出的是控制角和觸發(fā)時間,當檢測到過零點時,按照所求得的觸發(fā)時間延時發(fā)脈沖,便可實現(xiàn)預(yù)期轉(zhuǎn)速。2.5.2電機控制模塊硬件設(shè)計電路中采用了過零雙向可控硅型光耦MOC3041,集光電隔離、過零檢測、過零觸發(fā)等功能于一身,避免了輸入輸出通道同時控制雙向可控硅觸發(fā)的缺陷,簡化了輸出通道隔離2驅(qū)動電路的結(jié)構(gòu)。所設(shè)計的可控硅觸發(fā)電路原理圖見圖2-3。其中RL即為電機負載,其工作原理是:單片機響應(yīng)用戶的參數(shù)設(shè)置,在I/O口輸出一個高電平,經(jīng)反向器反向后,送出一個低電平,使光電耦合器導(dǎo)通,同時觸發(fā)雙向可控硅,使工作電路導(dǎo)通工作。給定時間內(nèi),負載得到的功率為:式中:P為負載得到的功率,kW;n為給定時間內(nèi)可控硅導(dǎo)通的正弦波個數(shù);N為給定時間內(nèi)交流正弦波的總個數(shù);U為可控硅在一個電源周期全導(dǎo)通時所對應(yīng)的電壓有效值,V;I為可控硅在一個電源周期全導(dǎo)通時所對應(yīng)的電流有效值,A。由式(1)可知,當U,I,N為定值時,只要改變U值的大小即可控制功率的輸出,從而達到調(diào)節(jié)電機轉(zhuǎn)速的目的。下圖為電機的原理圖:2-5-2電機控制原理圖第3章軟件設(shè)計與說明(包括流程圖)3.1系統(tǒng)方案設(shè)計軟件是單片機應(yīng)用系統(tǒng)中的一個重要的組成部分。一般計算機應(yīng)用系統(tǒng)的軟件包括系統(tǒng)軟件和用戶軟件,而單片機應(yīng)用系統(tǒng)中的軟件只有用戶軟件,即應(yīng)用系統(tǒng)軟件。軟件設(shè)計的關(guān)鍵是確定軟件應(yīng)完成的任務(wù)及選擇相應(yīng)的軟件結(jié)構(gòu)。根據(jù)系統(tǒng)軟、硬件的功能分工,可確定出軟件應(yīng)完成什么功能。作為實現(xiàn)控制功能的軟件應(yīng)明確控制對象、控制信號、控制時序;作為實現(xiàn)處理功能的軟件應(yīng)明確輸入是什么、要做什么處理(處理算法)、產(chǎn)生何種輸出。本方案按照功能的不同可以把系統(tǒng)軟件部分分成五大模塊,每個獨立的模塊通過聯(lián)系程序聯(lián)系起來,再與硬件聯(lián)系,從而形成一個完整的控制系統(tǒng)。系統(tǒng)的主要功能模塊有:(1)主程序(2)傳感器溫度檢測模塊(3)溫度顯示模塊(4)按鍵控制模塊(5)電機調(diào)速模塊3.2主要程序流程圖3.2.1主程序流程圖右圖為主程序流程圖。系統(tǒng)初始化,主程序便開始運行。3.2.2數(shù)字溫度傳感器模塊程序流程圖本系統(tǒng)的運行程序采用匯編語言編寫,采用模塊化設(shè)計,整體程序由主程序和子程序構(gòu)成。圖3-2-2數(shù)字溫度傳感器模塊程序流程圖如圖3-2-2所示,主機控制DS18B20完成溫度轉(zhuǎn)換工作必須經(jīng)過三個步驟:初始化、ROM操作指令、存儲器操作指令。單片機所用的系統(tǒng)頻率為12MHz。根據(jù)DS18B20初始化時序、讀時序和寫時序分別可編寫4個子程序:初始化子程序、寫子程序、讀子程序、顯示子程序。DS18B20芯片功能命令表如下:表2DS18B20功能命令表命令功能描述命令代碼CONVERT開始溫度轉(zhuǎn)換44HREADSCRATCHPAD讀溫度寄存器(共9字節(jié))BEHREADROM讀DS18B20序列號33HWRITESCRATCHPAD將警報溫度值寫如暫存器第2、3字節(jié)4EHMATCHROM匹配ROM55HSEARCHROM搜索ROMF0HALARMSEARCH警報搜索ECHSKIPROM跳過讀序列號的操作CCHREADPOWERSUPPLY讀電源供電方式:0為寄生電源,1為外電源B4H(該主要程序見程序清單)3.2.3顯示程序流程圖DSl8B20是一個典型的單總線傳感器,其命令序列如下:第一步:初始化;第三步:ROM命令(跟隨需要交換的數(shù)據(jù));第三步:功能命令(跟隨需要交換的數(shù)據(jù))。3.2.4電動機程序設(shè)計原理以及流程圖程序設(shè)計原理采用雙向可控硅過零觸發(fā)方式,由單片機控制雙向可控硅的通斷,通過改變每個控制周期內(nèi)可控硅導(dǎo)通和關(guān)斷交流完整全波信號的個數(shù)來調(diào)節(jié)負載功率,進而達到調(diào)速的目的。由于INT0信號反映工頻電壓過零時刻,因此只要在外中斷0的中斷服務(wù)程序中完成控制門的開啟與關(guān)閉,并利用中斷服務(wù)次數(shù)對控制量n進行計數(shù)和判斷,即每中斷一次,對n進行減1計數(shù),如果n不等于0,保持控制電平為“1”,繼續(xù)打開控制門;如n=0,則使控制電平復(fù)位為“0”,關(guān)閉控制門,使可控硅過零觸發(fā)脈沖不再通過。這樣就可以按照控制處理得到的控制量的要求,實現(xiàn)可控硅的過零控制,從而達到按控制量控制的效果,實現(xiàn)速度可調(diào)。1)回路控制執(zhí)行程序。主回路控制執(zhí)行程序的任務(wù)是初始化數(shù)據(jù)存儲單元,確定電機工作參數(shù)/,并將其換算成“有效過零脈沖”的個數(shù);確定中斷優(yōu)先級、開中斷,為了保證正弦波的完整,工頻過零同步中斷INT0確定為高一級的中斷源。2)斷服務(wù)程序,執(zhí)行中斷服務(wù)程序時,首先保護現(xiàn)場,INT0中斷標志置位,禁止主程序修改工作參數(shù),然后開始減1計數(shù),判斷是否關(guān)斷可控硅,最后INT0中斷標志位清零,還原初始化數(shù)據(jù),恢復(fù)現(xiàn)場,中斷返回。(設(shè)1秒鐘通過波形數(shù)N=100)(電動機中斷程序見程序清單)第4章調(diào)試步驟、結(jié)果、使用說明系統(tǒng)的調(diào)試和運行,先將編好的程序?qū)懗稍绦蛭募撕蠼?jīng)過匯編后生成目標文件,用仿真軟件進行調(diào)試。1、-開始菜單->所有程序->Proteus6Professional->ISIS6Professional。2、在桌面雙擊右面圖標基本電路點擊PickDevices按鈕,(該按鈕位于工作區(qū)左邊的面板中,就是那個P按鈕),這是會打開標題為PickDevices的對話框單擊PickDevices對話框的OK按鈕結(jié)束添加元件。3、在TheObjectSelector(元件列表框)單擊選擇所要添加的設(shè)備。4、設(shè)備選好之后,把設(shè)備放在ISISProfessional界面內(nèi)連接,然后選擇元件的參數(shù),電路原理圖至此就完成了。5、編譯程序先選存放位置:左鍵選中“Source”→“Add/RemoveSourceCodeFiles”彈出一對話框“CodeGenerationTool”的下拉箭頭選中“ASEM51”,再點“New”會彈出一對話框,選存放位置4.ASM,然后左鍵點“打開”,會彈出是否新建的對話框,點“是”至此存放位置已選好了。開始輸入程序:左鍵點“Source”→“4.ASM”,在打開的“SourceEditor”對話框內(nèi)輸入溫度顯示程序并保存。編譯:左鍵選中“Source”→“BuildAll”彈出“BUILDLOG”6、仿真單擊開始仿真啟動程序。第5章設(shè)計總結(jié)經(jīng)過兩個月的畢業(yè)實習,使我們與老師的交流面變廣,與同學之間的合作意識增強,通過這次畢業(yè)設(shè)計使我們在這三年大學里所學的知識得以復(fù)習和鞏固,同時也使我深刻認識到我們所學的內(nèi)容是多么有限,學校生活的結(jié)束并不代表學習的結(jié)束,要想真正的有所發(fā)展,還將要不斷的學習和進取。在這次設(shè)計中我學到了不少新知識,了解了很多的設(shè)計思想與方法,我也將繼續(xù)努力,不斷完善和充實自己。最后我們要感謝含辛茹苦、默默的在后面輔導(dǎo)我們的老師,我們的成功離不開你的默默的努力和鞭策,在以后的工作和學習過程中我們將牢記你的指導(dǎo)和教誨,使自己在事業(yè)上有更好的發(fā)展!附錄A:系統(tǒng)與原理圖:附錄B程序清單2.1主程序KEY_AUTOBITP1.0;定義自動按鈕端口KEY_HANDBITP1.1;定義手動按鈕端口KEY_FOUNDBITP1.2;定義設(shè)定按鈕KEY_ADDBITP1.3;定義設(shè)定加按鈕KEY_DECBITP1.4;定義設(shè)定減按鈕KEY_ONEBITP1.5;定義高檔按鈕KEY_TWOBITP1.6;定義中檔按鈕KEY_THREEBITP1.7;定義低檔按鈕OUTPUTBITP2.7;定義電動機輸出端口ORG0000HLJMPMAINORG0100HORG001BHMAIN:MOVSP,#60HMOV4AH,#22;單片機復(fù)位后默認設(shè)定溫度為22攝氏度CLROUTPUT;上電后輸出停止 MAAI:LCALLTEMPER1;調(diào)用檢測溫度子程序LCALLDISPLAY;調(diào)用顯示子程序LCALLKEYSCAN;調(diào)用按鍵子程序LCALLOUTPUT;調(diào)用電動機輸出子程序SJMPMA2.2溫度檢測主要程序如下:TEMPER1:TEMPER_LEQU29H;用于保存讀出溫度的低8位TEMPER_HEQU28H;用于保存讀出溫度的高8位FLAGEQU38H;是否檢測到DS18B20標志位A_BITEQU20H;數(shù)碼管個位數(shù)存放內(nèi)存位置B_BITEQU21H;數(shù)碼管十位數(shù)存放內(nèi)存位置DQBITP3.4MAIN:ACALLRE_TEMPER;調(diào)用讀溫度子程序ACALLTURN;調(diào)用轉(zhuǎn)化子程序ACALLDISPLAYJMPMAIN;讀出轉(zhuǎn)換后的溫度值RE_TEMPER:SETBDQLCALLINIT_1820;先復(fù)位DS18B20JBFLAG,STRET判斷DS1820是否存在?若DS18B20不存在則返回ST:MOVA,#0CCH;跳過ROM匹配LCALLWRITE_1820MOVA,#44H;發(fā)出溫度轉(zhuǎn)換命令LCALLWRITE_1820;這里通過調(diào)用顯示子程序?qū)崿F(xiàn)延時;一段時間,等待AD轉(zhuǎn)換結(jié)束,12位的話750微秒LCALLDISPLAYLCALLINIT_1820;準備讀溫度前先復(fù)位MOVA,#0CCH;跳過ROM匹配LCALLWRITE_1820MOVA,#0BEH;發(fā)出讀溫度命令LCALLWRITE_1820LCALLREAD_1820;將讀出的溫度數(shù)據(jù)保存到35H/36HRET;這是DS18B20復(fù)位初始化子程序INIT_1820:SETBDQNOPCLRDQ;主機發(fā)出延時537微秒的復(fù)位低脈沖MOVR1,#3DLY:MOVR0,#107DJNZR0,$DJNZR1,DLYSETBDQ;然后拉高數(shù)據(jù)線NOP;等待DS18B20回應(yīng)NOPNOPMOVR0,#25HT2:JNBDQ,T3;等待DS18B20回應(yīng)DJNZR0,T2;延時LJMPT4T3:SETBFLAG;置標志位,表示DS1820存在LJMPT5T4:CLRFLAG;清標志位,表示DS1820不存在LJMPT7T5:MOVR0,#117T6:DJNZR0,T6;時序要求延時一段時間T7:SETBDQRET;寫DS18B20的子程序(有具體的時序要求)WRITE_1820:MOVR2,#8;一共8位數(shù)據(jù)CLRCWR1:CLRDQMOVR3,#6DJNZR3,$RRCAMOVDQ,CMOVR3,#23DJNZR3,$SETBDQNOPDJNZR2,WR1SETBDQRET;讀DS18B20的程序,從DS18B20中讀出兩個字節(jié)的溫度數(shù)據(jù)READ_1820:MOVR4,#2;將溫度高位和低位從DS18B20中讀出MOVR1,#29H;低位存入29H(TEMPER_L),高位存入28H(TEMPER_H)RE0:MOVR2,#8;數(shù)據(jù)一共有8位RE1:CLRCSETBDQNOPNOPCLRDQ;讀前總線保持為低NOPNOPNOPSETBDQ;開始讀總線釋放MOVR3,#9RE2:DJNZR3,RE2;延時MOVC,DQ;從總線讀到一個位MOVR3,#23RE3:DJNZR3,RE3;等待RRCA;把讀到的位的值循環(huán)給ADJNZR2,RE1;再讀下一個位MOV@R1,ADECR1DJNZR4,RE0RET;數(shù)據(jù)轉(zhuǎn)化子程序TURN:MOVA,29HMOVC,40H;將28H中的最低位移入CRRCAMOVC,41HRRCAMOVC,42HRRCAMOVC,43HRRCAMOV29H,ARET顯示子程序DISPLAY:MOVA,29H;將29H中的十六進制數(shù)轉(zhuǎn)換成10進制MOVB,#10DIVABMOVB_BIT,A;十位在AMOVA_BIT,B;個位在BMOVDPTR,#NUMTAB;指定查表啟始地址MOVR0,#4DPL1:MOVR1,#250;顯示1000次LOOP:MOVA,A_BIT;取個位數(shù)MOVCA,@A+DPTR;查個位數(shù)的7段代碼MOVP0,A;送出位的7段代碼SETBP3.1;開個位顯示ACALLDELAY;顯示1msCLRP3.1MOVA,B_BIT;取十位數(shù)MOVCA,@A+DPTR;查十位數(shù)的7段代碼MOVP0,A;送出十位的7段代碼SETBP3.0;開十位顯示ACALLDELAY;顯示1msCLRP3.0DJNZR1,LOOP;250次沒完循環(huán)DJNZR0,DPL1;4個250次沒完循環(huán)RET;1MS延時(按12MHZ算)DELAY:MOVR7,#80DJNZR7,$RET;7段數(shù)碼管0~9數(shù)字的共陽顯示代碼NUMTAB:DB:0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90HEND2.3按鍵子程序(部分)KEYSCAN:MOVP1,#0FFH;將P1口置1MOVA,P1;讀P1口各鍵盤狀態(tài),按鍵按下狀態(tài)為0,未按為1MOV10H,A;存儲鍵值狀態(tài)值A(chǔ)CALLDELAY;調(diào)用延時MOVA,P1;再讀P1口各按鍵狀態(tài)CJNEA,10H,D0D0;兩次結(jié)果不同,說明是抖動引起JBP1.0,K2;K1鍵未按下,轉(zhuǎn)K2LJMPKEY1;K1鍵按下,轉(zhuǎn)K1鍵處理程序K2:JBP1.1,K3;K2鍵未按下,轉(zhuǎn)K3LJMPKEY2;K2鍵按下,轉(zhuǎn)K2鍵處理程序K3:JBP1.2,K4;K3鍵未按下,轉(zhuǎn)K4LJMPKEY3;K3鍵按下,轉(zhuǎn)K3鍵處理程序K4:JBP1.3,K5;K4鍵未按下,轉(zhuǎn)K5LJMPKEY4;K4鍵按下,轉(zhuǎn)K4鍵處理程序K5:JBP1.4,K6;K5鍵未按下,轉(zhuǎn)K6LJMPKEY5
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年深海資源勘探技術(shù)報告及未來五至十年海底礦藏報告
- 六年級期中語文閱讀理解試題集
- 外貿(mào)英語商務(wù)談判技巧資料匯編
- 2026年智能網(wǎng)聯(lián)汽車芯片創(chuàng)新報告
- 計算機應(yīng)用基礎(chǔ)操作實訓教學方案
- 食品安全監(jiān)管員職責及考核制度
- 招投標項目風險管控方案
- 機場安全保障工作手冊
- 一年級英語全冊教案設(shè)計范例
- 個人授權(quán)委托書范文模板
- 中遠海運集團筆試題目2026
- 2026年中國熱帶農(nóng)業(yè)科學院橡膠研究所高層次人才引進備考題庫含答案詳解
- 2025-2026學年四年級英語上冊期末試題卷(含聽力音頻)
- 浙江省2026年1月普通高等學校招生全國統(tǒng)一考試英語試題(含答案含聽力原文含音頻)
- 2026屆川慶鉆探工程限公司高校畢業(yè)生春季招聘10人易考易錯模擬試題(共500題)試卷后附參考答案
- 基本農(nóng)田保護施工方案
- 股骨頸骨折患者營養(yǎng)護理
- 2026年廣西出版?zhèn)髅郊瘓F有限公司招聘(98人)考試參考題庫及答案解析
- 醫(yī)源性早發(fā)性卵巢功能不全臨床治療與管理指南(2025版)
- 甘肅省平?jīng)鍪?2025年)輔警協(xié)警筆試筆試真題(附答案)
- 中國雙相障礙防治指南(2025版)
評論
0/150
提交評論