電機(jī)轉(zhuǎn)速測(cè)量系統(tǒng)設(shè)計(jì)光電傳感器課程設(shè)計(jì)報(bào)告_第1頁
電機(jī)轉(zhuǎn)速測(cè)量系統(tǒng)設(shè)計(jì)光電傳感器課程設(shè)計(jì)報(bào)告_第2頁
電機(jī)轉(zhuǎn)速測(cè)量系統(tǒng)設(shè)計(jì)光電傳感器課程設(shè)計(jì)報(bào)告_第3頁
電機(jī)轉(zhuǎn)速測(cè)量系統(tǒng)設(shè)計(jì)光電傳感器課程設(shè)計(jì)報(bào)告_第4頁
電機(jī)轉(zhuǎn)速測(cè)量系統(tǒng)設(shè)計(jì)光電傳感器課程設(shè)計(jì)報(bào)告_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、傳感器原理與應(yīng)用課程設(shè)計(jì)1、 題目:電機(jī)轉(zhuǎn)速測(cè)量系統(tǒng)設(shè)計(jì)(光電轉(zhuǎn)速傳感器)院 校:專 業(yè):姓 名:學(xué) 號(hào):班 級(jí): 指導(dǎo)老師:二0一六 年 六 月目錄第一章 傳感器原理與應(yīng)用課程設(shè)計(jì)任務(wù)書41.1總要求41.2總?cè)蝿?wù)41.3設(shè)計(jì)題目41.4設(shè)計(jì)內(nèi)容41.5設(shè)計(jì)進(jìn)度或計(jì)劃41.6設(shè)計(jì)說明書包括的主要內(nèi)容4第二章 系統(tǒng)介紹5第三章 系統(tǒng)設(shè)計(jì)方案53.1方案的設(shè)計(jì)與選擇53.1.1 轉(zhuǎn)速測(cè)量的方法53.1.2 整體控制方式63.1.3 傳感器模塊63.2 方案描述7第四章 系統(tǒng)理論分析與計(jì)算84.1 信號(hào)采集電路的分析84.2 電機(jī)轉(zhuǎn)速的計(jì)算9第五章 硬件電路設(shè)計(jì)95.1 單片機(jī)模塊95.1.1 S

2、TC89C52單片機(jī)簡介105.1.2 時(shí)鐘電路115.1.3 復(fù)位電路125.2 顯示電路12第六章 軟件設(shè)計(jì)136.1 系統(tǒng)總體設(shè)計(jì)136.2 中斷子程序設(shè)計(jì)146.3 定時(shí)子程序設(shè)計(jì)146.4 顯示子程序設(shè)計(jì)15第七章 測(cè)試方案167.1 電路調(diào)試167.2 軟件調(diào)試16第八章 心得體會(huì)18參考文獻(xiàn)19附錄20附錄一 電路仿真圖20附錄二 程序清單20附錄三 實(shí)物圖25第一章 傳感器原理與應(yīng)用課程設(shè)計(jì)任務(wù)書1.1總要求課設(shè)題目盡量側(cè)重于傳感器檢測(cè)模塊設(shè)計(jì),主要是繪制系統(tǒng)原理圖、制作傳感部分前端電路、實(shí)驗(yàn)調(diào)試及分析、撰寫實(shí)驗(yàn)報(bào)告等。電路圖:傳感檢測(cè)/接口電路/控制電路、單片機(jī)檢測(cè)系統(tǒng)電路(

3、若題目要求,則應(yīng)加上)。程序:主程序、部分子程序(若題目要求,則應(yīng)加上)。說明書:按規(guī)范撰寫。1.2總?cè)蝿?wù)針對(duì)總要求進(jìn)行原理及方案論證、模塊設(shè)計(jì)、接口電路設(shè)計(jì)、焊接或插接與調(diào)試、精度分析以及撰寫報(bào)告等工作。1.3設(shè)計(jì)題目電機(jī)轉(zhuǎn)速測(cè)量系統(tǒng)設(shè)計(jì)1.4設(shè)計(jì)內(nèi)容實(shí)現(xiàn)全部要求的實(shí)物功能,性能穩(wěn)定,外形美觀。1.5設(shè)計(jì)進(jìn)度或計(jì)劃1、準(zhǔn)備及查閱資料 一天2、方案設(shè)計(jì)及論證(總體方案) 二天3、硬件設(shè)計(jì) 三天4、程序設(shè)計(jì) 三天5、實(shí)驗(yàn)室調(diào)試及結(jié)果分析 二天6、整理報(bào)告及準(zhǔn)備答辯 三天1.6設(shè)計(jì)說明書包括的主要內(nèi)容1、封面2、目錄3、設(shè)計(jì)任務(wù)書4、正文(可按下列內(nèi)容撰寫、僅供參考) (1)摘要:可包括系統(tǒng)工作原

4、理的介紹等。 (2)方案設(shè)計(jì)及論證:可按模塊進(jìn)行方案設(shè)計(jì)與論證,各模塊設(shè)計(jì)中應(yīng)包括適當(dāng)?shù)木确治黾斑x型等。 (3)實(shí)驗(yàn)或系統(tǒng)調(diào)試:可包括實(shí)驗(yàn)調(diào)試工具儀器、實(shí)驗(yàn)結(jié)果及適當(dāng)?shù)姆治龅取?(4)心得體會(huì)。 (5)主要參考文獻(xiàn)。第二章 系統(tǒng)介紹轉(zhuǎn)速的測(cè)量原理有兩種:對(duì)于較高的轉(zhuǎn)速,記錄單位時(shí)間內(nèi)的轉(zhuǎn)速或角度,即頻率測(cè)量法;對(duì)于較低的轉(zhuǎn)速,記錄每轉(zhuǎn)所用的時(shí)間或沒特定角度多用的時(shí)間,即周期測(cè)量法。因?yàn)楸鞠到y(tǒng)測(cè)量對(duì)象為直流電動(dòng)機(jī),轉(zhuǎn)速較高,所以選擇頻率測(cè)量法,即在固定的測(cè)量時(shí)間內(nèi),對(duì)傳感器產(chǎn)生的脈沖進(jìn)行計(jì)數(shù),從而算出實(shí)際轉(zhuǎn)速。假設(shè)測(cè)量時(shí)間為Tc(min),脈沖個(gè)數(shù)為P,光碼盤的小孔個(gè)數(shù)為m,則可算出實(shí)際轉(zhuǎn)速N

5、(r/min)為: 當(dāng)采樣周期為1s,光碼盤開孔數(shù)為4個(gè)時(shí),其實(shí)際轉(zhuǎn)速N為: 本設(shè)計(jì)中采用光電傳感器采集信號(hào),方便了信號(hào)的采集,也提高了測(cè)量的精度,但容易受外界光線和環(huán)境的干擾,編碼盤與電機(jī)轉(zhuǎn)軸的固定連接,都是本設(shè)計(jì)的難點(diǎn)。用1602LCD的數(shù)碼管以動(dòng)態(tài)掃描清晰的顯示了實(shí)時(shí)的轉(zhuǎn)速,程序的編寫成了本設(shè)計(jì)的重點(diǎn)。第三章 系統(tǒng)設(shè)計(jì)方案本系統(tǒng)主要由單片機(jī)模塊、傳感器模塊以及顯示模塊組成,下面分別論述這幾個(gè)模塊的選擇。3.1方案的設(shè)計(jì)與選擇3.1.1 轉(zhuǎn)速測(cè)量的方法 方案一:測(cè)周期法(T法) 它是測(cè)量光電脈沖發(fā)生器所產(chǎn)生的相鄰兩個(gè)轉(zhuǎn)速脈沖信號(hào)的時(shí)間來確定轉(zhuǎn)速。相鄰兩個(gè)轉(zhuǎn)速脈沖信號(hào)時(shí)間的測(cè)量是采用對(duì)已知高

6、頻脈沖信號(hào)進(jìn)行計(jì)數(shù)來實(shí)現(xiàn)的。在極端情況下,時(shí)間的測(cè)量會(huì)產(chǎn)生1個(gè)高頻脈沖周期,因此T法在被測(cè)轉(zhuǎn)速較低(相鄰兩個(gè)轉(zhuǎn)速脈沖信號(hào)時(shí)間較大)時(shí),才有較高的測(cè)量精度,所以T法適合于低速測(cè)量。方案二:測(cè)頻法(M法)在規(guī)定的檢測(cè)時(shí)間內(nèi),檢測(cè)光電脈沖發(fā)生器所產(chǎn)生的脈沖信號(hào)的個(gè)數(shù)來確定轉(zhuǎn)速。雖然檢測(cè)時(shí)間一定,但檢測(cè)的起止時(shí)間具有隨機(jī)性,因此M法測(cè)量轉(zhuǎn)速在極端情況下會(huì)產(chǎn)生1個(gè)轉(zhuǎn)速脈沖的誤差。當(dāng)被測(cè)轉(zhuǎn)速較高或電機(jī)轉(zhuǎn)動(dòng)一圈發(fā)出的轉(zhuǎn)速脈沖信號(hào)的個(gè)數(shù)較大時(shí),才有較高的測(cè)量精度,因此M法適合于高速測(cè)量。方案三:頻率/周期法(M/T法)它是同時(shí)測(cè)量檢測(cè)時(shí)間和在此檢測(cè)時(shí)間內(nèi)光電脈沖發(fā)生器所產(chǎn)生的轉(zhuǎn)速脈沖信號(hào)的個(gè)數(shù)來確定轉(zhuǎn)速。由于

7、同時(shí)對(duì)兩種脈沖信號(hào)進(jìn)行計(jì)數(shù),因此只要“同時(shí)性”處理得當(dāng),M/T法在高速和低速時(shí)都具有較高的測(cè)速精度。由于M/T法可在整個(gè)速度范圍內(nèi)獲得高分辨率,可在不損失精度和分辨率的前提下獲得快速響應(yīng)。由于這次使用的是小馬達(dá),所以我選擇使用方案二,測(cè)頻法。3.1.2 整體控制方式方案一:采用集成電路控制方式 光電傳感器感受到光信號(hào)并轉(zhuǎn)換成電信號(hào),此時(shí)的電信號(hào)為模擬信號(hào),經(jīng)信號(hào)處理電路濾除干擾,并轉(zhuǎn)換成能被計(jì)數(shù)器接受的方波信號(hào)或脈沖信號(hào),再經(jīng)過計(jì)數(shù)、譯碼、顯示電路,由數(shù)碼管顯示轉(zhuǎn)速。可實(shí)現(xiàn)功能,但電路較復(fù)雜,系統(tǒng)調(diào)試也較繁雜。 方案二:采用單片機(jī)模塊控制方式單片機(jī)模塊接收脈沖信號(hào),進(jìn)行計(jì)數(shù)、處理,把數(shù)據(jù)傳送給

8、LCD顯示模塊,達(dá)到實(shí)時(shí)檢測(cè)和反饋的功能?;趩纹瑱C(jī)的轉(zhuǎn)速測(cè)量系統(tǒng),具有硬件電路簡單,程序簡單和運(yùn)算速度快,測(cè)速范圍廣,抗干擾性能好的特點(diǎn)。綜合以上兩種方案,選擇方案二。3.1.3 傳感器模塊 方案一:采用紅外傳感器紅外傳感器是利用紅外線的物理性質(zhì)來進(jìn)行測(cè)量的傳感器,為反射式。紅外線傳感器測(cè)量時(shí)不與被測(cè)物體直接接觸,因而不存在摩擦,并且有靈敏度高,反應(yīng)快等優(yōu)點(diǎn)。但紅外線的發(fā)射、接收不好控制,而且容易受到外界光線和環(huán)境的干擾。方案二:采用霍爾傳感器霍爾傳感器是根據(jù)霍爾效應(yīng)原理制成的霍爾元件。傳感器的定子上有2個(gè)互相垂直的繞組A和B,在繞組的中心線上粘有霍爾片HA和HB,轉(zhuǎn)子為永久磁鋼,霍爾元件H

9、A和HB的激勵(lì)電機(jī)分別與繞組A和B相連,它們的霍爾電極串聯(lián)后作為傳感器的輸出。 采用霍爾傳感器在信號(hào)采樣的時(shí) 圖1 霍爾轉(zhuǎn)速傳感器結(jié)構(gòu)圖 候,會(huì)出現(xiàn)采樣不精確,因?yàn)樗强看判愿袘?yīng)才采集脈沖的,使用時(shí)間久了會(huì)出現(xiàn)磁性變小,影響脈沖的采樣精度。方案三:采用光電傳感器光電傳感器是通過把光強(qiáng)度的變化轉(zhuǎn)換成電信號(hào)的變化來實(shí)現(xiàn)控制的。光電傳感器在一般情況下,有三部分構(gòu)成,它們分為:發(fā)送器、接收器和檢測(cè)電路。發(fā)送器對(duì)準(zhǔn)目標(biāo)發(fā)射光束,發(fā)射的光束一般來源于半導(dǎo)體光源,發(fā)光二極管(LED)、激光二極管及紅外發(fā)射二極管。光束不間斷地發(fā)射,或者改變脈沖寬度。接收器有光電二極管、光電三極管、光電池組成。在接收器的前面,

10、裝有光學(xué)元件如透鏡和光圈等。在其后面是檢測(cè)電路,它能濾出有效信號(hào)和應(yīng)用該信號(hào)。此外,光電開關(guān)的結(jié)構(gòu)元件中還有發(fā)射板和光導(dǎo)纖維。三角反射板是結(jié)構(gòu)牢固的發(fā)射裝置。它由很小的三角錐體反射材料組成,能夠使光束準(zhǔn)確地從反射板中返回,具有實(shí)用意義。 圖2 光電傳感器原理示意圖 綜合以上3種方案,選擇方案三。 3.1.4 顯示模塊方案一:用數(shù)碼管動(dòng)態(tài)顯示,可以顯示數(shù)字,但顯示的內(nèi)容有限,接線繁多,且不能連續(xù)顯示字符,有一定局限性。 方案二:采用LED點(diǎn)陣顯示,能動(dòng)態(tài)掃描,變換顏色,但體積比較大,需要很多點(diǎn)陣組合使用,顯示較為繁瑣,但需要的I/O資源較多,影響總體布局。方案三:采用LCD液晶顯示,顯示內(nèi)容最豐

11、富,不僅編程靈活,顯示可靠,而且電路簡單,易與單片機(jī)連接,明亮對(duì)比度可調(diào),顯示非常清晰,是一種非常好的方案。綜合以上,選擇方案三。3.2 方案描述 STC89C52單片機(jī)本設(shè)計(jì)主要用STC89C52單片機(jī)作為控制核心,由光電傳感器、LCD動(dòng)態(tài)顯示屏構(gòu)成。STC89C52單片機(jī)接收光電傳感器傳來的脈沖信號(hào),單片機(jī)根據(jù)外部中斷,以及內(nèi)部定時(shí)器進(jìn)行記數(shù)計(jì)算出電機(jī)轉(zhuǎn)速送到LCD顯示,使能實(shí)時(shí)讀出電機(jī)的轉(zhuǎn)速。顯示電路信號(hào)調(diào)理光電傳感器 圖3 系統(tǒng)總體方框圖第四章 系統(tǒng)理論分析與計(jì)算4.1 信號(hào)采集電路的分析 采集光信號(hào)的電路原理圖如圖4所示:圖4 采集光信號(hào)的電路原理圖在圖中,U3為槽型光耦,它的左端是

12、發(fā)光二極管,因?yàn)榘l(fā)光二極管的驅(qū)動(dòng)電流為520mA,所以設(shè)置R2的值為500,同理設(shè)置,光電接收晶體管的下拉電阻即R3為10K。光耦的輸出端用三極管進(jìn)行電壓放大,為使T1輸出的電平為TTL電平,將R5和R4的阻值設(shè)定為1K。該部分設(shè)計(jì)采用了紅外光電傳感器,進(jìn)行非接觸式檢測(cè)。當(dāng)有物體擋在紅外光電發(fā)光二極管和高靈敏度的光電晶體管之間時(shí),傳感器將會(huì)輸出一個(gè)低電平,而當(dāng)沒有物體擋在中間時(shí),則輸出高電平,從而形成一個(gè)脈沖。系統(tǒng)在光電傳感器收發(fā)端之間加上電動(dòng)機(jī),并在電動(dòng)機(jī)轉(zhuǎn)軸上安裝一轉(zhuǎn)盤。在這個(gè)轉(zhuǎn)盤的邊沿處挖若干個(gè)圓形通光孔,把傳感器的檢測(cè)部分放在圓孔的圓心位置。每當(dāng)轉(zhuǎn)盤旋轉(zhuǎn)時(shí),傳感器將輸出若干個(gè)脈沖。把這

13、些脈沖通過放大整形成單片機(jī)可以識(shí)別的TTL電平,即可計(jì)算出輪子的轉(zhuǎn)速。轉(zhuǎn)盤的圓孔的個(gè)數(shù)決定了測(cè)量的精度,個(gè)數(shù)越多,精度越高。這樣就可以再單位時(shí)間里盡可能多地得到脈沖數(shù)。從而避免了因?yàn)閮蓚€(gè)過孔之間距離過大,而正好在過孔之前或者是在下一個(gè)過孔之前就停止了,造成較大的誤差。設(shè)計(jì)中轉(zhuǎn)盤的圓孔的實(shí)際個(gè)數(shù)受到技術(shù)限制。為了達(dá)到預(yù)定的效果設(shè)計(jì),在轉(zhuǎn)盤過孔的設(shè)計(jì)上采用20個(gè)過孔,再通過軟件對(duì)采集的數(shù)據(jù)進(jìn)行計(jì)算。圖5 光碼盤4.2 電機(jī)轉(zhuǎn)速的計(jì)算 在編程時(shí)讓單片機(jī)每隔一秒記錄一次接收到的脈沖總數(shù),然后根據(jù)如下計(jì)算電機(jī)的轉(zhuǎn)速 (1)n:電機(jī)轉(zhuǎn)速T:采樣周期N:采樣周期T內(nèi)光脈沖個(gè)數(shù)P:光碼盤開孔的總數(shù)當(dāng)采樣周期為

14、1秒時(shí),轉(zhuǎn)速 (2)f:1秒內(nèi)采集到的光脈沖個(gè)數(shù)第五章 硬件電路設(shè)計(jì)5.1 單片機(jī)模塊 單片微型計(jì)算機(jī)簡稱單片機(jī),它把組成微型計(jì)算機(jī)的各個(gè)功能部件:中央處理器CPU、隨機(jī)存取存儲(chǔ)器RAM、只讀存儲(chǔ)器ROM、可編程存儲(chǔ)器EPROM、并行及串行輸入輸出I/O接口電路、定時(shí)器/計(jì)數(shù)器、中斷控制器等部件集成在一塊半導(dǎo)體芯片上,構(gòu)成一個(gè)完整的微型計(jì)算機(jī)。5.1.1 STC89C52單片機(jī)簡介 STC89C52是STC公司生產(chǎn)的一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲(chǔ)器。STC89C52使用經(jīng)典的MCS-51內(nèi)核,但做了很多的改進(jìn)使得芯片具有傳統(tǒng)51單片機(jī)不具備的功能。在

15、單芯片上,擁有靈巧的8位CPU 和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,512字節(jié)RAM,32 位I/O 口線,看門狗定時(shí)器,內(nèi)置4KB EEPROM,MAX810復(fù)位電路,3個(gè)16位定時(shí)器/計(jì)數(shù)器,4個(gè)外部中斷,一個(gè)7向量4級(jí)中斷結(jié)構(gòu)(兼容傳統(tǒng)51的5向量2級(jí)中斷結(jié)構(gòu)),全雙工串行口。另外STC89C52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式。空閑模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停

16、止,直到下一個(gè)中斷或硬件復(fù)位為止。最高運(yùn)作頻率35MHz,6T/12T可選。 圖6 單片機(jī)管腳圖VCC:供電電壓GND:接地P0口:P0口為一個(gè)8位漏級(jí)開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL

17、門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為STC89C52的一些特殊功能口。5.1.2 時(shí)鐘電路 時(shí)鐘是單片機(jī)的心臟,單片機(jī)各功能部件的運(yùn)行都是以時(shí)鐘頻率為基準(zhǔn),有條不紊地一拍

18、一拍地工作。因此,時(shí)鐘頻率直接影響單片機(jī)的速度,時(shí)鐘電路的質(zhì)量也直接影響單片機(jī)系統(tǒng)穩(wěn)定性。常用的時(shí)鐘電路有兩種方式,一種是內(nèi)部時(shí)鐘方式,另一種是外部時(shí)鐘方式。 圖7 單片機(jī)晶振電路 圖8 單片機(jī)復(fù)位電路 單片機(jī)內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反向放大器,該高增益反向放大器的輸入端為芯片引腳XTAL1,輸出端為引腳XTAL2這兩個(gè)引腳跨接在石英晶體振蕩器和微調(diào)電路,就構(gòu)成一個(gè)穩(wěn)定的自激振蕩器。 電路中的電容C1和C2典型值通常選擇30pF左右,該電容大小會(huì)影響振蕩器頻率的高低,振蕩器的穩(wěn)定性和起振的快速性。晶振的振蕩器頻率的范圍通常在1.212MHz之間,晶體的頻率越高,則系統(tǒng)得時(shí)鐘頻

19、率也就變高,單片機(jī)的運(yùn)行速度也就越快。但反過來運(yùn)行速度快,對(duì)存儲(chǔ)器的速度要求就高。對(duì)印刷電路板的工藝要求也高,即要求淺間的寄生電容要??;晶體和電容應(yīng)盡可能安裝得與單片機(jī)芯片靠近,以減少寄生生活,更好的保證振蕩器穩(wěn)定,可靠地工作。 復(fù)位電路為確保微機(jī)系統(tǒng)中電路穩(wěn)定可靠工作,復(fù)位電路是必不可少的一部分,復(fù)位電路的第一功能是上電復(fù)位。一般微機(jī)電路正常工作需要供電電源為5V±5%,即4.755.25V。由于微機(jī)電路是時(shí)序數(shù)字電路,它需要穩(wěn)定的時(shí)鐘信號(hào),因此在電源上電時(shí),只有當(dāng)VCC超過4.75V低于5.25V以及晶體振蕩器穩(wěn)定工作時(shí),復(fù)位信號(hào)才被撤除,微機(jī)電路開始正常工作。 單片機(jī)在啟動(dòng)時(shí)都

20、需要復(fù)位,以使CPU及系統(tǒng)各部件處于確定的初始狀態(tài),并從初態(tài)開始工作。89系列單片機(jī)的復(fù)位信號(hào)是從RST引腳輸入到芯片內(nèi)的施密特觸發(fā)器中的。當(dāng)系統(tǒng)處于正常工作狀態(tài)時(shí),且振蕩器穩(wěn)定后,如果RST引腳上有一個(gè)高電平并維持2個(gè)機(jī)器周期(24個(gè)振蕩周期)以上,則CPU就可以響應(yīng)并將系統(tǒng)復(fù)位。單片機(jī)系統(tǒng)的復(fù)位方式有:手動(dòng)按鈕復(fù)位和上電復(fù)位。5.2 顯示電路LCD1602液晶顯示模塊可以和單片機(jī)STC89C52直接接口,電路如圖所示。 圖9 顯示電路 1602字符型LCD通常有14條引腳線或16條引腳線的LCD,多出來的2條線是背光電源線。液晶顯示模塊是一個(gè)慢顯示器件,所以在執(zhí)行每條指令之前一定要確認(rèn)模塊

21、的忙標(biāo)志為低電平,表示不忙,否則此指令失效。 圖10 LCD1602管腳圖3.3V或5V的工作電壓,對(duì)比度可調(diào)。內(nèi)含復(fù)位電路,可提供各種控制命令,如:清屏、字符閃爍、光標(biāo)閃爍、顯示移位等多種功能。有80字節(jié)顯示數(shù)據(jù)存儲(chǔ)器DDRAM,并建有192個(gè)5X7點(diǎn)陣的字型的字符發(fā)生器CGROM,有8個(gè)可由用戶自定義的5X7的字符發(fā)生器CGRAM。第六章 軟件設(shè)計(jì)6.1 系統(tǒng)總體設(shè)計(jì)單片機(jī)按編入的程序運(yùn)行,開始后對(duì)顯示液晶的初始化及中斷定時(shí)的初始化,為后續(xù)程序做好準(zhǔn)備,初始化好后開始檢測(cè)定時(shí)是否到達(dá)1秒,等到達(dá)1秒后便取出計(jì)數(shù)脈沖值,將脈沖值經(jīng)算法運(yùn)算后得出轉(zhuǎn)速信息送到液晶模塊顯示,如此循環(huán)每隔1秒刷新一

22、次轉(zhuǎn)速顯示。系統(tǒng)總體流程圖如圖11所示。 開始中斷定時(shí)初始化LCD初始化定時(shí)是否1S N Y Y取數(shù)計(jì)算數(shù)碼管顯示圖11 系統(tǒng)總體流程圖6.2 中斷子程序設(shè)計(jì)開始 中斷程序?yàn)橄陆笛赜|發(fā),從IT0引腳傳送到單片機(jī),程序每來一次中斷,表明有脈沖觸發(fā),計(jì)一次脈沖,不斷的中斷循環(huán),來一個(gè)脈沖觸發(fā)一次中斷。中斷子程序設(shè)計(jì)流程圖如圖12。是否有脈沖否 是計(jì)數(shù)脈沖加1 圖12 中斷子程序流程圖6.3 定時(shí)子程序設(shè)計(jì) 定時(shí)函數(shù)為計(jì)時(shí)50ms的函數(shù),定時(shí)器初始化完成后便開始計(jì)時(shí),每一次計(jì)開始時(shí)為50ms,在定時(shí)程序中判斷是否計(jì)時(shí)20次到達(dá)1秒,到達(dá)1秒后便計(jì)時(shí)完畢,由單片機(jī)相應(yīng)其它子程序,由重新開始計(jì)時(shí)。定時(shí)子

23、程序設(shè)計(jì)流程圖如圖13所示。定時(shí)器初始化(50ms) 是否有中斷定時(shí)計(jì)數(shù)器加1 是否定時(shí)1S計(jì)時(shí)1秒完畢 圖13 定時(shí)子程序流程圖6.4 顯示子程序設(shè)計(jì)顯示程序初始化完畢后,等待由定時(shí)器的1秒計(jì)時(shí)完畢后,將中斷函數(shù)產(chǎn)生的脈沖值計(jì)算后送到液晶顯示部分顯示,每隔1秒計(jì)時(shí)刷新一次顯示,如此循環(huán)。顯示子程序設(shè)計(jì)流程圖如圖14所示。開始顯示函數(shù)初始化是否定時(shí)1S否刷新轉(zhuǎn)速顯示是 圖14 顯示子程序流程圖 第七章 測(cè)試方案7.1 電路調(diào)試在本次課程設(shè)計(jì)中出現(xiàn)了一部分問題,初始我的設(shè)計(jì)思路是想要自己設(shè)計(jì)一個(gè)發(fā)射電路和接收電路,但是由于發(fā)光二極管我沒能找到,所以我就想著用一個(gè)槽型光耦來代替,因?yàn)椴坌凸怦顒偤梅?/p>

24、合這個(gè)特性,于是我就在網(wǎng)上搜了一下槽型光耦的引腳圖和內(nèi)部電路結(jié)構(gòu),然后按照預(yù)先設(shè)計(jì)好的電路進(jìn)行連接,本來一個(gè)簡單的電路,但是由于自己接反了習(xí)慣性的認(rèn)為槽型光耦和電路圖中的一樣是對(duì)應(yīng)的,所以我就直接按照對(duì)應(yīng)的線路來接了,調(diào)試了兩天,我也多次改變了下拉電阻的大小,但并沒有出現(xiàn)自己想要的結(jié)果,然后周3的時(shí)候,我用萬用表測(cè)量了一下電路中每一路的電流,發(fā)現(xiàn)有一路是沒有電流,所以我就把原來的接線位置對(duì)調(diào)了一下,這次電路終于通了。由于集電極輸出電壓不是TTL電平,所以加上一個(gè)三極管,對(duì)其進(jìn)行放大,是其變成TTL電平,即可直接接單片機(jī)的I/O口,對(duì)其輸出脈沖進(jìn)行計(jì)數(shù)。7.2 軟件調(diào)試 由于本程序較大,而C語言

25、編程具有很強(qiáng)的靈活性,便于編寫與理解,因此采用C程序語言編寫。采用自下而上的調(diào)試方法,先調(diào)試功能電路,再調(diào)試整個(gè)系統(tǒng)。 我們所使用的調(diào)試軟件是51系列單片機(jī)開發(fā)軟件Keil C51,它是一個(gè)基于32位Windows環(huán)境的應(yīng)用程序,支持C語言和匯編語言編程,其6.0以上的版本將編譯和仿真軟件統(tǒng)一為Vision。Keil提供包括C編譯器、宏匯編、連接器、庫管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案。Keil能以單步執(zhí)行、過程單步執(zhí)行、全速執(zhí)行等多種運(yùn)行方式進(jìn)行程序調(diào)試。如果發(fā)現(xiàn)程序有錯(cuò),可采用在線匯編功能對(duì)程序進(jìn)行在線修改,不必執(zhí)行先退出調(diào)試環(huán)境、修改源程序、對(duì)工程重新進(jìn)行編譯/匯編和連接

26、、然后再次進(jìn)入調(diào)試狀態(tài)的步驟。對(duì)于一些必須滿足一定條件(如按鍵被按下等)才能被執(zhí)行的、難以用單步執(zhí)行方式進(jìn)行調(diào)試的程序行,可采用斷點(diǎn)設(shè)置的方法處理。在模擬調(diào)試程序后,還須通過編程器將.hex目標(biāo)文件燒寫入單片機(jī)中才能觀察目標(biāo)樣機(jī)真實(shí)的運(yùn)行狀況。 這次我們還用到了Protel軟件畫電路圖,在之前的課程設(shè)計(jì)中我們沒有用過Protel,因此我又學(xué)習(xí)了Protel軟件的使用,我運(yùn)用的是Protel的升級(jí)版Altium Designer。Altium Designer是原Protel軟件開發(fā)商Altium公司推出的一體化的電子產(chǎn)品開發(fā)系統(tǒng),主要運(yùn)行在Windows操作系統(tǒng)。這套軟件通過把原理圖設(shè)計(jì)、電路

27、仿真、PCB繪制編輯、拓?fù)溥壿嬜詣?dòng)布線、信號(hào)完整性分析和設(shè)計(jì)輸出等技術(shù)的完美融合,為設(shè)計(jì)者提供了全新的設(shè)計(jì)解決方案,使設(shè)計(jì)者可以輕松進(jìn)行設(shè)計(jì),熟練使用這一軟件必將使電路設(shè)計(jì)的質(zhì)量和效率大大提高。Altium Designer 除了全面繼承包括Protel 99SE、Protel DXP在內(nèi)的先前一系列版本的功能和優(yōu)點(diǎn)外,還增加了許多改進(jìn)和很多高端功能。該平臺(tái)拓寬了板級(jí)設(shè)計(jì)的傳統(tǒng)界面,全面集成了FPGA設(shè)計(jì)功能和SOPC設(shè)計(jì)實(shí)現(xiàn)功能,從而允許工程設(shè)計(jì)人員能將系統(tǒng)設(shè)計(jì)中的FPGA與PCB設(shè)計(jì)及嵌入式設(shè)計(jì)集成在一起。主要功能有:原理圖設(shè)計(jì)、印刷電路板設(shè)計(jì)、FPGA的開發(fā)、嵌入式開發(fā)、3D PCB設(shè)計(jì)

28、。 這次由于使用了單片機(jī),所以我還用到了燒錄軟件STC-ISP-v4.80,以前做實(shí)驗(yàn)的時(shí)候見過這個(gè)東西,所以剛好自己查了下用法。STC單片機(jī)具有通過串口編程功能,簡單到通過串口3三根線就能將程序燒錄到單片機(jī)內(nèi),這大大的方便了開發(fā)人員,省去了昂貴復(fù)雜的編程器,在調(diào)試程序時(shí)也可將內(nèi)部數(shù)據(jù)直接通過串口發(fā)送到PC上觀看,一些不太復(fù)雜的程序甚至可以省掉仿真器。目前大部分的計(jì)算機(jī)都不帶串口,這里還得介紹一下一個(gè)小轉(zhuǎn)換工具,可將PC上的USB口轉(zhuǎn)換成單片機(jī)的TTL電平。插入硬件后提示安裝驅(qū)動(dòng),完成后查看PC上設(shè)備管理器,端口中會(huì)多出一個(gè)串口,這里是COM3,記住這個(gè)串口號(hào),下面給單片機(jī)燒錄是要用。單片機(jī)板

29、和轉(zhuǎn)換板連線對(duì)應(yīng)連接好,如發(fā)現(xiàn)無法通訊,可調(diào)整2、3的連線。1,地線-地線2,TXD-RXD3,RXD-TXD轉(zhuǎn)換板由于PC供電,指對(duì)外提供很小的供電能力,建議單片機(jī)板用單獨(dú)的電源供電,切記不能外接電源和轉(zhuǎn)換板同時(shí)對(duì)單片機(jī)板供電,否則會(huì)燒設(shè)備或計(jì)算機(jī)的危險(xiǎn)。硬件連接正常后就是通過STC專門的燒錄軟件進(jìn)行燒錄了。1、現(xiàn)在對(duì)應(yīng)的單片機(jī)型號(hào)2、打開編譯過的需要寫入單片機(jī)內(nèi)的程序,類型都是以.bin和.Hex結(jié)尾的文件。3、選擇連接的串口號(hào),就是上邊在設(shè)備管理器里看到的COM3。4、選擇通訊波特率,單片機(jī)目標(biāo)板上有晶振的,這一項(xiàng)基本可以不用理會(huì),系統(tǒng)會(huì)自動(dòng)適應(yīng)合適的波特率。如果目標(biāo)板使用的是內(nèi)部振蕩,

30、由于內(nèi)部制造誤差,自動(dòng)波特率可能會(huì)連接不成功,這時(shí)就要手工設(shè)置,最高和最低都設(shè)成一樣,從最大數(shù)到最小數(shù)一個(gè)一個(gè)試,直到連接成功為止,最差的就只能以1200的波特率燒錄了,燒錄時(shí)間稍長些,沒辦法就多等會(huì)兒吧。其它選項(xiàng)不知道啥意思的就不要亂選。5、最后一項(xiàng)就是燒錄了,一定記住要先點(diǎn)擊“下載”,然后再給單片機(jī)目標(biāo)板供電。第八章 心得體會(huì)通過這次課程設(shè)計(jì),我學(xué)到了很多東西,然后讓我對(duì)以前學(xué)的東西又進(jìn)行了進(jìn)一步的加深,在這個(gè)過程中,讓我對(duì)以前學(xué)的似懂非懂的單片機(jī)又進(jìn)行了進(jìn)一步的了解,我的專業(yè)知識(shí)和動(dòng)手能力都得到了進(jìn)一步的提高。由于C語言是大一剛來學(xué)的時(shí)候?qū)W的,而那時(shí)候第一次接觸這種繁瑣的東西,就會(huì)產(chǎn)生一

31、種抵觸,所以并沒有去好好學(xué)習(xí)這門課,所以導(dǎo)致了這次課設(shè)要用到C語言寫程序時(shí)頭都大了,所以我又相當(dāng)于重新學(xué)了一點(diǎn)C語言的知識(shí),然后經(jīng)過從書上的和網(wǎng)上的程序,結(jié)合了下就寫出了自己所需要的程序。仿真軟件由于之前用過,所以還算是比較容易的一步。仿真時(shí),主要使用軟件keil、Proteus 8 Professional。其中keil用來編寫C語言程序,以及編譯連接使之產(chǎn)生后綴名為hex的文件,將其燒錄在軟件Proteus 8 Professional中進(jìn)行測(cè)試仿真調(diào)試。還運(yùn)用到了Altium Designer用來畫電路圖。這次實(shí)習(xí)的重點(diǎn)就是如何編寫程序以及仿真中的行騙各個(gè)管腳的連接問題,主要的元器件有S

32、TC89C52、lcd1602液晶顯示等。本次設(shè)計(jì)把理論應(yīng)用到了實(shí)踐中,同時(shí)通過設(shè)計(jì),也加深了自己對(duì)理論知識(shí)的理解和掌握,在解決困難的過程中,獲得了許多專業(yè)方面的知識(shí),拓展了視野。提高了理論水平和實(shí)際的動(dòng)手能力,學(xué)會(huì)了解決問題的方法,激發(fā)了我的探索精神。這樣的課程設(shè)計(jì)是很好的鍛煉機(jī)會(huì),這次課程設(shè)計(jì)是我們上大學(xué)以來第二次關(guān)于電子方面的課程設(shè)計(jì),我相信通過這兩次的課程設(shè)計(jì)的鋪墊,以后我們?cè)谧霎厴I(yè)設(shè)計(jì)的時(shí)候,應(yīng)該會(huì)省事的多,所以我堅(jiān)信我們會(huì)做出一個(gè)好的畢業(yè)設(shè)計(jì),然后在畢業(yè)之后能有一個(gè)好的出路。 參考文獻(xiàn)1 張毅坤.陳善久,裘雪紅. 單片微型計(jì)算機(jī)原理及應(yīng)用M. 西安電子科技大學(xué)出版社. 2009.

33、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è)計(jì)(第二版)M. 清華大學(xué)出版社. 2001.78-105.6 童詩白. 模擬電子技術(shù)基礎(chǔ)M. 高等教育出版社. 2010. 128-169.7 馬忠梅. 單片機(jī)的C語言應(yīng)用程序設(shè)計(jì)M. 北京航空航天大學(xué)出版社. 2011.189-221.8 周潤景. PROTEUS入門實(shí)用教程M. 機(jī)械工業(yè)出版社. 201

34、1.57-85.9 肖婧. 單片機(jī)系統(tǒng)設(shè)計(jì)與仿真基于ProtuesM. 北京航空航天大學(xué)出版社. 2010. 124-140.10 李麗榮,張常全,鄭建紅. 51單片機(jī)應(yīng)用設(shè)計(jì)M. 北京理工大學(xué)出版社. 2012. 194-211.11 藍(lán)和慧,寧武,閆曉金. 全國大學(xué)生電子設(shè)計(jì)競賽單片機(jī)應(yīng)用技能精解M. 2009. 191-217. 附錄附錄一 電路仿真圖 附錄二 程序清單#include <reg52.h>#include <intrins.h>unsigned char code cdis1 = "SPEED:" ;unsigned char

35、code cdis2 = "r/min"sbit LCD_RS = P2 6; /寄存器選擇位,將RS位定義為P2.6引腳sbit LCD_RW = P2 5;/讀寫選擇位,將RW位定義為P2.5引腳sbit LCD_EN = P2 7;/使能信號(hào)位,將EN位定義為P2.7引腳bit sec = 0;unsigned char msec = 0, Hdata = 0, Ldata = 0, Count = 0;unsigned long temp = 0;unsigned char data display = 0x00, 0x00, 0x00, 0x00, 0x00;ch

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

37、據(jù)規(guī)定,RS為低電平,RW為高電平時(shí),可以讀狀態(tài) LCD_RW = 1; LCD_EN = 1;/EN=1,才允許讀寫 delayNOP();/空操作,給硬件反應(yīng)時(shí)間 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同時(shí)為低電平時(shí),可

38、以寫入指令 LCD_RW = 0; LCD_EN = 1; /E置低電平(寫指令時(shí),E為高脈沖,就是讓E從0到1發(fā)生正跳變,所以應(yīng)先置"0") P0 = cmd;/將數(shù)據(jù)送入P0口,即寫入指令或地址 delayNOP();/空操作,給硬件反應(yīng)時(shí)間 LCD_EN = 0;/當(dāng)E由高電平跳變成低電平時(shí),液晶模塊開始執(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為低

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論