畢業(yè)設(shè)計(jì)-基于單片機(jī)的電機(jī)測(cè)速系統(tǒng)_第1頁(yè)
畢業(yè)設(shè)計(jì)-基于單片機(jī)的電機(jī)測(cè)速系統(tǒng)_第2頁(yè)
畢業(yè)設(shè)計(jì)-基于單片機(jī)的電機(jī)測(cè)速系統(tǒng)_第3頁(yè)
畢業(yè)設(shè)計(jì)-基于單片機(jī)的電機(jī)測(cè)速系統(tǒng)_第4頁(yè)
畢業(yè)設(shè)計(jì)-基于單片機(jī)的電機(jī)測(cè)速系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩25頁(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ì)基于單片機(jī)的電機(jī)測(cè)速系統(tǒng) 姓 名: 專(zhuān)業(yè)班級(jí): xxxxxxxxxxxxx 學(xué) 號(hào): xxxxx 指導(dǎo)老師: xxxx 目錄1 前言12總體方案設(shè)計(jì)22.1方案論證22.2方案比較22.3 方案選擇33.硬件部分設(shè)計(jì)43.1速度檢測(cè)電路43.1.1開(kāi)關(guān)型霍爾傳感器介紹43.1.2 傳感檢測(cè)電路53.2單片機(jī)最小系統(tǒng)電路63.2.1 主控器STC89C52的介紹73.2.2 時(shí)鐘電路83.2.3 復(fù)位電路93.3 數(shù)碼顯示電路103.4 RS-232串行通信接口電路113.4.1 MAX232介紹113.4.2串行通信接口電路124. 軟件設(shè)計(jì)144.1主程序設(shè)計(jì)144.2 T0定

2、時(shí)中斷程序設(shè)計(jì)15心得體會(huì)17附錄18附錄1:電機(jī)測(cè)速系統(tǒng)總電路圖18附錄2:電機(jī)測(cè)速系統(tǒng)總程序代碼19281 前言隨著科技的飛速發(fā)展,計(jì)算機(jī)應(yīng)用技術(shù)日益滲透到社會(huì)生產(chǎn)生活的各個(gè)領(lǐng)域,而單片機(jī)的應(yīng)用則起到了舉足輕重的作用。單片機(jī)又稱(chēng)單片微控制器,就是把一個(gè)計(jì)算機(jī)系統(tǒng)集成到一個(gè)芯片上。它完整地包含了計(jì)算機(jī)內(nèi)部的CPU(運(yùn)算器、控制器)、程序存儲(chǔ)器(相當(dāng)于計(jì)算機(jī)的硬盤(pán))、數(shù)據(jù)存儲(chǔ)器(相當(dāng)于計(jì)算機(jī)的內(nèi)存)、輸入輸出端口等。雖然它的運(yùn)算速度無(wú)法和計(jì)算機(jī)相比,但在一些實(shí)際的控制應(yīng)用場(chǎng)合已經(jīng)足夠使用了。對(duì)于高等院校電子類(lèi)和計(jì)算機(jī)類(lèi)的學(xué)生,學(xué)習(xí)單片機(jī)是很重要的,而進(jìn)行應(yīng)用單片機(jī)的課程設(shè)計(jì)更是重中之重,將所學(xué)

3、理論知識(shí)應(yīng)用到實(shí)際,使更加全面的了解和掌握單片機(jī)的應(yīng)用。在工程實(shí)踐中,經(jīng)常會(huì)遇到各種需要測(cè)量轉(zhuǎn)速的場(chǎng)合,例如在發(fā)動(dòng)機(jī)、電動(dòng)機(jī)、機(jī)床主軸等旋轉(zhuǎn)設(shè)備的試驗(yàn)運(yùn)轉(zhuǎn)和控制中,常需要分時(shí)或連續(xù)測(cè)量、顯示其轉(zhuǎn)速及瞬時(shí)速度。為了能精確地測(cè)量轉(zhuǎn)速,還要保證測(cè)量的實(shí)時(shí)性,要求能測(cè)得瞬時(shí)轉(zhuǎn)速。本文提出一種基于STC89C52單片機(jī)實(shí)施電機(jī)轉(zhuǎn)速測(cè)量的方法,利用霍爾傳感器采集脈沖信號(hào),通過(guò)定時(shí)計(jì)數(shù)算法程序,將轉(zhuǎn)速結(jié)果實(shí)時(shí)顯示出來(lái)。在本次設(shè)計(jì)中也用到了一些常用的數(shù)字電子單元元件,如霍爾傳感器,霍爾器件作為一種轉(zhuǎn)速測(cè)量系統(tǒng)的傳感器,具有結(jié)構(gòu)牢固、體積小、重量輕、壽命長(zhǎng)、安裝方便等優(yōu)點(diǎn),。在實(shí)際的使用中,一般需要一個(gè)鐵質(zhì)的測(cè)

4、速齒輪,齒厚大于2 mm即可,將之固定在待測(cè)轉(zhuǎn)速的軸上。2總體方案設(shè)計(jì)2.1方案論證 在工程實(shí)踐中,經(jīng)常會(huì)遇到各種需要測(cè)量轉(zhuǎn)速的場(chǎng)合,例如在發(fā)動(dòng)機(jī)、電動(dòng)機(jī)、機(jī)床主軸等旋轉(zhuǎn)設(shè)備的試驗(yàn)運(yùn)轉(zhuǎn)和控制中,常需要分時(shí)或連續(xù)測(cè)量、顯示其轉(zhuǎn)速及瞬時(shí)速度。為了能精確地測(cè)量轉(zhuǎn)速,還要保證測(cè)量的實(shí)時(shí)性,要求能測(cè)得瞬時(shí)轉(zhuǎn)速。本次課程設(shè)計(jì)主要是利用STC89C52單片機(jī)和傳感器來(lái)設(shè)計(jì)電機(jī)電機(jī)測(cè)速系統(tǒng)。利用傳感器采集脈沖信號(hào),通過(guò)定時(shí)計(jì)數(shù)算法程序,將轉(zhuǎn)速結(jié)果實(shí)時(shí)顯示出來(lái)。在本次設(shè)計(jì)中是利用單片機(jī)進(jìn)行信號(hào)處理,信號(hào)的采集是使用傳感器。對(duì)于選擇何種傳感器來(lái)采集信號(hào)是對(duì)測(cè)量的精度是有很大影響的。所以在本次方案比較中主要討論傳感

5、器的選擇。2.2方案比較電機(jī)光敏三極管 信號(hào)轉(zhuǎn)換LED顯示單片機(jī)處理光敏二極管圖2.1方案一方框圖方案一包括傳感器、處理器和顯示3個(gè)部分。其方框圖如圖2.1所示。在該方案中傳感器是由紅外發(fā)光二極管,和紅外光敏三極管構(gòu)成。測(cè)速的過(guò)程為:在電機(jī)的轉(zhuǎn)軸上安裝一個(gè)圓盤(pán),并在圓盤(pán)的邊緣處開(kāi)一個(gè)孔讓二極管發(fā)出的紅外光剛好可以通過(guò)。在圓盤(pán)的上下方分別安裝好發(fā)光二極管和光敏三極管,當(dāng)電機(jī)轉(zhuǎn)動(dòng)時(shí)就可以通過(guò)圓盤(pán)來(lái)改變光敏三極管接收的光線,從而產(chǎn)生點(diǎn)位信號(hào)的變化,這樣就構(gòu)成了一個(gè)收發(fā)檢測(cè)系統(tǒng),可以檢測(cè)電機(jī)的轉(zhuǎn)速。運(yùn)用的原理和光電耦合器是相同的。電機(jī)霍爾傳感器 信號(hào)轉(zhuǎn)換 LED顯示單片機(jī)處理圖2.2方案二方框圖方案二

6、也由傳感器、處理器和顯示3個(gè)部分幾部分組成,但所選擇的傳感器類(lèi)型不同,其方框圖如圖2.2所示。此方案的測(cè)速系統(tǒng)主要是由開(kāi)關(guān)型霍爾傳感器A3144E以及磁鋼構(gòu)成,由它們來(lái)檢測(cè)電機(jī)的轉(zhuǎn)速。工作方式為:將磁鋼安裝在電機(jī)的轉(zhuǎn)軸上,而霍爾傳感器則放在轉(zhuǎn)軸的旁邊,霍爾傳感器連接在電路中,當(dāng)磁鋼隨轉(zhuǎn)軸經(jīng)過(guò)霍爾傳感器時(shí),由開(kāi)關(guān)型霍爾傳感器的工作原理知,此時(shí)將輸出一個(gè)低電平信號(hào);而當(dāng)磁鋼離開(kāi)霍爾傳感器后,又將輸出一個(gè)高電平。這樣通過(guò)高低電平的轉(zhuǎn)換,將其送入單片機(jī)后就可以測(cè)量它的轉(zhuǎn)速。2.3 方案選擇兩個(gè)方案的主體電路相同,只是傳感的的選擇不同。而選擇開(kāi)關(guān)型霍爾傳感器則具有多種優(yōu)點(diǎn):精度高:在工作溫度區(qū)內(nèi)精度優(yōu)于

7、1%。過(guò)載能力強(qiáng):當(dāng)原邊電流超負(fù)荷,模塊達(dá)到飽和,可自動(dòng)保護(hù),即使過(guò)載電流是額定值的20倍時(shí),模塊也不會(huì)損壞。模塊的高靈敏度,使之能夠區(qū)分在“高分量”上的弱信號(hào),例如:在幾百安的直流分量上區(qū)分出幾毫安的交流分量。還可以通過(guò)使用多塊磁鋼來(lái)倍頻,以增加測(cè)量的精度。鑒于以上考慮,最終選定方案二為本次課程設(shè)計(jì)方案。3.硬件部分設(shè)計(jì)3.1速度檢測(cè)電路3.1.1開(kāi)關(guān)型霍爾傳感器介紹霍爾傳感器是利用霍爾效應(yīng)原理制成的一種磁敏傳感器。它是近年來(lái)為適應(yīng)信息采集的需要而迅速發(fā)展起來(lái)的一種新型傳感器,這類(lèi)傳感器具有工作頻帶寬,響應(yīng)快、面積小、靈敏度高、無(wú)缺點(diǎn)、便于集成化、多功能化等優(yōu)點(diǎn),且易與計(jì)算機(jī)和其它數(shù)字儀表接

8、口,因此被廣泛用于自動(dòng)監(jiān)測(cè)、自動(dòng)測(cè)量、自動(dòng)報(bào)警、自動(dòng)控制、信息傳遞、生物醫(yī)學(xué)等各個(gè)領(lǐng)域。此處主要介紹開(kāi)關(guān)型霍爾傳感器。開(kāi)關(guān)型霍爾傳感器由穩(wěn)壓器A、硅霍爾片B、差分放大器C、施密特觸發(fā)器D和OC門(mén)輸出E五部分組成,如圖3.11所示從輸入端1輸入電壓Vcc,經(jīng)穩(wěn)壓器A穩(wěn)壓后加在硅霍爾片B的兩端,以提供恒定不變的工作電流在垂直于霍爾片的感應(yīng)面方向施加磁場(chǎng),產(chǎn)生霍爾電勢(shì)差Vw,該n信號(hào)經(jīng)差分放大器c放大后送至施密特觸發(fā)器D整形當(dāng)磁場(chǎng)達(dá)到“工作點(diǎn)”(即B。)時(shí),觸發(fā)器D輸出高電壓(相對(duì)于地電位),使三極管E導(dǎo)通,輸出端V。輸出低電位,此狀態(tài)稱(chēng)為“開(kāi)”。當(dāng)施加的磁場(chǎng)達(dá)到“釋放點(diǎn)”(即B。)時(shí),觸發(fā)器D輸出

9、低電壓,使三極管E截止,輸出端y。輸出高電位,此狀態(tài)稱(chēng)為“關(guān)”。這樣2次高低電位變換,使霍爾傳感器完成了1次開(kāi)關(guān)動(dòng)作。開(kāi)關(guān)型霍爾傳感器構(gòu)成圖如圖3.1所示:圖3.1 開(kāi)關(guān)型霍爾傳感器構(gòu)成圖開(kāi)關(guān)型霍爾集成傳感器(以下簡(jiǎn)稱(chēng)開(kāi)關(guān)型霍爾傳感器)主要被應(yīng)用于周期和頻率的測(cè)量、轉(zhuǎn)速的測(cè)量、液位控制等方面。常用的開(kāi)關(guān)型霍爾傳感器有美國(guó)sPRAG1 公司的UGN3000系列如UGN3020、UGN3O3O等。它沒(méi)有輸入端,因磁場(chǎng)是由空間輸入的。規(guī)定用磁鐵的S極接近開(kāi)關(guān)型霍爾傳感器正面時(shí)形成的B為正值,從圖4.2曲線看:當(dāng)B =0時(shí), 0為高;B=Bop時(shí), 0立即變低,這點(diǎn)稱(chēng)為“工作點(diǎn)”。繼續(xù)升高B, 0不變

10、。降低B到BRp時(shí),Vo又回升。這點(diǎn)稱(chēng)為“釋放點(diǎn)”。如圖3.2所示,B 一 B 稱(chēng)為磁滯。在此差值內(nèi),輸出電位 。保持高電位或低電位不變,因而輸出穩(wěn)定可靠。 圖3.2 開(kāi)關(guān)型霍爾傳感器輸出電壓與外加磁感應(yīng)強(qiáng)度關(guān)系3.1.2 傳感檢測(cè)電路速度檢測(cè)電路是由開(kāi)關(guān)型霍爾傳感器和磁鋼組成。其電路圖如圖3.3所示。測(cè)量電機(jī)轉(zhuǎn)速的第一步就是要將電機(jī)地轉(zhuǎn)速表示為單片機(jī)可以識(shí)別的脈沖信號(hào),從而進(jìn)行脈沖計(jì)數(shù)。霍爾器件作為一種轉(zhuǎn)速測(cè)量系統(tǒng)的傳感器,具有結(jié)構(gòu)牢固、體積小、重量輕、壽命長(zhǎng)、安裝方便等優(yōu)點(diǎn),當(dāng)電機(jī)轉(zhuǎn)動(dòng)時(shí),帶動(dòng)傳感器,產(chǎn)生對(duì)應(yīng)頻率的脈沖信號(hào),經(jīng)過(guò)信號(hào)處理后輸出到計(jì)數(shù)器或其他的脈沖計(jì)數(shù)裝置,進(jìn)行轉(zhuǎn)速的測(cè)量。在

11、實(shí)際的使用中,一般需要一個(gè)鐵質(zhì)的測(cè)速齒輪,齒厚大于2 mm即可,將之固定在待測(cè)轉(zhuǎn)速的軸上。所謂磁鋼,就是磁鋼就是一種有磁性的鋼鐵。在傳感檢測(cè)電路中將磁鋼安裝在電機(jī)的轉(zhuǎn)軸上,而霍爾傳感器則放在轉(zhuǎn)軸的旁邊,霍爾傳感器連接在電路中,當(dāng)磁鋼隨轉(zhuǎn)軸經(jīng)過(guò)霍爾傳感器時(shí),由開(kāi)關(guān)型霍爾傳感器的工作原理知,此時(shí)將輸出一個(gè)低電平信號(hào);而當(dāng)磁鋼離開(kāi)霍爾傳感器后,又將輸出一個(gè)高電平。這樣通過(guò)高低電平的轉(zhuǎn)換,將其送入單片機(jī)后就可以測(cè)量它的轉(zhuǎn)速。其電路如圖3.3所示。圖3.3 傳感器部分3.2單片機(jī)最小系統(tǒng)電路單片機(jī)最小系統(tǒng)電路如圖3.4所示,由主控器STC89C52、時(shí)鐘電路和復(fù)位電路三部分組成。單片機(jī)STC89C52作

12、為核心控制器控制著整個(gè)系統(tǒng)的工作,而時(shí)鐘電路負(fù)責(zé)產(chǎn)生單片機(jī)工作所必需的時(shí)鐘信號(hào),復(fù)位電路使得單片機(jī)能夠正常、有序、穩(wěn)定地工作。圖3.4 單片機(jī)最小系統(tǒng)3.2.1 主控器STC89C52的介紹本系統(tǒng)采用單片機(jī)STC8952作為主控制器,使用霍爾傳感器測(cè)量電機(jī)的轉(zhuǎn)速,最終在LED上顯示測(cè)試結(jié)果。此外,還可以根據(jù)需要調(diào)整制電機(jī)的轉(zhuǎn)速,硬件組成由圖3.5所示。單片機(jī)(Micro Controller Unit),又稱(chēng)為微控制器,是指在一塊芯片上集成了中央處理器CPU、隨機(jī)存儲(chǔ)器RAM、程序存儲(chǔ)器ROM、定時(shí)器/計(jì)數(shù)器、中斷控制器以及串行和并行I/0 接口等部件,構(gòu)成一個(gè)完整的微型計(jì)算機(jī)。目前,新型單片

13、機(jī)內(nèi)還有A/D(D/A)轉(zhuǎn)換器、高速輸入輸出部件、DMA 通道、浮點(diǎn)運(yùn)算等特殊功能部件。由于它的結(jié)構(gòu)和指令功能都是按工業(yè)控制要求設(shè)計(jì)的,特別適用于工業(yè)控制及其數(shù)據(jù)處理場(chǎng)合。STC89C52是擁有256字節(jié)的RAM,8K的片內(nèi)ROM,3個(gè)16位定時(shí)器,6個(gè)中斷源的微處理器,也就是俗稱(chēng)的單片機(jī)。89系列單片機(jī)的內(nèi)核是8031,所以其指令與Intel 8051 系列單片機(jī)完全兼容,并且具有以下優(yōu)點(diǎn):(1)內(nèi)部含有Flash 存儲(chǔ)器(STC89C52 有8k)。因此在系統(tǒng)的開(kāi)發(fā)過(guò)程中可以十分容易進(jìn)行程序的修改,這就大大縮短了系統(tǒng)的開(kāi)發(fā)周期。同時(shí),在系統(tǒng)工作過(guò)程中,能有效地保存一些數(shù)據(jù)信息,即使外界電源

14、損壞也不影響到信息的保存。(2)插座與80C51兼容。89系列單片機(jī)的引腳和80C51是一樣的,當(dāng)用89系列單片機(jī)取代80C51時(shí),可以直接進(jìn)行代換。(3)靜態(tài)時(shí)鐘方式。89系列單片機(jī)采用靜態(tài)時(shí)鐘方式,可以節(jié)省電能,這對(duì)于降低便攜式產(chǎn)品的功耗十分有用。(4)錯(cuò)誤編程亦無(wú)廢品產(chǎn)生。因?yàn)?9系列單片機(jī)內(nèi)部采用了Flash 存儲(chǔ)器,所以,錯(cuò)誤編程之后仍可以重新編程,直到正確為止,故不存在廢品。(5)可反復(fù)進(jìn)行系統(tǒng)試驗(yàn)。用89系列單片機(jī)設(shè)計(jì)的系統(tǒng),可以反復(fù)進(jìn)行系統(tǒng)試驗(yàn),每次試驗(yàn)可以編入不同的程序,這樣可以保證用戶(hù)的系統(tǒng)設(shè)計(jì)達(dá)到最優(yōu)。而且隨著用戶(hù)的需要和發(fā)展,還可以進(jìn)行修改,使系統(tǒng)不斷能追隨用戶(hù)的最新要

15、求。圖3.5 STC89C52單片機(jī)引腳圖STC8952引腳圖如圖3.5所示,此芯片共40引腳,每個(gè)引腳的功能如下:18腳: 通用I/O接口p1.0p1.7   9腳: rst復(fù)位鍵   10 .11腳:RXD串口輸入 TXD串口輸出 1219:I/O p3接口 (12,13腳 INT0中斷0;INT1中斷1;14,15 : 計(jì)數(shù)脈沖T0 T1;16,17: WR寫(xiě)控制 RD讀控制輸出端) 18,19: 晶振諧振器 20: 地線     2128:p2 接口 高8位地址總線29: psen 片外rom選通端

16、0;  單片機(jī)對(duì)片外rom操作時(shí) 29腳(psen)輸出低電平   30:ALE/PROG 地址鎖存器   31:EA rom取指令控制器 高電平片內(nèi)取 低電平片外取   3239:p0.0p0.7(注意此接口的順序與其他I/O接口不同 與引腳號(hào)的排列順序相反)  40:電源+5V3.2.2 時(shí)鐘電路STC89C52 單片機(jī)芯片內(nèi)部設(shè)有一個(gè)由反向放大器所構(gòu)成的振蕩器。19腳(XTAL1)為振蕩器。反相放大器和內(nèi)部時(shí)鐘發(fā)生電路的輸入端,18腳(XTAL2)為振蕩器反相放大器的輸出端。在XTAL1和XTAL2引腳上外接

17、定時(shí)元器件,內(nèi)部振蕩電路就會(huì)產(chǎn)生自激振蕩。本系統(tǒng)采用的定時(shí)元器件為石英晶體(晶振)和電容組成的并聯(lián)諧振回路。晶振頻率為6MHz,電容大小為1530pF,電容的大小可以起到頻率微調(diào)的作用,時(shí)鐘電路如圖3.6所示。 圖3.6 時(shí)鐘電路(晶振)3.2.3 復(fù)位電路STC89C52的復(fù)位是由外部的復(fù)位電路來(lái)實(shí)現(xiàn)的,復(fù)位電路通常采用上電復(fù)位和按鈕復(fù)位兩種方式,本設(shè)計(jì)采用的是最簡(jiǎn)單的上電自動(dòng)復(fù)位電路,其電路圖如圖3.7所示。上電自動(dòng)復(fù)位是通過(guò)外部復(fù)位電路的電容充電實(shí)現(xiàn)的,當(dāng)電源接通時(shí)只要VCC的上升時(shí)間不超過(guò)1毫秒,就可以實(shí)現(xiàn)自動(dòng)上電復(fù)位。本設(shè)計(jì)時(shí)鐘頻率選用6MHZ,電容取22微法,電阻取1千歐。 圖3.

18、7 復(fù)位電路3.3 數(shù)碼顯示電路LED又稱(chēng)為數(shù)碼管,它主要由8段發(fā)光二極管組成的不同組合,可以顯示ag為數(shù)字和字符顯示段,h段為小數(shù)點(diǎn)顯示,通過(guò)ag為7個(gè)發(fā)光段的不同組合,可以顯示09和AF共16個(gè)數(shù)字和字母。LED可以分為共陰極和共陽(yáng)極兩種結(jié)構(gòu)。共陰極結(jié)構(gòu)即把8個(gè)發(fā)光二極管陰極連在一起。這種裝入數(shù)碼管中顯示字形的數(shù)據(jù)稱(chēng)字形碼,又稱(chēng)段選碼。點(diǎn)亮LED顯示器有兩種方式:一是靜態(tài)顯示:二是動(dòng)態(tài)顯示。所謂靜態(tài)顯示,就是當(dāng)顯示器顯示某一個(gè)字符時(shí),相應(yīng)的發(fā)光二極管恒定的導(dǎo)通或截止。如圖3.8所示為4位靜態(tài)LED顯示電路。該電路每一位可單獨(dú)顯示。只要在要顯示的那位段選線上保持段選電平,該位就能保持顯示相應(yīng)

19、的顯示字符。這種電路的優(yōu)點(diǎn)是:在同一瞬間可以顯示不同的字符;但缺點(diǎn)就是占用端口資源較多。從下圖可以看出,每位LED顯示器需要單獨(dú)占用8根端口線,因而,在數(shù)據(jù)較多時(shí)不采用此中設(shè)計(jì),而是采用動(dòng)態(tài)顯示方式。本設(shè)計(jì)采用靜態(tài)顯示。圖3.8靜態(tài)顯示電路所謂動(dòng)態(tài)顯示,就是將要顯示的多位LED顯示器采用一個(gè)8位的段選端口,然后采用動(dòng)態(tài)掃描方式一位一位地輪流點(diǎn)亮各位顯示器。如下圖3.9所示為4位LED動(dòng)態(tài)顯示電路。 +5VP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7P2.0P2.1P2.2AT89C51P2.3圖3.94位動(dòng)態(tài)LED顯示器電路本設(shè)計(jì)用到的是LED顯示器靜態(tài)顯示方式,其電路如圖

20、3.10所示是發(fā)光二極管顯示器(LED)的結(jié)構(gòu)、工作原理及接口電路。圖3.10 LED顯示部分3.4 RS-232串行通信接口電路單片機(jī)的串行口是非常有用的,通過(guò)它我們可以把單片機(jī)系統(tǒng)的數(shù)據(jù)傳回電腦處理或者接受電腦傳過(guò)來(lái)的數(shù)據(jù)而進(jìn)行相應(yīng)的動(dòng)作。微控制器有許多標(biāo)準(zhǔn)的通信方法,但在主/從嵌入式系統(tǒng)中,最常用的是RS23 2串行接口、SPI和I2C。52單片機(jī)有一個(gè)全雙工的串行通信口,非常適合與電腦進(jìn)行通信,本次課程設(shè)計(jì),采用的是RS232出行接口方式。3.4.1 MAX232介紹MAX232是由德州儀器公司(TI)推出的一款兼容RS232標(biāo)準(zhǔn)的芯片。由于電腦串口rs232電平是-10v +10v,

21、而一般的單片機(jī)應(yīng)用系統(tǒng)的信號(hào)電壓是TTL電平0 +5v,max232就是用來(lái)進(jìn)行電平轉(zhuǎn)換的,該器件包含2驅(qū)動(dòng)器、2接收器和一個(gè)電壓發(fā)生器電路提供TIA/EIA-232-F電平。MAX232引腳圖如圖3.11所示。該器件符合TIA/EIA-232-F標(biāo)準(zhǔn),每一個(gè)接收器將TIA/EIA-232-F電平轉(zhuǎn)換成5-V TTL/CMOS電平。每一個(gè)發(fā)送器將TTL/CMOS電平轉(zhuǎn)換成TIA/EIA-232-F電平。其主要特點(diǎn)為: 1、單5V電源工作2、LinBiCMOSTM工藝技術(shù)3、兩個(gè)驅(qū)動(dòng)器及兩個(gè)接收器4、±30V輸入電平5、低電源電流:典型值是8mA6、符合甚至優(yōu)于ANSI標(biāo)準(zhǔn) EIA/T

22、IA-232-E及ITU推薦標(biāo)準(zhǔn)V.287、ESD保護(hù)大于MIL-STD-883(方 法3015)標(biāo)準(zhǔn)的2000V圖3.11 MAX232引腳圖3.4.2串行通信接口電路串行端口的本質(zhì)功能是作為CPU和串行設(shè)備間的編碼轉(zhuǎn)換器。當(dāng)數(shù)據(jù)從CPU經(jīng)過(guò)串行端口發(fā)送出去時(shí),字節(jié)數(shù)據(jù)轉(zhuǎn)換為串行的位。在接收數(shù)據(jù)時(shí),串行的位被轉(zhuǎn)換為字節(jié)數(shù)據(jù)。 在Windows環(huán)境(Windows NT、Win98、Windows2000)下,串口是系統(tǒng)資源的一部分。 應(yīng)用程序要使用串口進(jìn)行通信,必須在使用之前向操作系統(tǒng)提出資源申請(qǐng)要求(打開(kāi)串口),通信完成后必須釋放資源(關(guān)閉串口)。本次課程設(shè)計(jì)串行通信接口電路如圖3.12所

23、示。圖3.12串行通信接口電路 4. 軟件設(shè)計(jì)對(duì)于電機(jī)轉(zhuǎn)速的測(cè)定,一般有兩種方法:一種是測(cè)頻率,就是在給定時(shí)間內(nèi)測(cè)電機(jī)轉(zhuǎn)了幾圈,這種方法適合于高速旋轉(zhuǎn)的電機(jī);另一種則是測(cè)周期,就是測(cè)電機(jī)轉(zhuǎn)一圈的時(shí)間,這種方法適合于測(cè)低速的電機(jī)。而我們這次使用的電機(jī)是一個(gè)高速的直流電機(jī),所以就選用測(cè)頻法來(lái)編程。4.1主程序設(shè)計(jì)本系統(tǒng)采用STC89C52中的T0定時(shí)器和T1計(jì)數(shù)器配合使用對(duì)轉(zhuǎn)速脈沖定時(shí)計(jì)數(shù)。計(jì)數(shù)器T1工作于計(jì)數(shù)狀態(tài)對(duì)外部脈沖進(jìn)行計(jì)數(shù);T0工作為定時(shí)器方式每次定時(shí)10ms。本設(shè)計(jì)程序編程的思想就是在給定的10ms之內(nèi),用單片機(jī)自帶的計(jì)數(shù)器T1對(duì)外部脈沖進(jìn)行計(jì)數(shù)。主程序的流程圖如圖4.1所示。Y平顯示

24、數(shù)據(jù)關(guān)閉計(jì)數(shù)器T1處理TH1,TH0 數(shù)據(jù)buf_min=100等待50ms 開(kāi)啟計(jì)數(shù)器T1開(kāi)啟定時(shí)T0N平初始化T0,T1開(kāi)始圖4.1 主程序流程圖主程序部分程序如下:#include<AT89X51.H>#define uint unsigned intsbit CNPN0=P00;sbit CNPN1=P01;sbit CNPN2=P02;sbit CNPN3=P03;uint buf_min=0x1,flag;void delay(uint x)/x=1000表示4ms while(-x); void main() uint num10=0xc0,0xf9,0xa4,0xb

25、0,0x99,0x92,0x82,0xf8,0x80,0x90; uint i,j,temp; uint sum=0x0,disnum4=0; TMOD=0x51; /TO工作為定時(shí)方式,T1工作為計(jì)數(shù)方式 TH0=-10236/256; TL0=-10236%256; TH1=0; TL1=0; EA=1; /啟動(dòng)外部中斷04.2 T0定時(shí)中斷程序設(shè)計(jì)T0定時(shí)中斷程序主要是完成10ms的定時(shí)任務(wù),并且對(duì)變量buf_min進(jìn)行加一處理,其中在對(duì)T0進(jìn)行賦初值時(shí),選擇為10236而不是10000。主要是c語(yǔ)言在經(jīng)過(guò)反匯編后,一條c語(yǔ)句將會(huì)編譯成幾條語(yǔ)句,這樣就增加了指令執(zhí)行的時(shí)間,使定時(shí)產(chǎn)生誤差

26、,而在經(jīng)過(guò)多次調(diào)試后,選擇10236為T(mén)0初值是最接近10ms的。Y進(jìn)入定時(shí)中斷關(guān)閉定時(shí)器T0開(kāi)啟定時(shí)器T0buf_min加1TH0,TL0賦值退出中斷圖4.2 T0定時(shí)中斷流程圖T0 定時(shí)中斷部分程序:void time0() interrupt 1 /定時(shí)10ms EA=0; ET0=0; TR0=0; TH0=-10236/256; TL0=-10236%256; buf_min+; EA=1; ET0=1; TR0=1; 心得體會(huì)在本次課程設(shè)計(jì)中,介紹了一種基于STC89C52單片機(jī)的電機(jī)測(cè)速系統(tǒng),該測(cè)速系統(tǒng)采用集成霍爾傳感器敏感速率信號(hào),具有頻率響應(yīng)快、抗干擾能力強(qiáng)等特點(diǎn)?;魻杺鞲衅?/p>

27、的輸出信號(hào)經(jīng)信號(hào)調(diào)理后,通過(guò)單片機(jī)對(duì)連續(xù)脈沖記數(shù)來(lái)實(shí)現(xiàn)轉(zhuǎn)速測(cè)控,并且充分利用了單片機(jī)的內(nèi)部資源,有很高的性?xún)r(jià)比。經(jīng)過(guò)測(cè)試并對(duì)誤差進(jìn)行分析發(fā)現(xiàn),該系統(tǒng)的測(cè)量誤差在5以?xún)?nèi),并且在測(cè)量范圍內(nèi)轉(zhuǎn)速越高測(cè)量精度越高。所以該系統(tǒng)在一般的轉(zhuǎn)速檢測(cè)和控制中均可應(yīng)用。通過(guò)本次課程設(shè)計(jì),我對(duì)單片機(jī)的工作原理和應(yīng)用有了深入的理解,掌握了單片機(jī)系統(tǒng)軟硬件設(shè)計(jì)的基本方法,對(duì)一個(gè)課題如何畫(huà)流程圖,編寫(xiě)程序等有了一定的認(rèn)識(shí)。使我深刻體會(huì)到單片機(jī)技術(shù)應(yīng)用領(lǐng)域的廣泛,也讓我了解到單片機(jī)技術(shù)對(duì)當(dāng)今人們生活的重要性。雖然本次課程設(shè)計(jì)不要求做出實(shí)物,而且只是針對(duì)微機(jī)控制的一個(gè)領(lǐng)域進(jìn)行研究和查找有關(guān)的單片機(jī)控制的資料。但是已經(jīng)讓我了解

28、到了做一個(gè)課程設(shè)計(jì)不僅要全面的分析和解決在設(shè)計(jì)時(shí)出現(xiàn)的問(wèn)題。也通過(guò)查閱資料了解到微機(jī)控制的重要性和其應(yīng)用的廣泛性。在這不斷發(fā)展的社會(huì),微機(jī)控制的自動(dòng)化已經(jīng)占據(jù)了很大的地位,而且其發(fā)展的速度是很快的,所以對(duì)于我們學(xué)習(xí)這個(gè)專(zhuān)業(yè)的學(xué)生來(lái)說(shuō),就要求我們應(yīng)該不斷的去了解最新的設(shè)計(jì)和理論知識(shí),那樣才能讓我們?cè)诒绢I(lǐng)域有一立足之地。附錄附錄1:電機(jī)測(cè)速系統(tǒng)總電路圖附錄2:電機(jī)測(cè)速系統(tǒng)總程序代碼include <reg52.h>#define uchar unsigned char#define uint unsigned intsbit G=P16;sbit ENB=P11;sbit IN3=P1

29、2;sbit IN4=P10;sbit wela=P27;sbit dula=P26;int rate;unsigned char dat_buf10=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7c,0x07,0x7f,0x67;uint ttt=0;void delay(uint z)uint x,y;for(x=z;x>0;x-)for(y=110;y>0;y-);void display(uchar shi,uchar ge)dula=1;P0=dat_bufshi;dula=0;P0=0xff;wela=1;P0=0xfe;wela=0;delay(1

30、);dula=1;P0=dat_bufge;dula=0;P0=0xff;wela=1;P0=0xfd;wela=0;delay(1);dula=1;P0=dat_bufshi;dula=0;P0=0xff;wela=1;P0=0xfb;wela=0;delay(1);dula=1;P0=dat_bufge;dula=0;P0=0xff;wela=1;P0=0xf7;wela=0;delay(1);void ISR0(void) interrupt 0/外部中斷0服務(wù)例程rate+; void T0ISR(void) interrupt 1/定時(shí)器T0中斷響應(yīng)unsigned char ge,

31、shi;TL0=0x0c;TH0=0xf0;ttt+;if(ttt>500) ttt=0; shi=rate/10; ge=rate%10; rate=0; main() TMOD=0x00; TL0=0x0c;TH0=0xf0;PT0=0;TR0=1;ET0=1; IT0=1;/外部中斷0為下降沿觸發(fā)EX0=1;/開(kāi)EX0中斷EA=1; while(1) uchar shi,ge;G=0;ENB=0;IN3=1;IN4=0;display(shi,ge);#include <reg52.h>#define uchar unsigned char#define uint un

32、signed intsbit G=P16;sbit ENB=P11;sbit IN3=P12;sbit IN4=P10;sbit wela=P27;sbit dula=P26;int rate;unsigned char dat_buf10=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7c,0x07,0x7f,0x67;uint ttt=0;void delay(uint z)uint x,y;for(x=z;x>0;x-)for(y=110;y>0;y-);void display(uchar shi,uchar ge)dula=1;P0=dat_bufshi

33、;dula=0;P0=0xff;wela=1;P0=0xfe;wela=0;delay(1);dula=1;P0=dat_bufge;dula=0;P0=0xff;wela=1;P0=0xfd;wela=0;delay(1);dula=1;P0=dat_bufshi;dula=0;P0=0xff;wela=1;P0=0xfb;wela=0;delay(1);dula=1;P0=dat_bufge;dula=0;P0=0xff;wela=1;P0=0xf7;wela=0;delay(1);void ISR0(void) interrupt 0/外部中斷0服務(wù)例程rate+; void T0ISR

34、(void) interrupt 1/定時(shí)器T0中斷響應(yīng)unsigned char ge,shi;TL0=0x0c;TH0=0xf0;ttt+;if(ttt>500) ttt=0; shi=rate/10; ge=rate%10; rate=0; main() TMOD=0x00; TL0=0x0c;TH0=0xf0;PT0=0;TR0=1;ET0=1; IT0=1;/外部中斷0為下降沿觸發(fā)EX0=1;/開(kāi)EX0中斷EA=1; while(1) uchar shi,ge;G=0;ENB=0;IN3=1;IN4=0;display(shi,ge);#include <reg52.h&

35、gt;#define uchar unsigned char#define uint unsigned intsbit G=P16;sbit ENB=P11;sbit IN3=P12;sbit IN4=P10;sbit wela=P27;sbit dula=P26;int rate;unsigned char dat_buf10=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7c,0x07,0x7f,0x67;uint ttt=0;void delay(uint z)uint x,y;for(x=z;x>0;x-)for(y=110;y>0;y-);void di

36、splay(uchar shi,uchar ge)dula=1;P0=dat_bufshi;dula=0;P0=0xff;wela=1;P0=0xfe;wela=0;delay(1);dula=1;P0=dat_bufge;dula=0;P0=0xff;wela=1;P0=0xfd;wela=0;delay(1);dula=1;P0=dat_bufshi;dula=0;P0=0xff;wela=1;P0=0xfb;wela=0;delay(1);dula=1;P0=dat_bufge;dula=0;P0=0xff;wela=1;P0=0xf7;wela=0;delay(1);void ISR0(void) interrupt 0/外部中斷0服務(wù)例程rate+; void T0ISR(void) interrupt 1

溫馨提示

  • 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)論