電機(jī)轉(zhuǎn)速測量系統(tǒng)設(shè)計26頁_第1頁
電機(jī)轉(zhuǎn)速測量系統(tǒng)設(shè)計26頁_第2頁
電機(jī)轉(zhuǎn)速測量系統(tǒng)設(shè)計26頁_第3頁
電機(jī)轉(zhuǎn)速測量系統(tǒng)設(shè)計26頁_第4頁
電機(jī)轉(zhuǎn)速測量系統(tǒng)設(shè)計26頁_第5頁
已閱讀5頁,還剩22頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、電機(jī)轉(zhuǎn)速測量系統(tǒng)設(shè)計 測控系統(tǒng)原理與設(shè)計課程設(shè)計 姓名: 學(xué)號: 課程設(shè)計題: 電機(jī)轉(zhuǎn)速測量系統(tǒng)設(shè)計 指導(dǎo)老師: 目 錄1 設(shè)計任務(wù)書12 設(shè)計題目23 系統(tǒng)介紹24 系統(tǒng)設(shè)計方案24.1方案論證與選擇34.1.1 轉(zhuǎn)速測量的方法34.1.2 整體控制方式34.1.3 傳感器模塊34.1.4 顯示模塊44.2 方案描述55 系統(tǒng)理論分析與計算55.1 信號采集電路的分析55.2 電機(jī)轉(zhuǎn)速的計算66 硬件電路設(shè)計76.1 單片機(jī)模塊76.1.1 STC89C52單片機(jī)簡介76.1.2 時鐘電路86.1.3 復(fù)位電路96.2 顯示電路97 軟件設(shè)計107.1 系統(tǒng)總體設(shè)計107.2 中斷子程序設(shè)計

2、117.3 定時子程序設(shè)計117.4 顯示子程序設(shè)計128 測試方案128.1 電路調(diào)試128.1 軟件調(diào)試129 心得體會1310 參考文獻(xiàn)1511 附錄16附錄一 電路仿真圖16附錄二 程序清單16附錄三 電路圖22附錄四 實物圖231 設(shè)計任務(wù)一、 總要求能夠獨立進(jìn)行系統(tǒng)方案的設(shè)計及論證,設(shè)計合理的接口電路、控制電路、主機(jī)電路等,以及合理選擇有關(guān)元器件及正確使用相關(guān)工具與儀器設(shè)備,設(shè)計接口程序、控制算法程序以及主程序等,并且能結(jié)合實際調(diào)試與實驗進(jìn)行有關(guān)精度分析與討論。二、 總?cè)蝿?wù)針對總要求進(jìn)行原理及方案論證、系統(tǒng)設(shè)計、接口電路設(shè)計、焊接或插接與調(diào)試、控制與系統(tǒng)程序設(shè)計、精度分析以及撰寫報

3、告等工作。三、 設(shè)計題目電機(jī)轉(zhuǎn)速測量系統(tǒng)設(shè)計四、設(shè)計內(nèi)容(1)用光電發(fā)射接受元件設(shè)計電機(jī)轉(zhuǎn)速測量系統(tǒng)(2)設(shè)計發(fā)射電路與接受電路,與微機(jī)接口電路(3)將整個檢測系統(tǒng)進(jìn)行相關(guān)實驗室調(diào)試,并進(jìn)行分析與相關(guān)計算等5、 設(shè)計進(jìn)度或計劃 1、準(zhǔn)備及查閱資料 (一天)2、方案設(shè)計及論證(總體方案、硬件及軟件方案) (二天) (14周三要查看各人設(shè)計方案或論文提綱)3、硬件電路設(shè)計、畫圖(PROTEL)及實驗室調(diào)試 (四天) (15周五要查看各人實物或論文初稿) 4、軟件設(shè)計、編程及調(diào)試(三天) 5、系統(tǒng)聯(lián)調(diào)及結(jié)果分析 (二天)6、整體準(zhǔn)備答辯(二天) (16周五全天答辯)六、設(shè)計說明書包括的主要內(nèi)容 1、

4、目錄 2、設(shè)計任務(wù)書 3、設(shè)計題目 4、序言(可包括系統(tǒng)工作原理的介紹等) 5、方案設(shè)計及論證(可先進(jìn)行總體方案設(shè)計與論證;再分模塊進(jìn)行方案設(shè)計與論證;各模塊設(shè)計中應(yīng)包括適當(dāng)?shù)木确治黾斑x型等) 6、實驗或系統(tǒng)調(diào)試(可包括實驗調(diào)試工具儀器、實驗結(jié)果及適當(dāng)?shù)姆治龅龋?7、心得體會 8、主要參考文獻(xiàn)另:撰寫格式應(yīng)符合一定的要求,請參照華東交通大學(xué)本科生畢業(yè)論文撰寫規(guī)范進(jìn)行。七、考核方法考核根據(jù)學(xué)生平時學(xué)習(xí)態(tài)度(含出勤率)20%、設(shè)計完成情況(樣機(jī))50%、圖紙及說明書質(zhì)量(含答辯)30%等確定。八、裝定要求裝入統(tǒng)一的資料袋中,報告裝定好,順序:封面,目錄,設(shè)計任務(wù)書,正文,參考文獻(xiàn),附錄等。2 設(shè)

5、計題目電機(jī)轉(zhuǎn)速測量系統(tǒng)設(shè)計3 系統(tǒng)介紹 轉(zhuǎn)速的測量原理有兩種:對于較高的轉(zhuǎn)速,記錄單位時間內(nèi)的轉(zhuǎn)速或角度,即頻率測量法;對于較低的轉(zhuǎn)速,記錄每轉(zhuǎn)所用的時間或沒特定角度多用的時間,即周期測量法。因為本系統(tǒng)測量對象為直流電動機(jī),轉(zhuǎn)速較高,所以選擇頻率測量法,即在固定的測量時間內(nèi),對傳感器產(chǎn)生的脈沖進(jìn)行計數(shù),從而算出實際轉(zhuǎn)速。假設(shè)測量時間為Tc(min),脈沖個數(shù)為P,光碼盤的小孔個數(shù)為m,則可算出實際轉(zhuǎn)速N(r/min)為: 當(dāng)采樣周期為1s,光碼盤開孔數(shù)為4個時,其實際轉(zhuǎn)速N為: 本設(shè)計中采用光電傳感器采集信號,方便了信號的采集,也提高了測量的精度,但容易受外界光線和環(huán)境的干擾,編碼盤與電機(jī)轉(zhuǎn)軸

6、的固定連接,都是本設(shè)計的難點。用1602LCD的數(shù)碼管以動態(tài)掃描清晰的顯示了實時的轉(zhuǎn)速,程序的編寫成了本設(shè)計的重點。4 系統(tǒng)設(shè)計方案本系統(tǒng)主要由單片機(jī)模塊、傳感器模塊以及顯示模塊組成,下面分別論述這幾個模塊的選擇。4.1方案論證與選擇4.1.1 轉(zhuǎn)速測量的方法 方案一:測周期法(T法) 它是測量光電脈沖發(fā)生器所產(chǎn)生的相鄰兩個轉(zhuǎn)速脈沖信號的時間來確定轉(zhuǎn)速。相鄰兩個轉(zhuǎn)速脈沖信號時間的測量是采用對已知高頻脈沖信號進(jìn)行計數(shù)來實現(xiàn)的。在極端情況下,時間的測量會產(chǎn)生1個高頻脈沖周期,因此T法在被測轉(zhuǎn)速較低(相鄰兩個轉(zhuǎn)速脈沖信號時間較大)時,才有較高的測量精度,所以T法適合于低速測量。 方案二:測頻法(M法

7、) 在規(guī)定的檢測時間內(nèi),檢測光電脈沖發(fā)生器所產(chǎn)生的脈沖信號的個數(shù)來確定轉(zhuǎn)速。雖然檢測時間一定,但檢測的起止時間具有隨機(jī)性,因此M法測量轉(zhuǎn)速在極端情況下會產(chǎn)生1個轉(zhuǎn)速脈沖的誤差。當(dāng)被測轉(zhuǎn)速較高或電機(jī)轉(zhuǎn)動一圈發(fā)出的轉(zhuǎn)速脈沖信號的個數(shù)較大時,才有較高的測量精度,因此M法適合于高速測量。 方案三:頻率/周期法(M/T法) 它是同時測量檢測時間和在此檢測時間內(nèi)光電脈沖發(fā)生器所產(chǎn)生的轉(zhuǎn)速脈沖信號的個數(shù)來確定轉(zhuǎn)速。由于同時對兩種脈沖信號進(jìn)行計數(shù),因此只要“同時性”處理得當(dāng),M/T法在高速和低速時都具有較高的測速精度。由于M/T法可在整個速度范圍內(nèi)獲得高分辨率,可在不損失精度和分辨率的前提下獲得快速響應(yīng)。本次

8、設(shè)計采用測頻法。4.1.2 整體控制方式 方案一:采用集成電路控制方式光電傳感器感受到光信號并轉(zhuǎn)換成電信號,此時的電信號為模擬信號,經(jīng)信號處理電路濾除干擾,并轉(zhuǎn)換成能被計數(shù)器接受的方波信號或脈沖信號,再經(jīng)過計數(shù)、譯碼、顯示電路,由數(shù)碼管顯示轉(zhuǎn)速。可實現(xiàn)功能,但電路較復(fù)雜,系統(tǒng)調(diào)試也較繁雜。 方案二:采用單片機(jī)模塊控制方式單片機(jī)模塊接收脈沖信號,進(jìn)行計數(shù)、處理,把數(shù)據(jù)傳送給LCD顯示模塊,達(dá)到實時檢測和反饋的功能?;趩纹瑱C(jī)的轉(zhuǎn)速測量系統(tǒng),具有硬件電路簡單,程序簡單和運算速度快,測速范圍廣,抗干擾性能好的特點。綜合以上兩種方案,選擇方案二。4.1.3 傳感器模塊 方案一:采用紅外傳感器 紅外傳感

9、器是利用紅外線的物理性質(zhì)來進(jìn)行測量的傳感器,為反射式。紅外線傳感器測量時不與被測物體直接接觸,因而不存在摩擦,并且有靈敏度高,反應(yīng)快等優(yōu)點。但紅外線的發(fā)射、接收不好控制,而且容易受到外界光線和環(huán)境的干擾。 方案二:采用霍爾傳感器 霍爾傳感器是根據(jù)霍爾效應(yīng)原理制成的霍爾元件。傳感器的定子上有2個互相垂直的繞組A和B,在繞組的中心線上粘有霍爾片HA和HB,轉(zhuǎn)子為永久磁鋼,霍爾元件HA和HB的激勵電機(jī)分別與繞組A和B相連,它們的霍爾電極串聯(lián)后作為傳感器的輸出。 采用霍爾傳感器在信號采樣的時 圖1 霍爾轉(zhuǎn)速傳感器結(jié)構(gòu)圖候,會出現(xiàn)采樣不精確,因為它是靠磁性感應(yīng)才采集脈沖的,使用時間久了會出現(xiàn)磁性變小,影

10、響脈沖的采樣精度。 方案三:采用光電傳感器 光電傳感器是通過把光強(qiáng)度的變化轉(zhuǎn)換成電信號的變化來實現(xiàn)控制的。光電傳感器在一般情況下,有三部分構(gòu)成,它們分為:發(fā)送器、接收器和檢測電路。發(fā)送器對準(zhǔn)目標(biāo)發(fā)射光束,發(fā)射的光束一般來源于半導(dǎo)體光源,發(fā)光二極管(LED)、激光二極管及紅外發(fā)射二極管。光束不間斷地發(fā)射,或者改變脈沖寬度。接收器有光電二極管、光電三極管、光電池組成。在接收器的前面,裝有光學(xué)元件如透鏡和光圈等。在其后面是檢測電路,它能濾出有效信號和應(yīng)用該信號。此外,光電開關(guān)的結(jié)構(gòu)元件中還有發(fā)射板和光導(dǎo)纖維。三角反射板是結(jié)構(gòu)牢固的發(fā)射裝置。它由很小的三角錐體反射材料組成,能夠使光束準(zhǔn)確地從反射板中返

11、回,具有實用意義。 圖2 光電傳感器原理示意圖 綜合以上3種方案,選擇方案三。 4.1.4 顯示模塊 方案一:用數(shù)碼管動態(tài)顯示,可以顯示數(shù)字,但顯示的內(nèi)容有限,接線繁多,且不能連續(xù)顯示字符,有一定局限性。 方案二:采用LED點陣顯示,能動態(tài)掃描,變換顏色,但體積比較大,需要很多點陣組合使用,顯示較為繁瑣,但需要的I/O資源較多,影響總體布局。 方案三:采用LCD液晶顯示,顯示內(nèi)容最豐富,不僅編程靈活,顯示可靠,而且電路簡單,易與單片機(jī)連接,明亮對比度可調(diào),顯示非常清晰,是一種非常好的方案。 綜合以上,選擇方案三。4.2 方案描述 本設(shè)計主要用STC89C52單片機(jī)作為控制核心,由光電傳感器、L

12、CD動態(tài)顯示屏構(gòu)成。STC89C52單片機(jī)接收光電傳感器傳來的脈沖信號,單片機(jī)根據(jù)外部中斷,以及內(nèi)部定時器進(jìn)行記數(shù)計算出電機(jī)轉(zhuǎn)速送到LCD顯示,使能實時讀出電機(jī)的轉(zhuǎn)速。STC89C52單片機(jī)光電傳感器信號調(diào)理顯示電路 圖3 系統(tǒng)總體方框圖5 系統(tǒng)理論分析與計算5.1 信號采集電路的分析 采集光信號的電路原理圖如圖4所示:圖4 采集光信號的電路原理圖在圖中,U3為槽型光耦,它的左端是發(fā)光二極管,因為發(fā)光二極管的驅(qū)動電流為520mA,所以設(shè)置R2的值為500,同理設(shè)置,光電接收晶體管的下拉電阻即R3為10K。光耦的輸出端用三極管進(jìn)行電壓放大,為使T1輸出的電平為TTL電平,將R5和R4的阻值設(shè)定為

13、1K。該部分設(shè)計采用了紅外光電傳感器,進(jìn)行非接觸式檢測。當(dāng)有物體擋在紅外光電發(fā)光二極管和高靈敏度的光電晶體管之間時,傳感器將會輸出一個低電平,而當(dāng)沒有物體擋在中間時,則輸出高電平,從而形成一個脈沖。系統(tǒng)在光電傳感器收發(fā)端之間加上電動機(jī),并在電動機(jī)轉(zhuǎn)軸上安裝一轉(zhuǎn)盤。在這個轉(zhuǎn)盤的邊沿處挖若干個圓形通光孔,把傳感器的檢測部分放在圓孔的圓心位置。每當(dāng)轉(zhuǎn)盤旋轉(zhuǎn)時,傳感器將輸出若干個脈沖。把這些脈沖通過放大整形成單片機(jī)可以識別的TTL電平,即可計算出輪子的轉(zhuǎn)速。 轉(zhuǎn)盤的圓孔的個數(shù)決定了測量的精度,個數(shù)越多,精度越高。這樣就可以再單位時間里盡可能多地得到脈沖數(shù)。從而避免了因為兩個過孔之間距離過大,而正好在過

14、孔之前或者是在下一個過孔之前就停止了,造成較大的誤差。設(shè)計中轉(zhuǎn)盤的圓孔的實際個數(shù)受到技術(shù)限制。為了達(dá)到預(yù)定的效果設(shè)計,在轉(zhuǎn)盤過孔的設(shè)計上采用4個過孔,再通過軟件對采集的數(shù)據(jù)進(jìn)行計算。 圖5 光碼盤5.2 電機(jī)轉(zhuǎn)速的計算 在編程時讓單片機(jī)每隔一秒記錄一次接收到的脈沖總數(shù),然后根據(jù)如下計算電機(jī)的轉(zhuǎn)速 (1)n:電機(jī)轉(zhuǎn)速T:采樣周期N:采樣周期T內(nèi)光脈沖個數(shù)P:光碼盤開孔的總數(shù)當(dāng)采樣周期為1秒時,轉(zhuǎn)速 (2)f:1秒內(nèi)采集到的光脈沖個數(shù)6 硬件電路設(shè)計6.1 單片機(jī)模塊 單片微型計算機(jī)簡稱單片機(jī),它把組成微型計算機(jī)的各個功能部件:中央處理器CPU、隨機(jī)存取存儲器RAM、只讀存儲器ROM、可編程存儲器

15、EPROM、并行及串行輸入輸出I/O接口電路、定時器/計數(shù)器、中斷控制器等部件集成在一塊半導(dǎo)體芯片上,構(gòu)成一個完整的微型計算機(jī)。6.1.1 STC89C52單片機(jī)簡介 STC89C52是STC公司生產(chǎn)的一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲器。STC89C52使用經(jīng)典的MCS-51內(nèi)核,但做了很多的改進(jìn)使得芯片具有傳統(tǒng)51單片機(jī)不具備的功能。在單芯片上,擁有靈巧的8位CPU 和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,512字節(jié)RAM,32 位I/O 口線,看門狗定

16、時器,內(nèi)置4KB EEPROM,MAX810復(fù)位電路,3個16位定時器/計數(shù)器,4個外部中斷,一個7向量4級中斷結(jié)構(gòu)(兼容傳統(tǒng)51的5向量2級中斷結(jié)構(gòu)),全雙工串行口。另外STC89C52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式。空閑模式下,CPU停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個中斷或硬件復(fù)位為止。最高運作頻率35MHz,6T/12T可選。 圖6 單片機(jī)管腳圖VCC:供電電壓GND:接地P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫

17、1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當(dāng)P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進(jìn)行存取時,P2口輸

18、出地址的高八位。P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為STC89C52的一些特殊功能口。6.1.2 時鐘電路 時鐘是單片機(jī)的心臟,單片機(jī)各功能部件的運行都是以時鐘頻率為基準(zhǔn),有條不紊地一拍一拍地工作。因此,時鐘頻率直接影響單片機(jī)的速度,時鐘電路的質(zhì)量也直接影響單片機(jī)系統(tǒng)穩(wěn)定性。常用的時鐘電路有兩種方式,一種是內(nèi)部時鐘方式,另一種是外部時鐘方式。 圖7 單片機(jī)晶振電路 圖8 單片機(jī)復(fù)位電路 單片機(jī)內(nèi)部有一

19、個用于構(gòu)成振蕩器的高增益反向放大器,該高增益反向放大器的輸入端為芯片引腳XTAL1,輸出端為引腳XTAL2這兩個引腳跨接在石英晶體振蕩器和微調(diào)電路,就構(gòu)成一個穩(wěn)定的自激振蕩器。電路中的電容C1和C2典型值通常選擇30pF左右,該電容大小會影響振蕩器頻率的高低,振蕩器的穩(wěn)定性和起振的快速性。晶振的振蕩器頻率的范圍通常在1.212MHz之間,晶體的頻率越高,則系統(tǒng)得時鐘頻率也就變高,單片機(jī)的運行速度也就越快。但反過來運行速度快,對存儲器的速度要求就高。對印刷電路板的工藝要求也高,即要求淺間的寄生電容要?。痪w和電容應(yīng)盡可能安裝得與單片機(jī)芯片靠近,以減少寄生生活,更好的保證振蕩器穩(wěn)定,可靠地工作。6

20、.1.3 復(fù)位電路為確保微機(jī)系統(tǒng)中電路穩(wěn)定可靠工作,復(fù)位電路是必不可少的一部分,復(fù)位電路的第一功能是上電復(fù)位。一般微機(jī)電路正常工作需要供電電源為5V5%,即4.755.25V。由于微機(jī)電路是時序數(shù)字電路,它需要穩(wěn)定的時鐘信號,因此在電源上電時,只有當(dāng)VCC超過4.75V低于5.25V以及晶體振蕩器穩(wěn)定工作時,復(fù)位信號才被撤除,微機(jī)電路開始正常工作。 單片機(jī)在啟動時都需要復(fù)位,以使CPU及系統(tǒng)各部件處于確定的初始狀態(tài),并從初態(tài)開始工作。89系列單片機(jī)的復(fù)位信號是從RST引腳輸入到芯片內(nèi)的施密特觸發(fā)器中的。當(dāng)系統(tǒng)處于正常工作狀態(tài)時,且振蕩器穩(wěn)定后,如果RST引腳上有一個高電平并維持2個機(jī)器周期(2

21、4個振蕩周期)以上,則CPU就可以響應(yīng)并將系統(tǒng)復(fù)位。單片機(jī)系統(tǒng)的復(fù)位方式有:手動按鈕復(fù)位和上電復(fù)位。6.2 顯示電路 LCD1602液晶顯示模塊可以和單片機(jī)STC89C52直接接口,電路如圖所示。 圖9 顯示電路 1602字符型LCD通常有14條引腳線或16條引腳線的LCD,多出來的2條線是背光電源線。液晶顯示模塊是一個慢顯示器件,所以在執(zhí)行每條指令之前一定要確認(rèn)模塊的忙標(biāo)志為低電平,表示不忙,否則此指令失效。 圖10 LCD1602管腳圖3.3V或5V的工作電壓,對比度可調(diào)。內(nèi)含復(fù)位電路,可提供各種控制命令,如:清屏、字符閃爍、光標(biāo)閃爍、顯示移位等多種功能。有80字節(jié)顯示數(shù)據(jù)存儲器DDRAM

22、,并建有192個5X7點陣的字型的字符發(fā)生器CGROM,有8個可由用戶自定義的5X7的字符發(fā)生器CGRAM。7 軟件設(shè)計7.1 系統(tǒng)總體設(shè)計開始單片機(jī)按編入的程序運行,開始后對顯示液晶的初始化及中斷定時的初始化,為后續(xù)程序做好準(zhǔn)備,初始化好后開始檢測定時是否到達(dá)1秒,等到達(dá)1秒后便取出計數(shù)脈沖值,將脈沖值經(jīng)算法運算后得出轉(zhuǎn)速信息送到液晶模塊顯示,如此循環(huán)每隔1秒刷新一次轉(zhuǎn)速顯示。系統(tǒng)總體流程圖如圖11所示。LCD初始化中斷定時初始化 定時是否1S N Y Y取數(shù)計算數(shù)碼管顯示 圖11 系統(tǒng)總體流程圖7.2 中斷子程序設(shè)計開始 中斷程序為下降沿觸發(fā),從IT0引腳傳送到單片機(jī),程序每來一次中斷,表

23、明有脈沖觸發(fā),計一次脈沖,不斷的中斷循環(huán),來一個脈沖觸發(fā)一次中斷。中斷子程序設(shè)計流程圖如圖12。 是否有脈沖否 是計數(shù)脈沖加1 圖12 中斷子程序流程圖7.3 定時子程序設(shè)計開始 定時函數(shù)為計時50ms的函數(shù),定時器初始化完成后便開始計時,每一次計時為50ms,在定時程序中判斷是否計時20次到達(dá)1秒,到達(dá)1秒后便計時完畢,由單片機(jī)相應(yīng)其它子程序,由重新開始計時。定時子程序設(shè)計流程圖如圖13所示。定時器初始化(50ms) 是否有中斷 定時計數(shù)器加1 是否定時1S計時1秒完畢 圖13 定時子程序流程圖7.4 顯示子程序設(shè)計開始顯示程序初始化完畢后,等待由定時器的1秒計時完畢后,將中斷函數(shù)產(chǎn)生的脈沖

24、值計算后送到液晶顯示部分顯示,每隔1秒計時刷新一次顯示,如此循環(huán)。顯示子程序設(shè)計流程圖如圖14所示。 顯示函數(shù)初始化是否定時1S否刷新轉(zhuǎn)速顯示是 圖14 顯示子程序流程圖 8 測試方案8.1 電路調(diào)試在本次課程設(shè)計中我的電路部分出了很多問題,期間我也換了很多次電路,雖然是個很簡單的采集電路,但是由于各種原因,總是不能實現(xiàn)作用。我一部分一部分的排查電路,最終搭建成功。傳感器模塊是電路的核心,主要部件是槽型光耦,我在百度上搜索了槽型光耦的引腳圖、內(nèi)部結(jié)構(gòu)圖以及特性參數(shù)。通過計算光耦內(nèi)部的發(fā)光二極管的發(fā)光電流,設(shè)置其下拉電阻的大小,使得發(fā)光二極管的發(fā)光效率較高。光電三極管在接收光之后,其集電極和發(fā)射

25、級之間導(dǎo)通,在它的集電極加上一負(fù)載電阻,在集電極做輸出。由于集電極輸出電壓不是TTL電平,所以加上一個三極管,對其進(jìn)行放大,是其變成TTL電平,即可直接接單片機(jī)的I/O口,對其輸出脈沖進(jìn)行計數(shù)。8.1 軟件調(diào)試 由于本程序較大,而C語言編程具有很強(qiáng)的靈活性,便于編寫與理解,因此采用C程序語言編寫。采用自下而上的調(diào)試方法,先調(diào)試功能電路,再調(diào)試整個系統(tǒng)。 我們所使用的調(diào)試軟件是51系列單片機(jī)開發(fā)軟件Keil C51,它是一個基于32位Windows環(huán)境的應(yīng)用程序,支持C語言和匯編語言編程,其6.0以上的版本將編譯和仿真軟件統(tǒng)一為Vision。Keil提供包括C編譯器、宏匯編、連接器、庫管理和一個

26、功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案。Keil能以單步執(zhí)行、過程單步執(zhí)行、全速執(zhí)行等多種運行方式進(jìn)行程序調(diào)試。如果發(fā)現(xiàn)程序有錯,可采用在線匯編功能對程序進(jìn)行在線修改,不必執(zhí)行先退出調(diào)試環(huán)境、修改源程序、對工程重新進(jìn)行編譯/匯編和連接、然后再次進(jìn)入調(diào)試狀態(tài)的步驟。對于一些必須滿足一定條件(如按鍵被按下等)才能被執(zhí)行的、難以用單步執(zhí)行方式進(jìn)行調(diào)試的程序行,可采用斷點設(shè)置的方法處理。在模擬調(diào)試程序后,還須通過編程器將.hex目標(biāo)文件燒寫入單片機(jī)中才能觀察目標(biāo)樣機(jī)真實的運行狀況。 這次我們還用到了Protel軟件畫電路圖,在之前的課程設(shè)計中我們沒有用過Protel,因此我又學(xué)習(xí)了Protel軟件的

27、使用,我運用的是Protel的升級版Altium Designer。Altium Designer是原Protel軟件開發(fā)商Altium公司推出的一體化的電子產(chǎn)品開發(fā)系統(tǒng),主要運行在Windows操作系統(tǒng)。這套軟件通過把原理圖設(shè)計、電路仿真、PCB繪制編輯、拓?fù)溥壿嬜詣硬季€、信號完整性分析和設(shè)計輸出等技術(shù)的完美融合,為設(shè)計者提供了全新的設(shè)計解決方案,使設(shè)計者可以輕松進(jìn)行設(shè)計,熟練使用這一軟件必將使電路設(shè)計的質(zhì)量和效率大大提高。Altium Designer 除了全面繼承包括Protel 99SE、Protel DXP在內(nèi)的先前一系列版本的功能和優(yōu)點外,還增加了許多改進(jìn)和很多高端功能。該平臺拓寬

28、了板級設(shè)計的傳統(tǒng)界面,全面集成了FPGA設(shè)計功能和SOPC設(shè)計實現(xiàn)功能,從而允許工程設(shè)計人員能將系統(tǒng)設(shè)計中的FPGA與PCB設(shè)計及嵌入式設(shè)計集成在一起。主要功能有:原理圖設(shè)計、印刷電路板設(shè)計、FPGA的開發(fā)、嵌入式開發(fā)、3D PCB設(shè)計。 9 心得體會通過此次課程設(shè)計,使我更加扎實的掌握了有關(guān)電路和單片機(jī)設(shè)計方面的知識,在設(shè)計過程中雖然遇到了一些問題,但是經(jīng)過同學(xué)和老師的幫助都一一解決了,真的非常感謝他們。在這過程中,我的專業(yè)知識以及專業(yè)技能都有所提升。通過這次課程設(shè)計,我也掌握了某些傳感器的原理以及電路連接方法。由于我對單片機(jī)和C語言的基礎(chǔ)知識不是很扎實,因此真的感覺自己走了不少的彎路,甚至

29、課程設(shè)計過了很長時間。通過這次課程設(shè)計又重新學(xué)習(xí)了C語言以及單片機(jī)。仿真時,主要使用軟件keil、Proteus 8 Professional。其中keil用來編寫C語言程序,以及編譯連接使之產(chǎn)生后綴名為hex的文件,將其燒錄在軟件Proteus 8 Professional中進(jìn)行測試仿真調(diào)試。還運用到了Altium Designer用來畫電路圖。這次實習(xí)的重點就是如何編寫程序以及仿真中的行騙各個管腳的連接問題,主要的元器件有STC89C52、lcd1602液晶顯示等。當(dāng)你用心的去做一件事的時候,這件事就不會輕易的用不知對錯的結(jié)果去應(yīng)付你,就像你不會去拿這樣的態(tài)度去對待它,做一件事和想一件事也

30、不會是一樣,如果當(dāng)時我只是停留在第一天的空想,我就不會在編程和仿真的過程中發(fā)現(xiàn)和改正那么多的錯誤。實踐之所以高于理論,或許正是因為它為我們提供了更多犯錯誤和改正錯誤的機(jī)會吧。本次設(shè)計把理論應(yīng)用到了實踐中,同時通過設(shè)計,也加深了自己對理論知識的理解和掌握,在解決困難的過程中,獲得了許多專業(yè)方面的知識,拓展了視野。提高了理論水平和實際的動手能力,學(xué)會了解決問題的方法,激發(fā)了我的探索精神。這樣的課程設(shè)計是很好的鍛煉機(jī)會,只是這已經(jīng)是我們的最后一個課程設(shè)計了,以后只有畢業(yè)設(shè)計這個巨大的挑戰(zhàn)在等待著我。通過實驗設(shè)計使我深入了解到課程設(shè)計在大學(xué)學(xué)習(xí)的重要性,課程設(shè)計增強(qiáng)了我們的實踐動手能力,也為畢業(yè)設(shè)計提

31、供了寶貴的經(jīng)驗。10 參考文獻(xiàn)1 張毅坤.陳善久,裘雪紅. 單片微型計算機(jī)原理及應(yīng)用M. 西安電子科技大學(xué)出版社. 2009. 124-162.2 秦曾煌. 電工學(xué)M. 高等教育出版社. 2009. 36-86.3 何立民. 單片機(jī)應(yīng)用技術(shù)選編M. 北京航空航天大學(xué)出版社. 2011. 89-112.4 劉篤仁. 傳感器原理及應(yīng)用技術(shù)M. 西安電子科技大學(xué)出版社. 2011. 169-185.5 譚浩強(qiáng). C程序設(shè)計(第二版)M. 清華大學(xué)出版社. 2001.78-105.6 童詩白. 模擬電子技術(shù)基礎(chǔ)M. 高等教育出版社. 2010. 128-169.7 馬忠梅. 單片機(jī)的C語言應(yīng)用程序設(shè)計

32、M. 北京航空航天大學(xué)出版社. 2011.189-221.8 周潤景. PROTEUS入門實用教程M. 機(jī)械工業(yè)出版社. 2011.57-85.9 肖婧. 單片機(jī)系統(tǒng)設(shè)計與仿真基于ProtuesM. 北京航空航天大學(xué)出版社. 2010. 124-140.10 李麗榮,張常全,鄭建紅. 51單片機(jī)應(yīng)用設(shè)計M. 北京理工大學(xué)出版社. 2012. 194-211.11 藍(lán)和慧,寧武,閆曉金. 全國大學(xué)生電子設(shè)計競賽單片機(jī)應(yīng)用技能精解M. 2009. 191-217.11 附錄附錄一 電路仿真圖 附錄二 程序清單#include #include unsigned char code cdis1 =

33、SPEED: ;unsigned char code cdis2 = r/min;sbit LCD_RS = P2 3; /寄存器選擇位,將RS位定義為P2.3引腳sbit LCD_RW = P2 4;/讀寫選擇位,將RW位定義為P2.4引腳sbit LCD_EN = P2 5;/使能信號位,將EN位定義為P2.5引腳bit sec = 0;unsigned char msec = 0, Hdata = 0, Ldata = 0, Count = 0;unsigned long temp = 0;unsigned char data display = 0x00, 0x00, 0x00, 0x

34、00, 0x00;char code reserve3_at_ 0x3b; /保留0x3b開始的3個字節(jié)/* us延時函數(shù) */void delayNOP() _nop_(); _nop_(); _nop_(); _nop_();/* ms延時函數(shù) */void delayms(unsigned int ms) unsigned char n; while (ms-) for (n = 0; n 114; n+) ; /* 檢查LCD忙狀態(tài) lcd_busy為1時,忙,等待。 lcd-busy為0時,閑,可寫指令與數(shù)據(jù)。 */bit lcd_busy() bit result; LCD_RS

35、= 0;/根據(jù)規(guī)定,RS為低電平,RW為高電平時,可以讀狀態(tài) LCD_RW = 1; LCD_EN = 1;/EN=1,才允許讀寫 delayNOP();/空操作,給硬件反應(yīng)時間 result = (bit)(P0 &0x80);/將忙碌標(biāo)志電平賦給P0.7 LCD_EN = 0; /將E恢復(fù)低電平 return (result);/* 寫指令數(shù)據(jù)到LCD RS=L,RW=L,E=高脈沖,D0-D7=指令碼。 */void lcd_wcmd(unsigned char cmd) while (lcd_busy() ;/如果忙就等待 LCD_RS = 0; /根據(jù)規(guī)定,RS和R/W同時為低電平時

36、,可以寫入指令 LCD_RW = 0; LCD_EN = 1; /E置低電平(寫指令時,E為高脈沖,就是讓E從0到1發(fā)生正跳變,所以應(yīng)先置0) P0 = cmd;/將數(shù)據(jù)送入P0口,即寫入指令或地址 delayNOP();/空操作,給硬件反應(yīng)時間 LCD_EN = 0;/當(dāng)E由高電平跳變成低電平時,液晶模塊開始執(zhí)行命令/* 將數(shù)據(jù)(字符的標(biāo)準(zhǔn)ASCII碼)寫入液晶模塊 RS=H,RW=L,E=高脈沖,D0-D7=數(shù)據(jù)。 */void lcd_wdat(unsigned char dat) while (lcd_busy() ; LCD_RS = 1;/RS為高電平,RW為低電平時,可以寫入數(shù)據(jù)

37、 LCD_RW = 0; LCD_EN = 1; P0 = dat; /將數(shù)據(jù)送入P0口,即將數(shù)據(jù)寫入液晶模塊 delayNOP(); LCD_EN = 0; /當(dāng)E由高電平跳變成低電平時,液晶模塊開始執(zhí)行命令/* LCD初始化設(shè)定 */void lcd_init() delayms(15);/延時15ms,首次寫指令時應(yīng)給LCD一段較長的反應(yīng)時間 lcd_wcmd(0x38); /顯示模式設(shè)置:16*2顯示,5*7點陣,8位數(shù)據(jù) delayms(5);/延時5ms,給硬件一點反應(yīng)時間 lcd_wcmd(0x38); delayms(5); /延時5ms,給硬件一點反應(yīng)時間 lcd_wcmd(0x38); /連續(xù)三次,確保初始化成功 delayms(5);/延時5ms,給硬件一點反應(yīng)時間 lcd_wcmd(0x0c); /顯示模式設(shè)置:顯示開,無光標(biāo),光標(biāo)不閃爍 delayms(5);/延時5ms,給硬件一點反應(yīng)時間 lcd_wcmd(0x06); /

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論