第六章 單片機(jī)設(shè)計(jì)實(shí)例_第1頁(yè)
第六章 單片機(jī)設(shè)計(jì)實(shí)例_第2頁(yè)
第六章 單片機(jī)設(shè)計(jì)實(shí)例_第3頁(yè)
第六章 單片機(jī)設(shè)計(jì)實(shí)例_第4頁(yè)
第六章 單片機(jī)設(shè)計(jì)實(shí)例_第5頁(yè)
已閱讀5頁(yè),還剩53頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

單片機(jī)設(shè)計(jì)實(shí)例第六章目錄信號(hào)發(fā)生器的設(shè)計(jì)直流電動(dòng)機(jī)控制模塊設(shè)計(jì)步進(jìn)電動(dòng)機(jī)控制模塊設(shè)計(jì)溫度采集與顯示控制模塊的設(shè)計(jì)PROTEUS與Keil軟件聯(lián)調(diào)的應(yīng)用PROTEUS與IAREMBEDDEDWORKBENCH的聯(lián)調(diào)應(yīng)用信號(hào)發(fā)生器的設(shè)計(jì)設(shè)計(jì)要求利用AT89S52單片機(jī)、DAC0808、ADC0804設(shè)計(jì)信號(hào)發(fā)生器,能夠產(chǎn)生固定幅度的方波、鋸齒波、三角波及正弦波,并且能在程序運(yùn)行的過(guò)程中,可以調(diào)節(jié)信號(hào)的幅度及頻率,并且在波形切換過(guò)程中,能夠給予相應(yīng)的指示。其中幅值采用DAC0808進(jìn)行調(diào)節(jié),頻率的設(shè)定部分采用ADC0804進(jìn)行調(diào)節(jié),并可以在不同的波形之間任意切換。設(shè)計(jì)原理

圖6-1

信號(hào)發(fā)生器總設(shè)計(jì)圖信號(hào)發(fā)生器的設(shè)計(jì)

DA轉(zhuǎn)換電路AD轉(zhuǎn)換電路

指示燈

撥碼開(kāi)關(guān)控制部分

頻率調(diào)節(jié)電路信號(hào)發(fā)生器的設(shè)計(jì)

ADC0804簡(jiǎn)介

ADC0804是一種8位COMS依次逼近型的A/D轉(zhuǎn)換器,三態(tài)鎖定輸出,存取時(shí)間大約為135微秒,8位分辨率,若輸入電壓VIN=+5V,那么最小輸出電壓為U=5V/256=0.01953V。轉(zhuǎn)換時(shí)間大約為100微秒,總誤差為正負(fù)1LSB,工作溫度區(qū)間為0-70攝氏度

圖6-2

ADC0804引腳圖

圖6-3

ADC0804原理圖表6-1ADC0804模數(shù)轉(zhuǎn)換表信號(hào)發(fā)生器的設(shè)計(jì)信號(hào)的產(chǎn)生利用8位D/A轉(zhuǎn)換器DAC0808,可以將8位數(shù)字量轉(zhuǎn)換成模擬量輸出。數(shù)字量輸入的范圍為0~255之間,對(duì)應(yīng)的模擬量輸出的范圍在VREF-到VREF+之間。根據(jù)這一特性,我們可以利用單機(jī)的并行口輸出的數(shù)字量,產(chǎn)生常用的波形。

信號(hào)幅度控制當(dāng)數(shù)字量輸入為00H時(shí),DAC0808的輸出為VREF-,當(dāng)輸入為FFH時(shí),DAC0808的輸出為VREF+。所以,為了調(diào)節(jié)輸出波形的幅度,只要調(diào)節(jié)VREF即可。在VREF+端串接一電位器,調(diào)節(jié)VREF的電壓,即可達(dá)到調(diào)節(jié)波形幅度的目的

信號(hào)頻率控制通過(guò)調(diào)節(jié)輸入ADC0804轉(zhuǎn)換的模擬電壓值,從而產(chǎn)生8位二進(jìn)制數(shù)作為延時(shí)函數(shù),即可控制輸出波形的幅值與頻率信號(hào)發(fā)生器的設(shè)計(jì)波形切換利用4位DIP開(kāi)關(guān)DSW1來(lái)選擇波形,并通過(guò)四個(gè)LED進(jìn)行指示系統(tǒng)仿真在PROTEUS中對(duì)輸出波形進(jìn)行波形分析,選擇不同的開(kāi)關(guān),調(diào)節(jié)頻率控制電位器RV2,可以改變輸出波形的頻率,同時(shí),調(diào)節(jié)幅值電位器RV1可以改變輸出波形的幅值圖6-4

幅值為12.6,周期為125ms的正弦波圖6-5幅值為12.6,周期為450ms的正弦波信號(hào)發(fā)生器的設(shè)計(jì)圖6-6幅值為12.2,周期為82ms的三角波圖6-7幅值為12.2,周期為382ms的三角波圖6-8幅值為12.3,周期為64.3ms的鋸齒波圖6-9幅值為12.3,周期為384ms的鋸齒波圖6-10幅值為12.3,周期為64.3ms的鋸齒波圖6-11幅值為12.3,周期為190ms的方波直流電動(dòng)機(jī)控制模塊設(shè)計(jì)設(shè)計(jì)要求利用AT89C51單片機(jī)產(chǎn)生固定占空比的PWM信號(hào),并通過(guò)驅(qū)動(dòng)電路實(shí)現(xiàn)直流電動(dòng)機(jī)的固定方向和固定轉(zhuǎn)速旋轉(zhuǎn)設(shè)計(jì)原理

圖6-12直流電動(dòng)機(jī)物理模型

圖6-12表示一臺(tái)最簡(jiǎn)單的兩極直流電動(dòng)機(jī)模型,它的固定部分(定子)上,裝設(shè)了一對(duì)直流勵(lì)磁的靜止的主磁極N和S,在旋轉(zhuǎn)部分(轉(zhuǎn)子)上裝設(shè)電樞鐵心。定子與轉(zhuǎn)子之間有一氣隙。在電樞鐵心上放置了由A和X兩根導(dǎo)體連成的電樞線圈,線圈的首端和末端分別連到兩個(gè)圓弧形的銅片上,此銅片稱為換向片。換向片之間互相絕緣,由換向片構(gòu)成的整體稱為換向器。換向器固定在轉(zhuǎn)軸上,換向片與轉(zhuǎn)軸之間亦互相絕緣。在換向片上放置著一對(duì)固定不動(dòng)的電刷B1和B2,當(dāng)電樞旋轉(zhuǎn)時(shí),電樞線圈通過(guò)換向片和電刷與外電路接通。直流電動(dòng)機(jī)控制模塊設(shè)計(jì)設(shè)計(jì)原理

圖6-13直流電動(dòng)機(jī)工作模型

如果去掉原動(dòng)機(jī),并給兩個(gè)電刷加上直流電源,如圖6-13(a)所示,則有直流電流從電刷A流入,經(jīng)過(guò)線圈abcd,從電刷B流出,根據(jù)電磁力定律,載流導(dǎo)體ab和cd收到電磁力的作用,其方向可由左手定則判定,兩段導(dǎo)體受到的力形成了一個(gè)轉(zhuǎn)矩,使得轉(zhuǎn)子逆時(shí)針轉(zhuǎn)動(dòng)。

如果轉(zhuǎn)子轉(zhuǎn)到如圖6-13(b)所示的位置,電刷A和換向片2接觸,電刷B和換向片1接觸,直流電流從電刷A流入,在線圈中的流動(dòng)方向是dcba,從電刷B流出。此時(shí)載流導(dǎo)體ab和cd受到電磁力的作用方向同樣可由左手定則判定,它們產(chǎn)生的轉(zhuǎn)矩仍然使得轉(zhuǎn)子逆時(shí)針轉(zhuǎn)動(dòng)。

外加的電源是直流的,但由于電刷和換向片的作用,在線圈中流過(guò)的電流是交流的,其產(chǎn)生的轉(zhuǎn)矩的方向卻是不變的。直流電動(dòng)機(jī)控制模塊設(shè)計(jì)直流電動(dòng)機(jī)驅(qū)動(dòng)電路

圖6-14直流電動(dòng)機(jī)驅(qū)動(dòng)電路當(dāng)OUTPUT端輸入為高電平時(shí),Q1和Q2導(dǎo)通,電機(jī)兩端有電流流過(guò),即可驅(qū)動(dòng)電機(jī)轉(zhuǎn)動(dòng)。在OUTPUT信號(hào)端和負(fù)載端加兩個(gè)電壓跟隨器,第一級(jí)電壓跟隨器做緩沖級(jí),為了使信號(hào)不會(huì)有相當(dāng)?shù)牟糠謸p耗在前級(jí)的輸出電阻中,需要電壓跟隨器來(lái)從中進(jìn)行緩沖。起到承上啟下的作用,提高了輸入阻抗。這樣,輸入電容的容量可以大幅度減小。第二級(jí)電壓跟隨器做隔離電路,構(gòu)成有源濾波電路。直流電動(dòng)機(jī)控制模塊設(shè)計(jì)電動(dòng)機(jī)轉(zhuǎn)速控制

圖6-15電動(dòng)機(jī)轉(zhuǎn)速控制電路用一個(gè)電位器作為ADC0808的模擬量輸入,最大輸入電壓及參考電壓均為5V,數(shù)字量輸出范圍為0<D_out<255。首先,單片機(jī)的PWM端(P3.7)輸出高電平,再延時(shí)一段時(shí)間,延時(shí)常數(shù)為255-D_out,再輸出低電平,延時(shí)常數(shù)為D_out,這樣,通過(guò)改變模擬輸入電壓的大小,就可以改變單片機(jī)PWM輸出的占空比,從而達(dá)到調(diào)節(jié)電動(dòng)機(jī)轉(zhuǎn)速的目的。直流電動(dòng)機(jī)控制模塊設(shè)計(jì)ADC0808簡(jiǎn)介

圖6-16ADC0808引腳結(jié)構(gòu)圖

ADC0808是美國(guó)國(guó)家半導(dǎo)體公司生產(chǎn)的CMOS工藝8通道,8位逐次逼近式A/D模數(shù)轉(zhuǎn)換器。其內(nèi)部有一個(gè)8通道多路開(kāi)關(guān),它可以根據(jù)地址碼鎖存譯碼后的信號(hào),只選通8路模擬輸入信號(hào)中的一個(gè)進(jìn)行A/D轉(zhuǎn)換。它由8路模擬開(kāi)關(guān)、地址鎖存與譯碼器、比較器、8位開(kāi)關(guān)樹(shù)型A/D轉(zhuǎn)換器、逐次逼近寄存器、邏輯控制和定時(shí)電路組成。它的主要特性包括8路輸入通道,8位A/D轉(zhuǎn)換器,即分辨率為8位,具有轉(zhuǎn)換起停控制端,轉(zhuǎn)換時(shí)間為100μs(時(shí)鐘為640KHz時(shí)),130μs(時(shí)鐘為500KHz時(shí)),單個(gè)+5V電源供電,模擬輸入電壓范圍0~+5V,不需零點(diǎn)和滿刻度校準(zhǔn),工作溫度范圍為-40~+85攝氏度,低功耗,約15mW。直流電動(dòng)機(jī)控制模塊設(shè)計(jì)ADC0808簡(jiǎn)介

圖6-17ADC0808的工作時(shí)序當(dāng)通道選擇地址有效時(shí),ALE信號(hào)一出現(xiàn),地址便馬上被鎖存,這時(shí)轉(zhuǎn)換啟動(dòng)信號(hào)緊隨ALE之后(或與ALE同時(shí))出現(xiàn)。START的上升沿將逐次逼近寄存器SAR復(fù)位,在該上升沿之后的2μs加8個(gè)時(shí)鐘周期內(nèi)(不定),EOC信號(hào)將變低電平,以指示轉(zhuǎn)換操作正在進(jìn)行中,直到轉(zhuǎn)換完成后EOC再變高電平。微處理器收到變?yōu)楦唠娖降腅OC信號(hào)后,便立即送出OE信號(hào),打開(kāi)三態(tài)門(mén),讀取轉(zhuǎn)換結(jié)果直流電動(dòng)機(jī)控制模塊設(shè)計(jì)程序設(shè)計(jì)流程

圖6-18程序流程圖直流電動(dòng)機(jī)控制模塊設(shè)計(jì)電路仿真

圖6-19連接PWM輸出端口與示波器的A端口將AT89C51的PWM輸出端口與示波器的A端口相連,單擊控制面板中的運(yùn)行按鈕,則示波器顯示電路輸出波形

圖6-20示波輸出結(jié)果直流電動(dòng)機(jī)控制模塊設(shè)計(jì)利用輸出的PWM波對(duì)控制轉(zhuǎn)速進(jìn)行仿真

圖6-21輸入電壓是5V時(shí)輸出PWM波形(1)當(dāng)電位器RV1調(diào)至最上端即模擬量輸入為5V時(shí),電動(dòng)機(jī)的驅(qū)動(dòng)信號(hào)為占空比為100%的方波,對(duì)應(yīng)電機(jī)的轉(zhuǎn)速最快(2)當(dāng)電位器RV1調(diào)到最下端即模擬量輸入為0V時(shí),電動(dòng)機(jī)的驅(qū)動(dòng)信號(hào)為0%的方波,此時(shí)電機(jī)基本不會(huì)轉(zhuǎn)動(dòng)(3)當(dāng)電位器RV1調(diào)到中間位置時(shí),即模擬量輸入為2.5V時(shí),電動(dòng)機(jī)的驅(qū)動(dòng)信號(hào)是50%的方波,電機(jī)以最快轉(zhuǎn)速的一半速度轉(zhuǎn)動(dòng)

圖6-22輸入電壓是0V時(shí)輸出PWM波

圖6-23輸入電壓是2.5V時(shí)輸出PWM波形步進(jìn)電動(dòng)機(jī)控制模塊設(shè)計(jì)設(shè)計(jì)要求利用AT89S51單片機(jī)實(shí)現(xiàn)對(duì)步進(jìn)電動(dòng)機(jī)的控制,編寫(xiě)相關(guān)控制程序,用單片機(jī)的四路I/O通道實(shí)現(xiàn)環(huán)形脈沖的分配,用于控制步進(jìn)電動(dòng)機(jī)的轉(zhuǎn)動(dòng),通過(guò)按鍵控制步進(jìn)電動(dòng)機(jī)的旋轉(zhuǎn)角度。設(shè)計(jì)原理

圖6-24步進(jìn)電動(dòng)機(jī)控制電路步進(jìn)電動(dòng)機(jī)控制模塊設(shè)計(jì)

ULN2003A簡(jiǎn)介

ULN是一種集成了達(dá)林頓管的集成電路芯片,內(nèi)部還集成了一個(gè)消線圈反電動(dòng)勢(shì)的二極管,可用來(lái)驅(qū)動(dòng)繼電器。它是雙列16引腳封裝的NPN晶體管矩陣,最大驅(qū)動(dòng)電壓為50V、電流為500mA、輸入電壓為5V,適用于TTL、COMS等由達(dá)林頓管組成驅(qū)動(dòng)電路。它的輸出端允許通過(guò)電流為200mA,飽和壓降VCE約為1V左右,耐壓BVCEO約為36V。ULN2003A是一個(gè)非門(mén)電路,包含7個(gè)單元,但每個(gè)單元驅(qū)動(dòng)電流最大可達(dá)350mA。下面有引用電路圖,9腳可以懸空。比如1腳輸入,16腳輸出,負(fù)載可以接在VCC與16腳之間,不用9腳。

ULN2003A是高壓大電流達(dá)林頓晶體管陣列系列產(chǎn)品,具有電流增益高、工作電壓高、溫度范圍寬、帶負(fù)載能力強(qiáng)等特點(diǎn),適應(yīng)于各類要求高速大功率驅(qū)動(dòng)的系統(tǒng)。

圖6-25ULN2003A引腳圖步進(jìn)電動(dòng)機(jī)控制模塊設(shè)計(jì)步進(jìn)電動(dòng)機(jī)驅(qū)動(dòng)原理步進(jìn)電動(dòng)機(jī)的勵(lì)磁方式可分為全部勵(lì)磁及半步勵(lì)磁,其中全部勵(lì)磁又有1相勵(lì)磁及2相勵(lì)磁之分,而半步勵(lì)磁又稱1~2相勵(lì)磁。

1相勵(lì)磁法:在每一瞬間只有一個(gè)線圈導(dǎo)通。消耗電力小,精確度良好,但轉(zhuǎn)矩小,振動(dòng)較大,每送一勵(lì)磁信號(hào)可走18度。

2相勵(lì)磁法:在每一瞬間會(huì)有二個(gè)線圈同時(shí)導(dǎo)通。因其轉(zhuǎn)矩大,振動(dòng)小,故為目前使用最多的勵(lì)磁方式,每送一勵(lì)磁信號(hào)可走18度。

1~2相勵(lì)磁法:為1相與2相輪流交替導(dǎo)通。因分辨率提高,且運(yùn)轉(zhuǎn)平滑,每送一勵(lì)磁信號(hào)可走9度,故亦廣泛被采用。

表6-2正轉(zhuǎn)勵(lì)磁順序A→B→C→D→A

表6-3正轉(zhuǎn)勵(lì)磁順序:AB→BC→CD→DA→AB

表6-4正轉(zhuǎn)勵(lì)磁順序:A→AB→B→BC→C→CD→D→DA→A步進(jìn)電動(dòng)機(jī)控制模塊設(shè)計(jì)控制方法用兩個(gè)按鍵分別控制步進(jìn)電動(dòng)機(jī)正轉(zhuǎn)和反轉(zhuǎn)。當(dāng)“Positive”鍵按下時(shí),單擊片機(jī)的P1.3到P1.0口按正向勵(lì)磁順序A→AB→B→BC→C→CD→D→DA→A輸出電脈沖,電動(dòng)機(jī)正轉(zhuǎn);當(dāng)“Negative”鍵按下時(shí),單擊片機(jī)的P1.3到P1.0口按反向勵(lì)磁順序A→DA→D→CD→C→BC→B→AB→A輸出電脈沖,電動(dòng)機(jī)反轉(zhuǎn)。匯編語(yǔ)言程序設(shè)計(jì)流程圖6-26匯編語(yǔ)言程序流程圖步進(jìn)電動(dòng)機(jī)控制模塊設(shè)計(jì)系統(tǒng)調(diào)試及仿真(1)使用Proteus的波形分析功能,可以分析按下一個(gè)鍵以后單片機(jī)的步進(jìn)電機(jī)驅(qū)動(dòng)信號(hào)輸出,這里仿真按下正轉(zhuǎn)和反轉(zhuǎn)按鈕的波形圖6-27按下正轉(zhuǎn)按鈕步進(jìn)電動(dòng)機(jī)驅(qū)動(dòng)信號(hào)波形圖6-28按下反轉(zhuǎn)按鈕步進(jìn)電動(dòng)機(jī)驅(qū)動(dòng)信號(hào)波形步進(jìn)電動(dòng)機(jī)控制模塊設(shè)計(jì)系統(tǒng)調(diào)試及仿真(2)正向旋轉(zhuǎn)鍵每按下一次,單片機(jī)輸出正向勵(lì)磁信號(hào)對(duì)應(yīng)步進(jìn)電機(jī)走9度圖6-29正向旋轉(zhuǎn)鍵按下之前電機(jī)轉(zhuǎn)子位置圖6-30正向旋轉(zhuǎn)鍵按下之后電機(jī)轉(zhuǎn)子的位置步進(jìn)電動(dòng)機(jī)控制模塊設(shè)計(jì)系統(tǒng)調(diào)試及仿真(3)反向鍵旋轉(zhuǎn)鍵每按下一次,單片機(jī)輸出反向勵(lì)磁信號(hào)走9度圖6-31反向旋轉(zhuǎn)鍵按下之前電機(jī)轉(zhuǎn)子的位置圖6-32反向旋轉(zhuǎn)鍵按下之后電機(jī)轉(zhuǎn)子的位置步進(jìn)電動(dòng)機(jī)控制模塊設(shè)計(jì)系統(tǒng)調(diào)試及仿真(4)正向旋轉(zhuǎn)按鈕和反向旋轉(zhuǎn)按鈕都不按下時(shí),電機(jī)既不正轉(zhuǎn),也不反轉(zhuǎn)的情況圖6-33正向旋轉(zhuǎn)按鈕和反向旋轉(zhuǎn)按鈕都不按下時(shí)電機(jī)轉(zhuǎn)子的位置步進(jìn)電動(dòng)機(jī)控制模塊設(shè)計(jì)系統(tǒng)調(diào)試及仿真(5)長(zhǎng)按下正向旋轉(zhuǎn)或者反向旋轉(zhuǎn)的按鈕時(shí),步進(jìn)電機(jī)正向或者反向持續(xù)轉(zhuǎn)動(dòng)圖6-34步進(jìn)電機(jī)正轉(zhuǎn)仿真圖6-35步進(jìn)電機(jī)反轉(zhuǎn)仿真溫度采集與顯示控制模塊的設(shè)計(jì)設(shè)計(jì)要求本設(shè)計(jì)要求設(shè)計(jì)一個(gè)以STC89C52單片機(jī)為核心的溫度控制系統(tǒng),要求采用DS18B20為溫度傳感器,能夠?qū)崟r(shí)采集、實(shí)時(shí)顯示在LCD1602液晶顯示屏上,并且設(shè)定溫度值可以通過(guò)三個(gè)按鍵來(lái)控制以實(shí)現(xiàn)設(shè)定溫度值的加減。具體的技術(shù)指標(biāo)如下:

a.恒溫溫度控制在20~150℃之間;b.溫度超過(guò)75℃時(shí)報(bào)警;

總體設(shè)計(jì)方案

圖6-36系統(tǒng)框圖溫度采集與顯示控制模塊的設(shè)計(jì)設(shè)計(jì)原理

圖6-37溫度采集與顯示控制模塊的電路總設(shè)計(jì)原理圖溫度采集與顯示控制模塊的設(shè)計(jì)

STC89C52單片機(jī)簡(jiǎn)介

STC89C52單片機(jī)是宏晶科技有限公司推出的新一代具有高速、功耗低、超強(qiáng)抗干擾的單片機(jī),指令代碼能夠完全兼容傳統(tǒng)的8051單片機(jī),具有12時(shí)鐘/機(jī)器周期與6時(shí)鐘/機(jī)器周期,可以任意選擇

圖6-38STC89C52的引腳圖溫度采集與顯示控制模塊的設(shè)計(jì)溫度傳感器DS18B20簡(jiǎn)介本設(shè)計(jì)選用DS18B20作為采集溫度信號(hào)的傳感器,DS18B20是由美國(guó)DALAAS半導(dǎo)體有限公司推出的智能型溫度傳感器,不僅能夠直接讀取被測(cè)溫度值。而且它集溫度信號(hào)的采集與A/D轉(zhuǎn)換工作于一體,測(cè)量精度高,足以滿足我們?cè)O(shè)計(jì)的精度要求

圖6-39DS18B20引腳圖溫度采集與顯示控制模塊的設(shè)計(jì)LCD1602液晶顯示屏簡(jiǎn)介

LCD1602因適合采用大規(guī)模集成電路來(lái)直接驅(qū)動(dòng),能實(shí)現(xiàn)彩色顯示的特點(diǎn),且它能夠顯示溫度上下限等優(yōu)點(diǎn),正好滿足本設(shè)計(jì)要求,所以使用它作為顯示器。

圖6-40LCD1602引腳圖LCD1602的參數(shù):顯示容量:32個(gè)字符工作電壓:4.5-5.5V工作電流:2.0mA最佳工作電壓:5.0V字符尺寸大小:2.95×4.40(W×H)mm溫度采集與顯示控制模塊的設(shè)計(jì)系統(tǒng)的硬件各個(gè)部分的設(shè)計(jì)(1)復(fù)位電路

圖6-41復(fù)位電路單片機(jī)的復(fù)位是通過(guò)連接外部電路實(shí)現(xiàn)的,在STC89C52單片機(jī)上有一個(gè)復(fù)位腳RST且為高電平有效。復(fù)位電路的功能是當(dāng)系統(tǒng)上電時(shí),使RC電路充電,從而RST引腳出現(xiàn)正脈沖,提供復(fù)位信號(hào)直至系統(tǒng)電源穩(wěn)定后,才撤銷復(fù)位信號(hào),為防止電源開(kāi)關(guān)或電源插頭分合過(guò)程中引起抖動(dòng)而影響復(fù)位,因此電源穩(wěn)定后還要延遲一段時(shí)間。RC復(fù)位電路能夠?qū)崿F(xiàn)上面的基本功能,調(diào)整RC常數(shù)會(huì)對(duì)驅(qū)動(dòng)能力產(chǎn)生影響,查閱相關(guān)電路手冊(cè),要使復(fù)位脈寬一點(diǎn),實(shí)現(xiàn)完全復(fù)位,這里選R9=10kΩ,C1=10μf,R3=1kΩ溫度采集與顯示控制模塊的設(shè)計(jì)系統(tǒng)的硬件各個(gè)部分的設(shè)計(jì)(2)晶振電路

圖6-42時(shí)鐘振蕩電路晶振電路為單片機(jī)提供時(shí)鐘控制信號(hào),單片機(jī)的時(shí)鐘產(chǎn)生方式分為內(nèi)部時(shí)鐘方式與外部時(shí)鐘方式。單片機(jī)內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反向放大器,引腳XTAL1和引腳XTAL2分別是反相放大器的輸入端和輸出端,由這個(gè)放大器與作為反饋元器件的片外晶體或陶瓷諧振器一起構(gòu)成一個(gè)自激振蕩器,這種方式形成的時(shí)鐘信號(hào)稱為內(nèi)部時(shí)鐘方式。本系統(tǒng)采用的內(nèi)部方式,即利用芯片內(nèi)部的振蕩電路。內(nèi)部方式時(shí),時(shí)鐘發(fā)生器對(duì)振蕩脈沖二分頻,如晶振為12MHz,時(shí)鐘頻率就為6MHz。查閱電路設(shè)計(jì)手冊(cè),晶振的頻率可以在1MHz-24MHz內(nèi)選擇,電容取30pF左右。因此,此系統(tǒng)電路的晶體振蕩器的值為11.05926MHz,電容應(yīng)盡可能的選擇陶瓷電容,電容值C2=C3=30μF溫度采集與顯示控制模塊的設(shè)計(jì)系統(tǒng)的硬件各個(gè)部分的設(shè)計(jì)(3)溫度采集單元

圖6-43溫度采集電路在本系統(tǒng)采用DS18B20數(shù)字溫度傳感器采集溫度信號(hào),在一條總線上掛單個(gè)DS18B20,將DS18B20溫度傳感器接在P3.7口。本設(shè)計(jì)中DS18B20采用電源供電方式,此時(shí)DS18B20的1腳接地,2腳作為信號(hào)線,3腳接電源。當(dāng)DS18B20處于寫(xiě)存儲(chǔ)器操作和溫度A/D轉(zhuǎn)換操作時(shí),總線上必須有強(qiáng)的上拉,上拉開(kāi)啟時(shí)間最大為10us,因此加了一個(gè)上拉電阻。通過(guò)查閱電路手冊(cè),選取R11=4.7k。溫度采集與顯示控制模塊的設(shè)計(jì)系統(tǒng)的硬件各個(gè)部分的設(shè)計(jì)(4)顯示電路

圖6-44LCD1602液晶溫度顯示電路

LCD1602液晶顯示部分,將溫度傳感器采集到的信息轉(zhuǎn)化為可視溫度。由前面單片機(jī)的介紹,得知P0端口不自帶上拉電阻,不能輸出高電平,為驅(qū)動(dòng)液晶顯示屏顯示,這里選用了RESPACKB排阻作為上拉電阻,并將RS、W/R、E接到P2.0、P2.1、和P2.2接口,將VSS接地,VDD接電源,將VEE接滑動(dòng)變阻器來(lái)調(diào)節(jié)屏幕亮度溫度采集與顯示控制模塊的設(shè)計(jì)系統(tǒng)的硬件各個(gè)部分的設(shè)計(jì)(5)按鍵電路

圖6-45按鍵電路按鍵部分實(shí)現(xiàn)的主要原理是通過(guò)單片機(jī)讀取與按鍵相連接的I/O口狀態(tài),來(lái)判斷按鍵是否按下,從而達(dá)到系統(tǒng)參數(shù)設(shè)置目的。鍵盤(pán)在單片機(jī)應(yīng)用系統(tǒng)中的作用是實(shí)現(xiàn)數(shù)據(jù)輸入、命令輸入,是人工干預(yù)的主要手段。各按鍵開(kāi)關(guān)均需要采用了上拉電阻,是為了保證在按鍵斷開(kāi)時(shí),各I/O有確定的高電平。在這里鍵盤(pán)配置要求比較低,所以上拉電阻無(wú)需太大,通過(guò)查閱電路設(shè)計(jì)手冊(cè),這里取R7=R12=R13=300Ω溫度采集與顯示控制模塊的設(shè)計(jì)系統(tǒng)的硬件各個(gè)部分的設(shè)計(jì)(6)報(bào)警電路

圖6-46報(bào)警電路蜂鳴器不能直接接到單片機(jī)的端口,因?yàn)樗枰艽蟮碾娏鞑拍馨l(fā)聲,這里在蜂鳴器的一端接一個(gè)晶體管,用單片機(jī)的控制引腳控制晶體管的基極,從而控制晶體管的導(dǎo)通和截止,根據(jù)晶體管的原理,基極電流很小,集電極到發(fā)射極的電流很大,這樣就能用小電流來(lái)控制大電流了,通過(guò)查閱電路設(shè)計(jì)手冊(cè),R5=200Ω溫度采集與顯示控制模塊的設(shè)計(jì)系統(tǒng)軟件設(shè)計(jì)部分

(1)DS18B20各個(gè)子程序流程圖

圖6-47DS18B20初始化子程序流程圖

圖6-48DS18B20寫(xiě)字節(jié)的流程圖

圖6-49DS18B20讀字節(jié)子程序

圖6-50溫度采集子程序流程圖溫度采集與顯示控制模塊的設(shè)計(jì)系統(tǒng)軟件設(shè)計(jì)部分

(2)顯示子程序

圖6-51LCD液晶顯示子程序流程圖顯示子程序是要將溫度傳感器所測(cè)得的實(shí)時(shí)溫度值顯示出來(lái),該系統(tǒng)使用的是LCD1602液晶顯示器,首先需要把液晶顯示器初始化,因?yàn)楸鞠到y(tǒng)設(shè)計(jì)要求液晶顯示器只寫(xiě),所以不需要讀操作時(shí)序圖。因此R/W將一直處于低電平,只需控制RS和E管腳就行了溫度采集與顯示控制模塊的設(shè)計(jì)系統(tǒng)仿真

(1)采集實(shí)時(shí)溫度并顯示實(shí)時(shí)溫度與設(shè)定溫度值

圖6-52實(shí)時(shí)溫度采集及顯示圖圖中可以看出設(shè)定溫度值是初始程序中所設(shè)的50℃且能正常顯示,DS18B20溫度傳感器采集到的溫度值是109℃且液晶顯示屏可以正常顯示該溫度值,該控制系統(tǒng)經(jīng)常被用在溫室控制系統(tǒng)中,可以通過(guò)上位機(jī)將現(xiàn)場(chǎng)的實(shí)際溫度數(shù)據(jù)遠(yuǎn)程傳輸?shù)娇刂茩C(jī)房,從而達(dá)到好的監(jiān)控作用。溫度采集與顯示控制模塊的設(shè)計(jì)系統(tǒng)仿真

(2)S2和S3按下時(shí)設(shè)置設(shè)定溫度值,使設(shè)定溫度值升高

圖6-53按鍵設(shè)定溫度值加的仿真圖圖中可以看出在按鍵S2和S3按下后,設(shè)定溫度值不斷增加,從原來(lái)的50℃增加到100℃。符合設(shè)計(jì)要求溫度采集與顯示控制模塊的設(shè)計(jì)系統(tǒng)仿真

(3)S2和S4按下時(shí),使設(shè)定值減

圖6-54按鍵設(shè)置設(shè)定溫度值減的仿真圖圖中可以看出,將按鍵S2和S4按下后,可以將溫度從100℃不斷降低到24℃,滿足設(shè)計(jì)要求溫度采集與顯示控制模塊的設(shè)計(jì)系統(tǒng)仿真

(4)當(dāng)實(shí)際溫度值大于75℃,蜂鳴器報(bào)警,發(fā)出尖銳的聲音

圖6-55溫度高于75℃,蜂鳴器報(bào)警報(bào)警電路是由低電平觸發(fā)的,從上圖可以看出,當(dāng)溫度在75℃以下時(shí)P1^0為高電平,蜂鳴器不響;當(dāng)溫度高于75℃時(shí),蜂鳴器控制端口變?yōu)榈碗娖剑澍Q器發(fā)出聲音。PROTEUS與Keil軟件聯(lián)調(diào)的應(yīng)用學(xué)習(xí)目的(1)熟悉Keil軟件平臺(tái)的使用(2)掌握Keil軟件編程編譯調(diào)試的方法;(3)掌握Proteus與Keil軟件聯(lián)調(diào)的學(xué)習(xí)方法。

學(xué)習(xí)任務(wù)創(chuàng)建源程序?qū)崿F(xiàn)存儲(chǔ)塊清零的功能,將該程序在Keil軟件和Proteus中調(diào)試,完成兩者之間的聯(lián)調(diào)。

學(xué)習(xí)要求利用μVision5創(chuàng)建工程項(xiàng)目,對(duì)其進(jìn)行設(shè)置和編譯并完成程序的調(diào)試,能夠完成Proteus與Keil軟件聯(lián)調(diào)的學(xué)習(xí)任務(wù),對(duì)仿真結(jié)果進(jìn)行觀測(cè)。PROTEUS與Keil軟件聯(lián)調(diào)的應(yīng)用Keil軟件的μVision5集成開(kāi)發(fā)環(huán)境的使用(1)

μVision5開(kāi)發(fā)環(huán)境主窗口提供一個(gè)菜單、一個(gè)工具條、源代碼的顯示窗口、對(duì)話框和信息顯示等,以便用戶快速選擇對(duì)應(yīng)命令按鈕和查看信息。μVision5允許同時(shí)打開(kāi)瀏覽多個(gè)源文件(2)建立應(yīng)用步驟如下:1、在μVision5集成開(kāi)發(fā)環(huán)境中創(chuàng)建一個(gè)新項(xiàng)目文件(Project),并為該項(xiàng)目選定合適的單片機(jī)CPU器件。2、利用μVision5的文件編輯器編寫(xiě)C語(yǔ)言(或匯編語(yǔ)言)源程序文件,并將文件添加到項(xiàng)目中去。一個(gè)項(xiàng)

目可以包含多個(gè)文件,除源程序文件外還可以有庫(kù)文件或文本說(shuō)明文件。3、通過(guò)μVision5的各種選項(xiàng),配置C51編譯器、A51宏匯編器、BL51連接定位器以及Debug調(diào)試器。4、利用μVision5的構(gòu)造(Build)功能對(duì)項(xiàng)目中的源程序文件進(jìn)行編譯連接,生成絕對(duì)目標(biāo)代碼和可選的

HEX文件。如果出現(xiàn)編譯連接錯(cuò)誤則返回第2步,修改源程序中的錯(cuò)誤后重新構(gòu)造整個(gè)項(xiàng)目。5、將沒(méi)有錯(cuò)誤的絕對(duì)目標(biāo)代碼裝入μVision5調(diào)試器進(jìn)行仿真調(diào)試,調(diào)試成功后將HEX文件寫(xiě)入到單片機(jī)應(yīng)用

系統(tǒng)的EPROM中。PROTEUS與Keil軟件聯(lián)調(diào)的應(yīng)用Keil軟件的μVision5集成開(kāi)發(fā)環(huán)境的使用(3)創(chuàng)建項(xiàng)目步驟如下:1、雙擊“KeilμVision5”圖標(biāo),啟動(dòng)應(yīng)用程序,通過(guò)單擊菜單File→New命令,打開(kāi)一個(gè)新的文本窗口,

即Text源文件編輯窗口2、鼠標(biāo)左鍵單擊Project→NewProject命令,彈出一個(gè)標(biāo)準(zhǔn)的Windows對(duì)話框,此對(duì)話框要求輸入項(xiàng)目文件

名;輸入項(xiàng)目文件名max(不需要擴(kuò)展名),并選擇合適的保存路徑(通常為每個(gè)項(xiàng)目建立一個(gè)單獨(dú)的文件

夾),單擊“保存”按鈕,這樣就創(chuàng)建了文件名為max的新項(xiàng)目3、項(xiàng)目文件名保存完畢后,彈出器件數(shù)據(jù)庫(kù)對(duì)話框窗口,用于為新建項(xiàng)目選擇一個(gè)CPU器件4、選好器件后點(diǎn)擊“確定”按鈕,此時(shí)彈出詢問(wèn)是否拷貝標(biāo)準(zhǔn)8051啟動(dòng)代碼到工程文件夾并添加文件到工

程的對(duì)話框,單擊“是”按鈕完成項(xiàng)目的新建。創(chuàng)建一個(gè)新項(xiàng)目后,項(xiàng)目中會(huì)自動(dòng)包含一個(gè)默認(rèn)的目標(biāo)

(Target1)和文件組(SourceGroup1)。PROTEUS與Keil軟件聯(lián)調(diào)的應(yīng)用Keil軟件的μVision5集成開(kāi)發(fā)環(huán)境的使用(4)項(xiàng)目的設(shè)置單擊Project→OptionsforTarget‘Target1’選項(xiàng),彈出圖6-56所示窗口

圖6-56Options選項(xiàng)中的Targe標(biāo)簽頁(yè)(1)單擊“Target”,在出現(xiàn)的界面中芯片的頻率一般是需要修改的,為了與單片機(jī)時(shí)鐘電路的頻率相同,一般這里將頻率設(shè)定為12MHz(2)單擊“output”,在出現(xiàn)的輸出設(shè)置中,勾選“CreateHEXFile”選項(xiàng),即可將輸出文件格式改為“.HEX”形式,這是因?yàn)樵赑ROTEUS軟件中仿真的時(shí)候,只能識(shí)別“.Hex”的文件格式,所以輸出格式必須修改PROTEUS與Keil軟件聯(lián)調(diào)的應(yīng)用Keil軟件的μVision5集成開(kāi)發(fā)環(huán)境的使用(5)項(xiàng)目的編譯、鏈接將鼠標(biāo)指向項(xiàng)目窗口中的文件“Text3.asm”并單擊右鍵,從彈出的快捷菜單中單擊“Buildtarget”選項(xiàng)或者可以直接點(diǎn)擊上面的快捷菜單,自動(dòng)完成對(duì)當(dāng)前項(xiàng)目中所有源程序模塊的編譯、鏈接。

圖6-57編譯提示信息PROTEUS與Keil軟件聯(lián)調(diào)的應(yīng)用Keil軟件的μVision5集成開(kāi)發(fā)環(huán)境的使用(6)程序調(diào)試單擊選擇菜單Debug→Start/StopDebugSession命令,即可進(jìn)入調(diào)試狀態(tài),在仿真調(diào)試狀態(tài)下,單擊選擇菜單Debug→Run命令,啟動(dòng)程序?qū)?huì)全速運(yùn)行

圖6-58μVision5仿真調(diào)試狀態(tài)窗口PROTEUS與Keil軟件聯(lián)調(diào)的應(yīng)用Keil軟件的μVision5集成開(kāi)發(fā)環(huán)境的使用(7)在線匯編將光標(biāo)定位于需要修改的程序語(yǔ)句上,點(diǎn)選Debug→InlineAssambly命令,彈出“InlineAssambly”的標(biāo)簽頁(yè)。在“EnterNewInstruction”后面的編輯框內(nèi)直接輸入需要更改的程序語(yǔ)句,輸入完成后鍵入回車,程序?qū)⒆詣?dòng)指向源程序的下一條語(yǔ)句,繼續(xù)修改,如果不需要繼續(xù)修改,可以點(diǎn)擊窗口右上角的關(guān)閉按鈕,關(guān)閉窗口。

圖6-59Debug菜單在線匯編的功能窗口PROTEUS與Keil軟件聯(lián)調(diào)的應(yīng)用Keil軟件的μVision5集成開(kāi)發(fā)環(huán)境的使用(1)斷點(diǎn)管理斷點(diǎn)功能對(duì)于用戶程序的仿真調(diào)試是十分重要的,利用斷點(diǎn)調(diào)試,便于觀察了解程序的運(yùn)行狀態(tài),查找或排除錯(cuò)誤。方法一:在匯編窗口光標(biāo)定位于需要設(shè)置斷點(diǎn)的程序行,單擊Debug→Insert/RemoveBreakpoint命令,可在編輯窗口當(dāng)前光標(biāo)所在行上設(shè)置/移除一個(gè)斷點(diǎn)(也可用鼠標(biāo)在該行雙擊實(shí)現(xiàn)同樣功能);單擊Debug→Enable/DisableBreakpoint選項(xiàng),可激活/禁止當(dāng)前光標(biāo)所指向的一個(gè)斷點(diǎn);單擊Debug→DisableAllBreakpoint選項(xiàng),將禁止所有的已經(jīng)設(shè)置的斷點(diǎn);單擊Debug→KillAllBreakpoint選項(xiàng),可以清除所有已經(jīng)設(shè)置的斷點(diǎn);單擊Debug→ShowNextStatement選項(xiàng),將在匯編窗口顯示下一條將要被執(zhí)行的用戶程序指令。方法二:?jiǎn)螕鬌ebug→Breakpoint選項(xiàng),彈出斷點(diǎn)設(shè)置窗口

圖6-60斷點(diǎn)設(shè)置窗口PROTEUS與Keil軟件聯(lián)調(diào)的應(yīng)用Keil軟件的μVision5集成開(kāi)發(fā)環(huán)境的使用(2)Keil的模擬仿真調(diào)試窗口

Keil軟件在對(duì)程序進(jìn)行調(diào)試時(shí)提供了多個(gè)模擬仿真窗口,主要包括主調(diào)試窗口、輸出調(diào)試窗口(OutputWindows)、觀測(cè)窗口(Watch&CallStatckWindows)、存儲(chǔ)器窗口(MemoryWindows)、反匯編窗口(DissamblyWindows)、串行窗口(SerialWindows)等。進(jìn)入調(diào)試模式后,通過(guò)單擊“View”菜單中的相應(yīng)選項(xiàng)(或單擊工具條中相應(yīng)按鈕),可以更方便地實(shí)現(xiàn)窗口的切換

圖6-61調(diào)試狀態(tài)下的View菜單PROTEUS與Keil軟件聯(lián)調(diào)的應(yīng)用PROTEUS與Keil的整合在Keil軟件中調(diào)用PROTEUS進(jìn)行MCU外圍器件的仿真的步驟如下:安裝Keil軟件與PROTEUS軟件;安裝Keil軟件與PROTEUS軟件的鏈接文件vdmagdi.exe;打開(kāi)PROTEUS,畫(huà)出相應(yīng)電路,在PROTEUS的Debug菜單中選中EnableRemoteDebugMonitor;在Keil軟件中編寫(xiě)MCU的程序;點(diǎn)選Keil軟件的Project菜單的OptionforTarget‘工程名’選項(xiàng);在彈出的對(duì)話框中,點(diǎn)選DEBUG選項(xiàng)中右欄上部的下拉菜單選中ProteusVSMMonitor-51Driver選項(xiàng)。單擊Keil中的啟動(dòng)調(diào)試按鈕,此時(shí)Keil與PROTEUS實(shí)現(xiàn)聯(lián)調(diào)。

圖6-62在Debug中選擇ProteusVSMProteusVSMMonitor-51DriverPROTEUS與IAREMBEDDEDWORKBENCH的聯(lián)調(diào)應(yīng)用IAREMBEDDEDWORKBENCH(簡(jiǎn)稱IAR)是一套高度精密且使用方便的嵌入式的嵌入式應(yīng)用編程開(kāi)發(fā)工具。在其集成開(kāi)發(fā)環(huán)境(IDE)中包含IAR的C/C++編譯器、匯編工具、鏈接器、文本編輯器、工程管理器和C-SPY調(diào)試器。通過(guò)其內(nèi)置的針對(duì)不同芯片的代碼優(yōu)化器,IAREMBEDDEDWORKBENCH可以為8051系列芯片生成非常高效和可靠的FLASH/PROMable代碼。IAREMBEDDEDWORKBENCH不僅有這些過(guò)硬的技術(shù),IARSysterm還為您提供專業(yè)化的全球技術(shù)支持IAREMBEDDEDWORKBENCH開(kāi)發(fā)環(huán)境的使用(1)開(kāi)發(fā)環(huán)境運(yùn)行IARfor8051程序,進(jìn)入IAREMBEDDEDWORKBENCH用戶界面主界面(2)建立應(yīng)用運(yùn)行IARfor8051程序,進(jìn)入IAREMBEDDEDWORKBENCH用戶界面主界面1、在IARfor8051集成開(kāi)發(fā)環(huán)境中創(chuàng)建一個(gè)新項(xiàng)目文件(Project);2、根據(jù)所選的芯片及使用的編程語(yǔ)言類別配置項(xiàng)目選項(xiàng),包括(GeneralOption)基本選項(xiàng)配置、C/C++

編譯器配置、匯編器配置、鏈接器配置、調(diào)試器配置等;3、給新建的工程添加文件并編寫(xiě)相關(guān)程序;4、利用構(gòu)造所有(BuildALL)功能對(duì)項(xiàng)目中的源程序文件進(jìn)行編譯連接,生成絕對(duì)目標(biāo)代碼和可選的HEX文件。如果出現(xiàn)編譯連接錯(cuò)誤則返回第2步,修改源程序中的錯(cuò)誤后重新構(gòu)造整個(gè)項(xiàng)目。PROTEUS與IAREMBEDDEDWORKBENCH的聯(lián)調(diào)應(yīng)用

IAREMBEDDEDWORKBENCH開(kāi)發(fā)環(huán)境的使用5、將沒(méi)有錯(cuò)誤的絕對(duì)目標(biāo)代碼裝入IARfor8051調(diào)試器進(jìn)行仿真調(diào)試,調(diào)試成功后將HEX文件寫(xiě)入到單片機(jī)應(yīng)用系統(tǒng)的EPROM中。

(3)創(chuàng)建項(xiàng)目步驟如下:1、雙擊“IRAfor8051”圖標(biāo),啟動(dòng)應(yīng)用程序,進(jìn)入用戶界面主窗口。然后執(zhí)行“Project”→“CreatNewProject”菜單欄,就會(huì)彈出新項(xiàng)目創(chuàng)建窗口。這里選擇空工程,然后單擊“OK”2、右擊工

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論