筆記本電腦的智能底座設(shè)計(jì)論文及其資料
筆記本電腦的智能底座設(shè)計(jì)論文及其資料,筆記本電腦,智能,底座,設(shè)計(jì),論文,及其,資料
摘 要
筆記本電腦,便于攜帶,體積小,而且它的功能滿足大多數(shù)人的需要,隨著科學(xué)技術(shù)的近步帶來(lái)的成本下降,筆記本的價(jià)格也為大多數(shù)人所接受。隨著使用筆記本人數(shù)的增加,筆記本的各種問(wèn)題也暴露出來(lái),除了性價(jià)比之外,最關(guān)心的莫過(guò)于散熱。筆記本在性能與便攜性對(duì)抗中,散熱成為最關(guān)鍵的因素,筆記本散熱一直是筆記本核心技術(shù)中的瓶頸。有時(shí)筆記本電腦會(huì)意外的死機(jī),一般就是系統(tǒng)溫度過(guò)高導(dǎo)致。為了解決這個(gè)問(wèn)題,人們?cè)O(shè)計(jì)了散熱底座,可以使筆記本產(chǎn)生的熱量盡快的擴(kuò)散到電腦外部,不影響筆記本的使用功能,不會(huì)使電腦的線路出現(xiàn)腐蝕現(xiàn)象,保證筆記本電腦的正常工作。好的底座可以很大的延長(zhǎng)筆記本電腦使用壽命。
本設(shè)計(jì)針對(duì)散熱問(wèn)題做了深入的探討,并設(shè)計(jì)出一套基于單片機(jī)控制的智能散熱底座,綜合了成本和性能等相關(guān)因素,采用了Atmel公司的AT89S52為核心搭建了該系統(tǒng)。在本著成本控制和推向市場(chǎng)的前提下,文中的電路簡(jiǎn)約而易于批量生產(chǎn),在完成散熱功能和最少成本的前提下達(dá)到了節(jié)能和智能。
關(guān)鍵詞:散熱底座;單片機(jī);智能控制
ABSTRACT
Notebook computer is portable and small, and its functions could meet the needs of the majority, with the developing of science and technology, the cost decline, and the price of the laptop base to be acceptable to most people. But with the increase in the number of using the laptop people, they exposed various problems, in addition to cost, people always concerned about dissipating heat extremely. In the confrontation of the laptop’s performance and portability, the most critical factor is dissipating heat, and laptop’s dissipating heat has been the bottleneck of the core technology. Sometimes it end up unexpected, it is always because of that the system temperature is too high. To solve this problem, people have designed heat dissipation base, the heat can remove from the laptop to the outside as quickly as possible, it does not affect the use of laptop, and its electronic line will not be eroded, to ensure the normal operation of laptop. A good base could extend the life of laptop.
This design makes an in-depth discussion about heat dissipation, and design a microcontroller-based intelligent control of cooling base, synthesize cost and performance and so on, using the core AT89S52 Atmel Corporation built the system. Under the premise of cost and market, the circuit in this design is simple and easy-to-volume production, it can be intelligent and energy-saving under the premise of heat dissipation and minimum cost.
Key Words:cooling base; micro control unit; intelligent control
目 錄
1 引言 1
1.1 系統(tǒng)研究背景 1
1.2 散熱原理和方式 1
1.3 筆記本散熱底座設(shè)計(jì) 2
1.3.1 散熱底座的材料 2
1.3.2 散熱底座的結(jié)構(gòu) 2
1.3.3 散熱底座的性能 2
2 系統(tǒng)方案論證 4
2.1 系統(tǒng)框圖 4
2.2 各模塊方案論證 4
2.2.1 控制器的選擇 4
2.2.2 溫度采集器件的選擇 5
2.2.3 電機(jī)及其驅(qū)動(dòng)器的選擇 6
3 系統(tǒng)硬件設(shè)計(jì) 7
3.1 單片機(jī)AT89S52 7
3.1.1 芯片介紹 7
3.1.2 系統(tǒng)時(shí)鐘電路 11
3.1.3 復(fù)位電路 11
3.2 溫度傳感器電路 12
3.2.1 芯片DS18B20介紹 12
3.2.2 傳感器連接電路 13
3.3 直流電機(jī)驅(qū)動(dòng)電路 14
3.3.1 三極管簡(jiǎn)介 14
3.3.2 直流電機(jī)簡(jiǎn)介 14
3.3.3 直流電機(jī)驅(qū)動(dòng)電路 14
3.4 串口通信電路 15
3.4.1 串口通信介紹 15
3.4.2 芯片MAX232介紹 16
3.4.3 MAX232電路連接圖 16
3.5 電源電路 17
3.5.1 電源芯片介紹 17
3.5.2 電源芯片連接電路 18
4 系統(tǒng)軟件設(shè)計(jì) 20
4.1 編程語(yǔ)言簡(jiǎn)介 20
4.2 單片機(jī)程序設(shè)計(jì) 21
4.2.1 主程序設(shè)計(jì) 21
4.2.2 溫度采集子程序 22
4.3 VB上位機(jī)程序設(shè)計(jì) 22
4.3.1 VB6.0軟件介紹 22
4.3.2 主程序設(shè)計(jì) 24
4.3.3 交互式界面設(shè)計(jì) 24
5 系統(tǒng)集成與調(diào)試 26
5.1 硬件調(diào)試 26
5.2 軟件調(diào)試 27
5.3 調(diào)試問(wèn)題及解決方法 28
結(jié) 論 30
參考文獻(xiàn) 31
附錄1: 單片機(jī)程序 32
附錄2: VB6.0程序 36
附錄3: 英文資料及中文翻譯 39
致 謝 58
1 引言
1.1 系統(tǒng)研究背景
筆記本電腦,便于攜帶,而且它的功能滿足大多數(shù)人的需要,隨著技術(shù)的近步帶來(lái)的成本下降,筆記本的價(jià)格也為大多數(shù)人所接受。隨著使用筆記本人數(shù)的增加,筆記本的各種問(wèn)題也暴露出來(lái),其中散熱問(wèn)題至關(guān)重要,它不僅關(guān)系著能耗更關(guān)系著筆記本的使用壽命。因此散熱成為最關(guān)鍵的因素,筆記本散熱一直是筆記本核心技術(shù)中的瓶頸。有時(shí)筆記本電腦會(huì)莫名奇妙的死機(jī),一般就是系統(tǒng)溫度過(guò)高導(dǎo)致。為了解決這個(gè)問(wèn)題,人們?cè)O(shè)計(jì)了散熱底座,可以使筆記本產(chǎn)生的熱量盡快的擴(kuò)散到電腦外部,不影響筆記本的使用功能,保證筆記本電腦的正常工作。而目前市場(chǎng)上僅僅有的是單開(kāi)關(guān)式的散熱器,且操作不方便,經(jīng)常開(kāi)關(guān),還沒(méi)有根據(jù)溫度變化來(lái)進(jìn)行控制的智能散熱底座。
1.2 散熱原理和方式
散熱,其實(shí)就是一個(gè)熱量傳遞過(guò)程通過(guò)傳導(dǎo)、對(duì)流、輻射等幾種方式。通常在臺(tái)式機(jī)中主要是風(fēng)冷技術(shù),這包括中央處理器、顯卡、電源及機(jī)箱的散熱風(fēng)扇等,在筆記本電腦中,風(fēng)冷依舊的主要的散熱方式,絕大數(shù)的散熱方式是:風(fēng)扇、熱管、散熱板的組合。目前很多筆記本電腦采用鋁鎂合金的外殼,對(duì)散熱也起到了一定的作用。在筆記本電腦底部一般都有散熱通風(fēng)口,或吸入或吹出,對(duì)筆記本電腦的散熱都非常重要。筆記本電腦在設(shè)計(jì)的時(shí)候也考慮到散熱問(wèn)題,往往會(huì)用墊腳將機(jī)身抬高,但是在溫度過(guò)高的時(shí)候,就顯得比較勉強(qiáng)。筆記本的散熱底座的散熱原理主要有兩種:1.單純通過(guò)物理學(xué)上的導(dǎo)熱原理實(shí)現(xiàn)散熱功能。將塑料或金屬制成的散熱底座放在筆記本的底部,抬高筆記本以促進(jìn)空氣流通和熱量輻射,可以達(dá)到散熱效果。2.在散熱底座上面再安裝若干個(gè)散熱風(fēng)扇來(lái)提高散熱性能。這種風(fēng)冷散熱方式包括吸風(fēng)和吹風(fēng)兩種。兩種送風(fēng)形式的差別在于氣流形式的不同,吹風(fēng)時(shí)產(chǎn)生的是紊流,屬于主動(dòng)散熱,風(fēng)壓大但容易受到阻力損失,例如我們?nèi)粘O奶煊玫碾婏L(fēng)扇;吸風(fēng)時(shí)產(chǎn)生的是層流,屬于被動(dòng)散熱,風(fēng)壓小但氣流穩(wěn)定,例如機(jī)箱風(fēng)扇。
理論上說(shuō),開(kāi)放環(huán)境中,紊流的換熱效率比層流大,但是筆記本底部和散熱底座實(shí)際組成了一個(gè)封閉空間,所以一般吸風(fēng)散熱方式更符合風(fēng)流設(shè)計(jì)規(guī)范。市場(chǎng)上的散熱底座多數(shù)是有內(nèi)置吸風(fēng)式風(fēng)扇的。
1.3 筆記本散熱底座設(shè)計(jì)
1.3.1 散熱底座的材料
當(dāng)前市場(chǎng)主要產(chǎn)品使用的材料有兩種:金屬或者塑料。金屬的導(dǎo)熱性好,但現(xiàn)在任何一款筆記本的底部都有防滑膠墊,和金屬散熱底座不可能緊貼在一起,所以金屬的導(dǎo)熱性能不能完全發(fā)揮出來(lái)。當(dāng)然,金屬底座還是可以更好地將筆記本內(nèi)散發(fā)出來(lái)熱量吸收并擴(kuò)散出去。另外金屬一般比較重,而且由于制造時(shí)工藝要求較高,一旦做工不夠精細(xì),極易傷人。塑料材質(zhì)一般比較輕便,硬度也較高,很多工程塑料的強(qiáng)度甚至超過(guò)金屬。出于成本及輕便的考慮,重量較輕、發(fā)熱小的筆記本可以選用設(shè)計(jì)較好的塑料散熱底座。但是如果是重量較大,發(fā)熱較高的筆記本還是得使用金屬材質(zhì)的做工良好的散熱底座。
1.3.2 散熱底座的結(jié)構(gòu)
風(fēng)扇型的散熱底座構(gòu)造,一般是由金屬或者塑料外殼加上內(nèi)置的2--4個(gè)風(fēng)扇構(gòu)成,風(fēng)扇的供電方案有通過(guò)筆記本USB接口供電以及外置電源供電兩種。大多數(shù)筆記本電腦的散熱底座的風(fēng)扇均采用吸風(fēng)式設(shè)計(jì),因?yàn)檫@樣可以最大限度的減少空氣擾動(dòng)造成的影響,提高散熱效率。
散熱底座風(fēng)扇的數(shù)量和布局也非常重要,現(xiàn)在的筆記本后部往往是電池,而一些主要發(fā)熱部件如:中央處理器和硬盤(pán)等位置相對(duì)靠中間,特別是硬盤(pán),大多設(shè)計(jì)在手托下面,而這些部位很多散熱底座往往沒(méi)有設(shè)計(jì)風(fēng)扇。所以在設(shè)計(jì)散熱底座前,先弄清筆記本底座幾個(gè)主要部件的位置,確定最熱的幾個(gè)位置。
1.3.3 散熱底座的性能
性能判定方法:同等環(huán)境下,使用散熱底座和不使用,分別記錄開(kāi)機(jī)五分鐘和開(kāi)機(jī)一小時(shí)后的系統(tǒng)主要溫度參數(shù),可以大概確定該散熱底座的散熱性能。還需要特別注意的是散熱底座的噪音和振動(dòng)問(wèn)題,風(fēng)扇的數(shù)量和質(zhì)量是決定因素。風(fēng)扇多固然增加散熱效果,但是相應(yīng)的耗電及噪音振動(dòng)也增加了,所以一般以2~3個(gè)為宜。所以底座測(cè)試的時(shí)候需要留心判斷下其噪音是否能夠接受,是否會(huì)有振動(dòng)影響電腦硬盤(pán)。
59
天津職業(yè)技術(shù)師范大學(xué)2010屆本科生畢業(yè)設(shè)計(jì)
2 系統(tǒng)方案論證
本系統(tǒng)的結(jié)構(gòu)主要包括對(duì)外界溫度信息的采集電路,控制器電路,散熱風(fēng)扇控制電路,上位機(jī)串口通信電路。選擇合理的電路方案,能實(shí)現(xiàn)好系統(tǒng)的功能,降低設(shè)計(jì)的成本,而且有利于后繼添加的擴(kuò)展功能。下面先給出系統(tǒng)組成框圖,然后對(duì)可能的各方案進(jìn)行比較說(shuō)明。
2.1 系統(tǒng)框圖
圖2-1 系統(tǒng)框圖
2.2 各模塊方案論證
2.2.1 控制器的選擇
方案一:采用可編程邏輯器件CPLD作為控制器。CPLD可以實(shí)現(xiàn)各種復(fù)雜的邏輯功能、規(guī)模大、密度高、體積小、穩(wěn)定性高、IO資源豐富、易于進(jìn)行功能擴(kuò)展。采用并行的輸入輸出方式,提高了系統(tǒng)的處理速度,適合作為大規(guī)模控制系統(tǒng)的控制核心。但本系統(tǒng)不需要復(fù)雜的邏輯功能,對(duì)數(shù)據(jù)的處理速度的要求也不是非常高。且從使用及經(jīng)濟(jì)的角度考慮放棄了此方案。
方案二:采用凌陽(yáng)公司的16位單片機(jī),它是16位控制器,具有體積小、驅(qū)動(dòng)能力高、集成度高、易擴(kuò)展、可靠性高、功耗低、結(jié)構(gòu)簡(jiǎn)單、中斷處理能力強(qiáng)等特點(diǎn)。處理速度高,尤其適用于語(yǔ)音處理和識(shí)別等領(lǐng)域。但是當(dāng)凌陽(yáng)單片機(jī)在語(yǔ)音處理和辨識(shí)時(shí),由于其占用的CPU資源較多而使得處理其它任務(wù)的速度和能力降低。
方案三:采用Atmel公司的AT89S52單片機(jī)作為主控制器。AT89S52是一種低功耗、高性能CMOS微控制器,具有8K在系統(tǒng)可編程Flash存儲(chǔ)器。使用Atmel公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。AT89S52具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,256字節(jié)RAM,32位I/O口線,看門狗定時(shí)器,2個(gè)數(shù)據(jù)指針,三個(gè)16位定時(shí)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另外,AT89S52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式。
因此,本設(shè)計(jì)采用方案三。
2.2.2 溫度采集器件的選擇
方案一:使用模數(shù)轉(zhuǎn)換芯片和模擬溫度器件組成,其溫度感知器件一般為溫度的線性器件,然后通過(guò)模擬轉(zhuǎn)數(shù)字芯片把模擬量轉(zhuǎn)換為數(shù)字量送入控制器加以識(shí)別和判斷,其優(yōu)點(diǎn)是,其通過(guò)選擇合適的轉(zhuǎn)換芯片和模擬溫度器件可已達(dá)到很高的精度,一般的模數(shù)轉(zhuǎn)換有8位、10位、12位等,在一般的系統(tǒng)中都采用此種方案。但對(duì)于本設(shè)計(jì)中會(huì)產(chǎn)生更多的電路,一是增加了體積不易于安裝,二是本系統(tǒng)不需要很高的精度。
方案二:采用“一線總線”數(shù)字化溫度傳感器DS18B20,DS18B20支持“一線總線”接口,測(cè)量溫度范圍為 -55℃~125℃,在-10℃~85℃范圍內(nèi),精度為±0.5℃?,F(xiàn)場(chǎng)溫度直接以“一線總線”的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。適合于惡劣環(huán)境的現(xiàn)場(chǎng)溫度測(cè)量,如:環(huán)境控制、設(shè)備或過(guò)程控制、測(cè)溫類消費(fèi)電子產(chǎn)品等。適用于對(duì)性能要求不高,成本控制嚴(yán)格的應(yīng)用,是經(jīng)濟(jì)型產(chǎn)品。
因此,本設(shè)計(jì)采用方案二。
2.2.3 電機(jī)及其驅(qū)動(dòng)器的選擇
方案一:采用直流電機(jī)加模擬電路,通過(guò)電位器調(diào)節(jié)電機(jī)兩端電壓進(jìn)行控制。達(dá)林頓管串聯(lián)在直流電機(jī)回路上,通過(guò)調(diào)節(jié)電位器改變電機(jī)回路的電流的大小,從而達(dá)到控制電機(jī)的目的。此方案的優(yōu)點(diǎn)在,電路簡(jiǎn)單,通過(guò)一個(gè)電位器就可以達(dá)到調(diào)節(jié)電機(jī)速度的目的,但它也存在明顯的不足,三極管工作在放大區(qū)時(shí)在電機(jī)回路上將產(chǎn)生一個(gè)壓降,會(huì)產(chǎn)生很多的熱量,效率很低。
方案二:采用PWM控制步進(jìn)電機(jī)。PWM控制是利用微處理器的數(shù)字輸出來(lái)對(duì)模擬電路進(jìn)行控制的一種非常有效的技術(shù),廣泛應(yīng)用在從測(cè)量、通信到功率控制與變換的許多領(lǐng)域中。PWM對(duì)半導(dǎo)體器件的導(dǎo)通和關(guān)斷進(jìn)行控制,是輸出端得到一系列幅值相等而寬度不相等的脈沖,用這些脈沖來(lái)代替正弦波或其他所需要的波形。按一定的規(guī)則對(duì)各脈沖的寬度進(jìn)行調(diào)制,既可改變逆變電路輸出電壓的大小,也改變輸出頻率。對(duì)于本設(shè)計(jì)的不足之處也很明顯,步進(jìn)電機(jī)適用于精確控制,本電路不需要非常精確。而且電路過(guò)于復(fù)雜,成本過(guò)高。
方案三:采用三級(jí)管直接驅(qū)動(dòng)直流電機(jī),電路使三級(jí)管工作在飽和和截止區(qū),三極管處于很低的功耗狀態(tài),發(fā)揮簡(jiǎn)單的開(kāi)關(guān)作用來(lái)控制電機(jī)兩端電流的通斷,從而達(dá)到控制電機(jī)的目的。此設(shè)計(jì)簡(jiǎn)單,成本低,易于實(shí)現(xiàn),
因此,本設(shè)計(jì)采用方案三。
天津職業(yè)技術(shù)師范大學(xué)2010屆本科生畢業(yè)設(shè)計(jì)
3 系統(tǒng)硬件設(shè)計(jì)
硬件系統(tǒng)的主要包括對(duì)外界溫度信息的采集電路,控制器電路,散熱風(fēng)扇控制電路,上位機(jī)串口通信電路,電源電路。下面就具體的電路進(jìn)行闡述。
3.1 單片機(jī)AT89S52
3.1.1 芯片介紹
AT89S52是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程 Flash 存儲(chǔ)器。使用Atmel公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得AT89S52 為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。
AT89S52具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,256字節(jié)RAM,32位I/O口線,看門狗定時(shí)器,2個(gè)數(shù)據(jù)指針,三個(gè)16位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另外AT89S52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式。空閑模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM 內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。
主要性能
1.與 MCS-51單片機(jī)產(chǎn)品兼容
2.8K字節(jié)在系統(tǒng)可編程Flash存儲(chǔ)器
3.1000次擦寫(xiě)周期
4.全靜態(tài)操作:0Hz~33Hz
5.三級(jí)加密程序存儲(chǔ)器
6.32個(gè)可編程I/O口線
7.三個(gè)16位定時(shí)器/計(jì)數(shù)器
8.八個(gè)中斷源
9.全雙工UART串行通道
10.低功耗空閑和掉電模式
11.掉電后中斷可喚醒
12.看門狗定時(shí)器
13.雙數(shù)據(jù)指針
14.掉電標(biāo)識(shí)符
AT89S52方框圖
圖3-1 AT89S52方框圖
引腳結(jié)構(gòu):
圖3-2 AT89S52引腳圖
引腳功能描述:
VCC:電源。
GND:地。
P0口:P0口是一個(gè)8位漏極開(kāi)路的雙向I/O 口。作為輸出口,每位能驅(qū)動(dòng) 8 個(gè) TTL 邏輯電平。對(duì) P0 端口寫(xiě)“1”時(shí),引腳用作高阻抗輸入。當(dāng)訪問(wèn)外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),P0 口也被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下,P0具有內(nèi)部上拉電阻。在 flash 編程時(shí),P0 口也用來(lái)接收指令字節(jié);在程序校驗(yàn)時(shí),輸出指令字節(jié)。程序校驗(yàn)時(shí),需要外部上拉電阻。
P1口:P1口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O口,P1輸出緩沖器能驅(qū)動(dòng)4個(gè)TTL邏輯電平。對(duì)P1端口寫(xiě)“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流。此外,P1.0 和 P1.2 分別作定時(shí)器/計(jì)數(shù)器 2 的外部計(jì)數(shù)輸入(P1.0/T2)和時(shí)器/計(jì)數(shù)器 2的觸發(fā)輸入(P1.1/T2EX)。在 flash 編程和校驗(yàn)時(shí),P1 口接收低 8 位地址字節(jié)。
P2口:P2 口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O口,P2輸出緩沖器能驅(qū)動(dòng)4個(gè)TTL邏輯電平。對(duì)P2 端口寫(xiě)“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流。在訪問(wèn)外部程序存儲(chǔ)器或用16位地址讀取外部數(shù)據(jù)存儲(chǔ)器時(shí),P2口送出高八位地址。在這種應(yīng)用中,P2口使用很強(qiáng)的內(nèi)部上拉發(fā)送 “1”。在使用8位地址訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),P2 口輸出P2鎖存器的內(nèi)容。在flash編程和校驗(yàn)時(shí),P2 口也接收高8位地址字節(jié)和一些控制信號(hào)。
P3口:P3口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O口,P2輸出緩沖器能驅(qū)動(dòng)4個(gè)TTL邏輯電平。對(duì)P3端口寫(xiě)“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流。P3口亦作為AT89S52特殊功能(第二功能)使用。在flash編程和校驗(yàn)時(shí),P3口也接收一些控制信號(hào)。
RST:復(fù)位輸入。晶振工作時(shí),RST腳持續(xù)2個(gè)機(jī)器周期高電平將使單片機(jī)復(fù)位。看門狗計(jì)時(shí)完成后,RST腳輸出96個(gè)晶振周期的高電平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能無(wú)效。DISRTO默認(rèn)狀態(tài)下,復(fù)位高電平有效。
ALE/PROG:地址鎖存控制信號(hào)(ALE)是訪問(wèn)外部程序存儲(chǔ)器時(shí),鎖存低8位地址的輸出脈沖。在 flash 編程時(shí),此引腳(PROG)也用作編程輸入脈沖。
在一般情況下,ALE以晶振六分之一的固定頻率輸出脈沖,可用來(lái)作為外部定時(shí)器或時(shí)鐘使用。然而,特別強(qiáng)調(diào),在每次訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),ALE 脈沖將會(huì)跳過(guò)。如果需要,通過(guò)將地址為8EH的SFR的第0位置“1”,ALE操作將無(wú)效。這一位置“1”,ALE僅在執(zhí)行MOVX或MOVC指令時(shí)有效。否則,ALE將被微弱拉高。這個(gè)ALE使能標(biāo)志位的設(shè)置對(duì)微控制器處于外部執(zhí)行模式下無(wú)效。
PSEN:外部程序存儲(chǔ)器選通信號(hào)(PSEN)是外部程序存儲(chǔ)器選通信號(hào)。當(dāng) AT89S52 從外部程序存儲(chǔ)器執(zhí)行外部代碼時(shí),PSEN 在每個(gè)機(jī)器周期被激活兩次,而在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),PSEN 將不被激活。
EA/VPP:訪問(wèn)外部程序存儲(chǔ)器控制信號(hào)。為使能從0000H到FFFFH的外部程序存儲(chǔ)器讀取指令,EA必須接GND。為了執(zhí)行內(nèi)部程序指令,EA 應(yīng)該接VCC。在 flash 編程期間,EA也接收12V電壓。
XTAL1:振蕩器反相放大器和內(nèi)部時(shí)鐘發(fā)生電路的輸入端。
XTAL2:振蕩器反相放大器的輸出端。
3.1.2 系統(tǒng)時(shí)鐘電路
時(shí)鐘電路是用來(lái)產(chǎn)生89S52單片機(jī)工作時(shí)所必須的時(shí)鐘信號(hào),89S52本身就是一個(gè)復(fù)雜的同步時(shí)序電路,為保證工作方式的實(shí)現(xiàn),89S52在唯一的時(shí)鐘信號(hào)的控制下嚴(yán)格的按時(shí)序執(zhí)行指令進(jìn)行工作,時(shí)鐘的頻率影響單片機(jī)的速度和穩(wěn)定性。通常時(shí)鐘由于兩種形式:內(nèi)部時(shí)鐘和外部時(shí)鐘。
我們系統(tǒng)采用內(nèi)部時(shí)鐘方式來(lái)為系統(tǒng)提供時(shí)鐘信號(hào)。89S52內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反向放大器,該放大器的輸入輸出引腳為XTAL1和XTAL2,它們跨接在晶體振蕩器和用于微調(diào)的電容,便構(gòu)成了一個(gè)自激勵(lì)振蕩器電路中的C1、C2的選擇在30PF左右,但電容太小會(huì)影響振蕩的頻率、穩(wěn)定性和快速性。晶振頻率為在1.2MHZ~12MHZ之間,頻率越高單片機(jī)的速度就越快,但對(duì)存儲(chǔ)器速度要求就高。為了提高穩(wěn)定性我們采用溫度穩(wěn)定性好的瓷片電容,采用的晶振頻率為11.0592MHZ。
圖3-3 時(shí)鐘電路
3.1.3 復(fù)位電路
復(fù)位電路是影響單片機(jī)系統(tǒng)運(yùn)行穩(wěn)定性的主要內(nèi)部因素之一。單片機(jī)的復(fù)位操作有手動(dòng)復(fù)位和加電復(fù)位兩中方式。加電復(fù)位是任何單片機(jī)都具有的功能。它通過(guò)專用的復(fù)位電路產(chǎn)生復(fù)位信號(hào),是系統(tǒng)的原始復(fù)位方式,發(fā)生在開(kāi)機(jī)加電時(shí),是系統(tǒng)自動(dòng)完成的。單片機(jī)系統(tǒng)在調(diào)試程序時(shí),有可能出現(xiàn)死機(jī)、死循環(huán)、程序“跑飛”等情況,手動(dòng)復(fù)位是解決這一情形的最好方式 。
單片機(jī)系統(tǒng)中用到的復(fù)位方式有四種,它們是:積分型、微分型、比較器型和看門狗型。前三種是在芯片外面用分立元件或集成電路芯片搭建完成,最后一種位于芯片內(nèi)部,屬于芯片的一部分。單片機(jī)系統(tǒng)中用到的復(fù)位電路有上電復(fù)位、按鍵電平復(fù)位和按鍵脈沖復(fù)位三種。
本設(shè)計(jì)中,為了簡(jiǎn)便設(shè)計(jì)采用的上電復(fù)位電路如下圖所示:
圖3-4 復(fù)位電路
3.2 溫度傳感器電路
3.2.1 芯片DS18B20介紹
Dallas半導(dǎo)體公司的數(shù)字化溫度傳感器DS1820是世界上第一片支持“一線總線”接口的溫度傳感器。一線總線獨(dú)特而且經(jīng)濟(jì)的特點(diǎn),使用戶可輕松地組建傳感器網(wǎng)絡(luò),為測(cè)量系統(tǒng)的構(gòu)建引入全新概念。
DS18B20支持“一線總線”接口,測(cè)量溫度范圍為 -55℃~125℃,在-10℃~85℃范圍內(nèi),精度為±0.5℃。現(xiàn)場(chǎng)溫度直接以“一線總線”的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。適合于惡劣環(huán)境的現(xiàn)場(chǎng)溫度測(cè)量,如:環(huán)境控制、設(shè)備或過(guò)程控制、測(cè)溫類消費(fèi)電子產(chǎn)品等。與前一代產(chǎn)品不同,新的產(chǎn)品支持3V~5.5V 的電壓范圍,使系統(tǒng)設(shè)計(jì)更靈活、方便。DS18B20 可以程序設(shè)定9~12位的分辨率,精度為±0.5℃??蛇x更小的封裝方式,更寬的電壓適用范圍。分辨率設(shè)定,及用戶設(shè)定的報(bào)警溫度存儲(chǔ)在EEPROM 中,掉電后依然保存。
DS1822與DS18B20 軟件兼容,是DS18B20 的簡(jiǎn)化版本。省略了存儲(chǔ)用戶定義報(bào)警溫度、分辨率參數(shù)的EEPROM,精度降低為±2℃,適用于對(duì)性能要求不高,成本控制嚴(yán)格的應(yīng)用,是經(jīng)濟(jì)型產(chǎn)品。繼“一線總線”的早期產(chǎn)品后,DS1820 開(kāi)辟了溫度傳感器技術(shù)的新概念。DS18B20 和DS1822 使電壓、特性及封裝有更多的選擇,讓我們可以構(gòu)建適合自己的經(jīng)濟(jì)的測(cè)溫系統(tǒng)。
18B20管腳圖
圖3-5 18B20管腳圖
3.2.2 傳感器連接電路
圖3-6 傳感器連接電路
3.3 直流電機(jī)驅(qū)動(dòng)電路
3.3.1 三極管簡(jiǎn)介
三極管,全稱應(yīng)為半導(dǎo)體三極管,也稱雙極型晶體管,晶體三極管,是一種電流控制電流的半導(dǎo)體器件。其作用是把微弱信號(hào)放大成幅值較大的電信號(hào),也用作無(wú)觸點(diǎn)開(kāi)關(guān)。三極管分類:按材質(zhì)分:硅管、鍺管。按結(jié)構(gòu)分:NPN、PNP。按功能分:開(kāi)關(guān)管、功率管、達(dá)林頓管、光敏管等。按功率分:小功率管、中功率管、大功率管。按工作頻率分:低頻管、高頻管、超頻管。按結(jié)構(gòu)工藝分:合金管、平面管。
晶體管促進(jìn)并帶來(lái)了“固態(tài)革命”,進(jìn)而推動(dòng)了全球范圍內(nèi)的半導(dǎo)體電子工業(yè)。作為主要部件,它及時(shí)、普遍地首先在通訊工具方面得到應(yīng)用,并產(chǎn)生了巨大的經(jīng)濟(jì)效益。由于晶體管徹底改變了電子線路的結(jié)構(gòu),集成電路以及大規(guī)模集成電路應(yīng)運(yùn)而生,這樣制造像高速電子計(jì)算機(jī)之類的高精密裝置就變成了現(xiàn)實(shí)。
3.3.2 直流電機(jī)簡(jiǎn)介
輸出或輸入為直流電能的旋轉(zhuǎn)電機(jī),稱為直流電機(jī),它是能實(shí)現(xiàn)直流電能和機(jī)械能互相轉(zhuǎn)換的電機(jī)。當(dāng)它作電動(dòng)機(jī)運(yùn)行時(shí)是直流電動(dòng)機(jī),將電能轉(zhuǎn)換為機(jī)械能;作發(fā)電機(jī)運(yùn)行時(shí)是直流發(fā)電機(jī),將機(jī)械能轉(zhuǎn)換為電能。直流電機(jī)的結(jié)構(gòu)應(yīng)由定子和轉(zhuǎn)子兩大部分組成。直流電機(jī)運(yùn)行時(shí)靜止不動(dòng)的部分稱為定子,定子的主要作用是產(chǎn)生磁場(chǎng),由機(jī)座、主磁極、換向極、端蓋、軸承和電刷裝置等組成。隨著人們生活水平的提高,產(chǎn)品質(zhì)量、精度、性能、自動(dòng)化程度、功能以及功耗、價(jià)格問(wèn)題已經(jīng)是選擇家用電器的主要因素。永磁直流電機(jī)既具有結(jié)構(gòu)簡(jiǎn)單、 運(yùn)行可靠、維護(hù)方便等優(yōu)點(diǎn),又具備良好的調(diào)速特性,現(xiàn)已廣泛應(yīng)用于各種場(chǎng)合。
3.3.3 直流電機(jī)驅(qū)動(dòng)電路
采用三級(jí)管直接驅(qū)動(dòng)直流電機(jī),電路使三級(jí)管工作在飽和或截止區(qū),三極管處于很低的功耗狀態(tài),發(fā)揮簡(jiǎn)單的開(kāi)關(guān)作用來(lái)控制電機(jī)兩端電流的通斷,從而達(dá)到控制電機(jī)的目的。對(duì)于電路的保護(hù)采用二極管續(xù)流方式并聯(lián)在電機(jī)兩端。
圖3-7 直流電機(jī)驅(qū)動(dòng)電路
3.4 串口通信電路
3.4.1 串口通信介紹
RS-232已經(jīng)成為PC機(jī)與通信工業(yè)中應(yīng)用最廣泛的串行通信接口之一,盡管近年來(lái)隨著USB技術(shù)的成熟與發(fā)展,RS-232串口的地位將逐步被USB接口協(xié)議取代,但是在工業(yè)控制與嵌入式系統(tǒng)中,RS-232串口通信以其低廉的實(shí)現(xiàn)價(jià)格,較長(zhǎng)的通信距離,優(yōu)異的抗干擾能力,仍然占有十分大的應(yīng)用比例。
RS-232是一種在低速率串行通信中增加通信距離的單端標(biāo)準(zhǔn),其采用了不平衡的傳輸方式,典型的RS-232信號(hào)在正負(fù)電平之間擺動(dòng),數(shù)據(jù)傳輸時(shí),發(fā)送端驅(qū)動(dòng)器的輸出正電平范圍在+5~+15V之間,負(fù)電平范圍在-5~-15V之間,與TTL電平相對(duì)應(yīng)時(shí),邏輯1對(duì)應(yīng)RS-232通信的負(fù)電平,邏輯0對(duì)應(yīng)RS-232通信的正電平。
9針串口功能一覽表:1.載波檢測(cè)(DCD)2.接收數(shù)據(jù)(RXD)3.發(fā)送數(shù)據(jù)(TXD)4.數(shù)據(jù)終端準(zhǔn)備好(DTR)5.信號(hào)地(GND)6.數(shù)據(jù)準(zhǔn)備好(DSR)7.發(fā)送請(qǐng)求(RTS) 8.發(fā)送清除(CTS)9.振鈴指示(RI)數(shù)據(jù)連接線主要在設(shè)備中起橋梁的作用,使PC機(jī)與單片機(jī),PC機(jī)與PC機(jī)之間進(jìn)行數(shù)據(jù)通信,串口間通信只要連接三條線就可以了。即接收數(shù)據(jù)線,發(fā)射數(shù)據(jù)線和信息地線。在某時(shí)刻,對(duì)一臺(tái)機(jī)來(lái)說(shuō)是發(fā)送數(shù)據(jù),對(duì)另一臺(tái)機(jī)就是接收數(shù)據(jù)。所以接收數(shù)據(jù)線與發(fā)射數(shù)據(jù)線要換接。
3.4.2 芯片MAX232介紹
MAX232產(chǎn)品是由美國(guó)Maxim公司推出的一款兼容RS-232標(biāo)準(zhǔn)的芯片,該器件包含兩個(gè)驅(qū)動(dòng)器、兩個(gè)接收器和一個(gè)電壓發(fā)生器電路提供TIA/EIA-232-F電平,該器件符合TIA/EIA-232-F標(biāo)準(zhǔn),每一個(gè)接收器將TIA/EIA-232-F電平轉(zhuǎn)換成5TTL/CMOS電平,每一個(gè)發(fā)送器將TTL/CMOS電平轉(zhuǎn)換成TIA/EIA-232-F電平,有從貼片到直插等不同的封裝類。
圖3-8 MAX232芯片內(nèi)部結(jié)構(gòu)圖
3.4.3 MAX232電路連接圖
MAX232采用單5V供電,內(nèi)部有兩個(gè)電荷泵,通過(guò)充電電容的作用將+5V電壓轉(zhuǎn)換為+10V的電壓,第一個(gè)電荷泵利用充電電容C1將+5V電壓加倍提升到+10V,第二個(gè)電荷泵利用充電電容C2和C4將+10V電壓變換為-10V的電壓,為RS-232通信提供工作電平。對(duì)于MAX232來(lái)說(shuō),推薦采用10uF的電解電容。
圖3-9 MAX232與電腦連接
3.5 電源電路
3.5.1 電源芯片介紹
電源電路主要運(yùn)用到7805穩(wěn)壓芯片,輸出電壓為5V,加散熱片時(shí)驅(qū)動(dòng)電流可達(dá)1A,輸出電流200~300mA時(shí),7805溫度在50度左右,并且有過(guò)溫切斷輸出起到保護(hù)功能。該系列芯片技術(shù)成熟,所需的外圍器件少,性價(jià)比高,運(yùn)用的非常廣泛,其內(nèi)部原理圖如圖3-10所示。
圖3-10為7805的引腳圖:
1.INPUT 電源輸入端,最大可達(dá)35V
2.GROUND電源地
3.OUTPUT +5V輸出端
圖3-10 7805內(nèi)部原理圖
圖3-11 7805的引腳圖
3.5.2 電源芯片連接電路
由變壓器出來(lái)的交流信號(hào)經(jīng)過(guò)橋式整流和電容濾波之后送給LM7805,穩(wěn)壓5V輸出,它的輸出單獨(dú)供給單片機(jī)。在三端穩(wěn)壓管的輸入輸出端與地之間連接大容量的濾波電容,使濾掉紋波的效果更好,輸出的直流電壓更穩(wěn)定。接小容量高頻電容以抑制芯片自激,輸出引腳端連接高頻電容以減小高頻噪聲,使單片機(jī)工作在一個(gè)良好的電源環(huán)境中,提高系統(tǒng)穩(wěn)定性。
圖3-12電源電路原理
天津職業(yè)技術(shù)師范大學(xué)2010屆本科生畢業(yè)設(shè)計(jì)
4 系統(tǒng)軟件設(shè)計(jì)
軟件部分也是整個(gè)系統(tǒng)的核心部分之一,硬件制作成功后,加上軟件部分才能使整個(gè)系統(tǒng)得以運(yùn)行。本系統(tǒng)的軟件部分主要包括主程序和系統(tǒng)初始化子程序、電機(jī)控制程序、溫度采集程序、串口通信程序。
4.1 編程語(yǔ)言簡(jiǎn)介
C語(yǔ)言是一種計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言。它既有高級(jí)語(yǔ)言的特點(diǎn),又具有匯編語(yǔ)言的特點(diǎn)。它可以作為系統(tǒng)設(shè)計(jì)語(yǔ)言,編寫(xiě)工作系統(tǒng)應(yīng)用程序,也可以作為應(yīng)用程序設(shè)計(jì)語(yǔ)言,編寫(xiě)不依賴計(jì)算機(jī)硬件的應(yīng)用程序。因此,它的應(yīng)用范圍廣泛。
C語(yǔ)言對(duì)操作系統(tǒng)和系統(tǒng)使用程序以及需要對(duì)硬件進(jìn)行操作的場(chǎng)合,用C語(yǔ)言明顯優(yōu)于其它解釋型高級(jí)語(yǔ)言,有一些大型應(yīng)用軟件也是用C語(yǔ)言編寫(xiě)的。C語(yǔ)言具有繪圖能力強(qiáng),可移植性,并具備很強(qiáng)的數(shù)據(jù)處理能力,因此適于編寫(xiě)系統(tǒng)軟件,三維,二維圖形和動(dòng)畫(huà)。它是數(shù)值計(jì)算的高級(jí)語(yǔ)言。
其特點(diǎn)為:
1.語(yǔ)言簡(jiǎn)潔、緊湊、使用方便、靈活。
2.運(yùn)算符豐富。
3.數(shù)據(jù)結(jié)構(gòu)豐富,具有現(xiàn)代化語(yǔ)言的各種數(shù)據(jù)結(jié)構(gòu)。
4.具有現(xiàn)代化的控制語(yǔ)句。
5.語(yǔ)法限制不太嚴(yán)格,程序設(shè)計(jì)自由度大。
6.能實(shí)現(xiàn)匯編語(yǔ)言的大部分功能,可以直接對(duì)硬件進(jìn)行操作。
7.生成目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高。
8.程序可移植性好。
匯編語(yǔ)言是面向機(jī)器的程序設(shè)計(jì)語(yǔ)言。匯編語(yǔ)言是一種功能很強(qiáng)的程序設(shè)計(jì)語(yǔ)言,也是利用計(jì)算機(jī)所有硬件特性并能直接控制硬件的語(yǔ)言?!皡R編語(yǔ)言”作為一門語(yǔ)言,對(duì)應(yīng)于高級(jí)語(yǔ)言的編譯器,需要一個(gè)“匯編器”來(lái)把匯編語(yǔ)言原文件匯編成機(jī)器可執(zhí)行的代碼。匯編語(yǔ)言的長(zhǎng)處在于編寫(xiě)高效且需要對(duì)機(jī)器硬件精確控制的程序。
匯編語(yǔ)言比機(jī)器語(yǔ)言易于讀寫(xiě)、調(diào)試和修改,同時(shí)具有機(jī)器語(yǔ)言全部?jī)?yōu)點(diǎn)。但在編寫(xiě)復(fù)雜程序時(shí),相對(duì)高級(jí)語(yǔ)言代碼量較大,而且匯編語(yǔ)言依賴于具體的處理器體系結(jié)構(gòu),不能通用,因此不能直接在不同處理器體系結(jié)構(gòu)之間移植。
其特點(diǎn)為:
1.面向機(jī)器的低級(jí)語(yǔ)言,通常是為特定的計(jì)算機(jī)專門設(shè)計(jì)的。
2.保持了機(jī)器語(yǔ)言的優(yōu)點(diǎn),具有直接和簡(jiǎn)捷的特點(diǎn)。
3.可有效地控制計(jì)算機(jī)的各種硬件設(shè)備,如存儲(chǔ)器、CPU、I/O端口等。
4.目標(biāo)代碼簡(jiǎn)短,占用內(nèi)存少,執(zhí)行速度快,是高效的程序設(shè)計(jì)語(yǔ)言。5.經(jīng)常與高級(jí)語(yǔ)言配合使用,應(yīng)用廣泛。
4.2 單片機(jī)程序設(shè)計(jì)
4.2.1 主程序設(shè)計(jì)
圖4-1 主程序流程圖
4.2.2 溫度采集子程序
圖4-2 溫度采集子程序
4.3 VB上位機(jī)程序設(shè)計(jì)
4.3.1 VB6.0軟件介紹
Visual basic 是在Basic語(yǔ)言的基礎(chǔ)上發(fā)展起來(lái)的,因此它有Basic語(yǔ)言簡(jiǎn)單而又不貧乏的優(yōu)點(diǎn)。
1.Basic語(yǔ)言的發(fā)展歷史
Basic相對(duì)于其他的計(jì)算機(jī)編程語(yǔ)言來(lái)說(shuō),可以成為古老的編程語(yǔ)言了。它最初由美國(guó)計(jì)算機(jī)科學(xué)家John kemeny和Thomas Kurtz設(shè)計(jì),誕生于1964年,迄今為止經(jīng)歷了40多年。其間經(jīng)歷了GW-Basic、True Basic、Turbo Basic、Quick Basic C等很多版本。隨著Windows 的流行,微軟的工程師們著眼于未來(lái)在改進(jìn)Quick Basic的基礎(chǔ)上開(kāi)發(fā)了Visual Basic的第一個(gè)版本。其后,Visual Basic 一發(fā)不可收拾,被世界各地的許多程序員所愛(ài)。微軟在1991年推出Visual Basic 1.0以后,于1992年、1993年、1995年、1997年、1998年接連發(fā)布了Visual Basic 2.0 、3.0、 4.0、5.0、6.0版本。
2.Visual Basic的特點(diǎn)
Visual Basic是一種可視化的、面向?qū)ο蠛筒捎檬录?qū)動(dòng)方式的結(jié)構(gòu)化高級(jí)程序設(shè)計(jì)語(yǔ)言,可用于開(kāi)發(fā)Windows環(huán)境下的各類應(yīng)用程序。
(1)可視化編程
與傳統(tǒng)程序化設(shè)計(jì)語(yǔ)言相比,Visual Basic提供了可視化設(shè)計(jì)工具,程序員再也不用為編寫(xiě)大量的界面代碼而犯愁,取而代之的是只需要按屏幕布局的設(shè)計(jì)要求,用系統(tǒng)提供的工具,在屏幕上面畫(huà)出各種圖形對(duì)象,并設(shè)置這些圖形對(duì)象的屬性之后,Visual Basic會(huì)自動(dòng)產(chǎn)生界面代碼,從而大大提高程序設(shè)計(jì)的效果。
(2)面向?qū)ο蟮某绦蛟O(shè)計(jì)
Visual Basic 4.0 以后的版本都支持面向?qū)ο蟮某绦蛟O(shè)計(jì),但它與一般的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,與C++又完全不一樣。在設(shè)計(jì)對(duì)象時(shí),不必編寫(xiě)建立和描述每個(gè)對(duì)象的程序代碼,而是用工具把它們畫(huà)在界面上,由Visual Basic自動(dòng)生成對(duì)象的程序代碼并封裝起來(lái)。每個(gè)對(duì)象以圖形方式顯示在界面上,都是可視的。
(3)結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言
Visual Basic由于是在Quick Basic的基礎(chǔ)上發(fā)展而來(lái)的,所以具有高級(jí)程序設(shè)計(jì)語(yǔ)言的語(yǔ)句結(jié)構(gòu),接近于自然語(yǔ)言和人類的邏輯思維方式,其語(yǔ)言簡(jiǎn)單易懂。Visual Basic是解釋型語(yǔ)言,在輸入代碼的同時(shí),解釋系統(tǒng)將高級(jí)語(yǔ)言分解翻譯成計(jì)算機(jī)可以識(shí)別的機(jī)器指令,并判斷每個(gè)語(yǔ)句的語(yǔ)法錯(cuò)誤。在設(shè)計(jì)Visual Basic程序的過(guò)程中,隨時(shí)可以運(yùn)行程序,而在整個(gè)應(yīng)用程序設(shè)計(jì)好之后,可比編譯生成可執(zhí)行文件,脫離Visual Basic環(huán)境,直接在Windows環(huán)境下運(yùn)行。
(4)事件驅(qū)動(dòng)編程機(jī)制
Visual Basic通過(guò)事件來(lái)執(zhí)行對(duì)象的操作。一個(gè)對(duì)象可能會(huì)有多個(gè)事件。例如,用鼠標(biāo)單擊窗體,鼠標(biāo)在窗體上移動(dòng),改變窗體的大小等。Visual basic事件驅(qū)動(dòng)的思想是如果用戶單擊了窗體,就會(huì)觸發(fā)窗體的單擊事件。而這個(gè)事件被編程人員寫(xiě)入的代碼也會(huì)隨之執(zhí)行。如果不單擊窗體,窗體單擊事件就永遠(yuǎn)不會(huì)被觸發(fā),里面的程序也不會(huì)被執(zhí)行。因此,開(kāi)發(fā)大型軟件時(shí),不必建立具有明顯開(kāi)始和結(jié)束的程序,而是編寫(xiě)若干微小的子程序,即過(guò)程,這些過(guò)程分別面向不同的對(duì)象,由用戶操作觸發(fā)某個(gè)事件來(lái)驅(qū)動(dòng)執(zhí)行某種特定的功能,或者由事件驅(qū)動(dòng)程序調(diào)用通用過(guò)程來(lái)執(zhí)行指定的操作。這樣可以方便編程人員提高工作效率。
(5)數(shù)據(jù)庫(kù)訪問(wèn)
Visual Basic具有很強(qiáng)的數(shù)據(jù)庫(kù)管理功能。利用數(shù)據(jù)控件和可視化數(shù)據(jù)管理器窗口直接建立活處理Microsoft Access格式的數(shù)據(jù)庫(kù),同時(shí)黑可以訪問(wèn)FoxPro、Paradox等其他外部數(shù)據(jù)庫(kù)。
4.3.2 主程序設(shè)計(jì)
主要包括串口通信控制和溫度顯示。單片機(jī)實(shí)時(shí)監(jiān)測(cè)數(shù)據(jù)的圖形顯示一般都借助于數(shù)據(jù)處理能力強(qiáng)大的上位PC機(jī)。VB6.0具有強(qiáng)大的圖形處理功能和良好的界面設(shè)計(jì)功能并且可以利用MSComm控件方便地實(shí)現(xiàn)和單片機(jī)的串行數(shù)據(jù)通信。介紹利用VB6.0的窗體對(duì)象、命令按鈕控件對(duì)象、微軟的MSComm控件對(duì)象、數(shù)組和用戶自定義坐標(biāo)系動(dòng)態(tài)、連續(xù)、數(shù)字、波形地顯示單片機(jī)實(shí)時(shí)檢測(cè)數(shù)據(jù)。 該顯示方法的坐標(biāo)系符合人們看圖習(xí)慣,顯示的實(shí)時(shí)波形隨時(shí)間動(dòng)態(tài)變化并從左向右平移,視覺(jué)效果好且數(shù)值顯示精確。如圖4-3所示。
4.3.3 交互式界面設(shè)計(jì)
可以通過(guò)界面來(lái)顯示溫度,顯示當(dāng)前系統(tǒng)時(shí)間,并監(jiān)控實(shí)時(shí)溫度,可以繪制出溫度曲線。還可以直接對(duì)散熱器進(jìn)行控制。如圖4-4所示。
圖4-3 繪制的窗口界面
圖4-4 設(shè)計(jì)后生成的界面
天津職業(yè)技術(shù)師范大學(xué)2010屆本科生畢業(yè)設(shè)計(jì)
5 系統(tǒng)調(diào)試與測(cè)試
本系統(tǒng)的調(diào)試主要分為硬件調(diào)試、軟件調(diào)試等兩大部分。經(jīng)過(guò)初步的分析設(shè)計(jì)后,在制作硬件電路的同時(shí),調(diào)試也在穿插進(jìn)行。這樣有利于問(wèn)題的分析和解決,不會(huì)造成問(wèn)題的積累,而且不會(huì)因?yàn)橐粋€(gè)小問(wèn)題而進(jìn)行整體電路的檢查,從而可以節(jié)約大量的調(diào)試時(shí)間。軟件編程中,首先完成單元功能模塊的調(diào)試,然后進(jìn)行系統(tǒng)調(diào)試,整體上與硬件調(diào)試的方法差不多。聯(lián)機(jī)調(diào)試是最重要的一部分,同時(shí)也是本設(shè)計(jì)成功的關(guān)鍵。
5.1 硬件調(diào)試
靜態(tài)調(diào)試,靜態(tài)調(diào)試是用戶系統(tǒng)未工作前的硬件檢查過(guò)程。
首先應(yīng)對(duì)表面進(jìn)行檢查,即對(duì)焊接后的電路板的所有連接線仔細(xì)檢查。通過(guò)目測(cè)查出一些明顯的安裝及連接錯(cuò)誤并及時(shí)排除。其次用萬(wàn)用表測(cè)量,主要是測(cè)量目測(cè)是懷疑通斷的情況,尤其是要測(cè)量電源與地之間是否短路。最后是加電檢查。開(kāi)啟電源后,檢查芯片的電源電壓是否正確,也可用手觸摸,是否有明顯發(fā)燙,所遇芯片均未發(fā)現(xiàn)異常,可進(jìn)入下一步調(diào)試。如圖5-1所示。
圖5-1硬件電路
5.2 軟件調(diào)試
將系統(tǒng)軟件按照模塊化程序設(shè)計(jì)方法編寫(xiě)出來(lái),然后輸入到KEIL編譯器編程模擬調(diào)試中,在編譯器的支持下,將經(jīng)過(guò)初步調(diào)試的程序加載到主模塊中,按照以下方法調(diào)試:
1.單步:一次只執(zhí)行一條指令,在每步執(zhí)行后,返回監(jiān)控調(diào)試程序。
2.行:可以從程序的任何一條地址處啟動(dòng),然后全速運(yùn)行。
3.點(diǎn)運(yùn)行:可以在程序任何位置設(shè)置斷點(diǎn),當(dāng)程序執(zhí)行到斷點(diǎn)時(shí),控制返回到監(jiān)控調(diào)試程序。
4.查和修改存儲(chǔ)器單元的內(nèi)容。
5.查和修改寄存器的內(nèi)容。
程序調(diào)試可以一個(gè)一個(gè)模塊進(jìn)行,一個(gè)一個(gè)子程序的調(diào)試,從中可以發(fā)現(xiàn)程序中的死循環(huán)、機(jī)器碼錯(cuò)誤及轉(zhuǎn)移地址錯(cuò)誤,也可以發(fā)現(xiàn)待測(cè)系統(tǒng)中軟件算法和硬件設(shè)計(jì)錯(cuò)誤。如圖5-2,圖5-3所示。
圖5-2 VB6.0程序調(diào)試
圖5-3 單片機(jī)程序調(diào)試
5.3 調(diào)試問(wèn)題及解決方法
在硬件無(wú)故障和軟件模塊調(diào)試完成的情況下,還要對(duì)系統(tǒng)進(jìn)行聯(lián)機(jī)調(diào)試。在系統(tǒng)調(diào)試時(shí),應(yīng)將全部硬件電路都接上,應(yīng)用程序模塊也都組合好,進(jìn)行全系統(tǒng)軟硬件調(diào)試。系統(tǒng)調(diào)試是排除軟硬件中的殘留錯(cuò)誤,使整個(gè)系統(tǒng)能夠完成預(yù)定的工作任務(wù),達(dá)到要求的技術(shù)性能指標(biāo)。如圖5-4所示。
1、調(diào)試中檢查元器件失效。造成這種情況的原因有兩個(gè):一個(gè)是元器件買來(lái)時(shí)就已壞了;另一個(gè)是由于安裝錯(cuò)誤,造成器件燒壞。可以采取檢查元器件與設(shè)計(jì)要求的型號(hào)、規(guī)格和安裝是否一致。
2、電源故障。在通電前,一定要檢查電源電壓的幅值和極性,否則很容易造成集成塊損壞。加電后檢查各插件上引腳的電位,一般先檢查VCC與GND之間電位,若在5V~4.8V之間屬正常。
3、當(dāng)判斷單片機(jī)不工作時(shí)候,需要進(jìn)行聯(lián)機(jī)仿真調(diào)試。聯(lián)機(jī)仿真必須借助單片機(jī)開(kāi)發(fā)的最基本工具如仿真開(kāi)發(fā)裝置、示波器、萬(wàn)用表等。
圖5-4 集成調(diào)試
5.4 測(cè)試結(jié)果
測(cè)試使用的筆記本為聯(lián)想昭陽(yáng)E290G。聯(lián)想昭陽(yáng)系列筆記本不僅是政府采購(gòu)機(jī)型而且也是目前市場(chǎng)使用數(shù)量最多的,有一定代表性。測(cè)試時(shí)的室內(nèi)溫度為27℃。數(shù)據(jù)整理如圖5-5所示。表明使用本設(shè)計(jì)能很好的降低溫度,輔助筆記本散熱,延長(zhǎng)筆記本使用壽命,達(dá)到隨溫度而控制的要求。
圖5-5 筆記本底部溫度
天津職業(yè)技術(shù)師范大學(xué)2010屆本科生畢業(yè)設(shè)計(jì)
結(jié) 論
在選擇畢業(yè)設(shè)計(jì)課題上面,對(duì)筆記本散熱問(wèn)題非常的感興趣,本設(shè)計(jì)課題是用傳感器、直流電機(jī)和單片機(jī)來(lái)實(shí)現(xiàn),鑒于目前對(duì)電路的設(shè)計(jì),由于很多相關(guān)知識(shí)片都沒(méi)有接觸過(guò),所以在這次畢業(yè)設(shè)計(jì)中學(xué)到了很多。在這個(gè)設(shè)計(jì)中不僅需要對(duì)芯片進(jìn)行硬件設(shè)計(jì)還要進(jìn)行軟件設(shè)計(jì),在軟件編程過(guò)程中遇到了很多問(wèn)題,后來(lái)翻閱了大量有關(guān)單片機(jī)方面的書(shū)籍、上網(wǎng)查閱資料才真正根據(jù)設(shè)計(jì)要求設(shè)計(jì)硬件電路,逐步完成了軟件方面的編程。
本系統(tǒng)實(shí)現(xiàn)了電腦底座溫度數(shù)據(jù)的測(cè)量和監(jiān)控,本設(shè)計(jì)很好的完成了對(duì)筆記本的溫度監(jiān)控和散熱設(shè)備的運(yùn)行,可以將數(shù)據(jù)上傳至電腦進(jìn)行后期分析處理。可以被廣泛的應(yīng)用到生產(chǎn)和生活中,如帶有溫度控制的場(chǎng)合、工業(yè)溫度測(cè)量?jī)x表等。由于溫度監(jiān)控是一個(gè)實(shí)踐應(yīng)用性很強(qiáng)的課題,要使其產(chǎn)品化,能夠經(jīng)受住實(shí)際應(yīng)用的嚴(yán)格考驗(yàn),還需要很多細(xì)致的改進(jìn)。
參考文獻(xiàn)
[1] 譚浩強(qiáng).Visual Basic程序設(shè)計(jì).北京:清華大學(xué)出版社,2000.
[2] 劉新民.Visual Basic6.0程序設(shè)計(jì).北京:清華大學(xué)出版社,2004.
[3] 羅朝盛.Visual Basic 程序設(shè)計(jì)教程.西安:人民郵電出版社,2005.
[4] 劉炳文.Visual Basic 程序設(shè)計(jì)教程.北京:清華大學(xué)出版社,2000.
[5] 李廣弟.朱月秀等.單片機(jī)基礎(chǔ)[M].北京:北京航空航天大學(xué)出版社,2001.
[6] 徐愛(ài)鈞.8051單片機(jī)實(shí)踐教程[M].北京:電子工業(yè)出版社,2001.
[7] 吳金戎.8051單片機(jī)實(shí)踐與應(yīng)用[M].北京:清華大學(xué)出版社,2002.
[8] 吳國(guó)經(jīng).單片機(jī)應(yīng)用技術(shù)[M].北京:中國(guó)電力出版社,2004.
[9] 馬忠梅.單片機(jī)C語(yǔ)言應(yīng)用程序設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,2003.
[10] 童長(zhǎng)飛.單片機(jī)開(kāi)發(fā)與C語(yǔ)言編程[M].北京:北京航空航天出版社,2005.
[11] 沈慶陽(yáng),郭庭吉.8051單片機(jī)實(shí)踐與應(yīng)用[M].北京:清華大學(xué)出版社,2005.
[12] 王志良.電力電子新器件及其應(yīng)用技術(shù)[M].北京:國(guó)防工業(yè)出版社,1995.
[13] 《集成電路特性代換手冊(cè)》編譯組編[M].福建科學(xué)技術(shù)出版社,2001.
[14] 吳運(yùn)昌.模擬集成電路原理與應(yīng)用[M].廣東:華南理工大學(xué)出版社,2001.
[15] E.H.Armstrong. The super heterodyne-its origin, development, and some recent improvements[C]. Pro.IRE.vol,1983,56(18):152-155.
[16] Sha Zhan you, Pang Zhi feng, Wang Yan Peng. The Application of Phase-Locked Technology In the Electronic Measuring Field, ICEMI’2001.
附錄1: 單片機(jī)程序
#include
sbit aa=P2^3; //電機(jī)中
sbit bb=P2^7; //電機(jī)側(cè)
void Delay(unsigned int tc) //顯示延時(shí)程序
{while( tc != 0 )
{unsigned int i;
for(i=0; i<100; i++);
tc--;}
}
//////////////////////////////////////////////////////////////
sbit TMDAT =P0^5; //DS18B20 的數(shù)據(jù)輸入/輸出腳DQ,根據(jù)情況設(shè)定 0.3
unsigned char sdata;//測(cè)量到的溫度的整數(shù)部分
unsigned char xiaoshu1;//小數(shù)第一位
unsigned char xiaoshu2;//小數(shù)第二位
unsigned char xiaoshu;//兩位小數(shù)
void dmsec (unsigned int count) //延時(shí)部分
{
unsigned char i;
while(count--)
{for(i=0;i<115;i++);}
}
void tmreset (void) //發(fā)送復(fù)位
{
unsigned char i;
TMDAT=0; for(i=0;i<103;i++);
TMDAT = 1; for(i=0;i<4;i++);
}
//////////////////////////////////
bit tmrbit (void) //讀一位//
{
unsigned int i;
bit dat;
TMDAT = 0;
i++;
TMDAT = 1;
i++; i++; //微量延時(shí) //
dat = TMDAT;
for(i=0;i<8;i++);
return (dat);
}
unsigned char tmrbyte (void) //讀一個(gè)字節(jié)
{
unsigned char i,j,dat;
dat = 0;
for (i=1;i<=8;i++)
{ j = tmrbit(); dat = (j << 7) | (dat >> 1); }
return (dat);
}
void tmwbyte (unsigned char dat) //寫(xiě)一個(gè)字節(jié)
{
unsigned char j,i;
bit testb;
for (j=1;j<=8;j++)
{ testb = dat & 0x01;
dat = dat >> 1;
if (testb)
{ TMDAT = 0; //寫(xiě)0
i++; i++;
TMDAT = 1;
for(i=0;i<8;i++); }
else
{ TMDAT = 0; //寫(xiě)0
for(i=0;i<8;i++);
TMDAT = 1;
i++; i++;}
}
}
/////////////////////////////////
void tmstart (void) //發(fā)送ds1820 開(kāi)始轉(zhuǎn)換
{ tmreset(); //復(fù)位
dmsec(1); //延時(shí)
tmwbyte(0xcc); //跳過(guò)序列號(hào)命令
tmwbyte(0x44); //發(fā)轉(zhuǎn)換命令 44H,
}
void tmrtemp (void) //讀取溫度
{
unsigned char a,b;
tmreset (); //復(fù)位
dmsec (1); //延時(shí)
tmwbyte (0xcc); //跳過(guò)序列號(hào)命令
tmwbyte (0xbe); //發(fā)送讀取命令
a = tmrbyte (); //讀取低位溫度
b = tmrbyte (); //讀取高位溫度
a=a>>4; //低位右移4位,舍棄小數(shù)部分
sdata=b<<4; //高位左移4位,舍棄符號(hào)位
sdata=sdata|a;
}
void DS18B20PRO(void)
{ tmstart();
//dmsec(5); //如果是不斷地讀取的話可以不延
tmrtemp(); //讀取溫度,執(zhí)行完畢溫度將存于
}
void initUart(void)
{
TMOD|=0x20;
SCON=0x50;
TH1=0xfd;
TL1=0xfd;
TR1=1;
}
收藏