版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
摘要筆記本電腦,便于攜帶,體積小,而且它的功能滿足大多數(shù)人的需要,隨著科學(xué)技術(shù)的近步帶來的本錢下降,筆記本的價格也為大多數(shù)人所接受。隨著使用筆記本人數(shù)的增加,筆記本的各種問題也暴露出來,除了性價比之外,最關(guān)心的莫過于散熱。筆記本在性能與便攜性對抗中,散熱成為最關(guān)鍵的因素,筆記本散熱一直是筆記本核心技術(shù)中的瓶頸。有時筆記本電腦會意外的死機,一般就是系統(tǒng)溫度過高導(dǎo)致。為了解決這個問題,人們設(shè)計了散熱底座,可以使筆記本產(chǎn)生的熱量盡快的擴散到電腦外部,不影響筆記本的使用功能,不會使電腦的線路出現(xiàn)腐蝕現(xiàn)象,保證筆記本電腦的正常工作。好的底座可以很大的延長筆記本電腦使用壽命。設(shè)計針對散熱問題做了深入的探討,并設(shè)計出一套基于單片機控制的智能散熱底座,綜合了本錢和性能等相關(guān)因素,采用了宏晶公司的STC89C52RC為核心搭建了該系統(tǒng)。在本著本錢控制和推向市場的前提下,電路簡約而易于批量生產(chǎn),在完成散熱功能和最少本錢的前提下到達了節(jié)能和智能。關(guān)鍵詞:散熱底座;單片機;智能控制目錄1引言11.1系統(tǒng)研究背景11.2散熱原理和方式11.3筆記本散熱底座設(shè)計2散熱底座的材料21.3.2散熱底座的性能22系統(tǒng)各模塊方案論證32.1控制器的選擇32.2溫度采集器件的選擇42.3電機及其驅(qū)動器的選擇43系統(tǒng)硬件設(shè)計53.1單片機STC89C52RC5引腳功能描述5系統(tǒng)時鐘電路6復(fù)位電路73.2溫度傳感器電路8芯片DS18B20介紹8傳感器連接電路93.3直流電機驅(qū)動電路9三極管簡介9直流電機簡介10直流電機驅(qū)動電路104系統(tǒng)軟件設(shè)計114.1編程語言簡介114.2單片機程序設(shè)計12主程序設(shè)計12溫度采集子程序13結(jié)論14附錄:單片機程序15參考文獻23致謝25引言系統(tǒng)研究背景筆記本電腦,便于攜帶,而且它的功能滿足大多數(shù)人的需要,隨著技術(shù)的近步帶來的本錢下降,筆記本的價格也為大多數(shù)人所接受。隨著使用筆記本人數(shù)的增加,筆記本的各種問題也暴露出來,其中散熱問題至關(guān)重要,它不僅關(guān)系著能耗更關(guān)系著筆記本的使用壽命。因此散熱成為最關(guān)鍵的因素,筆記本散熱一直是筆記本核心技術(shù)中的瓶頸。有時筆記本電腦會莫名奇妙的死機,一般就是系統(tǒng)溫度過高導(dǎo)致。為了解決這個問題,人們設(shè)計了散熱底座,可以使筆記本產(chǎn)生的熱量盡快的擴散到電腦外部,不影響筆記本的使用功能,保證筆記本電腦的正常工作。而目前市場上僅僅有的是單開關(guān)式的散熱器,且操作不方便,經(jīng)常開關(guān),還沒有根據(jù)溫度變化來進行控制的智能散熱底座。散熱原理和方式散熱,其實就是一個熱量傳遞過程通過傳導(dǎo)、對流、輻射等幾種方式。通常在臺式機中主要是風(fēng)冷技術(shù),這包括中央處理器、顯卡、電源及機箱的散熱風(fēng)扇等,在筆記本電腦中,風(fēng)冷依舊的主要的散熱方式,絕大數(shù)的散熱方式是:風(fēng)扇、熱管、散熱板的組合。目前很多筆記本電腦采用鋁鎂合金的外殼,對散熱也起到了一定的作用。在筆記本電腦底部一般都有散熱通風(fēng)口,或吸入或吹出,對筆記本電腦的散熱都非常重要。筆記本電腦在設(shè)計的時候也考慮到散熱問題,往往會用墊腳將機身抬高,但是在溫度過高的時候,就顯得比擬勉強。筆記本的散熱底座的散熱原理主要有兩種:1.單純通過物理學(xué)上的導(dǎo)熱原理實現(xiàn)散熱功能。將塑料或金屬制成的散熱底座放在筆記本的底部,抬高筆記本以促進空氣流通和熱量輻射,可以到達散熱效果。2.在散熱底座上面安裝一個散熱風(fēng)扇來提高散熱性能。筆記本散熱底座設(shè)計散熱底座的材料當(dāng)前市場主要產(chǎn)品使用的材料有兩種:金屬或者塑料。金屬的導(dǎo)熱性好,但現(xiàn)在任何一款筆記本的底部都有防滑膠墊,和金屬散熱底座不可能緊貼在一起,所以金屬的導(dǎo)熱性能不能完全發(fā)揮出來。當(dāng)然,金屬底座還是可以更好地將筆記本內(nèi)散發(fā)出來熱量吸收并擴散出去。另外金屬一般比擬重,而且由于制造時工藝要求較高,一旦做工不夠精細,極易傷人。塑料材質(zhì)一般比擬輕便,硬度也較高,很多工程塑料的強度甚至超過金屬。出于本錢及輕便的考慮,重量較輕、發(fā)熱小的筆記本可以選用設(shè)計較好的塑料散熱底座。但是如果是重量較大,發(fā)熱較高的筆記本還是得使用金屬材質(zhì)的做工良好的散熱底座。1.3.2散熱底座的性能性能判定方法:同等環(huán)境下,使用散熱底座和不使用,分別記錄開機五分鐘和開機一小時后的系統(tǒng)主要溫度參數(shù),可以大概確定該散熱底座的散熱性能。還需要特別注意的是散熱底座的噪音和振動問題,風(fēng)扇的數(shù)量和質(zhì)量是決定因素。風(fēng)扇多固然增加散熱效果,但是相應(yīng)的耗電及噪音振動也增加了,所以一般以1個為宜。所以底座測試的時候需要留心判斷下其噪音是否能夠接受,是否會有振動影響電腦硬盤。散熱底座風(fēng)扇的數(shù)量和布局也非常重要,現(xiàn)在的筆記本后部往往是電池,而一些主要發(fā)熱部件如:中央處理器和硬盤等位置相對靠中間,特別是硬盤,大多設(shè)計在手托下面,而這些部位很多散熱底座往往沒有設(shè)計風(fēng)扇。所以在設(shè)計散熱底座前,先弄清筆記本底座幾個主要部件的位置,確定最熱的幾個位置。風(fēng)扇的供電方案有通過筆記本USB接口供電以及外置電源供電兩種。大多數(shù)筆記本電腦的散熱底座的風(fēng)扇均采用吸風(fēng)式設(shè)計,因為這樣可以最大限度的減少空氣擾動造成的影響,提高散熱效率。系統(tǒng)各方案論證系統(tǒng)的結(jié)構(gòu)主要包括對外界溫度信息的采集電路,控制器電路,散熱風(fēng)扇控制電路,上位機串口通信電路。選擇合理的電路方案,能實現(xiàn)好系統(tǒng)的功能,降低設(shè)計的本錢,而且有利于后繼添加的擴展功能。下面是系統(tǒng)組成框圖。圖2-1系統(tǒng)框圖2.1控制器的選擇采用宏晶公司的STC89C52RC單片機作為主控制器。STC89C52RC是一種低功耗、高性能CMOS微控制器,具有8K在系統(tǒng)可編程Flash存儲器。使用Atmel公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得STC89C52RC為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。STC89C52RC具有以下標(biāo)準功能:8k字節(jié)Flash,128字節(jié)RAM,40位I/O口線,看門狗定時器,2個16位定時器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路。另外,STC89C52RC可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式。2.2溫度采集器件的選擇方案一:使用模數(shù)轉(zhuǎn)換芯片和模擬溫度器件組成,其溫度感知器件一般為溫度的線性器件,然后通過模擬轉(zhuǎn)數(shù)字芯片把模擬量轉(zhuǎn)換為數(shù)字量送入控制器加以識別和判斷,其優(yōu)點是,其通過選擇適宜的轉(zhuǎn)換芯片和模擬溫度器件可已到達很高的精度,一般的模數(shù)轉(zhuǎn)換有8位、10位、12位等,在一般的系統(tǒng)中都采用此種方案。但對于本設(shè)計中會產(chǎn)生更多的電路,一是增加了體積不易于安裝,二是本系統(tǒng)不需要很高的精度。方案二:采用“一線總線”數(shù)字化溫度傳感器DS18B20〔達拉斯公司〕,DS18B20支持“一線總線”接口,測量溫度范圍為-55℃~125℃,在-10℃~85℃范圍內(nèi),精度為±0.5℃?,F(xiàn)場溫度直接以“一線總線”的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。適合于惡劣環(huán)境的現(xiàn)場溫度測量,如:環(huán)境控制、設(shè)備或過程控制、測溫類消費電子產(chǎn)品等。適用于對性能要求不高,本錢控制嚴格的應(yīng)用,是經(jīng)濟型產(chǎn)品。因此,本設(shè)計選方案二2.3電機及其驅(qū)動器的選擇方案一:采用PWM控制直流電機。PWM控制是利用微處理器的數(shù)字輸出來對模擬電路進行控制的一種非常有效的技術(shù),廣泛應(yīng)用在從測量、通信到功率控制與變換的許多領(lǐng)域中。PWM對半導(dǎo)體器件的導(dǎo)通和關(guān)斷進行控制,是輸出端得到一系列幅值相等而寬度不相等的脈沖,用這些脈沖來代替正弦波或其他所需要的波形。按一定的規(guī)那么對各脈沖的寬度進行調(diào)制,既可改變逆變電路輸出電壓的大小,也改變輸出頻率。方案二:采用直流電機加模擬電路,通過電位器調(diào)節(jié)電機兩端電壓進行控制。達林頓管串聯(lián)在直流電機回路上,通過調(diào)節(jié)電位器改變電機回路的電流的大小,從而到達控制電機的目的。此方案的優(yōu)點在,電路簡單,通過一個電位器就可以到達調(diào)節(jié)電機速度的目的,但它也存在明顯的缺乏,三極管工作在放大區(qū)時在電機回路上將產(chǎn)生一個壓降,會產(chǎn)生很多的熱量,效率很低。因此,本設(shè)計選方案一。系統(tǒng)硬件設(shè)計硬件系統(tǒng)的主要包括對外界溫度信息的采集電路,控制器電路,散熱風(fēng)扇控制電路,上位機串口通信電路,電源電路。3.1單片機STC89C52RC引腳功能描述:VCC:電源。GND:地。P0口:P0口是一個8位漏極開路的雙向I/O口。作為輸出口,每位能驅(qū)動8個TTL邏輯電平。對P0端口寫“1”時,引腳用作高阻抗輸入。當(dāng)訪問外部程序和數(shù)據(jù)存儲器時,P0口也被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下,P0具有內(nèi)部上拉電阻。在flash編程時,P0口也用來接收指令字節(jié);在程序校驗時,輸出指令字節(jié)。程序校驗時,需要外部上拉電阻。P1口:P1口是一個具有內(nèi)部上拉電阻的8位雙向I/O口,P1輸出緩沖器能驅(qū)動4個TTL邏輯電平。對P1端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流。此外,P1.0和P1.2分別作定時器/計數(shù)器2的外部計數(shù)輸入〔P1.0/T2〕和時器/計數(shù)器2的觸發(fā)輸入〔P1.1/T2EX〕。在flash編程和校驗時,P1口接收低8位地址字節(jié)。P2口:P2口是一個具有內(nèi)部上拉電阻的8位雙向I/O口,P2輸出緩沖器能驅(qū)動4個TTL邏輯電平。對P2 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流。在訪問外部程序存儲器或用16位地址讀取外部數(shù)據(jù)存儲器時,P2口送出高八位地址。在這種應(yīng)用中,P2口使用很強的內(nèi)部上拉發(fā)送“1”。在使用8位地址訪問外部數(shù)據(jù)存儲器時,P2口輸出P2P3口:P3口是一個具有內(nèi)部上拉電阻的8位雙向I/O口,P2輸出緩沖器能驅(qū)動4個TTL邏輯電平。對P3端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流。P3口亦作為AT89S52特殊功能〔第二功能〕使用。在flash編程和校驗時,P3口也接收一些控制信號。RST:復(fù)位輸入。晶振工作時,RST腳持續(xù)2個機器周期高電平將使單片機復(fù)位??撮T狗計時完成后,RST腳輸出96個晶振周期的高電平。特殊存放器AUXR(地址8EH)上的DISRTO位可以使此功能無效。DISRTO默認狀態(tài)下,復(fù)位高電平有效。ALE/PROG:地址鎖存控制信號〔ALE〕是訪問外部程序存儲器時,鎖存低8位地址的輸出脈沖。在flash編程時,此引腳〔PROG〕也用作編程輸入脈沖。在一般情況下,ALE以晶振六分之一的固定頻率輸出脈沖,可用來作為外部定時器或時鐘使用。然而,特別強調(diào),在每次訪問外部數(shù)據(jù)存儲器時,ALE脈沖將會跳過。如果需要,通過將地址為8EH的SFR的第0位置“1”,ALE操作將無效。這一位置“1”,ALE僅在執(zhí)行MOVX或MOVC指令時有效。否那么,ALE將被微弱拉高。這個ALE使能標(biāo)志位的設(shè)置對微控制器處于外部執(zhí)行模式下無效。PSEN:外部程序存儲器選通信號〔PSEN〕是外部程序存儲器選通信號。當(dāng)AT89S52從外部程序存儲器執(zhí)行外部代碼時,PSEN在每個機器周期被激活兩次,而在訪問外部數(shù)據(jù)存儲器時,PSEN將不被激活。EA/VPP:訪問外部程序存儲器控制信號。為使能從0000H到FFFFH的外部程序存儲器讀取指令,EA必須接GND。為了執(zhí)行內(nèi)部程序指令,EA應(yīng)該接VCC。在flash編程期間,EA也接收12V電壓。XTAL1:振蕩器反相放大器和內(nèi)部時鐘發(fā)生電路的輸入端。XTAL2:振蕩器反相放大器的輸出端。系統(tǒng)時鐘電路時鐘電路是用來產(chǎn)生STC89C52RC單片機工作時所必須的時鐘信號,STC89C52RC本身就是一個復(fù)雜的同步時序電路,為保證工作方式的實現(xiàn),STC89C52RC在唯一的時鐘信號的控制下嚴格的按時序執(zhí)行指令進行工作,時鐘的頻率影響單片機的速度和穩(wěn)定性。通常時鐘由于兩種形式:內(nèi)部時鐘和外部時鐘。我們系統(tǒng)采用內(nèi)部時鐘方式來為系統(tǒng)提供時鐘信號。STC89C52RC內(nèi)部有一個用于構(gòu)成振蕩器的高增益反向放大器,該放大器的輸入輸出引腳為XTAL1和XTAL2,它們跨接在晶體振蕩器和用于微調(diào)的電容,便構(gòu)成了一個自鼓勵振蕩器電路中的C1、C2的選擇在30PF左右,但電容太小會影響振蕩的頻率、穩(wěn)定性和快速性。晶振頻率為在1.2MHZ~12MHZ之間,頻率越高單片機的速度就越快,但對存儲器速度要求就高。為了提高穩(wěn)定性我們采用溫度穩(wěn)定性好的瓷片電容,采用的晶振頻率為11.0592MHZ。圖3-3時鐘電路復(fù)位電路復(fù)位電路是影響單片機系統(tǒng)運行穩(wěn)定性的主要內(nèi)部因素之一。單片機的復(fù)位操作有手動復(fù)位和加電復(fù)位兩中方式。加電復(fù)位是任何單片機都具有的功能。它通過專用的復(fù)位電路產(chǎn)生復(fù)位信號,是系統(tǒng)的原始復(fù)位方式,發(fā)生在開機加電時,是系統(tǒng)自動完成的。單片機系統(tǒng)在調(diào)試程序時,有可能出現(xiàn)死機、死循環(huán)、程序“跑飛”等情況,手動復(fù)位是解決這一情形的最好方式。單片機系統(tǒng)中用到的復(fù)位方式有四種,它們是:積分型、微分型、比擬器型和看門狗型。前三種是在芯片外面用分立元件或集成電路芯片搭建完成,最后一種位于芯片內(nèi)部,屬于芯片的一局部。單片機系統(tǒng)中用到的復(fù)位電路有上電復(fù)位、按鍵電平復(fù)位和按鍵脈沖復(fù)位三種。圖3-4復(fù)位電路3.2溫度傳感器電路芯片DS18B20介紹Dallas半導(dǎo)體公司的數(shù)字化溫度傳感器DS1820是世界上第一片支持“一線總線”接口的溫度傳感器。一線總線獨特而且經(jīng)濟的特點,使用戶可輕松地組建傳感器網(wǎng)絡(luò),為測量系統(tǒng)的構(gòu)建引入全新概念。DS18B20支持“一線總線”接口,測量溫度范圍為-55℃~125℃,在-10℃~85℃范圍內(nèi),精度為±0.5℃?,F(xiàn)場溫度直接以“一線總線”的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。適合于惡劣環(huán)境的現(xiàn)場溫度測量,DS18B20可以程序設(shè)定9~12位的分辨率,精度為DS1822與DS18B20軟件兼容,是DS18B20的簡化版本。省略了存儲用戶定義報警溫度、分辨率參數(shù)的EEPROM,精度降低為±2℃,適用于對性能要求不高,本錢控制嚴格的應(yīng)用,是經(jīng)濟型產(chǎn)品。繼“一線總線”的早期產(chǎn)品后,DS1820開辟了溫度傳感器技術(shù)的新概念。DS18B20和DS182218B20管腳圖傳感器連接電路VCCVCCC10uF/16VR10KRST1211.0592MXTALC130pC230pX1X2P1.0/T21P1.1/T2EX2P1.23P1.34P1.45P1.5/MO6P1.6/MI7P1.7/SC8RST9RXD/P3.010TXD/P3.111INT0/P3.212INT1/P3.313T0/P3.414T1/P3.515WD/P3.616RD/P3.717XTAL218XTAL119GND20A15/P2.021A14/P2.122A13/P2.223A12/P2.324A11/P2.425A10/P2.526A9P2.627A8P2.728PSEN29ALE/PRO30EA/Vpp31AD7/P0.732AD6/P0.633AD5/P0.534AD4/P0.435AD3/P0.336AD2/P0.237AD1/P0.138AD0/P0.039Vcc40U1DS18B20R14.7KVCC圖3-6傳感器連接電路3.3直流電機驅(qū)動電路三極管簡介三極管,全稱應(yīng)為半導(dǎo)體三極管,也稱雙極型晶體管,晶體三極管,是一種電流控制電流的半導(dǎo)體器件。其作用是把微弱信號放大成幅值較大的電信號,也用作無觸點開關(guān)。三極管分類:按材質(zhì)分:硅管、鍺管。按結(jié)構(gòu)分:NPN、PNP。按功能分:開關(guān)管、功率管、達林頓管、光敏管等。按功率分:小功率管、中功率管、大功率管。按工作頻率分:低頻管、高頻管、超頻管。按結(jié)構(gòu)工藝分:合金管、平面管。晶體管促進并帶來了“固態(tài)革命”,進而推動了全球范圍內(nèi)的半導(dǎo)體電子工業(yè)。作為主要部件,它及時、普遍地首先在通訊工具方面得到應(yīng)用,并產(chǎn)生了巨大的經(jīng)濟效益。由于晶體管徹底改變了電子線路的結(jié)構(gòu),集成電路以及大規(guī)模集成電路應(yīng)運而生,這樣制造像高速電子計算機之類的高精密裝置就變成了現(xiàn)實。直流電機簡介輸出或輸入為直流電能的旋轉(zhuǎn)電機,稱為直流電機,它是能實現(xiàn)直流電能和機械能互相轉(zhuǎn)換的電機。當(dāng)它作電動機運行時是直流電動機,將電能轉(zhuǎn)換為機械能;作發(fā)電機運行時是直流發(fā)電機,將機械能轉(zhuǎn)換為電能。直流電機的結(jié)構(gòu)應(yīng)由定子和轉(zhuǎn)子兩大局部組成。直流電機運行時靜止不動的局部稱為定子,定子的主要作用是產(chǎn)生磁場,由機座、主磁極、換向極、端蓋、軸承和電刷裝置等組成。隨著人們生活水平的提高,產(chǎn)品質(zhì)量、精度、性能、自動化程度、功能以及功耗、價格問題已經(jīng)是選擇家用電器的主要因素。永磁直流電機既具有結(jié)構(gòu)簡單、運行可靠、維護方便等優(yōu)點,又具備良好的調(diào)速特性,現(xiàn)已廣泛應(yīng)用于各種場合。直流電機驅(qū)動電路電路使三級管工作在飽和或截止區(qū),三極管處于很低的功耗狀態(tài),發(fā)揮簡單的開關(guān)作用來控制電機兩端電流的通斷,從而到達控制電機的目的。系統(tǒng)軟件設(shè)計軟件局部也是整個系統(tǒng)的核心局部之一,硬件制作成功后,加上軟件局部才能使整個系統(tǒng)得以運行。本系統(tǒng)的軟件局部主要包括主程序和系統(tǒng)初始化子程序、電機控制程序、溫度采集程序、串口通信程序。4.1編程語言簡介C語言是一種計算機程序設(shè)計語言。它既有高級語言的特點,又具有匯編語言的特點。它可以作為系統(tǒng)設(shè)計語言,編寫工作系統(tǒng)應(yīng)用程序,也可以作為應(yīng)用程序設(shè)計語言,編寫不依賴計算機硬件的應(yīng)用程序。因此,它的應(yīng)用范圍廣泛。C語言對操作系統(tǒng)和系統(tǒng)使用程序以及需要對硬件進行操作的場合,用C語言明顯優(yōu)于其它解釋型高級語言,有一些大型應(yīng)用軟件也是用C語言編寫的。C語言具有繪圖能力強,可移植性,并具備很強的數(shù)據(jù)處理能力,因此適于編寫系統(tǒng)軟件,三維,二維圖形和動畫。它是數(shù)值計算的高級語言。其特點為:1.語言簡潔、緊湊、使用方便、靈活。2.運算符豐富。3.數(shù)據(jù)結(jié)構(gòu)豐富,具有現(xiàn)代化語言的各種數(shù)據(jù)結(jié)構(gòu)。4.具有現(xiàn)代化的控制語句。5.語法限制不太嚴格,程序設(shè)計自由度大。6.能實現(xiàn)匯編語言的大局部功能,可以直接對硬件進行操作。7.生成目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高。8.程序可移植性好。匯編語言是面向機器的程序設(shè)計語言。匯編語言是一種功能很強的程序設(shè)計語言,也是利用計算機所有硬件特性并能直接控制硬件的語言?!皡R編語言”作為一門語言,對應(yīng)于高級語言的編譯器,需要一個“匯編器”來把匯編語言原文件匯編成機器可執(zhí)行的代碼。匯編語言的長處在于編寫高效且需要對機器硬件精確控制的程序。匯編語言比機器語言易于讀寫、調(diào)試和修改,同時具有機器語言全部優(yōu)點。但在編寫復(fù)雜程序時,相對高級語言代碼量較大,而且匯編語言依賴于具體的處理器體系結(jié)構(gòu),不能通用,因此不能直接在不同處理器體系結(jié)構(gòu)之間移植。其特點為:1.面向機器的低級語言,通常是為特定的計算機專門設(shè)計的。2.保持了機器語言的優(yōu)點,具有直接和簡捷的特點。3.可有效地控制計算機的各種硬件設(shè)備,如存儲器、CPU、I/O端口等。4.目標(biāo)代碼簡短,占用內(nèi)存少,執(zhí)行速度快,是高效的程序設(shè)計語言。5.經(jīng)常與高級語言配合使用,應(yīng)用廣泛。4.2單片機程序設(shè)計主程序開始主程序設(shè)計主程序開始電機控制初始化串口初始化電機控制初始化串口初始化到達散熱溫度圖4-1主程序流程圖溫度采集子程序圖4-2溫度采集子程序結(jié)論在選擇畢業(yè)設(shè)計課題上面,對筆記本散熱問題非常的感興趣,設(shè)計課題是用傳感器、直流電機和單片機來實現(xiàn)。在這個設(shè)計中不僅需要對芯片進行硬件設(shè)計還要進行軟件設(shè)計,在軟件編程過程中遇到了很多問題,后來翻閱了大量有關(guān)單片機方面的書籍、上網(wǎng)查閱資料才真正根據(jù)設(shè)計要求設(shè)計硬件電路,逐步完成了軟件方面的編程。系統(tǒng)實現(xiàn)了電腦底座溫度數(shù)據(jù)的測量,設(shè)計很好的完成了對筆記本的溫度監(jiān)控和散熱設(shè)備的運行??梢员粡V泛的應(yīng)用到生產(chǎn)和生活中,如帶有溫度控制的場合、工業(yè)溫度測量儀表等。附錄:單片機程序應(yīng)用層〔主程序〕#include"MAIN.H"#include"DS18B20.H"/*DS18B20存放器地址*/#definejump_ROM0xCC#definestart0x44#defineread_EEROM0xBE/*PWM值*/uint8CYCLE=10;//定義周期該數(shù)字X基準定時時間如果是10那么周期是10x0.1ms,時間可以調(diào)整這個是10步調(diào)整周期10ms8位PWM就是256步uint8PWM_ON=0;//定義高電平時uint8temp=0;/*溫度值緩存*/codeuint8number[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};/*********************************************************************名稱:display_led*功能:中間延時*輸入:無*輸出:無***********************************************************************/voiddisplay_led(uint16sum){ staticuint8a=0; switch(a) { case0:ADDR0=1;ADDR1=1;ADDR2=1;ADDR3=0;P0=~number[sum%10];break; case1:P0=0XFF;break; case2:ADDR0=1;ADDR1=1;ADDR2=0;ADDR3=1;P0=~number[sum/10%10];break; case3:P0=0XFF;break; case4:ADDR0=1;ADDR1=0;ADDR2=1;ADDR3=1;P0=~number[sum/100%10];break; case5:P0=0XFF;break; case6:ADDR0=0;ADDR1=1;ADDR2=1;ADDR3=1;P0=~number[sum/1000%10];break; case7:P0=0XFF;break; default:break; } a++; if(a>7) { a=0; }}/*********************************************************************名稱:Mode_Selection*功能:模式選擇*輸入:無*輸出:無***********************************************************************/voidinterrupt_init(){ /*定時器0*/ TMOD=0x11; TH0=(65536-1000)/256; TL0=(65536-1000)%256;//定時1mS ET0=1; TR0=1; TH1=0X4c; TL1=0X00; ET1=1; TR1=1; EA=1;}/*********************************************************************名稱:main*功能:主函數(shù)*輸入:無*輸出:無***********************************************************************/voidmain(){ ADDR0=1;ADDR1=1;ADDR2=1;ADDR3=1;PWM=1;/*端口初始化*/ interrupt_init();/*定時器設(shè)定*/ while(1) { display_led(temp); /*根據(jù)溫度值調(diào)整轉(zhuǎn)速*/ if((temp>=20)&&(temp<=21)) { PWM_ON=0; } if((temp>=22)&&(temp<=23)) { PWM_ON=6; } if((temp>=24)&&(temp<=25)) { PWM_ON=10; } if((temp>=26)&&(temp<=27)) { PWM_ON=17; } }}/*********************************************************************名稱:interrupt_PWM*功能:定時中斷0效勞函數(shù),用于PWM波形產(chǎn)生*輸入:無*輸出:無***********************************************************************/voidinterrupt_PWM()interrupt1{ staticuint8count; TH0=(65536-1000)/256; TL0=(65536-1000)%256;//定時1mS if(count==PWM_ON) { PWM=1; } count++; if(count==CYCLE) { count=0; if(PWM_ON!=0)//如果左右時間是0保持原來狀態(tài) PWM=0; }}/*********************************************************************名稱:interrupt_display*功能:數(shù)碼管顯示*輸入:無*輸出:無***********************************************************************/voidinterrupt_display()interrupt3{ staticuint8cont=0; uint8TMPH; uint8TMPL; TH1=0X4c; TL1=0X00; if(20==cont) { cont=0; Reset(); write_byte(jump_ROM); write_byte(start); Reset(); write_byte(jump_ROM); write_byte(read_EEROM); TMPL=read_byte(); TMPH=read_byte(); temp=TMPL/16+TMPH*16; } cont++; }DS18B20〔底層〕#include"MAIN.H"#include"DS18B20.H"/*********************************************************************名稱:delay()*功能:延時函數(shù)*輸入:無*輸出:無***********************************************************************/voiddelay(uint16N){ uint16i; for(i=0;i<N;i++);}/*********************************************************************名稱:Reset()*功能:復(fù)位DS18B20*輸入:無*輸出:無***********************************************************************/uint8Reset(){ uint8deceive_ready; DQ=0; delay(29); DQ=1; delay(3); deceive_ready=DQ; delay(25); return(deceive_ready);}/*********************************************************************名稱:read_bit()*功能:從DS18B20讀一個位值*輸入:無*輸出:從DS18B20讀出的一個位值***********************************************************************/uint8read_bit(){ uint8i; DQ=0; DQ=1; for(i=0;i<3;i++); return(DQ);}/*********************************************************************名稱:write_bit()*功能:向DS18B20寫一位*輸入:bitval〔要對DS18B20寫入的位值〕*輸出:無***********************************************************************/voidwrite_bit(uint8bitval){ DQ=0;if(bitval==1) DQ=1; delay(5); DQ=1;}/*********************************************************************名稱:read_byte()*功能:從DS18B20讀一個字節(jié)*輸入:無*輸出:從DS18B20讀到的值***********************************************************************/uint8read_byte(){ uint8i,m,receive_data; m=1; receive_data=0; for(i=0;i<8;i++) { if(read_bit()) { receive_data=receive_data+(m<<i); } delay(6); } return(receive_data);}/*********************************************************************名稱:write_byte()*功能:向DS18B20
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年消防器材智能化改造升級服務(wù)合同2篇
- 2024租賃合同簽訂程序及條件
- 2025年拓展訓(xùn)練合同范本大全:企業(yè)團隊凝聚力提升計劃3篇
- 二零二四年度2024年三人健身產(chǎn)業(yè)合作合同6篇
- 2025年洗車場車輛停放管理及承包合同3篇
- 2025版航空航天專用鋁合金采購合同書4篇
- 二零二四年云服務(wù)器租賃與智能運維合同3篇
- 個人汽車租賃合同樣本 2024年版版B版
- 2025年度臨時臨時設(shè)施租賃合同標(biāo)準范本4篇
- 2025年無償使用政府辦公樓場地舉辦會議合同范本3篇
- 非誠不找小品臺詞
- 2024年3月江蘇省考公務(wù)員面試題(B類)及參考答案
- 患者信息保密法律法規(guī)解讀
- 老年人護理風(fēng)險防控PPT
- 充電樁采購安裝投標(biāo)方案(技術(shù)方案)
- 醫(yī)院科室考勤表
- 鍍膜員工述職報告
- 春節(jié)期間化工企業(yè)安全生產(chǎn)注意安全生產(chǎn)
- 保險行業(yè)加強清廉文化建設(shè)
- Hive數(shù)據(jù)倉庫技術(shù)與應(yīng)用
- 數(shù)字的秘密生活:最有趣的50個數(shù)學(xué)故事
評論
0/150
提交評論