課程設(shè)計(jì)基于51單片機(jī)對(duì)電動(dòng)機(jī)測(cè)速_第1頁(yè)
課程設(shè)計(jì)基于51單片機(jī)對(duì)電動(dòng)機(jī)測(cè)速_第2頁(yè)
課程設(shè)計(jì)基于51單片機(jī)對(duì)電動(dòng)機(jī)測(cè)速_第3頁(yè)
課程設(shè)計(jì)基于51單片機(jī)對(duì)電動(dòng)機(jī)測(cè)速_第4頁(yè)
課程設(shè)計(jì)基于51單片機(jī)對(duì)電動(dòng)機(jī)測(cè)速_第5頁(yè)
已閱讀5頁(yè),還剩19頁(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)介

1、目 錄摘要2一 、設(shè)計(jì)題目與要求 31 、選擇實(shí)現(xiàn)轉(zhuǎn)速測(cè)量的方法3(1)根據(jù)測(cè)量方法分類3(2)根據(jù)工作原理分類4(3)幾種具體的測(cè)量方法5(4)光電開(kāi)關(guān)具體的類型52 、測(cè)量系統(tǒng)的構(gòu)成6(1)信號(hào)拾取6(2)整形倍頻7(3)單片機(jī)模塊8三 、硬件電路設(shè)計(jì) 91 .原理分析 9(1)顯示部分9(2)復(fù)位電路10(3)信號(hào)10(4)單片機(jī)時(shí)鐘11四 、系統(tǒng)程序設(shè)置與調(diào)試 121、單片機(jī)控制部分硬件調(diào)試 122、數(shù)碼管LED電路調(diào)試123、發(fā)送部分硬件電路調(diào)試 12(1)秒信號(hào)的產(chǎn)生14(2)數(shù)碼管的顯示144、系統(tǒng)流程 16五 、程序調(diào)試 161 .基于Keil的程序調(diào)試16實(shí)驗(yàn)總結(jié)21原理圖2

2、2附錄23摘要直流電機(jī)轉(zhuǎn)速作為直流電機(jī)的一項(xiàng)重要技術(shù)指標(biāo),在各個(gè)應(yīng)用場(chǎng)合都有重要的研究?jī)r(jià)值,是其他大部分技術(shù)參數(shù)的計(jì)算來(lái)源,因此,準(zhǔn)確測(cè)量直流電動(dòng)機(jī)的轉(zhuǎn)速具有重要的研究意義和理論價(jià)值。目前,在工程實(shí)踐中,經(jīng)常會(huì)遇到各種需要測(cè)量轉(zhuǎn)速的場(chǎng)合。對(duì)于工業(yè)測(cè)試,水利,機(jī)械等方面,轉(zhuǎn)速是重要的控制參數(shù)之一。尤機(jī)在工業(yè)測(cè)試系統(tǒng)中,大部分旋轉(zhuǎn)儀器需要測(cè)定目前的轉(zhuǎn)速,對(duì)機(jī)械設(shè)備進(jìn)行故障預(yù)防。因此,如何利用先進(jìn)的數(shù)字技術(shù)和計(jì)算機(jī)技術(shù)改造傳統(tǒng)的工業(yè)技術(shù),提高監(jiān)控系統(tǒng)的準(zhǔn)確性,安全性,方便性是當(dāng)前工業(yè)測(cè)控系統(tǒng)必須解決的一個(gè)問(wèn)題。 轉(zhuǎn)速測(cè)量方法較多,而模擬量的采集和模擬處理一直是轉(zhuǎn)速測(cè)量的主要方法,這種測(cè)量方技術(shù)已不能

3、適應(yīng)現(xiàn)代科技發(fā)展的要求,在測(cè)量范圍和測(cè)量精度上,已不能滿足大多數(shù)系統(tǒng)的使用。隨著大規(guī)模及超大規(guī)模集成電路技術(shù)的發(fā)展,數(shù)字系統(tǒng)測(cè)量得到普遍應(yīng)用,特別是單片機(jī)對(duì)脈沖數(shù)字信號(hào)的強(qiáng)大處理能力,使得全數(shù)字量系統(tǒng)越來(lái)越普及,其轉(zhuǎn)速測(cè)量系統(tǒng)也可以用全數(shù)字化處理。在測(cè)量范圍和測(cè)量精度方面都有極大的提高。 模擬檢測(cè):即利用測(cè)速電機(jī)作為發(fā)電機(jī),通過(guò)檢測(cè)反電勢(shì)E的大小和極性可得到轉(zhuǎn)速N和電機(jī)轉(zhuǎn)向,采用這種方法直接可以得到轉(zhuǎn)速N和輸出電壓的特性曲線,直觀,但也有很多不足,比如在高速和低速情況下實(shí)際輸出偏離理想特性。數(shù)字檢測(cè)技術(shù):即通過(guò)分析數(shù)字信號(hào)產(chǎn)生的一系列脈沖間接獲取電機(jī)轉(zhuǎn)速。如光電旋轉(zhuǎn)編碼器是將檢測(cè)圓盤(pán)劃分為等距

4、的三個(gè)同心圓,最外環(huán)和次外環(huán)分別用等距的黑白條紋分開(kāi),且最外環(huán)和次外環(huán)的縫隙位置相位差為90度,用于判斷電機(jī)的轉(zhuǎn)速,最內(nèi)環(huán)只有一個(gè)黑條紋,用作定位脈沖或者是復(fù)位脈沖,利用光電編碼器輸出的脈沖可以計(jì)算轉(zhuǎn)速,具體的又可分為M法,T法和MT法。一 、設(shè)計(jì)題目與要求電動(dòng)機(jī)轉(zhuǎn)速測(cè)量1. 實(shí)現(xiàn)對(duì)電動(dòng)機(jī)轉(zhuǎn)速的測(cè)量。2. 實(shí)時(shí)顯示直流電動(dòng)機(jī)轉(zhuǎn)速的實(shí)際測(cè)量值。設(shè)計(jì)任務(wù):利用光電接近傳感器和單片機(jī)技術(shù)設(shè)計(jì)、制作一個(gè)顯示電動(dòng)機(jī)轉(zhuǎn)速的速度測(cè)定系統(tǒng)。測(cè)量范圍約為7503000r/s,盡可能地提高測(cè)量誤差,用4位LED數(shù)碼管顯示速度。二 、方案選定1 、選擇實(shí)現(xiàn)轉(zhuǎn)速測(cè)量的方法(1)根據(jù)測(cè)量方法分類測(cè)速方法數(shù)字測(cè)速方法目前

5、有比較常用的三種:M法、T法和M/T法。測(cè)周期法“T法”在給定的角位移距離內(nèi),通過(guò)測(cè)量這一角位移的時(shí)間來(lái)進(jìn)行測(cè)速的方法,稱測(cè)周法,即“T”法若使用霍爾傳感器時(shí),可累計(jì)傳感器輸出的脈沖數(shù),測(cè)量達(dá)到給定的脈沖數(shù)所需的時(shí)間。則轉(zhuǎn)速n可由下式表示:n=X/t (r/min)其中x為給定的脈沖數(shù);t為達(dá)到給定的脈沖數(shù)所需的時(shí)間,單位min由 “T”法脈寬測(cè)量可知“T”法測(cè)量精度的誤差主要有兩個(gè)方面,一是兩脈沖的上升沿觸發(fā)時(shí)間不一致而產(chǎn)生的;二是計(jì)數(shù)和定時(shí)起始和關(guān)閉不一致而產(chǎn)生的。因此要求脈沖的上升沿(或下降沿)陡峭和計(jì)數(shù)和定時(shí)嚴(yán)格同步。測(cè)周法在低轉(zhuǎn)速時(shí)精度較高,但隨著轉(zhuǎn)速的增加,精度變差,有小于一個(gè)脈沖

6、的誤差存在5。高速時(shí)M小,量化誤差大,隨著轉(zhuǎn)速的降低誤差減小,所以T法測(cè)速適用于低速段與M法恰好相反。測(cè)頻法“M法”在一定測(cè)量時(shí)間T內(nèi),測(cè)量霍爾傳感器產(chǎn)生的脈沖數(shù)m1來(lái)測(cè)量轉(zhuǎn)速,這種以測(cè)量頻率來(lái)實(shí)現(xiàn)測(cè)量轉(zhuǎn)速的方法,稱測(cè)頻法,即“M”法。轉(zhuǎn)速n可由下式表示:n=X/t (r/min)其中t為給定的測(cè)量時(shí)間,單位min; x為測(cè)量的脈沖數(shù);在該方法中,測(cè)量精度是由于定時(shí)時(shí)間T和脈沖不能保證嚴(yán)格同步,以及在T內(nèi)能否正好測(cè)量外部脈沖的完整的周期,可能產(chǎn)生的1個(gè)脈沖的量化誤差。設(shè)置的時(shí)間過(guò)短,測(cè)量精度會(huì)受到一定的影響6。因此,為了提高測(cè)量精度,T要有足夠長(zhǎng)的時(shí)間。在上式中,Z和T均為常值,因此轉(zhuǎn)速n正比

7、于脈沖個(gè)數(shù)M。高速時(shí)M大,量化誤差小,隨著轉(zhuǎn)速的降低誤差增大,轉(zhuǎn)速過(guò)低時(shí)M將小于1,測(cè)速裝置便不能正常工作。所以M法測(cè)速只適用于高速段。測(cè)頻測(cè)周法M/T法所謂測(cè)頻測(cè)周法,即是綜合了“T”法和“M”法,一方面象“M”法那樣在對(duì)傳感器發(fā)出的脈沖計(jì)數(shù)的同時(shí),也象“T”法那樣計(jì)取脈沖的時(shí)間,通過(guò)計(jì)算即可得出轉(zhuǎn)速值。測(cè)頻測(cè)周法分別對(duì)高、低轉(zhuǎn)速具有的不同精度,利用各自的優(yōu)點(diǎn)而產(chǎn)生的方法,精度位于兩者之間。設(shè)高頻時(shí)鐘脈沖的頻率為f,則準(zhǔn)確的測(cè)速時(shí)間T=M/f,而電動(dòng)機(jī)轉(zhuǎn)速為n=60M1f/(ZM2)。本設(shè)計(jì)中采用了M法進(jìn)行測(cè)速。有如下測(cè)速方案:方案:利用單片機(jī)外部中斷引腳計(jì)數(shù)。即通過(guò)單片機(jī)外部中斷信號(hào),在中

8、斷程序?qū)﹄姍C(jī)轉(zhuǎn)速脈沖信號(hào)進(jìn)行計(jì)數(shù),測(cè)量電機(jī)轉(zhuǎn)速。將傳感器電路的輸出端CKMOT與單片機(jī)外部中斷引腳相連,用于輸入計(jì)數(shù)脈沖,設(shè)定單片機(jī)T0為定時(shí)器,定時(shí)器時(shí)間為1秒,并定義一個(gè)外部中斷變量作軟件計(jì)數(shù)器。電機(jī)每轉(zhuǎn)一周(CKMOT輸出一個(gè)脈沖信號(hào))中斷信號(hào)產(chǎn)生一次中斷請(qǐng)求,CPU響應(yīng)中斷后在中斷程序中對(duì)軟件計(jì)數(shù)器作加1運(yùn)算。當(dāng)定時(shí)器T0計(jì)時(shí)1秒到時(shí),停止中斷計(jì)數(shù),軟件計(jì)數(shù)器計(jì)數(shù)值為電機(jī)當(dāng)前的轉(zhuǎn)速。通過(guò)誤差和精度分析可知,M法適合于高速測(cè)量,當(dāng)轉(zhuǎn)速越低,產(chǎn)生的誤差會(huì)越大。T法適合于低速測(cè)量,轉(zhuǎn)速增高,誤差增大。M/T這種轉(zhuǎn)速測(cè)量方法的相對(duì)誤差與轉(zhuǎn)速n無(wú)關(guān),只與晶體振蕩產(chǎn)生的脈沖有關(guān),故可適合各種轉(zhuǎn)速下

9、的測(cè)量。因此,在實(shí)際操作時(shí)往往采用一種稱變M/T的測(cè)量方法,即所謂變M/T法,在M/T法的基礎(chǔ)上,讓測(cè)量時(shí)間Tc始終等于轉(zhuǎn)速輸入脈沖信號(hào)的周期之和?;贛法測(cè)量速度,電路和程序均較為簡(jiǎn)單,且可以在一定的條件下滿足精度的要求采用M/T法測(cè)速時(shí),應(yīng)保證高頻時(shí)鐘脈沖計(jì)數(shù)器與旋轉(zhuǎn)編碼器輸出脈沖計(jì)數(shù)器同時(shí)開(kāi)啟與關(guān)閉,以減小誤差,只有等到編碼器輸出脈沖前沿到達(dá)時(shí),兩個(gè)計(jì)數(shù)器才同時(shí)允許開(kāi)始或停止計(jì)數(shù)。由于M/T法的計(jì)數(shù)值M1和M2都隨著轉(zhuǎn)速的變化而變化,高速時(shí),相當(dāng)于M法測(cè)速,最低速時(shí),M1=1,自動(dòng)進(jìn)入T法測(cè)速,因此,M/T法測(cè)速能適用的轉(zhuǎn)速范圍明顯大于前兩種,是目前廣泛應(yīng)用的一種測(cè)速方法。測(cè)量方法比較方

10、法項(xiàng)目錯(cuò)誤!未指定書(shū)簽。M法T法M/T法單位被測(cè)速度60m1/PTg60fc/Pm260fcm1/Pm2rpm檢測(cè)時(shí)間TgTtach60/nP(60/nP)(nPTg/601)s分辨率60/PTgnP/(60fcnP)n/(m21)精度e1/m1e(1/m2)(e/m1(1/m2)m1、m2:檢測(cè)時(shí)間間隔內(nèi)的脈沖計(jì)數(shù)值(分別對(duì)應(yīng)M、T法);T為規(guī)定的檢測(cè)時(shí)間間隔;P為圓光柵編碼器每轉(zhuǎn)一圈發(fā)出的轉(zhuǎn)速脈沖信號(hào)的個(gè)數(shù);fc為法中已知頻率值(填充被測(cè)頻率相鄰兩個(gè)脈沖的間隔);n是電機(jī)每分鐘的轉(zhuǎn)速;Ttach為圓光柵測(cè)速脈沖周期;e是圓光柵編碼器的制造誤差。 (2)根據(jù)工作原理分類轉(zhuǎn)速測(cè)量方法可以主要分

11、為3類:u 機(jī)械rpm轉(zhuǎn)速測(cè)量通過(guò)機(jī)械測(cè)量傳感器采集數(shù)據(jù),是最古老的rpm轉(zhuǎn)速測(cè)量方法。傳感器采集到的轉(zhuǎn)速資料,還要通過(guò)儀器內(nèi)部的電子分析。這種測(cè)量方法仍被應(yīng)用,但大多數(shù)用于20至10000rpm的低轉(zhuǎn)速測(cè)量。這種測(cè)量方法在測(cè)量過(guò)程中依賴于接觸壓力,其最大的缺點(diǎn)是加載運(yùn)動(dòng)不連續(xù)。另外,機(jī)械轉(zhuǎn)頻閃法測(cè)量rpm轉(zhuǎn)速不可應(yīng)用于細(xì)微物體,如果轉(zhuǎn)動(dòng)率過(guò)高,易發(fā)生滑走情況。u 采用反射原理的電力轉(zhuǎn)速測(cè)量法(光學(xué)rpm轉(zhuǎn)速測(cè)量法)測(cè)量?jī)x器發(fā)射出的紅外線經(jīng)固定在待測(cè)目標(biāo)上的反射條反射后,即攜帶上有關(guān)轉(zhuǎn)速信息。測(cè)量?jī)x器接收反射波后,經(jīng)過(guò)處理即可得到轉(zhuǎn)速。這種測(cè)量方法雖然要比機(jī)械rpm測(cè)量法先進(jìn),但是并非所有持待

12、測(cè)目標(biāo)上都可以安裝反射條。u 頻閃rpm轉(zhuǎn)速測(cè)量法按照頻閃原理,當(dāng)高速閃光的頻率和目標(biāo)的rpm轉(zhuǎn)速(移動(dòng))同步時(shí),在觀察者的眼中,目標(biāo)是靜靜止的。同其它的測(cè)量方法如機(jī)械法或光學(xué)傳感器法直比,頻閃原理的優(yōu)點(diǎn)顯而易見(jiàn):這種方法可以用于測(cè)量小型目標(biāo)或不便觸及部位的rpm,而不需要在待測(cè)目標(biāo)上固定反射條。例如,如用于生產(chǎn)過(guò)程測(cè)量時(shí),便不需中止。測(cè)量范圍:100至20000rpm。除了測(cè)量rpm轉(zhuǎn)速外,頻閃測(cè)量法還可用于振動(dòng)分析和動(dòng)作監(jiān)控。對(duì)于不同形式的測(cè)量方法其測(cè)量范圍如圖3-10所示:圖3-10 不同形式的測(cè)量范圍(3)幾種具體的測(cè)量方法基于霍爾傳感器的直流電機(jī)轉(zhuǎn)速測(cè)量霍爾傳感器具有許多優(yōu)點(diǎn),它們的

13、結(jié)構(gòu)牢固,體積小,重量輕,壽命長(zhǎng),安裝方便,功耗小,頻率高(可達(dá)1MHz),耐震動(dòng),不怕灰塵、油污、水汽及鹽霧等的污染或腐蝕。 霍爾線性傳感器的精度高、線性度好;霍爾開(kāi)關(guān)傳感器無(wú)觸點(diǎn)、無(wú)磨損、輸出波形清晰、無(wú)抖動(dòng)、無(wú)回跳、位置重復(fù)精度高(可達(dá)m級(jí))。其中取用了各種補(bǔ)償和保護(hù)措施的霍爾器件的工作溫度范圍可以很寬,可達(dá)55150。 基于上述優(yōu)點(diǎn)霍爾傳感器產(chǎn)業(yè)發(fā)展應(yīng)用大致分為:直接應(yīng)用和間接應(yīng)用。前者是直接檢測(cè)出受檢測(cè)對(duì)象本身的磁場(chǎng)或磁特性,其中最具特色的當(dāng)推是霍爾電流、電壓類傳感器/變送器,它們已成為當(dāng)今電子測(cè)量領(lǐng)域中應(yīng)用最多的傳感器件之一,是測(cè)量控制電流、電壓的新一代工業(yè)用電

14、量傳感器,是一種新型的高性能電氣隔離檢測(cè)元件,被廣泛用于電力、電子、交流變頻調(diào)速、逆變裝置、電子測(cè)量和開(kāi)關(guān)電源等諸多領(lǐng)域以及逆變焊機(jī),發(fā)電及輸變電設(shè)備,電氣傳動(dòng),數(shù)控機(jī)床等工業(yè)產(chǎn)品上,它正在逐步替代傳統(tǒng)的互感器和分流器,并具有精度高、線性好、頻帶寬、響應(yīng)快、過(guò)載能力強(qiáng)和不損失測(cè)量電路能量等優(yōu)點(diǎn)。 于光電傳感器的電機(jī)轉(zhuǎn)速測(cè)量目前,光電開(kāi)關(guān)已被用作物位檢測(cè)、液位控制、產(chǎn)品計(jì)數(shù)、寬度判別、速度檢測(cè)、定長(zhǎng)剪切、孔洞識(shí)別、信號(hào)延時(shí)、自動(dòng)門(mén)傳感、色標(biāo)檢出、沖床和剪切機(jī)以及安全防護(hù)等諸多領(lǐng)域。此外,利用紅外線的隱蔽性,還可在銀行、倉(cāng)庫(kù)、商店、辦公室以及其它需要的場(chǎng)合作為防盜警戒之用。(4)光電開(kāi)關(guān)具體的類型

15、l 漫反射式光電開(kāi)關(guān):它是一種集發(fā)射器和接收器于一體的傳感器,當(dāng)有被檢測(cè)物體經(jīng)過(guò)時(shí),物體將光電開(kāi)關(guān)發(fā)射器發(fā)射的足夠量的光線反射到接收器,于是光電開(kāi)關(guān)就產(chǎn)生了開(kāi)關(guān)信號(hào)。當(dāng)被檢測(cè)物體的表面光亮或其反光率極高時(shí),漫反射式的光電開(kāi)關(guān)是首選的檢測(cè)模式l 鏡反射式光電開(kāi)關(guān):它亦集發(fā)射器與接收器于一體,光電開(kāi)關(guān)發(fā)射器發(fā)出的光線經(jīng)過(guò)反射鏡反射回接收器,當(dāng)被檢測(cè)物體經(jīng)過(guò)且完全阻斷光線時(shí),光電開(kāi)關(guān)就產(chǎn)生了檢測(cè)開(kāi)關(guān)信號(hào)。l 對(duì)射式光電開(kāi)關(guān):它包含了在結(jié)構(gòu)上相互分離且光軸相對(duì)放置的發(fā)射器和接收器,發(fā)射器發(fā)出的光線直接進(jìn)入接收器,當(dāng)被檢測(cè)物體經(jīng)過(guò)發(fā)射器和接收器之間且阻斷光線時(shí),光電開(kāi)關(guān)就產(chǎn)生了開(kāi)關(guān)信號(hào)。當(dāng)檢測(cè)物體為不透

16、明時(shí),對(duì)射式光電開(kāi)關(guān)是最合適的檢測(cè)裝置。l 槽式光電開(kāi)關(guān):它通常采用標(biāo)準(zhǔn)的U字型結(jié)構(gòu),其發(fā)射器和接收器分別位于U型槽的兩邊,并形成一光軸,當(dāng)被檢測(cè)物體經(jīng)過(guò)U型槽且阻斷光軸時(shí),光電開(kāi)關(guān)就產(chǎn)生了開(kāi)關(guān)量信號(hào)。槽式光電開(kāi)關(guān)比較適合檢測(cè)高速運(yùn)動(dòng)的物體,并且它能分辨透明與半透明物體,使用安全可靠。l 光纖式光電開(kāi)關(guān):它采用塑料或玻璃光纖傳感器來(lái)引導(dǎo)光線,可以對(duì)距離遠(yuǎn)的被檢測(cè)物體進(jìn)行檢測(cè)。通常光纖傳感器分為對(duì)射式和漫反射式。 光電開(kāi)關(guān)把發(fā)射端和接收端之間光的強(qiáng)弱變化轉(zhuǎn)化為電流的變化以達(dá)到探測(cè)的目的。由于光電開(kāi)關(guān)輸出回路和輸入回路是電隔離的(即電緣絕),所以它可以在許多場(chǎng)合得到應(yīng)用。光電傳感器具有線性度好、分

17、辨率高、噪音小和精度高、無(wú)觸點(diǎn)、無(wú)機(jī)械碰撞、響應(yīng)快、控制精度高,而且能識(shí)別色標(biāo)等優(yōu)點(diǎn),在此我們選擇光電轉(zhuǎn)速傳感器來(lái)進(jìn)行轉(zhuǎn)速的檢測(cè)。其原理就是一個(gè)小型發(fā)電機(jī)。轉(zhuǎn)軸旋轉(zhuǎn)時(shí)產(chǎn)生電壓,電壓的大小與轉(zhuǎn)速成正比(非線性),可用一個(gè)具有與轉(zhuǎn)速對(duì)應(yīng)刻度的電壓表測(cè)量這個(gè)電壓。本課題中使用的光電開(kāi)關(guān)是根據(jù)光敏二極管工作原理制造的一種感應(yīng)接收光強(qiáng)度變化的器件,當(dāng)它發(fā)出的光被目標(biāo)反射或阻斷時(shí),則接收器感應(yīng)出相應(yīng)的電信號(hào)。它包含調(diào)制光源,由光敏元件等組成的光學(xué)系統(tǒng)、放大器、開(kāi)關(guān)或模擬量輸出裝置,其工作原理如圖5所示。光電式傳感器由獨(dú)立且相對(duì)放置的光發(fā)射器和收光器組成。當(dāng)目標(biāo)通過(guò)光發(fā)射器和收光器之間并阻斷光線時(shí),傳感器輸

18、出信號(hào)。它是效率最高、最可靠的檢測(cè)裝置。槽形(U形)光電開(kāi)關(guān)是對(duì)射式的變形,其優(yōu)點(diǎn)是無(wú)須調(diào)整光軸。 圖5 光電傳感器原理圖以上兩種是常用的轉(zhuǎn)速測(cè)量裝置。此外還有傅立葉變換用于電機(jī)轉(zhuǎn)速的測(cè)量、基于單片機(jī)無(wú)線電機(jī)轉(zhuǎn)速測(cè)量系統(tǒng)、基于光電碼盤(pán)的的高精度電機(jī)轉(zhuǎn)速測(cè)量等方法。綜合以上所述,本次課程設(shè)計(jì)選用計(jì)數(shù)式,光電傳感器,M/T法(頻率/周期法)測(cè)量電動(dòng)機(jī)轉(zhuǎn)速,適用于中、高速測(cè)量。2 、測(cè)量系統(tǒng)的構(gòu)成轉(zhuǎn) 速 信 號(hào) 拾 取整 形 倍 頻單 片 機(jī)顯 示 接 口 芯 片驅(qū) 動(dòng) 電 路顯 示圖1 轉(zhuǎn)速測(cè)量框圖(1)信號(hào)拾取轉(zhuǎn)速信號(hào)拾取是整個(gè)系統(tǒng)的前端通道,目的是將外界的非電參量,通過(guò)一定方式轉(zhuǎn)換成電量,這一

19、環(huán)節(jié)可以通過(guò)敏感元件、傳感器或測(cè)量?jī)x表等來(lái)實(shí)現(xiàn)。方法如下:l 通過(guò)敏感元件拾取被測(cè)信號(hào)敏感元件體積小,可以根據(jù)用戶及環(huán)境要求做成各矛中形狀的探頭,它能將被測(cè)的物理量變換成電流、電壓,只要選擇合適的元件參數(shù)。如R、L、c設(shè)計(jì)相應(yīng)的電路,便能完成這種對(duì)應(yīng)關(guān)系。這種方法設(shè)計(jì)難度大,信號(hào)穩(wěn)定度差,在模擬處理系統(tǒng)中不宜采用。l 通過(guò)傳感器拾取信號(hào)由專業(yè)人員將敏感元件和相應(yīng)的測(cè)量電路、傳遞機(jī)構(gòu)以適當(dāng)?shù)男问街瞥刹煌愋?、不同用蔓墮查蘭堡主堂篁堡三處的傳感器,根據(jù)原理輸出電量。該電量可以是模擬量或數(shù)字量,現(xiàn)代傳感器還可以輸出開(kāi)關(guān)量,用于數(shù)字邏輯電路。l 通過(guò)測(cè)量?jī)x表拾取被測(cè)信號(hào)目前有許多測(cè)量?jī)x表用于各種測(cè)量中

20、,有大信號(hào)輸出、有BcD碼輸出等,但價(jià)格昂貴,專業(yè)性強(qiáng),一般不適合通用系統(tǒng)。通用的轉(zhuǎn)速測(cè)量系統(tǒng)大都采用一種俗稱“碼盤(pán)”的傳感裝置,將圓形的碼盤(pán)固定在轉(zhuǎn)軸上,碼盤(pán)上有若干規(guī)則排列的小孔,用光電偶來(lái)輸出電信號(hào),以反映轉(zhuǎn)速對(duì)應(yīng)關(guān)系,即是將轉(zhuǎn)軸的速度以脈沖形式反映出來(lái),通常有兩種形式:1)模擬量量化后經(jīng)A仍轉(zhuǎn)換,由數(shù)字量反映角度,供單片機(jī)計(jì)算處理,得出轉(zhuǎn)速。2)直接由脈沖來(lái)反應(yīng)轉(zhuǎn)軸的角度,用每轉(zhuǎn)產(chǎn)生的脈沖經(jīng)單片機(jī)處理得出轉(zhuǎn)速。此處使用74HC1474HC14是一款高速CMOS器件,74HC14引腳兼容低功耗肖特基TTL(LSTTL)系列。74HC14遵循JEDEC標(biāo)準(zhǔn)no.7A。74HC14實(shí)現(xiàn)了6路

21、施密特觸發(fā)反相器,可將緩慢變化的輸入信號(hào)轉(zhuǎn)換成清晰、無(wú)抖動(dòng)的輸出信號(hào)。應(yīng)用: 波形、脈沖整形器非穩(wěn)態(tài)多諧振蕩器單穩(wěn)多諧振蕩器兼容JEDEC標(biāo)準(zhǔn)no.8-1AESD保護(hù):HBM EIA/JESD22-A114-A超過(guò)2000 VMM EIA/JESD22-A115-A超過(guò)200 V溫度范圍 -40+85 -40+125 主要參數(shù):典型電源電壓:5.0V正向輸入閥值電壓:VT+=1.6V負(fù)向輸入閥值電壓:VT-=0.8V驅(qū)動(dòng)電流: +/-5.2mA傳輸延遲:12ns 5V邏輯電平:CMOS引腳:14封裝類型:DIP(2)整形倍頻前向通道中,從傳感器輸出的信號(hào)必須轉(zhuǎn)換成計(jì)算機(jī)輸入要求的信號(hào),由于信號(hào)

22、調(diào)節(jié)電路與傳感器的選擇,現(xiàn)場(chǎng)干擾程度等,都會(huì)影響信號(hào)的質(zhì)量。而脈沖信號(hào)的上升沿和下降沿對(duì)數(shù)字電路的觸發(fā)尤為重要,若要將轉(zhuǎn)速脈沖信號(hào)直接加到計(jì)數(shù)器或外部中斷的輸入端,并利用其上升沿來(lái)觸發(fā)進(jìn)行計(jì)數(shù),則必須要求輸入的信號(hào)有陡峭的上升沿或下降沿。處理方法上可以用觸發(fā)器電路來(lái)整形。而倍頻電路主要用于解決低轉(zhuǎn)速時(shí)測(cè)量精度問(wèn)題。及碼盤(pán)的刻度誤差而造成的精度下降問(wèn)題。方法是在每轉(zhuǎn)中增加脈沖的個(gè)數(shù)(碼盤(pán)的線程數(shù))來(lái)提高精度。但在高轉(zhuǎn)速時(shí),由于脈沖個(gè)數(shù)的增加,限制了最高轉(zhuǎn)速測(cè)量量程,這個(gè)問(wèn)題可用單片機(jī)控制來(lái)動(dòng)態(tài)處理解決,兼顧高低轉(zhuǎn)速的測(cè)量精度。(3)單片機(jī)模塊根據(jù)系統(tǒng)功能要求以及單片機(jī)硬件電路設(shè)計(jì)思路對(duì)單片機(jī)模塊

23、進(jìn)行設(shè)計(jì),要使單片機(jī)準(zhǔn)確的測(cè)量電機(jī)轉(zhuǎn)速,并且使測(cè)出的數(shù)據(jù)能顯示出來(lái),所以整個(gè)單片機(jī)部分分為傳感器電路、時(shí)鐘電路、復(fù)位電路、執(zhí)行元件以及顯示電路五個(gè)部分。l 處理執(zhí)行元件:?jiǎn)纹瑱C(jī)我們采用AT89C51(其引腳圖如圖4-1),AT89S51單片機(jī)最小系統(tǒng)由AT89S51單片機(jī)及其外圍電路組成是整個(gè)磁電式轉(zhuǎn)速表系統(tǒng)的核心。 AT89S51單片機(jī)在高溫環(huán)境中穩(wěn)定性好,支持在線編程ISp,無(wú)需專用的編程器,方便調(diào)試.AT89S51單片機(jī)對(duì)很多嵌入式控制應(yīng)用提供了一個(gè)高靈活有效的解決方案。它的作用使形成用于產(chǎn)生超聲波的40KHZ信號(hào)、形成必要的時(shí)序、控制LCD字符的顯示。P3.2為接受霍爾傳感器脈沖信號(hào)輸

24、入端P18和P19為單片機(jī)自身的11.0592MHZ晶振P9是復(fù)位信號(hào)有一個(gè)電阻和一個(gè)電容構(gòu)成。P0.0P0.7輸出轉(zhuǎn)速數(shù)碼管顯示信號(hào)控制液晶屏的寫(xiě)入字符。P2.0-P2.3引腳對(duì)應(yīng)液晶顯示屏的位選通信號(hào)通知四個(gè)LED數(shù)碼管的選通與否。 將霍爾元件采集到的信號(hào)傳輸給單片機(jī)P3.2每發(fā)送一次脈沖單片機(jī)的計(jì)數(shù)器就自動(dòng)加1根據(jù)脈沖的次數(shù)計(jì)算出齒輪的轉(zhuǎn)速然后單片機(jī)將轉(zhuǎn)速傳輸給四連排LED數(shù)碼管顯示電路通過(guò)數(shù)碼管將轉(zhuǎn)速顯示出來(lái)。圖4-1 AT89C51引腳圖l 顯示方式:方案一:靜態(tài)顯示方式所謂靜態(tài)顯示就是指無(wú)論是多少位數(shù)碼管,同時(shí)處于顯示狀態(tài)。當(dāng)數(shù)碼管處于靜態(tài)顯示方式時(shí),所有位選線(數(shù)碼管的公共端)連

25、接在一起,而各個(gè)數(shù)碼管的段選線(數(shù)碼管上各筆段的引出線)是相互分離的。靜態(tài)顯示的優(yōu)點(diǎn)是:數(shù)碼管顯示無(wú)閃爍,亮度高,軟件控制比較容易;缺點(diǎn)是:需要的硬件電路較多(每一個(gè)數(shù)碼管都需要一個(gè)鎖存器),如果在全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽中使用,將造成很大的不便,同時(shí)由于所有數(shù)碼管都處于被點(diǎn)亮狀態(tài),所以需要的電流很大,當(dāng)數(shù)碼管的數(shù)量增多時(shí),對(duì)電源的要求也就隨之增高。所以,在大部分的硬件電路設(shè)計(jì)中,很少采用靜態(tài)顯示方式。方案二:動(dòng)態(tài)顯示方式所謂動(dòng)態(tài)顯示,是指無(wú)論在任何時(shí)刻只有一個(gè)數(shù)碼管處于顯示狀態(tài),每個(gè)數(shù)碼管輪流顯示。當(dāng)數(shù)碼管處于動(dòng)態(tài)顯示時(shí),所有位選線分離,而每個(gè)數(shù)碼管的各條段選線相連。當(dāng)需要顯示數(shù)字或字符時(shí),需

26、要將所有數(shù)碼管輪流點(diǎn)亮,這時(shí)對(duì)每個(gè)數(shù)碼管的點(diǎn)亮周期有了一個(gè)較嚴(yán)格的要求:由于發(fā)光體從通入電流開(kāi)始點(diǎn)亮到完全發(fā)光需要一定的時(shí)間,叫做響應(yīng)時(shí)間,這個(gè)時(shí)間對(duì)于不同的發(fā)光材質(zhì)是不同的,通常情況下為幾百微秒,所以數(shù)碼管的刷新周期(所有數(shù)碼管被輪流點(diǎn)亮一次的時(shí)間)不要過(guò)短,這也與數(shù)碼管的數(shù)量有關(guān),一般的數(shù)碼管的刷新周期應(yīng)控制在5ms10ms,即刷新率為200Hz100Hz,這樣既保證了數(shù)碼管每一次刷新都被完全點(diǎn)亮,同時(shí)又不會(huì)產(chǎn)生閃爍現(xiàn)象。動(dòng)態(tài)顯示的優(yōu)點(diǎn)是:硬件電路簡(jiǎn)單(數(shù)碼管越多,這個(gè)優(yōu)勢(shì)越明顯),由于每個(gè)時(shí)刻只有一個(gè)數(shù)碼管被點(diǎn)亮,所以所有數(shù)碼管消耗的電流較??;缺點(diǎn)是:數(shù)碼管亮度不如靜態(tài)顯示時(shí)的亮度高,例

27、如有8個(gè)數(shù)碼管,以1秒為單位,每個(gè)數(shù)碼管點(diǎn)亮的時(shí)間只有1/8秒,所以亮度較低;如果刷新率較低,會(huì)出現(xiàn)閃爍現(xiàn)象;如果數(shù)碼管直接與單片機(jī)連接,軟件控制上會(huì)比較麻煩等。由于本課題需要需要數(shù)碼管個(gè)數(shù)較多,為節(jié)約i/o端口綜合比較采用動(dòng)態(tài)顯示更合適。所謂動(dòng)態(tài)顯示,就一位一位地輪流點(diǎn)亮各位顯示器(掃描),對(duì)于每一位顯示器來(lái)說(shuō),每隔一段時(shí)間點(diǎn)亮一次。顯示器的亮度既與導(dǎo)通電流有關(guān),也與點(diǎn)亮?xí)r間和間隔時(shí)間的比例有關(guān)。調(diào)整電流和時(shí)間參數(shù),可實(shí)現(xiàn)亮度較高較穩(wěn)定的顯示。若顯示器的位數(shù)不大于8位,則控制顯示器公共極電位只需8位口(稱為掃描口),控制各位顯示器所顯示的字形也需一個(gè)8位口(稱為段數(shù)據(jù)口)。本次設(shè)計(jì)要求的轉(zhuǎn)速

28、測(cè)量范圍60r/min-36000r/min,所以只需要5位數(shù)碼管即可。5位共陰極顯示器和AT89C51的接口邏輯如圖4-7所示。AT89C51的P0口作為段數(shù)據(jù)口,接上拉電阻到顯示器的各個(gè)段;P2口作為掃描口,經(jīng)同相驅(qū)動(dòng)器7407接顯示器公共極。三 、硬件電路設(shè)計(jì)1 .原理分析信號(hào)脈沖整形89C51 P2.0 P2.3T0 P0.0 P0.7驅(qū) 動(dòng)圖2 單片機(jī)系統(tǒng)測(cè)量轉(zhuǎn)速原理圖(1)顯示部分4位顯示器,在AT89C41RAM存貯器中設(shè)置四個(gè)顯示緩沖器單元30H34H,分別存放4位顯示器的顯示數(shù)據(jù),AT89C41的P2口掃描輸出總是只在一位為低電平,即4位顯示器中僅有一位公共陰極為低電平,其它

29、位為高電平,AT89C41的P0口相應(yīng)位(陰極為低)的顯示數(shù)據(jù)的段數(shù)據(jù),使該位顯示出一個(gè)字符,其它們?yōu)榘?,依次地改變P2口輸出為高的位,P0口輸出對(duì)應(yīng)的段數(shù)據(jù),4位顯示器就顯示出由緩沖器中顯示數(shù)據(jù)所確定的字符。LED顯示顯示顯示顯示管管管管 數(shù)碼管中有8個(gè)發(fā)光二極管,其中7個(gè)發(fā)光二極管長(zhǎng)條段狀,可組成數(shù)字字形,1個(gè)發(fā)光二極管為點(diǎn)狀,形成小數(shù)點(diǎn),所以有時(shí)稱為七段碼。七段數(shù)碼管引腳編碼從左下腳開(kāi)始,分別為第1引腳、第2引腳。 七段數(shù)碼管的8個(gè)發(fā)光二極管分別命名為a、b、c、d、e、f、g、dp;“com”為8個(gè)LED的公共引腳。按照公共引腳的接法,七段數(shù)碼管分共陽(yáng)極和共陰極兩種。 共陽(yáng)極的七段數(shù)碼

30、管將所有LED的正極連接在公共引腳,接到電源線。當(dāng)某一個(gè)LED負(fù)極為低電平時(shí),發(fā)亮;為高電平時(shí),變暗。共陰極的七段數(shù)碼管將所有LED的負(fù)極連接在公共引腳,接到地線。當(dāng)某一個(gè)LED正極為高電平時(shí),發(fā)亮;為低電平時(shí),變暗。(2)復(fù)位電路計(jì)算機(jī)在啟動(dòng)運(yùn)行時(shí)都需要復(fù)位,使中央處理器CPU和系統(tǒng)中的其它部件都處于一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開(kāi)始工作。MCS-51單片機(jī)有一個(gè)復(fù)位引腳RST,它是史密特觸發(fā)輸入(對(duì)于CHMOS單片機(jī),RST引腳的內(nèi)部有一個(gè)拉低電阻),當(dāng)振蕩器起振后該引腳上出現(xiàn)2個(gè)機(jī)器周期(即24個(gè)時(shí)鐘周期)以上的高電平,使器件復(fù)位,只要RST保持高電平,MCS-51保持復(fù)位狀態(tài)。此時(shí)A

31、LE、PSEN、P0、P1、P2、P3口都 輸出高電平。RST變?yōu)榈碗娖胶?,退出?fù)位,CPU從初始狀態(tài)開(kāi)始工作。單片機(jī)采用的復(fù)位方式是自動(dòng)復(fù)位方式。對(duì)于MOS(AT89C51)單片機(jī)只要接一個(gè)電容至VCC即可(見(jiàn)圖43)。在加電瞬間,電容通過(guò)電阻充電,就在RST端出現(xiàn)一定時(shí)間的高電平,只要高電平時(shí)間足夠長(zhǎng),就可以使MCS-51有效的復(fù)位。RST端在加電時(shí)應(yīng)保持的高電平時(shí)間包括VCC的上升時(shí)間和振蕩器起振的時(shí)間,Vss上升時(shí)間若為10ms,振蕩器起振的時(shí)間和頻率有關(guān)。10MHZ時(shí)約為1ms,1MHZ時(shí)約為10ms,所以一般為了可靠的復(fù)位,RST在上電應(yīng)保持20ms以上的高電平。RC時(shí)間常數(shù)越大,

32、上電RST端保持高電平的時(shí)間越長(zhǎng)。若復(fù)位電路失效,加電后CPU從一個(gè)隨機(jī)的狀態(tài)開(kāi)始工作,系統(tǒng)就不能正常運(yùn)轉(zhuǎn)。圖4-3 上電復(fù)位電路(3)信號(hào)光電傳感器接受到的信號(hào)。本設(shè)計(jì)中采用對(duì)射式光電傳感器測(cè)量電機(jī)轉(zhuǎn)速。當(dāng)不透光的物體擋住發(fā)射與接收之間的間隙時(shí),開(kāi)關(guān)管關(guān)斷,反之打開(kāi)。測(cè)裝置按照發(fā)動(dòng)機(jī)上傳感器的實(shí)際安裝位置進(jìn)行安裝。將信號(hào)盤(pán)固定在電動(dòng)機(jī)轉(zhuǎn)軸上,光電轉(zhuǎn)速傳感器正對(duì)著信號(hào)盤(pán)。測(cè)量頭由光電轉(zhuǎn)速傳感器組成,而且測(cè)量頭兩端的距離與信號(hào)盤(pán)的距離相等。測(cè)量用器件封裝后,固定裝在貼近信號(hào)盤(pán)的位置,當(dāng)信號(hào)盤(pán)轉(zhuǎn)動(dòng)時(shí),光電元件即可輸出正負(fù)交替的周期性脈沖信號(hào)。信號(hào)盤(pán)旋轉(zhuǎn)一周產(chǎn)生的脈沖數(shù),等于其上的齒數(shù)。因此,脈沖信

33、號(hào)的頻率大小就反映了信號(hào)盤(pán)轉(zhuǎn)速的高低。該裝置的優(yōu)點(diǎn)是輸出信號(hào)的幅值與轉(zhuǎn)速無(wú)關(guān),而且可測(cè)轉(zhuǎn)速范圍大,一般為1r/s104 r/s以上,精確度高。所謂計(jì)數(shù)是對(duì)外部事件進(jìn)行計(jì)數(shù)。外部事件的發(fā)生以輸入脈沖表示,因此,計(jì)數(shù)功能的本質(zhì)就是對(duì)外來(lái)脈沖進(jìn)行計(jì)數(shù)。T0(P3.4)和T1(P3.5)兩個(gè)信號(hào)引腳,分別是這兩個(gè)計(jì)數(shù)器計(jì)數(shù)輸入端,外部輸入的脈沖在負(fù)跳變時(shí)有效,進(jìn)行計(jì)數(shù)器加一(加法計(jì)數(shù))操作。前一個(gè)機(jī)器周期S5P2拍節(jié)對(duì)外部計(jì)數(shù)脈沖進(jìn)行采樣,如果采樣為高電平,則后一個(gè)機(jī)器周期采樣為低電平,即為一個(gè)有效的計(jì)數(shù)脈沖。在下一個(gè)機(jī)器周期S3P1進(jìn)行計(jì)數(shù)。可見(jiàn),采樣計(jì)數(shù)脈沖是在兩個(gè)機(jī)器周期內(nèi)進(jìn)行的。因此,計(jì)數(shù)脈沖

34、的頻率不能高于振蕩脈沖頻率的1/24。當(dāng)然,傳感器的信號(hào)變化的頻率400Hz遠(yuǎn)遠(yuǎn)小于這個(gè)值。因此,測(cè)量方法可以這樣:用T0做測(cè)量脈沖數(shù)的計(jì)數(shù)器;用T1定一段時(shí)間,在這段時(shí)間內(nèi)測(cè)量的脈沖數(shù)為N,則轉(zhuǎn)速為N*60/(4*T1)。因?yàn)镹個(gè)脈沖在(N-1)(N+1)個(gè)周期里出現(xiàn),所以最大誤差為±60/(4*T1),最大相對(duì)誤差為±1/N*100%。顯然,N越大相對(duì)誤差越小,即轉(zhuǎn)速越快,這種方式測(cè)量相對(duì)誤差就越小。圖3 光電傳感器原理(4)單片機(jī)時(shí)鐘時(shí)鐘電路是計(jì)算機(jī)的心臟,它控制著計(jì)算機(jī)的工作節(jié)奏。MCS-51單片機(jī)允許的時(shí)鐘頻率是因型號(hào)而異的典型值為12MHZMCS-51內(nèi)部都有一

35、個(gè)反相放大器,XTAL1、XTAL2分別為反相放大器輸入和輸出端,外接定時(shí)反饋元件以后就組成振蕩器,產(chǎn)生時(shí)鐘送至單片機(jī)內(nèi)部的各個(gè)部件。AT89C51是屬于CMOS8位微處理器,它的時(shí)鐘電路在結(jié)構(gòu)上有別于NMOS型的單片機(jī)。CMOS型單片機(jī)內(nèi)部(如AT89C51)有一個(gè)可控的負(fù)反饋反相放大器,外接晶振(或陶瓷諧振器)和電容組成振蕩器,圖42為CMOS型單片機(jī)時(shí)鐘電路框圖。振蕩器工作受/PD端控制,由軟件置“1”P(pán)D(即特殊功能寄存器PCON.1)使/PD0,振蕩器停止工作,整個(gè)單片機(jī)也就停止工作,以達(dá)到節(jié)電目的。清“0”P(pán)D,使振蕩器工作產(chǎn)生時(shí)鐘,單片機(jī)便正常運(yùn)行。圖中SYS為晶振或陶瓷諧振器,

36、振蕩器產(chǎn)生的時(shí)鐘頻率主要由SYS參數(shù)確定(晶振上標(biāo)明的頻率)。電容C1和C2的作用有兩個(gè):其一是使振蕩器起振,其二是對(duì)振蕩器的頻率f起微調(diào)作用(C1、C2大,f變?。涞湫椭禐?0pF。圖4-2 CMOS型單片機(jī)時(shí)鐘電路框圖四 、系統(tǒng)程序設(shè)置與調(diào)試硬件電路設(shè)計(jì)完畢,即進(jìn)行程序設(shè)計(jì),在程序設(shè)計(jì)之前,首先要確定定時(shí)器的工作方式,方式控制字,確定串行口的工作模式等,下面分別討論。硬件調(diào)試主要是針對(duì)我的轉(zhuǎn)速測(cè)量系統(tǒng)的單片機(jī)硬件電路分別進(jìn)行調(diào)試。這一部分硬件調(diào)試主要分成兩大塊:上電前的調(diào)試和上電后的調(diào)試。上電前的調(diào)試在上電前,我們必須確保電路中不存在斷路或短路情況,這一工作是整個(gè)調(diào)試工作的第一步,也是

37、非常重要的一個(gè)步驟。在這部分調(diào)試中主要使用的工具是萬(wàn)用表,用來(lái)完成檢測(cè)電路中是否存在斷路或者短路情況等。特別是數(shù)碼管的連接部分,有PROTEL制作的PCB確保要和原理圖上的圖一致,有些在電路板上沒(méi)法連接的線路,要用短接線把接好,對(duì)照著原理圖部分,一部分一部分地用萬(wàn)用表測(cè)量,注意焊點(diǎn)之間,確保焊點(diǎn)沒(méi)有短接在一起,同時(shí)注意焊點(diǎn)的美觀,確保沒(méi)有開(kāi)路以及短路的現(xiàn)象出現(xiàn)。上電后的調(diào)試在確保硬件電路正常,無(wú)異常情況(斷路或短路)方可上電調(diào)試,上電調(diào)試的目的是檢驗(yàn)電路是否接錯(cuò),同時(shí)還要檢驗(yàn)原理是否正確,在本次課程設(shè)計(jì)中,上電調(diào)試主要只轉(zhuǎn)速測(cè)量系統(tǒng)的單片機(jī)控制部分、數(shù)碼管點(diǎn)亮部分、和上位機(jī)通信是的電平轉(zhuǎn)換和串

38、口通信部分的硬件調(diào)試。1、單片機(jī)控制部分硬件調(diào)試:這一部分調(diào)試主要是檢查時(shí)鐘電路、復(fù)位電路是否接對(duì),單片機(jī)的電源以及地是否接好,以及其他的一些管腳的接法??磫纹瑱C(jī)通電后能否可以正常工作等這一系列問(wèn)題。2、數(shù)碼管LED電路調(diào)試:由于數(shù)碼管采用的是動(dòng)態(tài)掃描的方式點(diǎn)亮的。數(shù)碼管的公共端(COM)接在7407驅(qū)動(dòng)再接到單片機(jī)的P2口作為位選信號(hào),字型是接在P0口。電路上電檢查7407是否接上電源和地讓其正常工作。在這一前提下,查看數(shù)碼管能否點(diǎn)亮。只需要接仿真機(jī)上編寫(xiě)一個(gè)小程序讓5位LED全亮,或者讓它們其中的某位點(diǎn)亮,也可以顯示不同的數(shù)字,根據(jù)要求給P0口,P2口分別賦值。即可檢查數(shù)碼管的硬件電路是否

39、正確,即可判斷顯示驅(qū)動(dòng)電路整個(gè)完整,首先排除這里的故障。3、發(fā)送部分硬件電路調(diào)試:這一部分電路硬件調(diào)試主要完成任務(wù)是使得通過(guò)HIN232CPE電平轉(zhuǎn)換器轉(zhuǎn)換前后的電平關(guān)系??梢杂檬静ㄆ骱腿f(wàn)用表檢查電平轉(zhuǎn)換前后的關(guān)系本系統(tǒng)設(shè)計(jì)中,T0被用于計(jì)數(shù),計(jì)數(shù)量大為好,可以獲得較大的測(cè)量范圍,因此,T0選定為工作方式1(16位的計(jì)數(shù)方式),設(shè)計(jì)中,沒(méi)有使用外部控制端,僅用指令置位/清零TR0來(lái)進(jìn)行計(jì)數(shù)的啟動(dòng)/停止,這樣,電路較為簡(jiǎn)單,同時(shí)精度可達(dá)到要求,因此,T0采用自由計(jì)數(shù)的方式,不用預(yù)置初值。本系統(tǒng)設(shè)計(jì)中,T1被用于數(shù)碼管顯示及形成閘門(mén)信號(hào),由于系統(tǒng)中用到4位數(shù)碼管,動(dòng)態(tài)顯示時(shí),一組數(shù)碼管顯示的總時(shí)間

40、以不超過(guò)20ms為宜,因此,這里選擇T1的定時(shí)時(shí)間為5ms,4位數(shù)碼管顯示完畢,正好用于20ms,這里選用T1的工作狀態(tài)。確定了定時(shí)/計(jì)數(shù)器T1的定時(shí)時(shí)間以后,就要計(jì)算定時(shí)初值,本系統(tǒng)用了12M的晶振,恰好是一個(gè)機(jī)器周期為1us,因此,5ms定時(shí)時(shí)間意味著只要計(jì)數(shù)5000次即可,由于定時(shí)/計(jì)數(shù)器T1是向上計(jì)數(shù),因此,要化為16進(jìn)制,并分別送入T1的高8位和低8位。這里,采用的keil匯編軟件有較強(qiáng)的預(yù)處理功能,能夠處理較復(fù)雜的運(yùn)算,因此,程序中可寫(xiě)為: MOV TH1,#HIGH(655365000) MOV TL1,#LOW(655365000) 這里使用了兩條指令#HIGH和#LOW,它們

41、的用途分別是取其后括號(hào)中數(shù)值的高8位和低8位,因此,這兩行語(yǔ)句的含義就是取655365000的高8位和低8位,寫(xiě)成655365000而不是寫(xiě)出其結(jié)果60536可以提高程序的維護(hù)性,直觀地看到定時(shí)初值。由于89C51單片機(jī)在中斷時(shí),會(huì)附加延時(shí)38個(gè)周期,在滿足一定條件的情形下,驗(yàn)證這個(gè)數(shù)值是否正確,可以在進(jìn)入仿真調(diào)試時(shí)通過(guò)觀察Keil提供的有關(guān)變量看到,如果不正確,可以根據(jù)實(shí)際情況略作調(diào)整,保證定時(shí)時(shí)間為5ms。定時(shí)/計(jì)數(shù)器的方式控制字TMOD,其地址為89H,復(fù)位值00H,不可位尋址。根據(jù)本設(shè)計(jì),TMOD的控制字應(yīng)為00010101B(T1為定時(shí)器,T0為16位計(jì)數(shù)器)。程序中用:MOV TM

42、OD,#00010101B將控制字送入TMOD。TCON地址88H,可進(jìn)行位尋址,復(fù)位值00H。TF0、TF1分別為定時(shí)器T0和計(jì)數(shù)器T1的溢出標(biāo)志位,TR0和TR1在正常情況下,都沒(méi)有溢出標(biāo)志,只有當(dāng)計(jì)數(shù)值或定時(shí)值超過(guò)65536時(shí),才能有溢出中斷請(qǐng)求,這兩位是由硬件置位和硬件清零,不需另行設(shè)置??稍赥0和T1的溢出中斷服務(wù)程序中,以供使用。TR1、TR0分別用于開(kāi)啟T1和T0的開(kāi)關(guān)位,其中TR1由系統(tǒng)開(kāi)啟時(shí),直接置位,打開(kāi)T1,開(kāi)始定時(shí),經(jīng)運(yùn)行判斷后,打開(kāi)TR0。在程序開(kāi)始之前,首先進(jìn)行變量的分配,使用EQU偽指令定義了一些符號(hào)變量,使得程序閱讀時(shí)較為直觀。程序的初始化,根據(jù)硬件電路的要求,

43、將各硬件電路置于其規(guī)定的狀態(tài);根據(jù)需要,設(shè)置堆棧;對(duì)定時(shí)器、計(jì)數(shù)器、串行口等設(shè)置工作狀態(tài),預(yù)置初值等。以下是程序定義變量及進(jìn)行初始化的程序行。DISPBUF EQU 5AH ;顯示緩沖區(qū)從5AH開(kāi)始,共4個(gè)單元。SECCOUN EQU 59H;秒計(jì)數(shù)器單元,用于累計(jì)T1的中斷次數(shù),每200個(gè)為一秒。SPCOUNEQU 57H;速度計(jì)時(shí)器單元57H和58H,高位在前(57H單元中) COUNTEQU 56H ;顯示時(shí)的計(jì)數(shù)器SPCALC BIT 00H ;要求計(jì)算速度的標(biāo)志,該位為1時(shí)主程序計(jì)算速度,然后清該位HIDDEN EQU 10;消隱碼; 以上分配變量MOV SP, #5FH ;設(shè)置堆棧

44、MOV P1,#OFFH ;將P1置位高電平。MOV P0,#0FFH;將P0置位高電平。MOV P2,#OFFH ;將P2置位高電平,以上三行熄滅所有LED及數(shù)碼管。MOV TMOD,#00010101B;定時(shí)器T1工作于方式1,計(jì)數(shù)器T0工作方式1。MOV TH1,#HIGH(65536-5000);設(shè)置T1初始值 MOV TL1,#LOW(65536-5000)MOVTH0,#00H;設(shè)置T0的計(jì)數(shù)初始值0MOVTL0,#00H SETB TR1 ;開(kāi)啟T1SETBTR0;開(kāi)啟T0SETB ET1;開(kāi)定時(shí)器1中斷SETB EA;允許單片機(jī)相應(yīng)中斷定時(shí)計(jì)數(shù)器T1每5ms中斷一次,用以進(jìn)行數(shù)

45、碼管顯示和每1秒讀取一次計(jì)數(shù)器T0中的數(shù)值。(1)秒信號(hào)的產(chǎn)生 中斷產(chǎn)生后:INCSECCOUNMOV A,SECCOUNCJNEA,#200,GO2判斷SECCOUN是否到達(dá)200了,如果到達(dá)200,則說(shuō)明1秒時(shí)間已到,程序?qū)㈥P(guān)閉T0計(jì)數(shù)器,然后對(duì)T0中已記得的數(shù)據(jù)進(jìn)行處理,然后再去進(jìn)行顯示,否則直接轉(zhuǎn)去顯示。這部分的程序流程圖如圖4所示。(2)數(shù)碼管的顯示 數(shù)碼管顯示采用動(dòng)態(tài)方式,即每次中斷點(diǎn)亮一位數(shù)碼管,依次循環(huán)。由于數(shù)碼管共有4位,因此,每20ms即可輪流點(diǎn)亮每個(gè)數(shù)碼管一次,利用人的視覺(jué)暫留現(xiàn)象,可以穩(wěn)定地顯示各位數(shù)碼管的值。圖5是顯示部份的流程圖,從圖中可以看出,程序中利用了一個(gè)顯示

46、計(jì)數(shù)器,該計(jì)數(shù)器的值在03之間變化,對(duì)應(yīng)第一至第四位數(shù)碼管,當(dāng)計(jì)數(shù)值到4時(shí),即回零。下面以顯示計(jì)數(shù)器值等于2為例,加以說(shuō)明。當(dāng)顯示計(jì)數(shù)器值等于2時(shí),意味著此時(shí)應(yīng)點(diǎn)亮第3位數(shù)碼管去進(jìn)行顯示。程序中首先取顯示緩沖區(qū)初值:秒計(jì)數(shù)器加1到200了嗎停止T0工作讀T0計(jì)數(shù)值讀T0計(jì)數(shù)值置位計(jì)算請(qǐng)求標(biāo)志清秒計(jì)數(shù)器進(jìn)入顯示部分圖4 秒信號(hào)子程序MOV A,#DISPBUF 該值為5AH,加上顯示計(jì)數(shù)器的值即5CH: ADDA,COUNT 因此將從5CH中取出待顯示數(shù)據(jù): MOV R0,AMOVA,R0 然后查字表碼表,并將該字形碼送往P0: MOVDPTR,#DISPTABMOVCA,A+DPTR MOVP

47、0,A 因?yàn)镻0是段驅(qū)動(dòng)。下面是要點(diǎn)亮第3位數(shù)碼管,程序中再次取計(jì)數(shù)值,即2,然后查位碼: MOV A,COUNT MOV DPTR,#BITTAB MOVC A,A+DPTR 位碼的值: BitTab: DB 0FDH, 0FEH, 0FBH, OF7H, 0EFH 顯示計(jì)數(shù)器加1到4了嗎?顯示計(jì)數(shù)器回0取顯示緩沖區(qū)首址加計(jì)數(shù)值取該顯示緩沖區(qū)的值查字形碼表字形碼送往P0重取計(jì)數(shù)值查位碼送往P2口重置定時(shí)初值退 出圖5 數(shù)碼管顯示流程圖因此,查出來(lái)的值是0FBH,即11111011,這個(gè)值被送往P2口: ORLP2,#00001111B ;先將P2口的低4位置1(關(guān)閉原點(diǎn)亮的數(shù)碼管) ANL

48、P2,A ;將查得的位碼與P2相與,點(diǎn)亮相應(yīng)的數(shù)碼管觀察硬件,即可發(fā)現(xiàn)P2.2驅(qū)動(dòng)第3位數(shù)碼管,因此即實(shí)現(xiàn)了點(diǎn)亮第三位數(shù)碼管的要求,而其他各位不被點(diǎn)亮。這種處理方法使得該程序具有很強(qiáng)的通用性,只要改變計(jì)數(shù)值,改變位碼表,即可用于不同位數(shù)、不同接法的數(shù)碼管驅(qū)動(dòng)。4. 系統(tǒng)流程本系統(tǒng)的主程序參考圖6,在完成初始化工作以后,及循環(huán)等待,每1s時(shí)間到之后,開(kāi) 始計(jì)算器、端口、中斷初始化是否計(jì)算?等待NY計(jì)算轉(zhuǎn)速送顯示緩沖區(qū)結(jié) 束圖6 主程序流程圖T1中斷程序?qū)?huì)讀取T0中的計(jì)數(shù)值,并將其放入約定的存儲(chǔ)單元中,并且置位“要求計(jì)算”的標(biāo)志,當(dāng)該標(biāo)志位為1時(shí),主程序即轉(zhuǎn)入計(jì)算,第一步將16進(jìn)制數(shù)的結(jié)果轉(zhuǎn)化為

49、BCD碼,第二步,將BCD碼轉(zhuǎn)化并送入顯示緩沖區(qū)。五 、程序調(diào)試及仿真1 .基于Keil的程序調(diào)試源程序(基于匯編語(yǔ)言)DISPBUF EQU 5AH;顯示緩沖區(qū)從5AH開(kāi)始SECCOUN EQU 59H ;秒計(jì)數(shù)單元,用于累計(jì)T1的終端次數(shù),每200個(gè)為一秒SPCOUN EQU 57H;速度計(jì)時(shí)器單元57H和58H,高位在前(57H單元中)COUNT EQU 56H;顯示時(shí)的計(jì)數(shù)器SPCALCBIT 00H;要求計(jì)算速度的標(biāo)志,該位為1則主程序進(jìn)行速度計(jì)算,然后清該位HIDDEN EQU 10;消隱碼ORG 0000HAJMP STARTORG 001BHJMP TIMER1;定時(shí)中斷1入口

50、ORG 30HSTART:MOV SP,#5FH;設(shè)置堆棧MOV P1,#0FFH;將P1置位高電平MOV P0,#0FFH;將P0置位高電平MOV P2,#0FFH;將P2置位高電平,以上三行初始化,所有顯示器D及數(shù)碼管滅MOV TMOD,#00010101B;定時(shí)器T1工作于方式1,計(jì)數(shù)器T0工作方式1。MOV TH1,#HIGH(65536-5000);設(shè)置T1初始值 MOV TL1,#LOW(65536-5000)MOVTH0,#00H;設(shè)置T0的計(jì)數(shù)初始值0MOVTL0,#00H SETB TR1 ;開(kāi)啟T1SETBTR0;開(kāi)啟T0SETB ET1;開(kāi)定時(shí)器1中斷SETB EA;允許

51、單片機(jī)相應(yīng)中斷LOOP:JNB SPCALC,LOOP;如果未要求計(jì)算,轉(zhuǎn)本身循環(huán);標(biāo)號(hào):MULD 功能:雙字節(jié)二進(jìn)制無(wú)符號(hào)數(shù)乘法;入口條件:被乘數(shù)在R2、R3中,乘數(shù)在R6、R7中。;出口信息:乘積在R2、R3、R4、R5中。;影響資源:PSW、A、B、R2R7堆棧需求:2字節(jié)MULD:MOV A,R3 ;計(jì)算R3乘R7MOV B,R7MUL ABMOV R4,B ;暫存部分積MOV R5,AMOV A,R3 ;計(jì)算R3乘R6MOV B,R6MUL ABADD A,R4 ;累加部分積MOV R4,ACLR AADDC A,BMOV R3,AMOV A,R2 ;計(jì)算R2乘R7MOV B,R7MUL ABADD A,R4 ;累加部分積MOV R4,AMOV A,R3ADDC A,BMOV R3,ACLR ARLC AXCH A,R2 ;計(jì)算R2乘R6MOV B,R6MUL ABADD A,R3 ;累加部分積MOV R3,AMOV A,R2ADDCA,BMOV R2,ARETMOV R2,SPCOUNMOV R3,SPCOUN+1MOV R6,#0MOV R7,#5;測(cè)得的數(shù)據(jù)是每秒計(jì)數(shù)值,轉(zhuǎn)為分(每一轉(zhuǎn)測(cè)12次,故乘5而非60)CALL MULDSETB TR1;標(biāo)號(hào):HB2功能:雙字節(jié)十六進(jìn)制整數(shù)轉(zhuǎn)換成雙字節(jié)BCD碼整數(shù);入口條件:待轉(zhuǎn)換的雙字節(jié)十六進(jìn)制

溫馨提示

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