at89c51對(duì)直流電動(dòng)機(jī)的驅(qū)動(dòng)的課程設(shè)計(jì)_第1頁(yè)
at89c51對(duì)直流電動(dòng)機(jī)的驅(qū)動(dòng)的課程設(shè)計(jì)_第2頁(yè)
at89c51對(duì)直流電動(dòng)機(jī)的驅(qū)動(dòng)的課程設(shè)計(jì)_第3頁(yè)
at89c51對(duì)直流電動(dòng)機(jī)的驅(qū)動(dòng)的課程設(shè)計(jì)_第4頁(yè)
at89c51對(duì)直流電動(dòng)機(jī)的驅(qū)動(dòng)的課程設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩13頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、單片機(jī)課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告 12信Y1 蔣志明(12120511)單片機(jī)課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告課程設(shè)計(jì)名稱(chēng):AT89C51對(duì)直流電動(dòng)機(jī)的驅(qū)動(dòng)的設(shè)計(jì)課程設(shè)計(jì)姓名:12信Y1 蔣志明 (12120511)設(shè)計(jì)目標(biāo):1、利用AT89C51單片機(jī),外加ADC0808和直流電機(jī),設(shè)計(jì)一個(gè)直流電動(dòng)機(jī)驅(qū)動(dòng)電路設(shè)計(jì)系統(tǒng)。2、通過(guò)改變電位器RV1電阻的阻值采集電壓信息,并通過(guò)ADC0808轉(zhuǎn)換為8位數(shù)字信號(hào)。3、將數(shù)字信號(hào)輸入到AT89C51單片機(jī),PWM信號(hào)由單片機(jī)產(chǎn)生,輸出到電動(dòng)機(jī)驅(qū)動(dòng)電路,進(jìn)而驅(qū)動(dòng)電動(dòng)機(jī)轉(zhuǎn)動(dòng)。 4、通過(guò)改變RV1的阻值,從而改變直流電機(jī)電樞上電壓的“占空比”,控制電動(dòng)機(jī)的轉(zhuǎn)速。 5、用Proteus

2、仿真AT89C51系列及其外圍電路,用它與Keil開(kāi)發(fā)工具結(jié)合,搭建單片機(jī)開(kāi)發(fā)平臺(tái)。一、系統(tǒng)硬件設(shè)計(jì)本設(shè)計(jì)中“AT89C51對(duì)電流電動(dòng)機(jī)驅(qū)動(dòng)電路設(shè)計(jì)”,采用控制電位器,實(shí)現(xiàn)直流電機(jī)的調(diào)速。系統(tǒng)設(shè)計(jì)的總方框圖如圖1所示。圖1 總方框圖電位器RV1采集電壓信號(hào);用轉(zhuǎn)換器ADC0808對(duì)輸入電壓信號(hào)進(jìn)行數(shù)模轉(zhuǎn)換,轉(zhuǎn)換成單片機(jī)可以識(shí)別的數(shù)字信號(hào);用總線(xiàn)將ADC0808的OUT8OUT1口與單片機(jī)AT89C51的P1口相連接,實(shí)現(xiàn)數(shù)字信號(hào)的傳送;隨著單片機(jī)輸入相應(yīng)控制指令,AT89C51的P3.7口輸出與轉(zhuǎn)速相應(yīng)的PWM脈沖;經(jīng)兩個(gè)同向跟隨器OP07輸出到三極管Q1;由三極管放大電流輸出到電動(dòng)機(jī)驅(qū)動(dòng)電路

3、,實(shí)現(xiàn)電動(dòng)機(jī)轉(zhuǎn)速的控制。當(dāng)調(diào)節(jié)電位器RV1的占空比時(shí),判斷PWM是高電位還是低電位,將A/D轉(zhuǎn)換后的數(shù)據(jù)變換成延時(shí)常數(shù),電位器阻值發(fā)生變化時(shí),ADC0808輸出的值也會(huì)變化,進(jìn)而調(diào)節(jié)單片機(jī)輸出的脈沖寬度的占空比,實(shí)現(xiàn)電動(dòng)機(jī)轉(zhuǎn)速的控制。硬件電路中用P1口作為通用IO準(zhǔn)雙向動(dòng)態(tài)端口,輸入控制指令(延時(shí)常數(shù))。用P3.7口作為輸出控制信號(hào)(輸出脈沖),控制OP07的3端的信號(hào)輸入。用RV1采集電壓信息,IN0作為電壓模擬信號(hào)輸入。OUT8為最低位,OUT1為最高位,OUT端口作為數(shù)字信號(hào)的輸出,將OUT8OUT1分別接到單片機(jī)的P1.0P1.7。電路為12MHZ晶振頻率工作。1、直流電機(jī)驅(qū)動(dòng)電路設(shè)計(jì)

4、(1)直流電機(jī)的轉(zhuǎn)速直流電機(jī)里邊固定有環(huán)狀永磁體,電流通過(guò)轉(zhuǎn)子上的線(xiàn)圈產(chǎn)生洛倫茲力,當(dāng)轉(zhuǎn)子上的線(xiàn)圈與磁場(chǎng)平行時(shí),再繼續(xù)轉(zhuǎn)受到的磁場(chǎng)方向?qū)⒏淖?,因此此時(shí)轉(zhuǎn)子末端的電刷跟轉(zhuǎn)換片交替接觸,從而線(xiàn)圈上的電流方向也改變,產(chǎn)生的洛倫茲力方向不變,所以電機(jī)能保持一個(gè)方向轉(zhuǎn)動(dòng)。在對(duì)直流電動(dòng)機(jī)電樞電壓的控制和驅(qū)動(dòng)中。目前廣泛應(yīng)用的是通過(guò)改變電機(jī)電樞保持高電平接通時(shí)間與通電時(shí)鐘周期的時(shí)間的比值D(占空比)來(lái)控制電機(jī)的轉(zhuǎn)速。這種方法稱(chēng)為脈沖寬度調(diào)制即PWM控制。圖2直流電機(jī)驅(qū)動(dòng)電路設(shè)計(jì)雖然不同勵(lì)磁方式的電機(jī)機(jī)械特性不同,但他們的轉(zhuǎn)速n都是由公式 (1-1) 計(jì)算而得: (1-1)式中 Ua電樞供電電壓(V);Ia電

5、樞電流(A); 勵(lì)磁磁通(W b); Ra電樞回路總電阻();CE電勢(shì)系數(shù)。 其中,電勢(shì)系數(shù)CE又表示為: (1-2)式中 p電磁對(duì)數(shù);a電樞并聯(lián)支路數(shù);N導(dǎo)體數(shù)。由式可見(jiàn),直流電動(dòng)機(jī)的調(diào)速方法可以分為:a、電樞回路串電阻的調(diào)速方法;b、調(diào)節(jié)勵(lì)磁磁通的勵(lì)磁控制方法;c、調(diào)節(jié)電樞電壓的電樞控制方法。本設(shè)計(jì)中,通過(guò)改變電機(jī)兩端電壓的方法,采用脈沖控制PWM,改變占空比,從而改變電機(jī)兩端電壓,調(diào)節(jié)轉(zhuǎn)速。PWM是通過(guò)控制固定電壓的直流電源開(kāi)關(guān)頻率,從而改變負(fù)載兩端的電壓,進(jìn)而達(dá)到控制要求的一種電壓調(diào)整方法。調(diào)整單片機(jī)的PWM控制寄存器來(lái)調(diào)整PWM的占空比,從而控制電流。(2)電機(jī)的平均速度設(shè)電機(jī)始終接

6、通電源時(shí),電機(jī)轉(zhuǎn)速最大為Vmax,設(shè)占空比為D,則電機(jī)的平均速度為: (1-3)式中,Vd 電機(jī)的平均速度;Vmax電機(jī)全通電時(shí)的速度(最大);其中,占空比為 D = t1 / T 。由公式1-3可見(jiàn),當(dāng)我們改變占空比D時(shí),就可以得到不同的電機(jī)平均速度 ,從而達(dá)到調(diào)速的目的。嚴(yán)格地講,平均速度Vd與占空比D = t1 / T并不是嚴(yán)格的線(xiàn)性關(guān)系,在一般的應(yīng)用中,可以將其近似地看成線(xiàn)性關(guān)系。由此可看出,改變占空比D的值有三種方法:調(diào)寬調(diào)頻法:保持t不變,只改變t1,這樣使周期(或頻率)也隨之改變。定寬調(diào)頻法:保持t1不變,只改變t,這樣使周期(或頻率)也隨之改變。定頻調(diào)寬法:保持周期T(或頻率)

7、不變,同時(shí)改變t1和t。PWM可以應(yīng)用在許多方面,如電機(jī)調(diào)速、溫度控制、壓力控制等。在PWM驅(qū)動(dòng)控制的調(diào)整系統(tǒng)中,按一個(gè)固定的頻率來(lái)接通和斷開(kāi)電源,并根據(jù)需要改變一個(gè)周期內(nèi)“接通”和“斷開(kāi)”時(shí)間的長(zhǎng)短。通過(guò)改變直流電機(jī)電樞上電壓的“占空比”來(lái)改變平均電壓的大小,從而控制電動(dòng)機(jī)的轉(zhuǎn)速。因此,PWM又被稱(chēng)為“開(kāi)關(guān)驅(qū)動(dòng)裝置”。在脈沖作用下,當(dāng)電機(jī)通電時(shí),速度增加;電機(jī)斷電時(shí),速度逐漸減少。只要按一定規(guī)律,改變通、斷電的時(shí)間,即可讓電機(jī)轉(zhuǎn)速得到控制。(3)三極管的使用三極管是電子電路中最重要的器件,采用NPN三極管是因?yàn)樗碾娏鞣糯蠛烷_(kāi)關(guān)的作用,而兩個(gè)三極管串聯(lián)復(fù)合成高電流放大系數(shù)的電路,它們把系統(tǒng)生

8、成的微弱的電信號(hào)變成一定強(qiáng)度的信號(hào),從而穩(wěn)定電機(jī)電流。2、同向跟隨器OP07(1)器件選擇本設(shè)計(jì)中,需要采用輸出電壓與輸入電壓是相同的電壓跟隨器來(lái)恒定電壓電流,穩(wěn)定輸出,并且對(duì)前后級(jí)電路進(jìn)行隔離。而同向電壓跟隨器OP07就有這樣的特點(diǎn),并且它比較適合高增益放大電路,電壓跟隨器的電壓放大倍數(shù)恒小于且接近1。電壓跟隨器還有輸入阻抗高、輸出阻抗低的特點(diǎn)。因?yàn)殡妷焊S器對(duì)前后級(jí)電路進(jìn)行隔離,所以當(dāng)輸入阻抗很高時(shí),就相當(dāng)于對(duì)前級(jí)電路開(kāi)路;當(dāng)輸出阻抗很低時(shí),對(duì)后級(jí)電路就相當(dāng)于一個(gè)恒壓源,即輸出電壓不受后級(jí)電路阻抗影響。一個(gè)對(duì)前級(jí)電路相當(dāng)于開(kāi)路,輸出電壓又不受后級(jí)阻抗影響的電路當(dāng)然具備隔離作用,使前、后級(jí)電

9、路之間互不影響。電壓跟隨器常用利用這一特點(diǎn)作中間級(jí),以“隔離”前后級(jí)之間的影響,此時(shí)稱(chēng)之為緩沖級(jí)。由于電機(jī)具有較大的感性,電流不能突變,若突然將電流切斷,將在電機(jī)兩端產(chǎn)生很高的電壓,損壞器件。我們?cè)诖穗娐分袘?yīng)用的是OP07來(lái)穩(wěn)定電壓電流,利用電壓跟隨器輸出電壓與輸入電壓相同的特點(diǎn)。電壓跟隨器OP07的顯著特點(diǎn)就是輸出電壓與輸入電壓相同,輸入阻抗高,而輸出阻抗低。一般來(lái)說(shuō),輸入阻抗可以達(dá)到幾兆歐姆,而輸出阻抗低,通常只有幾歐姆,甚至更低。超低偏移:50V最大。低輸入偏置電流:1.8nA 。低失調(diào)電壓漂移:0.5V/。超穩(wěn)定,時(shí)間:2V/month最大高電源電壓范圍:±3V至±

10、22V。同向跟隨器OP07電路設(shè)計(jì)圖如下圖 圖3所示。圖3 同向跟隨器OP07電路設(shè)計(jì)(2)OP07芯片的簡(jiǎn)單介紹OP07芯片是一種低噪聲,非斬波穩(wěn)零的雙極性(雙電源供電)運(yùn)算放大器集成電路。由于OP07具有非常低的輸入失調(diào)電壓(對(duì)于OP07A最大為25V),所以O(shè)P07在很多應(yīng)用場(chǎng)合不需要額外的調(diào)零措施。OP07同時(shí)具有輸入偏置電流低(OP07A為±2nA)和開(kāi)環(huán)增益高(對(duì)于OP07A為300V/mV)的特點(diǎn),這種低失調(diào)、高開(kāi)環(huán)增益的特性使得OP07特別適用于高增益的測(cè)量設(shè)備和放大傳感器的微弱信號(hào)等方面。OP07芯片引腳功能說(shuō)明:1腳 、8腳是用來(lái)偏置平衡(調(diào)零端)的;2腳 、6腳

11、相連,2腳為反向輸入端(6腳為輸出端);3腳 為正向輸入端;4腳 接地,5腳 為空腳;7腳 接電源最大額定值。(3)OP07電路的使用將OP07的輸入端口與AT89C51的盤(pán)P3.7端口相連接收電壓信號(hào),采用兩個(gè)OP07電路相連即增加了電路電壓的穩(wěn)定性,同時(shí)減小了輸出阻抗,增加了電流,非常適合放大微小信號(hào)的電路。3、AT89C51部分設(shè)計(jì)分析單片機(jī)AT89C51的P1口以總線(xiàn)方式與ADC0808的OUT1OUT8相連接,實(shí)行數(shù)據(jù)模擬信號(hào)的傳送;AT89C51中的數(shù)據(jù)通過(guò)這條線(xiàn)把原始的數(shù)字量數(shù)據(jù)傳到ADC0808進(jìn)行轉(zhuǎn)化,轉(zhuǎn)化成電流模擬信號(hào);當(dāng)單片機(jī)輸入相應(yīng)控制指令,電流模擬信號(hào)就從AT89C5

12、1的P3.7口輸出轉(zhuǎn)變成與轉(zhuǎn)速相應(yīng)的PWM脈沖。4、ADC0808部分設(shè)計(jì)分析(1)器件選擇本設(shè)計(jì)中A/D轉(zhuǎn)換器使用的是ADC0808,是將模擬信號(hào)(電壓或是電流的形式)轉(zhuǎn)換成數(shù)字信號(hào)。因?yàn)锳/D轉(zhuǎn)換器要與AT89C51的P1.0P1.7引腳相連,AT89C51的P1口有8為引腳。而ADC0808采樣的分辨率為8位,內(nèi)部有一個(gè)8通道多路開(kāi)關(guān),它的OUT1OUT8八位引腳正好與AT89C51的P1口的8位引腳相連。(2)簡(jiǎn)介ADC0808ADC0808是ADC0809的簡(jiǎn)化版本,功能基本相同。一般在硬件仿真時(shí)一般采用ADC0808進(jìn)行A/D轉(zhuǎn)換。實(shí)際使用時(shí)采用ADC0809進(jìn)行A/D轉(zhuǎn)換。ADC

13、0808是以逐次逼近原理進(jìn)行模/數(shù)轉(zhuǎn)換的器件。它可以根據(jù)地址碼鎖存譯碼后的信號(hào),只選通8路模擬輸入信號(hào)中的一個(gè)進(jìn)行A/D轉(zhuǎn)換。上文提到過(guò),ADC0808轉(zhuǎn)換器是將模擬信號(hào)(電壓或是電流的形式)轉(zhuǎn)換成數(shù)字信號(hào)的芯片,這種數(shù)字信號(hào)可讓儀表、計(jì)算機(jī)外設(shè)接口或是微處理機(jī)來(lái)加以操作使用。A/D轉(zhuǎn)換器與單片機(jī)接口具有硬、軟件相依性。一般來(lái)說(shuō),A/D轉(zhuǎn)換器與單片機(jī)的接口主要考慮的是數(shù)字量輸出線(xiàn)的連接、ADC啟動(dòng)方式、轉(zhuǎn)換結(jié)束信號(hào)處理方法以及時(shí)鐘連接等。該芯片是由26個(gè)引腳組成。15和2628(IN0IN7):8路模擬量輸入端。8、14、15和1721:8位數(shù)字量輸出端,和AT89C51的P1.0P1.7引腳

14、以總線(xiàn)方式相連。22(ALE):地址鎖存允許信號(hào),輸入,高電平有效。6(START): A/D轉(zhuǎn)換啟動(dòng)脈沖輸入端,輸入一個(gè)正脈沖(至少100ns寬)使其啟動(dòng)(脈沖上升沿使0809復(fù)位,下降沿啟動(dòng)A/D轉(zhuǎn)換)。7(EOC): A/D轉(zhuǎn)換結(jié)束信號(hào),輸出,當(dāng)A/D轉(zhuǎn)換結(jié)束時(shí),此端輸出一個(gè)高電平(轉(zhuǎn)換期間一直為低電平)。9(OE):數(shù)據(jù)輸出允許信號(hào),輸入,高電平有效。當(dāng)A/D轉(zhuǎn)換結(jié)束時(shí),此端輸入一個(gè)高電平,才能打開(kāi)輸出三態(tài)門(mén),輸出數(shù)字量。10(CLOCK):時(shí)鐘脈沖輸入端。要求時(shí)鐘頻率不高于640KHz。12(VREF(+)和16(VREF(-):參考電壓輸入端。2325(ADD A、ADD B、AD

15、D C):3位地址輸入線(xiàn),用于選通8路模擬輸入中的一路。圖5 ADC0808部分電路設(shè)計(jì)(3)ADC0808的使用本設(shè)計(jì)中,ADC0808芯片的A/D轉(zhuǎn)換是整個(gè)設(shè)計(jì)系統(tǒng)的中專(zhuān)部分,電位器RV1與ADC0808的IN0口相連,實(shí)現(xiàn)將調(diào)節(jié)RV1的占空比采集電壓信息的數(shù)字信號(hào)轉(zhuǎn)換成模擬信號(hào);AT89C51的P1.0P1.7引腳與ADC0808的OUT8OUT1引腳以總線(xiàn)方式相連,總線(xiàn)實(shí)現(xiàn)將ADC0808和AT89C51之間的數(shù)據(jù)傳輸,是ADC0808與AT89C51數(shù)據(jù)交換的渠道,ADC0808將AT89C51中輸入的原始數(shù)字量數(shù)據(jù)轉(zhuǎn)化成電流模擬信號(hào)并返回。二、軟件設(shè)計(jì)1、流程圖設(shè)計(jì)結(jié)合設(shè)計(jì)目標(biāo)與硬

16、件電路設(shè)計(jì),系統(tǒng)程序采用定時(shí)器T0采用工作模式2,可以避免計(jì)數(shù)溢出后用軟件重裝定時(shí)初值的工作。 圖4 中斷服務(wù)子程序流程圖 圖5 中斷流程圖(1)中斷服務(wù)子程序流程圖對(duì)于中斷服務(wù)子程序,在CPU響應(yīng)中斷后,通過(guò)檢測(cè)ST是否置位來(lái)決定CPU是接收數(shù)據(jù)還是退出中斷。接收數(shù)據(jù)通過(guò)調(diào)用中斷服務(wù)子程序來(lái)完成,方波的輸出在主程序中實(shí)現(xiàn)。中斷服務(wù)子程序流程圖如圖4所示。(2)中斷流程圖對(duì)于中斷函數(shù),在CPU響應(yīng)中斷后,先進(jìn)行串口初始化,對(duì)函數(shù)設(shè)置初值,將中斷打開(kāi),才可以啟動(dòng)A/D轉(zhuǎn)換,將方波的輸出到主程序中,然后等待中斷源,即開(kāi)始新的服務(wù)程序。中斷流程圖如圖5所示(3)總體流程設(shè)計(jì)本設(shè)計(jì)采用了直流電動(dòng)機(jī)的調(diào)

17、速方法中的第一種方法,改變電機(jī)兩端電壓的。采用脈沖控制PWM,改變直流電機(jī)電樞上電壓的“占空比”,從而改變電機(jī)兩端電壓,調(diào)節(jié)轉(zhuǎn)速??傇韴D見(jiàn)附件一。結(jié)合設(shè)計(jì)目標(biāo)與硬件電路設(shè)計(jì),主程序開(kāi)始后,先對(duì)ADC0808進(jìn)行了時(shí)鐘定位,為ADC0808提供時(shí)鐘,并進(jìn)行系統(tǒng)初始化。之后啟動(dòng)ADC0808進(jìn)行數(shù)模轉(zhuǎn)換,并讀取轉(zhuǎn)換值,存入ADC所在地址。將A/D轉(zhuǎn)換后的數(shù)據(jù)作為延時(shí)常數(shù),當(dāng)電位器阻值發(fā)生變化時(shí),ADC0808輸出的值也會(huì)變化。當(dāng)PWM為高電平時(shí),調(diào)用延時(shí)ADC為延時(shí)常數(shù),當(dāng)PWM為高電平時(shí),調(diào)用延時(shí)255-ADC為延時(shí)常數(shù)。設(shè)計(jì)中采用通過(guò)調(diào)節(jié)電位器,改變 AT89C51的PWM占空比的方法,進(jìn)而

18、調(diào)節(jié)單片機(jī)輸出的PWM占空比,控制電動(dòng)機(jī)的轉(zhuǎn)速。程序的總體程序流程圖如圖6所示。圖6 總體程序流程圖2、定時(shí)器設(shè)計(jì)在本設(shè)計(jì)中,系統(tǒng)程序設(shè)定定時(shí)器T0采用工作模式2,可以避免計(jì)數(shù)溢出后用軟件重裝定時(shí)初值的工作,采用晶振頻率為12MHz,因此AT89C51單片機(jī)的時(shí)鐘頻率fosc為1MHz,機(jī)器周期T為1s。定時(shí)器采用8位計(jì)數(shù)中斷溢出模式,為實(shí)現(xiàn)1s延時(shí),可選擇定時(shí)時(shí)間為236s。定時(shí)時(shí)間選定后,可確定計(jì)數(shù)值為236s。則定時(shí)器T0的初值為:20s為立即數(shù)。即TH0、TL0重裝時(shí)間常數(shù)分別為#20、#00H。三、程序的編制與調(diào)試(一)使用Keil 軟件工具時(shí),項(xiàng)目開(kāi)發(fā)流程和其它軟件開(kāi)發(fā)項(xiàng)目的流程極

19、其相似。圍繞本課程進(jìn)行下列設(shè)計(jì)流程:(1) 創(chuàng)建一個(gè)項(xiàng)目,從器件庫(kù)中選擇目標(biāo)器件,配置工具設(shè)置。(2) 用C語(yǔ)言或匯編語(yǔ)言創(chuàng)建源程序。(3) 用項(xiàng)目管理器生成應(yīng)用。(4) 修改源程序中的錯(cuò)誤。(5) 測(cè)試,連接應(yīng)用。(二)、使用Keil 軟件設(shè)計(jì)關(guān)鍵程序的完整過(guò)程如下:1、Keil環(huán)境下的項(xiàng)目建立(1)打開(kāi)桌面上的Keil Vision4項(xiàng)目圖標(biāo),在項(xiàng)目欄上選擇project New project命令,新建Keil項(xiàng)目文件;(2)在彈出的Creat New Project對(duì)話(huà)框中選擇要保存的路徑,在“文件名”文本框中輸入項(xiàng)目名為“12120511”,然后點(diǎn)擊“保存”按鈕;(3)此時(shí)會(huì)出現(xiàn)一個(gè)

20、方框欄,我們先點(diǎn)擊其中的Atmel公司,再選擇AT89C51單片機(jī)作為本次設(shè)計(jì)的CPU,在方框欄右邊的Description欄中有顯示該單片機(jī)的基本說(shuō)明,然后單擊“確定”。(4)在接下來(lái)彈出的文本框中顯示“Copy Standard 8051 Startup Code to Project Folder and Add File to Project?”,我們要單擊“否”按鈕,選擇匯編語(yǔ)言進(jìn)行編程(而不是單擊“是”,選擇C語(yǔ)言進(jìn)行編程)。2、項(xiàng)目編譯(1)新建匯編語(yǔ)言文件,選擇File New File命令。(2)可先選擇FileSave As命令,以學(xué)號(hào)“12120511 .asm”的形式保

21、存文件,然后再編寫(xiě)程序。(3)選擇Target 1目錄下的子文件 Source Group 1,右鍵選擇Add Files to Group “Source Group 1”,要求尋找源文件“12120521. asm”。(4)找到源文件后選中,點(diǎn)擊按鍵Add添加,然后close退出。(5)確定程序完成后,先點(diǎn)擊進(jìn)行編譯,再重組當(dāng)前。編譯匯編源程序,改正程序中得錯(cuò)誤。(6)然后重復(fù)進(jìn)行如下操作:編譯 重組當(dāng)前文件 編譯成功則進(jìn)行仿真如果未成功,則進(jìn)行改錯(cuò)直到編譯成功。3、項(xiàng)目hex文件產(chǎn)生:(1)點(diǎn)擊Target 1,右鍵選擇Options for Target “Target 1”,可將匯編

22、文件導(dǎo)入到Source Group 1中。(2)在Options For Target對(duì)話(huà)窗口中,找到output選項(xiàng)卡中得Create HEX File選項(xiàng),在它前面打鉤,然后再選擇Debug選項(xiàng)卡,選擇當(dāng)中的Use項(xiàng),在Use項(xiàng)中尋找Proteus選項(xiàng),最后點(diǎn)擊“確定”。(3)編譯匯編源程序,改正程序中的錯(cuò)誤,程序完全正確后,程序被創(chuàng)建,就可以生成*.hex文件。4,、程序設(shè)計(jì)見(jiàn)附件二。四、系統(tǒng)仿真1、Proteus功能特點(diǎn)Proteus軟件具有其它EDA工具軟件(例:multisim)的功能。這些功能是:(1)原理布圖;(2)PCB自動(dòng)或人工布線(xiàn);(3)SPICE電路仿真。革命性的特點(diǎn)(

23、1)互動(dòng)的電路仿真用戶(hù)甚至可以實(shí)時(shí)采用諸如RAM,ROM,鍵盤(pán),馬達(dá),LED,LCD,AD/DA,部分SPI器件,部分IIC器件。(2)仿真處理器及其外圍電路Proteus可以仿真51系列、AVR、PIC、ARM、等常用主流單片機(jī)。還可以直接在基于原理圖的虛擬原型上編程,再配合顯示及輸出,就能看到運(yùn)行后輸入輸出的效果。配合系統(tǒng)配置的虛擬邏輯分析儀、示波器等,這樣Proteus系統(tǒng)建立了完備的電子設(shè)計(jì)開(kāi)發(fā)環(huán)境。2、Proteus環(huán)境下的項(xiàng)目建立雙擊桌面上的快捷圖標(biāo),進(jìn)入Proteus操作界面,點(diǎn)擊保存按鈕,將文件保存并命名為學(xué)號(hào)“12120511.dsn” ,就可以直接繪制仿真原理圖,并將所繪制

24、的原理圖存入該文件。3、繪制仿真原理圖(1)進(jìn)入Proteus操作界面后,點(diǎn)擊對(duì)象選擇器中的P,進(jìn)入選擇元件功能當(dāng)鍵入AT89C51,選擇適合的元器件點(diǎn)擊OK,回到Proteus繪制界面。(2)單擊鼠標(biāo)左鍵,選擇合適的位置,就放置好了一個(gè)AT89C51單片機(jī)。接下來(lái)采用同樣的方式放置其余的元器件 2N2222A、ADC0808、CAP、MOTOR、OP07、RES、POT-HG。(3)在繪制原理圖時(shí),要認(rèn)識(shí)即時(shí)編輯原件參數(shù)、選擇元件、放置連接點(diǎn)、放置網(wǎng)絡(luò)標(biāo)號(hào)連接標(biāo)簽、放置文本、繪制總線(xiàn)、放置子電路、終端接口的圖標(biāo),其中還有VCC、GND、輸出、輸入等接口。器件引腳和繪制各種引腳的圖標(biāo)。(4)當(dāng)

25、繪制各種元件和終端時(shí)必須選擇正確的編輯狀態(tài),并且使用電線(xiàn)連接,否則是原理圖就是不對(duì)的,不能進(jìn)行仿真。 (5) 原理圖繪制完后,運(yùn)行時(shí)會(huì)自動(dòng)進(jìn)行電氣規(guī)則檢查。當(dāng)完成原理圖布線(xiàn)后,利用Proteus ISIS編輯環(huán)境所提供的電氣規(guī)則檢查命令對(duì)設(shè)計(jì)進(jìn)行檢查,并根據(jù)系統(tǒng)提示的錯(cuò)誤檢查報(bào)告修改原理圖。(6)如果原理圖已通過(guò)電氣規(guī)則檢查,那么原理圖的設(shè)計(jì)就完成了,但是對(duì)于一般電路設(shè)計(jì)而言,尤其是較大的項(xiàng)目,通常需要對(duì)電路進(jìn)行多次修改才能通過(guò)電氣規(guī)則檢查。(7)在繪制原理圖的時(shí)候還要注意很多細(xì)節(jié)問(wèn)題,在放置元件前要考慮好放置的位置,對(duì)于沒(méi)有關(guān)聯(lián)的電線(xiàn),盡量避免線(xiàn)的交接,即使線(xiàn)交接起來(lái)了,也不能出現(xiàn)電路節(jié)點(diǎn),

26、否則線(xiàn)與線(xiàn)之間就存在了電氣關(guān)系。放置元器件的同時(shí),要盡量保存元器件的上下左右對(duì)齊,界面整潔,美觀。4、系統(tǒng)仿真(1)在Proteus上繪制好原理圖后,雙擊Proteus原理圖上的AT89C51單片機(jī),將生成的*.hex文件調(diào)入到單片機(jī)里進(jìn)行實(shí)時(shí)仿真,便可以在Proteus上看到模擬的實(shí)物運(yùn)行狀態(tài)和過(guò)程。(2)在Proteus ISIS中,選中AT89C51并單擊鼠標(biāo)左鍵,打開(kāi) Edit Component 對(duì)話(huà)窗口,設(shè)置單片機(jī)晶振頻率為12MHz。在此窗口中得 Program File 欄中,選擇先前用Keil生成*.hex文件。(3)在Proteus ISIS的菜單欄中選擇File Save

27、 Design選項(xiàng),保存設(shè)計(jì)。(4)在Proteus ISIS的菜單欄中,打開(kāi)Debug下拉菜單,在菜單中選中Use Remote Debug Monitor選項(xiàng),以支持與Keil C51的聯(lián)合調(diào)試。(5)在Keil C51的菜單欄中選擇Debug Start/Stop Debug Session選項(xiàng),進(jìn)入程序調(diào)試環(huán)境。按F5鍵,順序運(yùn)行程序。(6)調(diào)出Proteus ISIS界面,點(diǎn)擊運(yùn)行,調(diào)節(jié)RV1電位器,觀察直流電動(dòng)機(jī)轉(zhuǎn)速的變化。5、仿真效果截圖圖7 仿真原理圖在Proteus下進(jìn)行仿真,在Proteus環(huán)境下輸入源程序,把源程序代碼生成目標(biāo)代碼后,將其加載到電路里,設(shè)置單片機(jī)時(shí)鐘頻率為

28、12MHz,電路開(kāi)始工作。通過(guò)改變RV1的占空比,可以知道ADC0808的輸出端相應(yīng)位輸出高低不同的電平。單片機(jī)接收到此數(shù)據(jù)后,控制輸出端P3.7 輸出PWM信號(hào)。針對(duì)設(shè)計(jì)的程序,當(dāng)改變調(diào)節(jié)RV1的占空比時(shí), RV1占空比越小,直流電動(dòng)機(jī)的轉(zhuǎn)速越慢。占空比越大,直流電動(dòng)機(jī)轉(zhuǎn)速就越快。并且通過(guò)仿真發(fā)現(xiàn),調(diào)節(jié)改變RV1的占空比,相當(dāng)于改變了電壓信號(hào),從而控制了直流電動(dòng)機(jī)的轉(zhuǎn)速。其仿真原理圖截圖如上圖7所示。 6、仿真過(guò)程中問(wèn)題解決的思考(1)在設(shè)計(jì)過(guò)程中,進(jìn)行Protel原理圖繪制時(shí),因在元件庫(kù)中找不到問(wèn)設(shè)計(jì)匹配的AT89C51和ADC0808元器件,所以需要自己進(jìn)行制作。制作的過(guò)程有如下重點(diǎn):a

29、、打開(kāi)Protel 99,選擇Schematic Library Document進(jìn)行元器件制作并保存,記住保存的庫(kù)的名字,以及庫(kù)的詳細(xì)地址A。b、在我制作完元器件后,我們要選擇Tool Rename Component,對(duì)我們制作的元件進(jìn)行重命名,一般命名為元器件的名字,如“AT89C51”。c、接下來(lái),需要關(guān)注就是元器件添加庫(kù)的問(wèn)題,我們要選擇C盤(pán)Windows AdvSch99SE.ini在Type Count和Count后的File系列中依次添加File行,并改變File值,再輸入剛剛新建元器件庫(kù)所在的詳細(xì)位置A,然后改變Count的值。這樣才是將自制元器件添加到庫(kù)中的完整的方法。(2

30、)在程序編寫(xiě)的過(guò)程中,一開(kāi)始忘記了使用Keil C51編寫(xiě)匯編語(yǔ)言的方法,在程序編譯的時(shí)候總是出現(xiàn)項(xiàng)目不能創(chuàng)建。在與同學(xué)進(jìn)過(guò)一系類(lèi)的討論和商量后發(fā)現(xiàn),原來(lái)是在開(kāi)始新建的過(guò)程中,不能在彈出的“將AT89C51初始化代碼復(fù)制到項(xiàng)目中”的英文詢(xún)問(wèn)對(duì)話(huà)框中,選擇“是”按鈕。因?yàn)椤笆恰笔窃贑語(yǔ)言下進(jìn)行編程,而“否” 是在匯編語(yǔ)言下進(jìn)行編程。因?yàn)槲覍?xiě)的是匯編語(yǔ)言,點(diǎn)擊“是”與編程選項(xiàng)沖突,所以不能創(chuàng)建*.hex文件。(3)硬件設(shè)計(jì)是需要根據(jù)設(shè)計(jì)目標(biāo)畫(huà)出框圖,根據(jù)設(shè)計(jì)的需要選擇元件連接成電路圖。軟件設(shè)計(jì)則是需要根據(jù)電路原理圖考慮到三條線(xiàn):控制線(xiàn)、地址線(xiàn)、數(shù)據(jù)線(xiàn),根據(jù)所要實(shí)現(xiàn)的結(jié)果畫(huà)出程序流程圖,根據(jù)流程圖編寫(xiě)程序代碼。在Keil 中調(diào)試排錯(cuò)。在硬件和軟件設(shè)計(jì)完成后,還需將兩者結(jié)合,也就是說(shuō)將程序產(chǎn)生的*.hex文件燒寫(xiě)進(jìn)單片機(jī),硬件與軟件必須銜接恰當(dāng),否則就不能正常運(yùn)行,必須改變電路結(jié)構(gòu)或者改變程序。(4)課程設(shè)計(jì)是對(duì)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論