版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、西華大學電氣信息學院智能化電子系統(tǒng)設計報告 1 前言現(xiàn)代生活,電腦已經(jīng)成為人們生活中不可缺少的一部分。無論筆記本電腦還是臺式電腦,人們在選擇的時候都會考慮到它的散熱性能,一個好的散熱系統(tǒng)能夠保證電腦的高速正常運行,給CPU足夠的空間進行高負載的活動,才能享受計算機技術給我們生活帶來的無窮魅力,可見一個好的散熱系統(tǒng),對電腦而言是多么的重要。但是,計算機部件中大量使用的是集成電路,而眾所周知,高溫是集成電路的大敵。高溫不但會導致系統(tǒng)運行不穩(wěn),使用壽命縮短,甚至有可能使某些部件燒毀。導致高溫的熱量不是來自計算機外,而是計算機內(nèi)部,或者說是集成電路內(nèi)部。散熱器的作用就是將這些熱量吸收,然后發(fā)散到機箱內(nèi)
2、或者機箱外,保證計算機部件的溫度正常。多數(shù)散熱器通過和發(fā)熱部件表面接觸,吸收熱量,再通過各種方法將熱量傳遞到遠處,比如機箱內(nèi)的空氣中,然后機箱將這些熱空氣傳到機箱外,完成計算機的散熱。說到計算機的散熱器,我們最常接觸的就是CPU的散熱器。散熱器通常分為主動散熱和被動散熱兩種;前者以風冷散熱器較為常見,而后者多為散熱片。細分散熱方式,又可分為風冷,液冷,半導體制冷,壓縮機制冷等等。其中,液冷·半導體制冷及壓縮機制冷要么技術不成熟,要求高,能耗大;要么體積受限,價格昂貴。風冷散熱器作為區(qū)別于水冷散熱器的一個主流產(chǎn)品類別,不斷的引領著整個IT散熱市場的前進和創(chuàng)新因此,風冷是最常見,性價比最
3、高的散熱方式,我們設計的“智能電腦散熱系統(tǒng)”就是利用溫度傳感器實現(xiàn)對外界溫度的感知,再利用單片機 編程控制風扇的轉(zhuǎn)速,從而實現(xiàn)溫度的自動調(diào)節(jié),以達到散熱目的。正是因為融合了溫度傳感器技術和單片機技術,使得本作品兼智能化和自動化于一體。而溫控調(diào)速技術的優(yōu)點在于其能有效地提高散熱器的的工作效率,節(jié)約能源,性價比高,適用范圍廣泛。且本設計比較人性化,由于不同的電腦的散熱能力不同,對于散熱能力很差的電腦而言,只憑借溫控可能無法實現(xiàn)正常降溫,就需要人為控制來調(diào)節(jié)適合電腦的散熱,因此我們增加了手控模式。本設計中增加了實時溫度顯示,讓我們隨時看著CPU的具體溫度,從而消除憂慮,并且,在這基礎之上,還增加了高
4、溫報警功能,避免你的電腦因為溫度過高燒毀一些部件甚至是CPU。因此,我們的設計更加人性化,更加舒適。 2 總體方案設計2.1設計內(nèi)容 根據(jù)對環(huán)境溫度的測量控制小風扇的轉(zhuǎn)速,并用數(shù)碼管顯示當前溫度數(shù)值,溫度升高風扇轉(zhuǎn)速提高,溫度降低風扇轉(zhuǎn)速下降。同時配備按鍵實現(xiàn)控制風扇的啟、停,溫控模式、手控模式、手控檔位加,手控檔位減,另外還要實現(xiàn)溫度過高自動報警,以及按鍵按下時發(fā)聲,提醒操作成功。2.2方案比較 方案一:選用熱敏電阻作為感測溫度的核心元件,通過運算放大器放大由于溫度變化引起熱敏電阻電阻的變化、進而導至的輸出電壓變化的微弱電壓變化信號,再用AD轉(zhuǎn)換芯片ADC0809將模擬信號轉(zhuǎn)化為數(shù)字信號輸入
5、STC89C52RC單片機處理。采用液晶顯示屏LCD顯示溫度,電機采用數(shù)模轉(zhuǎn)換芯片AD0832控制,由單片機根據(jù)當前溫度值送出相應數(shù)字量到AD0832,由AD0832產(chǎn)生模擬信號產(chǎn)生PWM波,控制直流電機轉(zhuǎn)速。如圖2.1熱敏電阻檢測溫度89C52單片機比較器AD轉(zhuǎn)換LCD顯示按鍵控制DA轉(zhuǎn)換控制電機報警裝置 圖2.1 系統(tǒng)總體框圖 方案二:采用數(shù)字式集成溫度傳感器DS18B20作為感測溫度的核心元件,直接輸出數(shù)字溫度信號輸入STC89C52RC單片機處理,采用四位共陽數(shù)碼管顯示溫度,采用動態(tài)掃描顯示方式,并且采用對單片機編程輸出PWM調(diào)制波形經(jīng)ULN2003驅(qū)動后直接控制電機轉(zhuǎn)速。如圖2.2D
6、S18B20溫度轉(zhuǎn)換89C52單片機四位7段LED數(shù)碼管按鍵控制U L N2003控制電機報警裝置圖2.2 系統(tǒng)總體框圖2.3 方案論證 方案一:此方案能夠?qū)崿F(xiàn)設計的功能,采用熱敏電阻有價格便宜、元件易購的優(yōu)點,但熱敏電阻對溫度的細微變化不敏感,在信號采集、放大、轉(zhuǎn)換過程中還會產(chǎn)生失真和誤差,并且由于熱敏電阻的R-T關系的非線性,其本身電阻對溫度的變化存在較大誤差,雖然可以通過一定電路予以糾正,但不僅將使電路復雜穩(wěn)定性降低,而且在人體所處溫度環(huán)境溫度變化中難以檢測到小的溫度變化。液晶體顯示屏具有顯示字符優(yōu)美,不但能顯示數(shù)字還能顯示字符甚至圖形的優(yōu)點。但是液晶顯示模塊價格昂貴,驅(qū)動程序復雜。雖然
7、用DA轉(zhuǎn)化芯片產(chǎn)生PWM調(diào)制波能夠?qū)崿F(xiàn),但是D/A轉(zhuǎn)換芯片價格較高,與其溫控狀態(tài)下單片機直接編程相比性價比不高。 方案二:本方案也能正常實現(xiàn)設計的功能,并且由于數(shù)字式集成溫度傳感器DS18B20的高度集成化,大大降低了外接放大轉(zhuǎn)換等電路的誤差因素,溫度誤差很小,并且由于其感測溫度的原理與上述方案的原理有著本質(zhì)的不同,使得其溫度分辨力極高。溫度值在器件內(nèi)部轉(zhuǎn)換成數(shù)字量直接輸出,簡化了系統(tǒng)程序設計,又由于該傳感器采用先進的單總線技術,與單片機的接口變的非常簡潔,抗干擾能力強。LED數(shù)碼管顯示,成本低廉,顯示溫度明確醒目,在夜間也能看見,功耗極低,顯示驅(qū)動程序的編寫也相對簡單,這種顯示方式得到廣泛應
8、用。2.4方案選擇通過上面兩種方案的論證比較,中和性價比和復雜度,我們選擇第二種方案。3.單元模塊電路簡介與設計3.1 本系統(tǒng)部分器件介紹3.1.1 DS18B20 溫度傳感器簡介DS18B20 單線數(shù)字溫度傳感器是Dallas 半導體公司開發(fā)的世界上第一片支持“一線總線”接口的溫度傳感器。它具有3 引腳TO92 小體積封裝形式。溫度測量范圍為-55+125,可編程為9 位12 位A/D 轉(zhuǎn)換精度,測溫分辨率可達0.0625。被測溫度用符號擴展的16 位數(shù)字量方式串行輸出。工作電壓支持3V5.5V 的電壓范圍,既可在遠端引入,也可采用寄生電源方式產(chǎn)生。DS18B20 還支持“一線總線”接口,多
9、個DS18B20可以并聯(lián)到3 根或2 根線上,CPU 只需一根端口線就能與諸多DS18B20 通信,占用微處理器的端口較少,可節(jié)省大量的引線和邏輯電路。它還有存儲用戶定義報警溫度等功能。DS18B20 內(nèi)部結構及管腳圖:DS18B20 內(nèi)部結構如圖3.1所示,主要由4 部分組成:64 位ROM、溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器TH 和TL、配置寄存器。其管腳排列如圖3.2所示,DQ 為數(shù)字信號端,GND 為電源地,VDD 為電源輸入端。圖3.1 DS18B20 內(nèi)部結構圖3.2 DS18B20 外形及管腳3.1.2 STC89C52RC單片機簡介STC89C52RC 是一種帶4K字節(jié)閃存可編
10、程可擦除只讀存儲器(FPEROM)256B片內(nèi)RAM的低電壓,高性能CMOS8 位微處理器。該器件采用ATMEL 高密度非易失存儲器制造技術制造,與工業(yè)標準的MCS-51 指令集和輸出管腳相兼容。由于將多功能8 位CPU 和閃爍存儲器組合在單個芯片中,STC 的STC89C52RC 是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。STC89C52RC單片機管腳如圖3.3所示:圖3.3 STC89C52RC單片機管腳各管腳功能:VCC:供電電壓。GND:接地。P0 口:P0 口為一個8 位漏級開路雙向I/O 口,每腳可吸收8TTL 門電流。當P1 口的管腳第一次寫1 時,
11、被定義為高阻輸入。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
12、”時,其管腳被內(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 口將輸出電流
13、(ILL)這是由于上拉的緣故。P3 口也可作為AT89C51 的一些特殊功能口。3.1.3 ULN2003芯片簡介ULN2003是大電流驅(qū)動陣列,多用于單片機、智能儀表、PLC、數(shù)字量輸出卡等控制電路中。可直接驅(qū)動繼電器等負載。 輸入5VTTL電平,輸出可達500mA/50V。 ULN2003是高耐壓、大電流達林頓陳列,由七個硅NPN達林頓管組成。 該電路的特點如下: ULN2003的每一對達林頓都串聯(lián)一個2.7K的基極電阻,在5V的工作電壓下它能與TTL和CMOS電路 直接相連,可以直接處理原先需要標準邏輯緩沖器來處理的數(shù)據(jù)。 ULN2003 是高壓大電流達林頓晶體管陣列系列產(chǎn)品,具有電流增
14、益高、工作電壓高、溫度范圍寬、帶負載能力強等特點,適應于各類要求高速大功率驅(qū)動的系統(tǒng)其管腳圖如圖3.4 圖3.4 ULN2003芯片引腳圖3.2 單元模塊電路設計3.2.1 電源電路電源電路主要是為系統(tǒng)提供電源,在本設計中,為了使電路簡單,我們直接用USB接口提供5V直流電源為電路供電。下圖中的第2個圖是電源指示燈電路,指示是否給系統(tǒng)加電,第3個圖是濾波電路,第4個圖是為其余芯片供電電路。電路如圖3.5。 圖3.5 電源電路圖3.2.2 單片機主芯片電路 芯片STC89C52RC是帶2K字節(jié)快閃存儲器的8位單片機。P0-P3口都是并行I/O口,都可用于數(shù)據(jù)的輸入和輸出。其中P1的P
15、1.4,P1.5,P1.6,P1.7口用于LED顯示的位選控制;P1.2高溫報警;P1.3用于控制直流電機的轉(zhuǎn)速。P2口用于LED數(shù)碼管的段選信號輸出,P3.4用于DS18B20溫度檢測值的輸入,而P0.0-P0.4用于按鍵的輸入檢測,同時P0口加上拉電阻。電路如圖3.6 。圖3.6 單片機芯片STC89C52的電路圖3.2.3 時鐘電路單片機的晶振電路,即時鐘電路。單片機的工作流程,就是在系統(tǒng)時鐘的作用下,一條一條地執(zhí)行存儲器中的程序。單片機的時鐘電路由外接的一只晶振和兩只起振電容,以及單片機內(nèi)部的時鐘電路組成,晶振的頻率越高,單片機處理數(shù)據(jù)的速度越快,系統(tǒng)功耗也會相應增加,穩(wěn)定性也會下降。
16、單片機系統(tǒng)常用的晶振頻率有6MHz、110592MHz、12MHz、本系統(tǒng)采用110592MHz晶振,電容選30pF,電路如圖3.7 。圖3.7 晶振電路圖3.2.4 復位電路系統(tǒng)剛上電時,單片機內(nèi)部的程序還沒有開始執(zhí)行,需要一段準備時間,也就是復位時間。一個穩(wěn)定的單片機系統(tǒng)必須設計復位電路。當程序跑飛或死機時,也需要進行系統(tǒng)復位。復位電路有很多種,有上電復位,手動復位等,電路如圖3.8 。 圖3.8 復位電路圖3.2.5 顯示電路LED采用共陽極數(shù)碼管,利用單片機的I/O口驅(qū)動LED數(shù)碼管的亮滅。設計中為了簡化電路,直接用P1.5-P1.7四位來作為數(shù)碼管的片選信號,P2口來作為其段碼控制L
17、ED數(shù)值顯示。其電路如圖3.9圖3.9顯示模塊電路圖3.2.6 溫度檢測電路 設計中利用DS18B20作為溫度檢測,并且它能自動將溫度信號轉(zhuǎn)換成數(shù)字信號輸入給單片機的P3.4口,檢測靈敏,速度較快。模塊電路如圖3.10圖3.10 溫度檢測電路3.2.7 按鍵控制電路設計中利用五個按鍵控制,系統(tǒng)的啟、停,模式選擇,以及手控模式下的風扇轉(zhuǎn)速增減(默認為溫控模式),分別通過單片機I/O口的P0.0-P0.4輸入,并且P0口加上拉電阻。電路如圖3.11圖3.11 按鍵控制電路3.2.8 報警及電機電路 高溫報警和按鍵發(fā)聲采用同一電路,通過單片機的P1.2輸出信號經(jīng)ULN2003后控制此部分,而電機的控
18、制則由單片機P1.3輸出調(diào)制后的波形經(jīng)ULN2003后驅(qū)動電機。電路如圖3.12圖3.12 報警及電機電路3.3 模塊聯(lián)接總電路 根據(jù)以上各個部分的介紹,最后聯(lián)接成整體,實現(xiàn)從DS18B20中采集溫度,將溫度值一數(shù)字信號送入單片機中經(jīng)過處理后控制顯示以及風扇轉(zhuǎn)速,隨著溫度的變化,顯示和電機的轉(zhuǎn)速也會發(fā)生變化,并且進入手控模式后,通過按鍵也可以人為控制轉(zhuǎn)速,其聯(lián)接總圖如3.13:圖3.13 系統(tǒng)聯(lián)接總電路圖4.軟件設計4.1 程序設計原理及所用工具本設計采用剛剛學過的51單片機匯編語言進行編程,采用模塊化思想,即將其分為很多個模塊,有DS18B20部分,顯示部分,PWM調(diào)制部分,溫度比較及高溫報
19、警部分,按鍵控制部分,編程所用的軟件是Keil2,下載程序用到了STC_ISP_V481軟件,程序調(diào)試時仿真用到Proteus 7.0。4.2 主程序設計 主程序中主要完成將各模塊程序聯(lián)接起來,并且不斷循環(huán)進行,達到連續(xù)工作,并且會進行狀態(tài)查詢,當開啟后才能執(zhí)行程序,否則不斷待機查詢,最后進行是否關閉查詢,若沒有關閉,正常執(zhí)行,若關閉則進入待機查詢開啟鍵狀態(tài)。流程框圖見圖4.14.3各模塊子程序設計4.3.1 DS18B20復位與檢測子程序在本子程序中首先進行DS18B20的復位并查詢是否準備好,然后寫入控制,讀出溫度,其代碼如下:RESET: SETB DATA_LINE NOP CLR D
20、ATA_LINE MOV R0,#64H MOV R1,#03HRESET1: DJNZ R0,$ MOV R0,#64H DJNZ R1,RESET1 SETB DATA_LINE NOP MOV R0,#25HRESET2: JNB DATA_LINE,RESET3 DJNZ R0,RESET2 JMP RESET4 RESET3: SETB FLAG1 JMP RESET5RESET4: CLR FLAG1 JMP RESET6RESET5: MOV R0,#064H DJNZ R0,$ RESET6: SETB DATA_LINE RET 本代碼的過程是,首先由單片機向其輸入大約600
21、us的低電平信號,為了讓DS18B20復位,然后將總線拉高就是等待它的反應,若存在并且準備就緒就會給單片機回復一個高電平,當我們查詢到高電平后,就將標志位置高,表明其存在并準備好,查詢不到高電平,則代表DS18B20存在故障,則標志位清零。通過這個子程序,可以準確的判斷DS18B20的狀態(tài),有利于系統(tǒng)的正常運行。 而從DS18B20中讀取溫度的程序如下:READ: MOV R4,#4 ; 將溫度高位和低位從DS18B20中讀出 MOV R1,#30H ; 存入30H、31H、32H、33HRE00: MOV R2,#8RE01: CLR C SETB DATA_LINE NOP NOP CLR
22、 DATA_LINE ;讀前總線保持為低 NOP NOP NOP SETB DATA_LINE ;開始讀總線釋放 MOV R3,#09 ;延時18微妙 DJNZ R3,$ MOV C,DATA_LINE ;從DS18B20總線讀得一個BIT MOV R3,#23 DJNZ R3,$ ;等待46微妙 RRC A ;把讀得的位值環(huán)移給A DJNZ R2,RE01 ;讀下一個BIT MOV R1,A INC R1 DJNZ R4,RE00 RET 通過這個程序我們可以看出,在DS18B20準備就緒并且應答單片機后,就可以進行讀取溫度的操作。將讀取的數(shù)據(jù)放入單片機的數(shù)據(jù)儲存器的4個儲存單元。從程序中可
23、以看出,DS18B20是采用串行通信方式,只能進行位操作,通過將讀取來的信息在累加器中進行帶標志位移位操作,可以將串行變并行,完成讀取后的溫度信息是以字節(jié)的形式存在,方便后續(xù)的調(diào)用和處理。4.3.2 顯示子程序 將溫度讀出轉(zhuǎn)換后的溫度數(shù)據(jù)分別存在70H-73H中,在本子程序中將其讀出從P2口輸出控制數(shù)碼管顯示。 將讀取來的溫度數(shù)據(jù)進行BCD碼轉(zhuǎn)換的代碼如下:CONVTEMP: MOV A,TEMPH ;判溫度是否零下 ANL A,#80H JZ TEMPC1 ;溫度零上轉(zhuǎn) CLR C MOV A,TEMPL ;二進制數(shù)求補(雙字節(jié)) CPL A ;取反加1 ADD A,#01H MOV TEM
24、PL,A MOV A,TEMPH ; CPL A ADDC A,#00H MOV TEMPH,A ;TEMPHC HI =符號位 MOV TEMPHC,#0BH SJMP TEMPC11TEMPC1: MOV TEMPHC,#0AH ;TEMPC11: MOV A,TEMPHC SWAP A MOV TEMPHC,A MOV A,TEMPL ANL A,#0FH ;乘0.0625 MOV DPTR,#TEMPDOTTAB MOVC A,A+DPTR MOV TEMPLC,A ;TEMPLC LOW=小數(shù)部分 BCD MOV A,TEMPL ;整數(shù)部分 ANL A,#0F0H SWAP A MO
25、V TEMPL,A MOV A,TEMPH ANL A,#0FH SWAP A ORL A,TEMPL MOV TEMP_ZH,A ;組合后的值存入TEMP_ZH LCALL HEX2BCD1 MOV TEMPL,A ANL A,#0F0H SWAP A ORL A,TEMPHC ;TEMPHC LOW = 十位數(shù) BCD MOV TEMPHC,A MOV A,TEMPL ANL A,#0FH SWAP A ;TEMPLC HI = 個位數(shù) BCD ORL A,TEMPLC MOV TEMPLC,A MOV A,R7 JZ TEMPC12 ANL A,#0FH SWAP A MOV R7,A
26、MOV A,TEMPHC ;TEMPHC HI = 百位數(shù) BCD ANL A,#0FH ORL A,R7 MOV TEMPHC,ATEMPC12: RETTEMPDOTTAB: DB 00H,01H,02H,03H,04H,05H,06H DB 07H,08H,09HHEX2BCD1: MOV B,#064H DIV AB MOV R7,A MOV A,#0AH XCH A,B DIV AB SWAP A ORL A,B RET BCD碼的轉(zhuǎn)換是溫度數(shù)據(jù)進入單片機后最重要的過程,之后的顯示和PWM調(diào)制過程都要用到轉(zhuǎn)換后的數(shù)據(jù),如果本部分代碼有誤,整個系統(tǒng)都將無法運行。從程序中可以看出,首先是
27、判斷溫度是否零下,因為涉及到符號位的取值,如果沒有這一步在后面的單字節(jié)的BCD碼轉(zhuǎn)換過程中就不能讀取出符號信息。當把溫度數(shù)據(jù)轉(zhuǎn)換成BCD碼后,需提取出各位的值,將一個兩位或者三位數(shù)分解成由百位,十位,各位構成的好處是有利于后面動態(tài)掃描顯示的段碼值查表。 顯示部分代碼如下:DISP1: MOV R1,#70H ;指向顯示數(shù)據(jù)首址 MOV R5,#80H ;掃描控制字初值PLAY: MOV P2, #0FFH MOV A,R5 ;掃描字放入A MOV P1, A MOV A,R1 ;取顯示數(shù)據(jù)到A MOV DPTR,#TAB ;取段碼表地址 MOVC A,A+DPTR ;查顯示數(shù)據(jù)對應段碼 MOV
28、 P2,A ;段碼放入P2口 MOV A, R5 JNB ACC.6,LOOP5 ;小數(shù)點處理 CLR P2.7LOOP5: LCALL DL_MS ;顯示2MS INC R1 ;指向下一個地址 MOV A,R5 ;放回 R5 內(nèi) JB ACC.3,ENDOUT ;ACC.3=1時一次顯示結束 RR A ;A 中數(shù)據(jù)循環(huán)右移 MOV R5,A ;放入 R5 中 AJMP PLAY ;跳回 PLAY 循環(huán)ENDOUT: MOV P1,#00H ;一次顯示結束,P1口復位 MOV P2,#0FFH ;P2口復位 RETTAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,
29、0F8H,80H,90H,0FFH,0BFH,0C7H,89HDL_MS: MOV R6,#25 DL1: MOV R7,#100DL2: DJNZ R7,DL2 DJNZ R6,DL1 RET 通過轉(zhuǎn)換后的數(shù)據(jù)存在70H-73H中,將其讀出再通過查表,獲得段碼值,然后通過單片機的P2口送出控制LED顯示,而位選信號通過P1口送出,本程序中為了簡便,使用了移位循環(huán)顯示,并且?guī)в行?shù)點的顯示。4.3.4 按鍵掃描子程序 本子程序是進行控制模式選擇按鍵查詢,并且進入手控模式時的檔位調(diào)節(jié)查詢,并且伴有按鍵發(fā)聲,按鍵掃描子程序代碼:KEYSCAN1: JB K1,KEYSCAN1 LCALL BEEP
30、_BL0 RETKEYSCAN2: JB K4,KEYSCAN2_OUT CPL FLAG2 LCALL BEEP_BLKEYSCAN2_OUT: RETKEYSCAN4: JB FLAG2,KEY1AJMP KEYSCAN4_OUTKEY1: JB K3,KEY2 LCALL BEEP_BL MOV A,ZS_MR ADD A, #5 MOV ZS_MR,A AJMP KEYSCAN4_OUTKEY2: JB K5,KEYSCAN4_OUT LCALL BEEP_BL MOV A,ZS_MR SUBB A, #5 MOV ZS_MR,A AJMP KEYSCAN4_OUTKEYSCAN4_O
31、UT: RETKEYSCAN3: JB K2,KEYSCAN3_OUT LCALL BEEP_BL0 LCALL KEYSCAN1KEYSCAN3_OUT: RET 本代碼中包含啟動關閉按鍵,當供電后,單片機進入查詢待機狀態(tài),只有在K1鍵按下后,才能夠執(zhí)行主程序,而K2鍵用于關閉系統(tǒng),當其按下后,調(diào)用按鍵發(fā)聲程序,轉(zhuǎn)入查詢K1待機狀態(tài)。而K4鍵是模式選擇鍵,本設計精巧之一就有模式選擇時,設定了標準位,可以通過查詢標志位便能夠確認模式,從而進行不同的PWM調(diào)制,默認模式為溫控模式標志位為低,當按下K4便進入手控模式,同時標志位置高,只有在K4按下后,K3,K5按鍵才有效,分別為檔位加和檔位減,并
32、且按鍵按下都會調(diào)用發(fā)聲程序,并且二極管會發(fā)光,提醒操作成功。開始初始化開啟?查詢按鍵K1檢測DS18B20正常?NYN溫度轉(zhuǎn)換命令Y讀溫度溫度BCD碼處理顯示溫度模式查詢與默認溫度比較查詢是否關按下?YN圖4.1 主程序流程框圖5系統(tǒng)調(diào)試5.1 硬件調(diào)試 在完成電路圖的仿真之后,進入了實物設計,實物設計主要是對自己所設計的電路圖進去焊接,用到自己電路圖上的所用器件,如果實在沒有的,可以用功能相似的器件來代替。在完成第一部分的焊接后,要對一些部件進行電壓的測量,第一部分的焊接主要焊接電阻,電源,USB接口,發(fā)光二極管等,焊接完成后,我們接上USB接口,發(fā)現(xiàn)電路板上的USB接口處的發(fā)光二極管不亮,
33、開始并不明確問題所在,之后我們使用萬用表對USP接口,穩(wěn)壓二極管,電源進行電壓的測量,最后我們發(fā)現(xiàn)時總控制開關安反,最后我們只好將按鍵取下重新安裝,然后再加電測量測量出來的電壓值均在+5.00V左右,并且發(fā)光二極管發(fā)亮,說明之后焊接的電路正確,之前存在問題。 之后我們斷開電源再將電路素所需要的芯片的連接板和電容等器件焊接到電路板上,焊接時必須注意芯片和電容的正負極,例如電容的正負極判斷為“長正短負”,就是電容所接的長的那根導線接正極,短的那根接負極。在焊接完成之后,我們再次接通電源和USP接口的電源,按下開關電源,USB接口處的發(fā)光二極管再次發(fā)亮,此時再次用萬用表對電路板的電源,穩(wěn)壓二極管,U
34、SB接口及其各個芯片和單片機進行電壓的測量,測量出來的全部都在+5.00V,說明電路正確,此時我們將所用的芯片包括單片機接上電路板,然后開啟電源,將程序載入單片機運行整個電路,我們發(fā)現(xiàn)LED數(shù)碼管顯示存在問題,主要是第二位位選可能存在問題,并且顯示較暗,后來我們總結發(fā)現(xiàn)是LED直接由單片機接出負載,而單片機的接負載能力很差,所以很暗,并且LED存在問題,最后在老師的指導下,根據(jù)原理圖,靈活做一些變動,添加了電阻、三極管驅(qū)動,另外,更換了LED顯示屏,使其顯示非常正常和明亮。由于老師給的外部電路是萬用板,所以我們必須自己焊接電路,并且要自己連接導線,焊接完成后,將程序下載到單片機中運行,發(fā)現(xiàn)電機
35、不能正常轉(zhuǎn)動,而且報警器不斷報警,最后我們檢測發(fā)現(xiàn),ULN2003的公共端我們沒有接地,因此我們將其接地后在進行調(diào)試,發(fā)現(xiàn)一切都正常??偨Y本次自己動手焊接和調(diào)試電路發(fā)現(xiàn)自己在動手能力方面還有很多不足,但是能夠自己在老師的指導下找出問題解決問題,自己覺得這是一個很大的進步。5.2 軟件調(diào)試 軟件調(diào)試是一個漫長的過程,一個小的疏忽就可能造成軟硬件結合時出現(xiàn)錯誤。我們在本次調(diào)試中主要出現(xiàn)了兩個大的錯誤:一方面就顯示和PWM調(diào)制時程序存在沖突,從而使電機轉(zhuǎn)動時出現(xiàn)不按預定進行轉(zhuǎn)動,另方面是動態(tài)顯示程序中的延遲做的不是恰到好處,從而顯示不停閃速。最初的顯示程序和PWM調(diào)制程序分別為:DISP1: MOV
36、 R1,#70H ;指向顯示數(shù)據(jù)首址 MOV R5,#80H ;掃描控制字初值PLAY: MOV P2,#0FFH MOV A,R5 ;掃描字放入A MOV P1,A MOV A,R1 ;取顯示數(shù)據(jù)到A MOV DPTR,#TAB ;取段碼表地址 MOVC A,A+DPTR ;查顯示數(shù)據(jù)對應段碼 MOV P2,A ;段碼放入P2口 MOV A,R5 JNB ACC.6,LOOP5 ;小數(shù)點處理 CLR P2.7LOOP5: LCALL DL_MS ;顯示2MS INC R1 ;指向下一個地址 MOV A,R5 ;放回 R5 內(nèi) JB ACC.3,ENDOUT ;ACC.3=1時一次顯示結束 R
37、R A ;A 中數(shù)據(jù)循環(huán)右移 MOV R5,A ;放入 R5 中 AJMP PLAY ;跳回 PLAY 循環(huán)ENDOUT: MOV P1,#00H ;一次顯示結束,P1口復位 MOV P2,#0FFH ;P2口復位 RETPWM波形調(diào)制子程序PWM: PUSH ACC PUSH PSW JB FLAG2,SK MOV A,TEMP_ZH MOV B,#03 MUL AB CJNE A,PWM1,ZZZ CLR P1.3 AJMP PWM_OUTZZZ: JC L1 AJMP PWM_OUTL1: CLR P1.3 AJMP PWM_OUTSK: MOV A,ZS_MR CJNE A,PWM1,
38、ZZZ1 MOV ZS_MR,A CLR P1.3 AJMP PWM_OUTZZZ1: MOV ZS_MR,A JC L2 AJMP PWM_OUTL2: CLR P1.3PWM_OUT:POP PSW POP ACC RET從上面的兩個程序中,可以看出在顯示程序中是用P1口作位選信號控制LED,為了簡化程序,通過給P1口賦初值80H,然后通過移位來實現(xiàn)不同的位選,從而實現(xiàn)動態(tài)顯示的功能。在PWM調(diào)制程序中也是用P1.3口輸出波形來控制電機的轉(zhuǎn)速。當程序執(zhí)行時,會出現(xiàn)這樣的錯誤:當執(zhí)行一次顯示程序后就會將P1.3口置低,因此,P1.3口輸出的波形總是高電平很少,大量的低電平,從而電機轉(zhuǎn)速很小,
39、并且不受控制。在明白了這個錯誤后,將PWM程序稍作改變,使用P3.7口來輸出調(diào)制,從而解決了這個問題。修改后的PWM程序代碼如下:PWM: PUSH ACC PUSH PSW JB FLAG2,SK MOV A,TEMP_ZH MOV B,#03 MUL AB CJNE A,PWM1,ZZZ CLR P3.7 AJMP PWM_OUTZZZ: JC L1 AJMP PWM_OUTL1: CLR P3.7 AJMP PWM_OUTSK: MOV A,ZS_MR CJNE A,PWM1,ZZZ1 MOV ZS_MR,A CLR P3.7 AJMP PWM_OUTZZZ1: MOV ZS_MR,A
40、JC L2 AJMP PWM_OUTL2: CLR P3.7PWM_OUT:POP PSW POP ACC RET 另外一個問題就是在顯示程序中的延時最初太長,從而顯示出現(xiàn)相當閃速的情況。最初的顯示延遲程序為:DL_MS: MOV R6,#50H DL1: MOV R7,#100DL2: DJNZ R7,DL2 DJNZ R6,DL1 RET 在這個程序中,以12M晶振的情況下延遲達到了10MS左右,因此,掃描時間過長,接近了人眼的暫留反應時間,因此就能看見閃爍,通過減小延遲時間,提高掃描頻率。但是還得綜合考慮定時器的時間等其他因素,最后,將掃描時間控制在2MS左右,顯示便正常了,但是還有一些
41、閃速,那是因為計數(shù)器中斷調(diào)用時也需要時間,基于89C52單片機的主頻,我們只能做到這樣,若想完全解決這個問題,可以通過更換效率更高的單片機來完成。修改后的延遲程序為:DL_MS: MOV R6,#10H DL1: MOV R7,#100DL2: DJNZ R7,DL2 DJNZ R6,DL1 RET6 系統(tǒng)功能、指標參數(shù)6.1 系統(tǒng)功能 該系統(tǒng)是針對電腦散熱而設計,能夠及時監(jiān)測機箱內(nèi)的實時溫度,并自動將溫度值轉(zhuǎn)換成數(shù)字信號送入單片機,然后在LED顯示頻上準確無誤的顯示;通過對送入溫度進行分析,判斷溫度有無達到最大溫度,如果達到就進行報警,給人們警示。當我們選擇溫控模式時,就將送入的溫度值參與P
42、WM調(diào)制,當溫度不斷增大時,風扇轉(zhuǎn)速不斷增加,反知,隨著溫度減小,風扇轉(zhuǎn)速也減小;當進入手控模式時,我們可以任意增大減小風扇的轉(zhuǎn)速,同時當我們對按鍵進行操作時,蜂鳴器發(fā)聲提醒操作成功,從而設計顯得人性化,舒適化。6.2 指標參數(shù)在主電路板中需要測量出的參數(shù):電源電壓,各個芯片的電壓以及單片機的電壓,以下為各電壓的值:1.電源電壓的測量值為5.00V3.芯片的電壓值:ULN2003的電壓測量值為5.02V,MAX232的電壓測量值為5.03V,4.單片機的電壓值為5.02V5.電機運行時其兩端的電壓是5.04V所以對于電源為5V電路來說,以上參數(shù)都是正確的。其余的參數(shù)如下:1.電路板中單片機的晶
43、振電路中晶振元件12MHZ2.高溫報警電路中的限流電阻的大小為100 3.顯示模塊中的電阻大小為4.7K并且在系統(tǒng)正常工作狀態(tài)下,各個模塊的電壓,電阻等參數(shù)均正常。7 結論 本設計通過硬件焊接,軟件編程以及重要的軟硬件調(diào)試之后,實現(xiàn)了最初預想的各項功能,雖不說一帆風順,但完成了要求。并且除了要求的溫度讀取、顯示、控制電機等基本功能外,我們還增加了手控模式,高溫報警,按鍵發(fā)聲提醒等功能,使設計更加人性化。智能化的電腦散熱系統(tǒng)不僅能夠用于電腦的散熱,其實也可以用于普通風扇的設計之中,本設計可以說是多方面的考慮。而增加手控模式的好處在于,不同電腦的性能和CPU產(chǎn)熱量也不太一樣,而本設計對溫度控制電機
44、的靈敏度相當高,對于溫度過高的電腦或者溫度變化很快的電腦而言,比較適宜。對于一些電腦散熱不是很多,溫度變化比較穩(wěn)定的電腦,可以采用手控設定檔位,減小能耗,使散熱系統(tǒng)壽命更長。對于很多用按鍵控制的系統(tǒng)沒有添加按鍵提醒部件,雖說可以減小能耗,但是對于操作不是很明確,當你按下時,如果變化不大的情況下,你不能確定操作是否成功;倘若有了提醒裝置,每次操作成功都有提醒,既能給人們帶來方便,也能方便檢修。 設計雖然成功了,但是并沒有正在用于電腦內(nèi)部散熱,若條件允許便能真正檢測出系統(tǒng)設計的有效性和安全性。本系統(tǒng)的設計集中的對我們數(shù)模電電路知識,匯編語言學習,以及實際動手能力進行了綜合性的考察,由于我們對一些器
45、件的了解程度不是很高,所以,對于我們的設計還有很多改進的地方,比如:直流電機可以改成效率更高,能耗更低的電機等。8 總結與體會通過本次課程設計對很多學科有了深入的學習和理解,對電路也有了新的體會,在設計過程中,主要做了兩方面的設計:一就是軟件的設計。二是硬件電路的設計。在軟件設計中本系統(tǒng)的軟件部分主要是利用匯編語言來設計的,更加深入的鞏固了我們的匯編知識,增加了我們的編程能力和經(jīng)驗。簡單儀器原理與設計的課程是通信工程專業(yè)學生所要掌握的,是實踐教學不可缺少的重要環(huán)節(jié)。通過課程設計,不僅能提高學生學習智能儀器的興趣,加深對智能儀器的理解,開闊視野,也能為畢業(yè)設計打下良好的基礎。學生基本上經(jīng)歷了單片機應用系統(tǒng)開發(fā)的全過程,擴大了學生實踐的內(nèi)容,從而取得了較好的教學實踐效果。任何收獲都要付出巨大的努力,我們思考,閱讀,動手,這讓我們受益匪淺,其樂無窮。經(jīng)過四星期的努力,我們終于成功的完成了本次課程設計。再設計過程中我們又很多收獲當然也遇到很多困難。譬如說不能把書本上的知識與實踐相結合。還有當我們第一次把硬件電路做出來以后就在調(diào)試時發(fā)現(xiàn)LED工作不正常,原來是我們沒有添加三極管來驅(qū)動LED顯示,單靠單片機輸出來負載是行不通的,在這個過程中培養(yǎng)了我們發(fā)現(xiàn)問題,思考問題,解決問題的能力,也增加了我們實際動手實踐的能力。在這次設計的軟件部分是使用匯編語言,考慮到剛剛學過,并且想
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 欽北區(qū)2023-2024年部編版九年級上學期語文期中試卷
- 九年級上學期語文期中考試卷
- 第三中學八年級上學期語文第二次質(zhì)量檢測試卷
- 結構加固合同范本(2篇)
- 《數(shù)學物理方法》第5章測試題
- 南京航空航天大學《單片微控制器原理及應用》2022-2023學年期末試卷
- 南京工業(yè)大學浦江學院《商業(yè)銀行經(jīng)營與管理》2023-2024學年第一學期期末試卷
- 分式的約分說課稿
- 噸的認識說課稿
- 南京工業(yè)大學浦江學院《管理學原理》2023-2024學年第一學期期末試卷
- 教師專業(yè)學習共同體研究
- 心理健康擁抱幸福人生
- 煤礦行業(yè)安全用電培訓課件
- 游泳館安全培訓課件
- 知識產(chǎn)權結構化面試問題
- 《春夏秋冬》教學設計與指導課件(第一課時)
- 《小學教育概統(tǒng)》課件
- 市場工作研討會接待方案
- 2024版職業(yè)發(fā)展規(guī)劃醫(yī)療人員的成長路徑和晉升機會培訓課件
- GH/T 1420-2023野生食用菌保育促繁技術規(guī)程松茸
- 工程造價審計投標方案(技術標)
評論
0/150
提交評論