課程設(shè)計(jì)數(shù)字轉(zhuǎn)速(數(shù))計(jì)的設(shè)計(jì)_第1頁(yè)
課程設(shè)計(jì)數(shù)字轉(zhuǎn)速(數(shù))計(jì)的設(shè)計(jì)_第2頁(yè)
課程設(shè)計(jì)數(shù)字轉(zhuǎn)速(數(shù))計(jì)的設(shè)計(jì)_第3頁(yè)
課程設(shè)計(jì)數(shù)字轉(zhuǎn)速(數(shù))計(jì)的設(shè)計(jì)_第4頁(yè)
課程設(shè)計(jì)數(shù)字轉(zhuǎn)速(數(shù))計(jì)的設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩32頁(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、課程設(shè)計(jì)說(shuō)明書(shū)設(shè)計(jì)題目:學(xué) 院:機(jī)械工程學(xué)院專(zhuān) 業(yè):機(jī)械設(shè)計(jì)制造及其自動(dòng)化班級(jí):學(xué) 號(hào):姓 名:指導(dǎo)教師:目 錄1. 課程設(shè)計(jì)要求12. 系統(tǒng)功能分析與方案確定13. 系統(tǒng)主要硬件電路模塊設(shè)計(jì)43.1編碼器模塊43.2液晶顯示模塊93.3復(fù)位電路模塊143.4晶振電路模塊173.5 單片機(jī)硬件端口分配184. 程序軟件設(shè)計(jì)與分析194.1系統(tǒng)軟件分析及詳細(xì)技術(shù)文件設(shè)計(jì)195. 后續(xù)有待完善和提高的工作25參考文獻(xiàn)26附錄261. 課程設(shè)計(jì)要求數(shù)字轉(zhuǎn)速(數(shù))計(jì)的設(shè)計(jì)一、設(shè)計(jì)任務(wù)轉(zhuǎn)速計(jì)是我們經(jīng)常會(huì)用到的儀器之一,通常與編碼器配合用來(lái)測(cè)量旋轉(zhuǎn)機(jī)械設(shè)備的轉(zhuǎn)速。用單片機(jī)的定時(shí)/計(jì)數(shù)器功能可以實(shí)現(xiàn)頻率計(jì)的

2、數(shù)字化、智能化,通過(guò)合理的硬件設(shè)計(jì)和軟件編程使測(cè)量精度達(dá)到實(shí)用化要求。二、 基本要求1. 測(cè)量速度范圍11000轉(zhuǎn)每分鐘。2. 可對(duì)轉(zhuǎn)數(shù)計(jì)數(shù)并實(shí)時(shí)顯示;3. 可對(duì)轉(zhuǎn)速檢測(cè)并實(shí)時(shí)顯示;4. 速度檢測(cè)精度:1%。5. 被測(cè)信號(hào)是方波。顯示方式為轉(zhuǎn)數(shù)計(jì)數(shù):5位十進(jìn)制數(shù)顯示;速度計(jì):5位有效數(shù)字顯示,保留小數(shù)點(diǎn)后2位。2. 系統(tǒng)功能分析與方案確定2.1轉(zhuǎn)速測(cè)量系統(tǒng)的原理2.1.1 轉(zhuǎn)速測(cè)量方法轉(zhuǎn)速是指作圓周運(yùn)動(dòng)的物體在單位時(shí)間內(nèi)所轉(zhuǎn)過(guò)的圈數(shù),其大小及變化往往意味著機(jī)器設(shè)備運(yùn)轉(zhuǎn)的正常與否,因此,轉(zhuǎn)速測(cè)量一直是工業(yè)領(lǐng)域的一個(gè)重要問(wèn)題。按照不同的理論方法,先后產(chǎn)生過(guò)模擬測(cè)速法(如離心式轉(zhuǎn)速表) 、同步測(cè)速法

3、(如機(jī)械式或閃光式頻閃測(cè)速儀) 以及計(jì)數(shù)測(cè)速法。計(jì)數(shù)測(cè)速法又可分為機(jī)械式定時(shí)計(jì)數(shù)法和電子式定時(shí)計(jì)數(shù)法。本文介紹的采用單片機(jī)和光電傳感器組成的高精度轉(zhuǎn)速測(cè)量系統(tǒng),其轉(zhuǎn)速測(cè)量方法采用的就是電子式定時(shí)計(jì)數(shù)法。對(duì)轉(zhuǎn)速的測(cè)量實(shí)際上是對(duì)轉(zhuǎn)子旋轉(zhuǎn)引起的周期脈沖信號(hào)的頻率進(jìn)行測(cè)量。在頻率的工程測(cè)量中,電子式定時(shí)計(jì)數(shù)測(cè)量頻率的方法一般有三種:測(cè)頻率法:在一定時(shí)間間隔t 內(nèi),計(jì)數(shù)被測(cè)信號(hào)的重復(fù)變化次數(shù)N ,則被測(cè)信號(hào)的頻率fx 可表示為f x =Nt(1)測(cè)周期法:在被測(cè)信號(hào)的一個(gè)周期內(nèi),計(jì)數(shù)時(shí)鐘脈沖數(shù)m0 ,則被測(cè)信號(hào)頻率fx = fc/ m0 ,其中, fc 為時(shí)鐘脈沖信號(hào)頻率。多周期測(cè)頻法:在被測(cè)信號(hào)m1

4、個(gè)周期內(nèi), 計(jì)數(shù)時(shí)鐘脈沖數(shù)m2 ,從而得到被測(cè)信號(hào)頻率fx ,則fx 可以表示為fx =m1 fcm2, m1 由測(cè)量準(zhǔn)確度確定。電子式定時(shí)計(jì)數(shù)法測(cè)量頻率時(shí), 其測(cè)量準(zhǔn)確度主要由兩項(xiàng)誤差來(lái)決定: 一項(xiàng)是時(shí)基誤差; 另一項(xiàng)是量化±1 誤差。當(dāng)時(shí)基誤差小于量化±1 誤差一個(gè)或兩個(gè)數(shù)量級(jí)時(shí),這時(shí)測(cè)量準(zhǔn)確度主要由量化±1 誤差來(lái)確定。對(duì)于測(cè)頻率法,測(cè)量相對(duì)誤差為:Er1 =測(cè)量誤差值實(shí)際測(cè)量值×100 % =1N×100 % (2)由此可見(jiàn),被測(cè)信號(hào)頻率越高, N 越大, Er1 就越小,所以測(cè)頻率法適用于高頻信號(hào)( 高轉(zhuǎn)速信號(hào)) 的測(cè)量。對(duì)于測(cè)周期法

5、,測(cè)量相對(duì)誤差為:Er2 =測(cè)量誤差值實(shí)際測(cè)量值×100 % =1m0×100 % (3)對(duì)于給定的時(shí)鐘脈沖fc , 當(dāng)被測(cè)信號(hào)頻率越低時(shí),m0 越大, Er2 就越小,所以測(cè)周期法適用于低頻信號(hào)( 低轉(zhuǎn)速信號(hào)) 的測(cè)量。對(duì)于多周期測(cè)頻法,測(cè)量相對(duì)誤差為:Er3 =測(cè)量誤差值實(shí)際測(cè)量值100%=1m2×100 % (4)從上式可知,被測(cè)脈沖信號(hào)周期數(shù)m1 越大, m2 就越大,則測(cè)量精度就越高。它適用于高、低頻信號(hào)(高、低轉(zhuǎn)速信號(hào)) 的測(cè)量。但隨著精度和頻率的提高, 采樣周期將大大延長(zhǎng),并且判斷m1 也要延長(zhǎng)采樣周期,不適合實(shí)時(shí)測(cè)量。根據(jù)以上的討論,考慮到實(shí)際應(yīng)用

6、中需要測(cè)量的轉(zhuǎn)速范圍很寬,上述的轉(zhuǎn)速測(cè)量方法難以滿(mǎn)足要求,因此,研究高精度的轉(zhuǎn)速測(cè)量方法,以同時(shí)適用于高、低轉(zhuǎn)速信號(hào)的測(cè)量,不僅具有重要的理論意義,也是實(shí)際生產(chǎn)中的需要。2.1.2 轉(zhuǎn)速測(cè)量原理利用編碼器產(chǎn)生方波信號(hào)來(lái)模擬速度快慢,即通過(guò)編碼器,將轉(zhuǎn)速信號(hào)變?yōu)殡娒}沖,利用微機(jī)在單位時(shí)間內(nèi)對(duì)脈沖進(jìn)行計(jì)數(shù),再經(jīng)過(guò)軟件計(jì)算獲得轉(zhuǎn)速數(shù)據(jù)。即:n=N/ (mT) (1)n 轉(zhuǎn)速、單位:轉(zhuǎn)/ 分鐘;N 采樣時(shí)間內(nèi)所計(jì)脈沖個(gè)數(shù);T采樣時(shí)間、單位:分鐘;m 每旋轉(zhuǎn)一周所產(chǎn)生的脈沖個(gè)數(shù)。如果m=60, 那么1 秒鐘內(nèi)脈沖個(gè)數(shù)N 就是轉(zhuǎn)速n, 即:n=N/ (mT) =N/60 ×1/60=N (2)這

7、里m 為400。(看編碼器而定)在對(duì)轉(zhuǎn)速波動(dòng)較快系統(tǒng)或要求動(dòng)態(tài)特性好而精度高的轉(zhuǎn)速測(cè)控系統(tǒng)中,調(diào)節(jié)周期一般很短,相應(yīng)的采樣周期需取得很小,使得脈沖當(dāng)量增高,從而導(dǎo)致整個(gè)系統(tǒng)測(cè)量精度降低,難以滿(mǎn)足測(cè)控要求。提高采樣速率通常就要減小采樣時(shí)間T, 而T 的減小會(huì)使采到的脈沖數(shù)值N 下降,導(dǎo)致脈沖當(dāng)量(每個(gè)脈沖所代表的轉(zhuǎn)速) 增高,從而使得測(cè)量精度變得粗糙。通過(guò)增加測(cè)速碼盤(pán)的齒數(shù)可以提高精度,但是碼盤(pán)齒數(shù)的增加會(huì)受到加工工藝的限制,同時(shí)會(huì)使轉(zhuǎn)速測(cè)量脈沖的頻率增高,頻率的提升又會(huì)受到傳感器中光電器或磁敏器或磁電器件最高工作頻率的限制。凡此種種因素限制了常規(guī)智能轉(zhuǎn)速測(cè)量方法的使用范圍。而采用本文所提出的定

8、時(shí)分時(shí)雙頻率采樣法,可在保證采樣度的同時(shí),提高采樣速率,充分發(fā)揮微機(jī)智能測(cè)速方法的優(yōu)越性及靈活性。圖1.1 系統(tǒng)原理圖各部分模塊的功能:編碼器:用來(lái)對(duì)信號(hào)的采樣。放大、整形電路:對(duì)傳感器送過(guò)來(lái)的信號(hào)進(jìn)行放大和整形,在送入單片機(jī)進(jìn)行數(shù)據(jù)的處理轉(zhuǎn)換。單片機(jī):對(duì)處理過(guò)的信號(hào)進(jìn)行轉(zhuǎn)換成轉(zhuǎn)速的實(shí)際值,1602液晶1602液晶顯示:用來(lái)對(duì)所測(cè)量到的轉(zhuǎn)速進(jìn)行顯示。3. 系統(tǒng)主要硬件電路模塊設(shè)計(jì)3.1編碼器模塊轉(zhuǎn)速測(cè)量的方案選擇,一般要考慮傳感器的結(jié)構(gòu)、安裝以及測(cè)速范圍與環(huán)境條件等方面的適用性;再就是二次儀表的要求,除了顯示以外還有控制、通訊和遠(yuǎn)傳方面的要求。這里主要由編碼器性質(zhì)決定,以下為本次實(shí)驗(yàn)的編碼器,

9、及其工作原理:3.1.1光電編碼器的介紹:光電編碼器是通過(guò)讀取光電編碼盤(pán)上的圖案或編碼信息來(lái)表示與光電編碼器相連的電機(jī)轉(zhuǎn)子的位置信息的。根據(jù)光電編碼器的工作原理可以將光電編碼器分為絕對(duì)式光電編碼器與增量式光電編碼器,下面我就這兩種光電編碼器的結(jié)構(gòu)與工作原理做介紹。(一)、絕對(duì)式光電編碼器絕對(duì)式光電編碼器如圖所示,他是通過(guò)讀取編碼盤(pán)上的二進(jìn)制的編碼信息來(lái)表示絕對(duì)位置信息的。編碼盤(pán)是按照一定的編碼形式制成的圓盤(pán)。圖1是二進(jìn)制的編碼盤(pán),圖中空白部分是透光的,用“0”來(lái)表示;涂黑的部分是不透光的,用“1”來(lái)表示。通常將組成編碼的圈稱(chēng)為碼道,每個(gè)碼道表示二進(jìn)制數(shù)的一位,其中最外側(cè)的是最低位,最里側(cè)的是最

10、高位。如果編碼盤(pán)有4個(gè)碼道,則由里向外的碼道分別表示為二進(jìn)制的23、22、21和20,4位二進(jìn)制可形成16個(gè)二進(jìn)制數(shù),因此就將圓盤(pán)劃分16個(gè)扇區(qū),每個(gè)扇區(qū)對(duì)應(yīng)一個(gè)4位二進(jìn)制數(shù),如0000、0001、1111。按照碼盤(pán)上形成的碼道配置相應(yīng)的光電傳感器,包括光源、透鏡、碼盤(pán)、光敏二極管和驅(qū)動(dòng)電子線(xiàn)路。當(dāng)碼盤(pán)轉(zhuǎn)到一定的角度時(shí),扇區(qū)中透光的碼道對(duì)應(yīng)的光敏二極管導(dǎo)通,輸出低電平“0”,遮光的碼道對(duì)應(yīng)的光敏二極管不導(dǎo)通,輸出高電平“1”,這樣形成與編碼方式一致的高、低電平輸出,從而獲得扇區(qū)的位置腳。(二)、增量式光電編碼器增量式光電編碼器是碼盤(pán)隨位置的變化輸出一系列的脈沖信號(hào),然后根據(jù)位置變化的方向用計(jì)數(shù)

11、器對(duì)脈沖進(jìn)行加/減計(jì)數(shù),以此達(dá)到位置檢測(cè)的目的。它是由光源、透鏡、主光柵碼盤(pán)、鑒向盤(pán)、光敏元件和電子線(xiàn)路組成。增量式光電編碼器的工作原理是是由旋轉(zhuǎn)軸轉(zhuǎn)動(dòng)帶動(dòng)在徑向有均勻窄縫的主光柵碼盤(pán)旋轉(zhuǎn),在主光柵碼盤(pán)的上面有與其平行的鑒向盤(pán),在鑒向盤(pán)上有兩條彼此錯(cuò)開(kāi)90o相位的窄縫,并分別有光敏二極管接收主光柵碼盤(pán)透過(guò)來(lái)的信號(hào)。工作時(shí),鑒向盤(pán)不動(dòng),主光柵碼盤(pán)隨轉(zhuǎn)子旋轉(zhuǎn),光源經(jīng)透鏡平行射向主光柵碼盤(pán),通過(guò)主光柵碼盤(pán)和鑒向盤(pán)后由光敏二極管接收相位差90o的近似正弦信號(hào),再由邏輯電路形成轉(zhuǎn)向信號(hào)和計(jì)數(shù)脈沖信號(hào)。為了獲得絕對(duì)位置角,在增量式光電編碼器有零位脈沖,即主光柵每旋轉(zhuǎn)一周,輸出一個(gè)零位脈沖,使位置角清零。利

12、用增量式光電編碼器可以檢測(cè)電機(jī)的位置和速度。二、光電編碼器的測(cè)量方法:光電編碼器在電機(jī)控制中可以用來(lái)測(cè)量電機(jī)轉(zhuǎn)子的磁場(chǎng)位置和機(jī)械位置以及轉(zhuǎn)子的磁場(chǎng)和機(jī)械位置的變化速度與變化方向。下面就我就光電編碼器在這幾方面的應(yīng)用方法做一下介紹。(一)、使用光電編碼器來(lái)測(cè)量電機(jī)的轉(zhuǎn)速可以利用定時(shí)器/計(jì)數(shù)器配合光電編碼器的輸出脈沖信號(hào)來(lái)測(cè)量電機(jī)的轉(zhuǎn)速。具體的測(cè)速方法有M法、T法和M/T法3種。M法又稱(chēng)之為測(cè)頻法,其測(cè)速原理是在規(guī)定的檢測(cè)時(shí)間Tc內(nèi),對(duì)光電編碼器輸出的脈沖信號(hào)計(jì)數(shù)的測(cè)速方法,如圖2所示,例如光電編碼器是N線(xiàn)的,則每旋轉(zhuǎn)一周可以有4N個(gè)脈沖,因?yàn)閮陕访}沖的上升沿與下降沿正好使編碼器信號(hào)4倍頻。現(xiàn)在假

13、設(shè)檢測(cè)時(shí)間是Tc,計(jì)數(shù)器的記錄的脈沖數(shù)是M1,則電機(jī)的每分鐘的轉(zhuǎn)速為在實(shí)際的測(cè)量中,時(shí)間Tc內(nèi)的脈沖個(gè)數(shù)不一定正好是整數(shù),而且存在最大半個(gè)脈沖的誤差。如果要求測(cè)量的誤差小于規(guī)定的范圍,比如說(shuō)是小于百分之一,那么M1就應(yīng)該大于50。在一定的轉(zhuǎn)速下要增大檢測(cè)脈沖數(shù)M1以減小誤差,可以增大檢測(cè)時(shí)間Tc單考慮到實(shí)際的應(yīng)用檢測(cè)時(shí)間很短,例如伺服系統(tǒng)中的測(cè)量速度用于反饋控制,一般應(yīng)在0.01秒以下。由此可見(jiàn),減小測(cè)量誤差的方法是采用高線(xiàn)數(shù)的光電編碼器。M法測(cè)速適用于測(cè)量高轉(zhuǎn)速,因?yàn)閷?duì)于給定的光電編碼器線(xiàn)數(shù)N機(jī)測(cè)量時(shí)間Tc條件下,轉(zhuǎn)速越高,計(jì)數(shù)脈沖M1越大,誤差也就越小。T法也稱(chēng)之為測(cè)周法,該測(cè)速方法是在一

14、個(gè)脈沖周期內(nèi)對(duì)時(shí)鐘信號(hào)脈沖進(jìn)行計(jì)數(shù)的方法,如圖3所示。例如時(shí)鐘頻率為fclk,計(jì)數(shù)器記錄的脈沖數(shù)為M2,光電編碼器是N線(xiàn)的,每線(xiàn)輸出4N個(gè)脈沖,那么電機(jī)的每分鐘的轉(zhuǎn)速為為了減小誤差,希望盡可能記錄較多的脈沖數(shù),因此T法測(cè)速適用于低速運(yùn)行的場(chǎng)合。但轉(zhuǎn)速太低,一個(gè)編碼器輸出脈沖的時(shí)間太長(zhǎng),時(shí)鐘脈沖數(shù)會(huì)超過(guò)計(jì)數(shù)器最大計(jì)數(shù)值而產(chǎn)生溢出;另外,時(shí)間太長(zhǎng)也會(huì)影響控制的快速性。與M法測(cè)速一樣,選用線(xiàn)數(shù)較多的光電編碼器可以提高對(duì)電機(jī)轉(zhuǎn)速測(cè)量的快速性與精度。M/T法測(cè)速是將M法和T法兩種方法結(jié)合在一起使用,在一定的時(shí)間范圍內(nèi),同時(shí)對(duì)光電編碼器輸出的脈沖個(gè)數(shù)M1和M2進(jìn)行計(jì)數(shù),則電機(jī)每分鐘的轉(zhuǎn)速為實(shí)際工作時(shí),在固

15、定的Tc時(shí)間內(nèi)對(duì)光電編碼器的脈沖計(jì)數(shù),在第一個(gè)光電編碼器上升沿定時(shí)器開(kāi)始定時(shí),同時(shí)開(kāi)始記錄光電編碼器和時(shí)鐘脈沖數(shù),定時(shí)器定時(shí)Tc時(shí)間到,對(duì)光電編碼器的脈沖停止計(jì)數(shù),而在下一個(gè)光電編碼器的上升沿到來(lái)時(shí)刻,時(shí)鐘脈沖才停止記錄。采用M/T法既具有M法測(cè)速的高速優(yōu)點(diǎn),又具有T法測(cè)速的低速的優(yōu)點(diǎn),能夠覆蓋較廣的轉(zhuǎn)速范圍,測(cè)量的精度也較高,在電機(jī)的控制中有著十分廣泛的應(yīng)用。(二)使用增量式光電編碼器來(lái)判別電機(jī)轉(zhuǎn)速方向的原理增量式光電編碼器輸出兩路相位相差90o的脈沖信號(hào)A和B,當(dāng)電機(jī)正轉(zhuǎn)時(shí),脈沖信號(hào)A的相位超前脈沖信號(hào)B的相位90o,此時(shí)邏輯電路處理后可形成高電平的方向信號(hào)Dir。當(dāng)電機(jī)反轉(zhuǎn)時(shí),脈沖信號(hào)A

16、的相位滯后脈沖信號(hào)B的相位90o,此時(shí)邏輯電路處理后的方向信號(hào)Dir為低電平。因此根據(jù)超前與滯后的關(guān)系可以確定電機(jī)的轉(zhuǎn)向。其轉(zhuǎn)速辯相的原理如圖4所示 圖4轉(zhuǎn)向判別原理圖(三)、增量式光電編碼器的反饋脈沖的四倍頻原理在使用增量式編碼器時(shí),通過(guò)計(jì)相位相差90o的兩路正交脈沖信號(hào)A和B的上升沿與下降沿已達(dá)到將增量式編碼器的反饋脈沖四倍頻的目的。這樣在不增加增量式光電編碼器的線(xiàn)數(shù)的情況下,就可以獲得更精度高的位置脈沖信息,以實(shí)現(xiàn)對(duì)電機(jī)位置的精確控制。其工作原理與脈沖的相位關(guān)系如圖5所示圖5 脈沖四倍頻相位關(guān)系圖結(jié)束語(yǔ):光電式編碼器有著良好的抗干擾特性與應(yīng)用的可靠性,在電機(jī)控制這種有著極高電磁感染的應(yīng)用

17、環(huán)境下有著廣闊的應(yīng)用前景。相信在不久的將來(lái)光電式編碼器一定會(huì)在電機(jī)控制領(lǐng)域發(fā)揮更為重要的作用。而我們對(duì)于光電式編碼器的研究也就顯得格外的重要。3.2液晶顯示模塊液晶顯示原理液晶顯示的原理是利用液晶的物理特性,通過(guò)電壓對(duì)其顯示區(qū)域進(jìn)行控制,有電就有顯示,這樣即可以顯示出圖形。液晶顯示器具有厚度薄、適用于大規(guī)模集成電路直接驅(qū)動(dòng)、易于實(shí)現(xiàn)全彩色顯示的特點(diǎn),目前已經(jīng)被廣泛應(yīng)用在便攜式電腦、數(shù)字?jǐn)z像機(jī)、PDA移動(dòng)通信工具等眾多領(lǐng)域。液晶顯示器的分類(lèi)液晶顯示的分類(lèi)方法有很多種,通??砂雌滹@示方式分為段式、字符式、點(diǎn)陣式等。除了黑白顯示外,液晶顯示器還有多灰度有彩色顯示等。如果根據(jù)驅(qū)動(dòng)方式來(lái)分,可以分為靜態(tài)

18、驅(qū)動(dòng)(Static)、單純矩陣驅(qū)動(dòng)(Simple Matrix)和主動(dòng)矩陣驅(qū)動(dòng)(Active Matrix)三種。液晶顯示器各種圖形的顯示原理:線(xiàn)段的顯示點(diǎn)陣圖形式液晶由M×N個(gè)顯示單元組成,假設(shè)LCD顯示屏有64行,每行有128列,每8列對(duì)應(yīng)1字節(jié)的8位,即每行由16字節(jié),共16×8=128個(gè)點(diǎn)組成,屏上64×16個(gè)顯示單元與顯示RAM區(qū)1024字節(jié)相對(duì)應(yīng),每一字節(jié)的內(nèi)容和顯示屏上相應(yīng)位置的亮暗對(duì)應(yīng)。例如屏的第一行的亮暗由RAM區(qū)的000H00FH的16字節(jié)的內(nèi)容決定,當(dāng)(000H)=FFH時(shí),則屏幕的左上角顯示一條短亮線(xiàn),長(zhǎng)度為8個(gè)點(diǎn);當(dāng)(3FFH)=FFH時(shí)

19、,則屏幕的右下角顯示一條短亮線(xiàn);當(dāng)(000H)=FFH,(001H)=00H,(002H)=00H,(00EH)=00H,(00FH)=00H時(shí),則在屏幕的頂部顯示一條由8段亮線(xiàn)和8條暗線(xiàn)組成的虛線(xiàn)。這就是LCD顯示的基本原理。字符的顯示用LCD顯示一個(gè)字符時(shí)比較復(fù)雜,因?yàn)橐粋€(gè)字符由6×8或8×8點(diǎn)陣組成,既要找到和顯示屏幕上某幾個(gè)位置對(duì)應(yīng)的顯示RAM區(qū)的8字節(jié),還要使每字節(jié)的不同位為“1”,其它的為“0”,為“1”的點(diǎn)亮,為“0”的不亮。這樣一來(lái)就組成某個(gè)字符。但由于內(nèi)帶字符發(fā)生器的控制器來(lái)說(shuō),顯示字符就比較簡(jiǎn)單了,可以讓控制器工作在文本方式,根據(jù)在LCD上開(kāi)始顯示的行列

20、號(hào)及每行的列數(shù)找出顯示RAM對(duì)應(yīng)的地址,設(shè)立光標(biāo),在此送上該字符對(duì)應(yīng)的代碼即可。漢字的顯示漢字的顯示一般采用圖形的方式,事先從微機(jī)中提取要顯示的漢字的點(diǎn)陣碼(一般用字模提取軟件),每個(gè)漢字占32B,分左右兩半,各占16B,左邊為1、3、5右邊為2、4、6根據(jù)在LCD上開(kāi)始顯示的行列號(hào)及每行的列數(shù)可找出顯示RAM對(duì)應(yīng)的地址,設(shè)立光標(biāo),送上要顯示的漢字的第一字節(jié),光標(biāo)位置加1,送第二個(gè)字節(jié),換行按列對(duì)齊,送第三個(gè)字節(jié)直到32B顯示完就可以L(fǎng)CD上得到一個(gè)完整漢字。3.2.1 1602字符型LCD簡(jiǎn)介字符型液晶顯示模塊是一種專(zhuān)門(mén)用于顯示字母、數(shù)字、符號(hào)等點(diǎn)陣式LCD,目前常用16*1,16*2,20

21、*2和40*2行等的模塊。下面以長(zhǎng)沙太陽(yáng)人電子有限公司的1602字符型液晶顯示器為例,介紹其用法。一般1602字符型液晶顯示器實(shí)物如圖10-53:圖3-1 1602字符型液晶顯示器實(shí)物圖3.2.2 1602LCD的基本參數(shù)及引腳功能1602LCD分為帶背光和不帶背光兩種,基控制器大部分為HD44780,帶背光的比不帶背光的厚,是否帶背光在應(yīng)用中并無(wú)差別,兩者尺寸差別如下圖10-54所示:圖3-2 1602LCD尺寸圖1602LCD主要技術(shù)參數(shù):顯示容量:16×2個(gè)字符芯片工作電壓:4.55.5V工作電流:2.0mA(5.0V)模塊最佳工作電壓:5.0V字符尺寸:2.95×4

22、.35(W×H)mm引腳功能說(shuō)明1602LCD采用標(biāo)準(zhǔn)的14腳(無(wú)背光)或16腳(帶背光)接口,第1腳:VSS為地電源。第2腳:VDD接5V正電源。第3腳:VL為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地時(shí)對(duì)比度最高,對(duì)比度過(guò)高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過(guò)一個(gè)10K的電位器調(diào)整對(duì)比度。第4腳:RS為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器。第5腳:R/W為讀寫(xiě)信號(hào)線(xiàn),高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫(xiě)操作。當(dāng)RS和R/W共同為低電平時(shí)可以寫(xiě)入指令或者顯示地址,當(dāng)RS為低電平R/W為高電平時(shí)可以讀忙信號(hào),當(dāng)RS為高電平R/W為低電平時(shí)可以寫(xiě)入數(shù)據(jù)。第6腳:

23、E端為使能端,當(dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。第714腳:D0D7為8位雙向數(shù)據(jù)線(xiàn)。第15腳:背光源正極。第16腳:背光源負(fù)極。3.2.7 硬件原理圖1602液晶顯示模塊可以和單片機(jī)AT89C51直接接口,電路如圖3-11所示。圖3-11 硬件原理圖3.2.8 程序流程圖圖3-12 軟件流程圖3.3復(fù)位電路模塊復(fù)位電路(圖4.8):MCS-51 單片機(jī)復(fù)位電路是指單片機(jī)的初始化操作。單片機(jī)啟運(yùn)運(yùn)行時(shí),都需要先復(fù)位,其作用是使CPU 和系統(tǒng)中其他部件處于一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開(kāi)始工作。因而,復(fù)位是一個(gè)很重要的操作方式。但單片機(jī)本身是不能自動(dòng)進(jìn)行復(fù)位的,必須配合相應(yīng)的外部

24、電路才能實(shí)現(xiàn)。圖4.8 復(fù)位電路復(fù)位功能:復(fù)位電路的基本功能是:系統(tǒng)上電時(shí)提供復(fù)位信號(hào),直至系統(tǒng)電源穩(wěn)定后,撤銷(xiāo)復(fù)位信號(hào)。為可靠起見(jiàn),電源穩(wěn)定后還要經(jīng)一定的延時(shí)才撤銷(xiāo)復(fù)位信號(hào),以防電源開(kāi)關(guān)或電源插頭分-合過(guò)程中引起的抖動(dòng)而影響復(fù)位。單片機(jī)的復(fù)位是由外部的復(fù)位電路來(lái)實(shí)現(xiàn)的。片內(nèi)復(fù)位電路是復(fù)位引腳RST 通過(guò)一個(gè)斯密特觸發(fā)器與復(fù)位電路相連,斯密特觸發(fā)器用來(lái)抑制噪聲,它的輸出在每個(gè)機(jī)器周期的S5P2,由復(fù)位電路采樣一次。復(fù)位電路通常采用上電自動(dòng)復(fù)位(如圖4.9 (a))和按鈕復(fù)位(如圖4.9(b)兩種方式。圖4.9 RC 復(fù)位電路單片機(jī)復(fù)位后的狀態(tài):單片機(jī)的復(fù)位操作使單片機(jī)進(jìn)入初始化狀態(tài),其中包括使

25、程序計(jì)數(shù)器PC0000H,這表明程序從0000H 地址單元開(kāi)始執(zhí)行。單片機(jī)冷啟動(dòng)后,片內(nèi)RAM 為隨機(jī)值,運(yùn)行中的復(fù)位操作不改變片內(nèi)RAM 區(qū)中的內(nèi)容,21 個(gè)特殊功能寄存器復(fù)位后的狀態(tài)為確定值,見(jiàn)表1。值得指出的是,記住一些特殊功能寄存器復(fù)位后的主要狀態(tài),對(duì)于了解單片機(jī)的初態(tài),減少應(yīng)用程序中的初始化部分是十分必要的。說(shuō)明:表4-1 中符號(hào)*為隨機(jī)狀態(tài):表4-1 寄存器復(fù)位后狀態(tài)表PSW00H,表明選寄存器0 組為工作寄存器組; SP07H,表明堆棧指針指向片內(nèi)RAM 07H 字節(jié)單元,根據(jù)堆棧操作的先加后壓法則,第一個(gè)被壓入的內(nèi)容寫(xiě)入到08H 單元中;Po-P3FFH,表明已向各端口線(xiàn)寫(xiě)入1

26、,此時(shí),各端口既可用于輸入又可用于輸出。IP×××00000B,表明各個(gè)中斷源處于低優(yōu)先級(jí); IE0××00000B,表明各個(gè)中斷均被關(guān)斷; 系統(tǒng)復(fù)位是任何微機(jī)系統(tǒng)執(zhí)行的第一步,使整個(gè)控制芯片回到默認(rèn)的硬件狀態(tài)下。51 單片機(jī)的復(fù)位是由RESET 引腳來(lái)控制的,此引腳與高電平相接超過(guò)24 個(gè)振蕩周期后,51 單片機(jī)即進(jìn)入芯片內(nèi)部復(fù)位狀態(tài),而且一直在此狀態(tài)下等待,直到RESET 引腳轉(zhuǎn)為低電平后,才檢查EA 引腳是高電平或低電平,若為高電平則執(zhí)行芯片內(nèi)部的程序代碼,若為低電平便會(huì)執(zhí)行外部程序。51 單片機(jī)在系統(tǒng)復(fù)位時(shí),將其內(nèi)部的一些重要寄存器設(shè)置

27、為特定的值,至于內(nèi)部RAM 內(nèi)部的數(shù)據(jù)則不變。3.4 晶振電路模塊晶振(圖4.10)是晶體振蕩器的簡(jiǎn)稱(chēng),在電氣上它可以等效成一個(gè)電容和一個(gè)電阻并聯(lián)再串聯(lián)一個(gè)電容的二端網(wǎng)絡(luò),電工學(xué)上這個(gè)網(wǎng)絡(luò)有兩個(gè)諧振點(diǎn),以頻率的高低分其中較低的頻率是串聯(lián)諧振,較高的頻率是并聯(lián)諧振。AT89C51 單片機(jī)內(nèi)部有一個(gè)用構(gòu)成振蕩器的高增益反相放大器。引腳XTAL1 和XTAL2 分別是此放大器的輸入端和輸出端。這個(gè)放大器與作為反饋元件的片外晶體諧振器一起構(gòu)成一個(gè)自激振蕩器。外接晶體諧振器以及電容C1 和C2 構(gòu)成并聯(lián)諧振電路,接在放大器的反饋回路中。對(duì)外接電容的值雖然沒(méi)有嚴(yán)格的要求,但電容的大小會(huì)影響震蕩器頻率的高低

28、、震蕩器的穩(wěn)定性、起振的快速性和溫度的穩(wěn)定性。因此,此系統(tǒng)電路的晶體振蕩器的值為12MHz,電容應(yīng)盡可能的選擇陶瓷電容,電容值約為30F。在焊接刷電路板時(shí),晶體振蕩器和電容應(yīng)盡可能安裝得與單片機(jī)芯片靠近,以減少寄生電容,更好地保證震蕩器穩(wěn)定和可靠地工作。晶體振蕩電路如圖3-6:晶振有一個(gè)重要的參數(shù),那就是負(fù)載電容值,選擇與負(fù)載電容值相等的并聯(lián)電容,就可以得到晶振標(biāo)稱(chēng)的諧振頻率。3.5 單片機(jī)硬件端口分配為合理利用單片機(jī)的端口資源,并且兼顧程序設(shè)計(jì)的便利,將系統(tǒng)的輸出和輸入端口作如表3.1配置。 表3.1 單片機(jī)端口配置表單片機(jī)端口外圍接口電路硬件模塊P1.2,P3.2編碼器信號(hào)接收口液晶顯示集

29、成電路模塊4. 程序軟件設(shè)計(jì)與分析4.1系統(tǒng)軟件分析及詳細(xì)技術(shù)文件設(shè)計(jì)單片機(jī) AT89C51介紹AT89C51 是一種帶4K 字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPEROMFalshProgrammable and Erasable Read Only Memory)的低電壓,高性能CMOS8 位微處理器,俗稱(chēng)單片機(jī)。該器件采用ATMEL 高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51 指令集和輸出管腳相兼容。由于將多功能8 位CPU 和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL 的AT89C51 是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。圖4.5 是常用的一

30、種單片機(jī),型號(hào)為AT89C51,它將計(jì)算機(jī)的功能都集成到這個(gè)芯片內(nèi)部去了,就這么一個(gè)小小的芯片就能構(gòu)成一臺(tái)小型的電腦,因此叫做單片機(jī)。圖4.5 AT89C51 芯片它有40 個(gè)管腳,分成兩排,每一排各有20 個(gè)腳,其中左下角標(biāo)有箭頭的為第1 腳,然后按逆時(shí)針?lè)较蛞来螢榈? 腳、第3 腳第40 腳。在40 個(gè)管腳中,其中有32 個(gè)腳可用于各種控制,比如控制小燈的亮與滅、控制電機(jī)的正轉(zhuǎn)與反轉(zhuǎn)、控制電梯的升與降等,這32 個(gè)腳叫做單片機(jī)的“端口”,在單片機(jī)技術(shù)中,每個(gè)端口都有一個(gè)特定的名字,比如第一腳的那個(gè)端口叫做“P1.0”。AT89C51 單片機(jī)的功能:1主要特性:與MCS-51 兼容4K 字節(jié)

31、可編程閃爍存儲(chǔ)器壽命:1000 寫(xiě)/擦循環(huán)數(shù)據(jù)保留時(shí)間:10 年全靜態(tài)工作:0Hz-24Hz三級(jí)程序存儲(chǔ)器鎖定128*8 位內(nèi)部RAM32 可編程I/O 線(xiàn)兩個(gè)16 位定時(shí)器/計(jì)數(shù)器5 個(gè)中斷源可編程串行通道低功耗的閑置和掉電模式片內(nèi)振蕩器和時(shí)鐘電路2管腳說(shuō)明(圖4.7):VCC:供電電壓,GND:接地。P0 口:P0 口為一個(gè)8 位漏級(jí)開(kāi)路雙向I/O 口,每腳可吸收8TTL 門(mén)電流。當(dāng)P1 口的管腳第一次寫(xiě)1 時(shí),被定義為高阻輸入。P0 能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH 編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH 進(jìn)行校驗(yàn)時(shí),P0 輸出原碼,此時(shí)P

32、0 外部必須被拉高。P1 口:P1 口是一個(gè)內(nèi)部提供上拉電阻的8 位雙向I/O 口,P1 口緩沖器能接收輸出4TTL 門(mén)電流。P1 口管腳寫(xiě)入1 后,被內(nèi)部上拉為高,可用作輸入,P1 口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH 編程和校驗(yàn)時(shí),P1 口作為第八位地址接收。P2 口:P2 口為一個(gè)內(nèi)部上拉電阻的8 位雙向I/O 口,P2 口緩沖器可接收,輸出4 個(gè)TTL 門(mén)電流,當(dāng)P2 口被寫(xiě)“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2 口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2 口當(dāng)用于外部程序存儲(chǔ)器或16 位地址外部數(shù)據(jù)

33、存儲(chǔ)器進(jìn)行存取時(shí),P2 口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫(xiě)時(shí),P2 口輸出其特殊功能寄存器的內(nèi)容。P2 口在FLASH 編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。P3 口:P3 口管腳是8 個(gè)帶內(nèi)部上拉電阻的雙向I/O 口,可接收輸出4 個(gè)TTL 門(mén)電流。當(dāng)P3 口寫(xiě)入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3 口將輸出電流(ILL)這是由于上拉的緣故。P3 口也可作為AT89C51 的一些特殊功能口。P3 口管腳備選功能:P3.0 RXD(串行輸入口)P3.1 TXD(串行輸出口)P3.2 /

34、INT0(外部中斷0)P3.3 /INT1(外部中斷1)P3.4 T0(記時(shí)器0 外部輸入)P3.5 T1(記時(shí)器1 外部輸入)P3.6 /WR(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通)P3.7 /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)P3 口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。 RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST 腳兩個(gè)機(jī)器周期的高電平時(shí)間。ALE/PROG:當(dāng)訪(fǎng)問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH 編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE 端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要

35、注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE 脈沖。如想禁止ALE 的輸出可在SFR8EH 地址上置0。此時(shí), ALE 只有在執(zhí)行MOVX,MOVC 指令是ALE 才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE 禁止,置位無(wú)效。PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN 有效。但在訪(fǎng)問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。EA/VPP:當(dāng)/EA 保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1 時(shí),/EA 將內(nèi)部鎖定為RESET;當(dāng)/EA 端保持

36、高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH 編程期間,此引腳也用于施加12V 編程電源(VPP)。XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。XTAL2:來(lái)自反向振蕩器的輸出。3振蕩器特性:XTAL1 和XTAL2 分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2 應(yīng)不接。有余輸入至內(nèi)部時(shí)鐘信號(hào)要通過(guò)一個(gè)二分頻觸發(fā)器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無(wú)任何要求,但必須保證脈沖的高低電平要求的寬度。4芯片擦除:整個(gè)PEROM 陣列和三個(gè)鎖定位的電擦除可通過(guò)正確的控制信號(hào)組合,并保持ALE 管腳處于低電平10ms

37、 來(lái)完成。在芯片擦操作中,代碼陣列全被寫(xiě)“1”且在任何非空存儲(chǔ)字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。此外,AT89C51 設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU 停止工作。但RAM,定時(shí)器,計(jì)數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM 的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個(gè)硬件復(fù)位為止。5.系統(tǒng)軟件設(shè)計(jì)硬件電路完成以后,進(jìn)行系統(tǒng)軟件設(shè)計(jì)。首先要分析系統(tǒng)對(duì)軟件的要求,然后進(jìn)行軟件的總體的設(shè)計(jì),包括程序的總體設(shè)計(jì)和對(duì)程序的模塊化設(shè)計(jì)。按整體功能分為多個(gè)不同的模塊,單獨(dú)設(shè)計(jì)、編程、調(diào)試,然后將各個(gè)模塊裝配聯(lián)調(diào),組成

38、完整的軟件。根據(jù)設(shè)計(jì)的要求,單片機(jī)的任務(wù)是:內(nèi)部進(jìn)行計(jì)數(shù),在計(jì)算出速度后顯示。軟件編程用C 語(yǔ)言完成的,需要能掌握C 語(yǔ)言,還要熟練AT89C51 單片機(jī)。從程序流程圖、編寫(xiě)程序、編譯,到最后的調(diào)試,是很復(fù)雜的。下面作簡(jiǎn)單介紹:系統(tǒng)軟件主程序的功能是完成系統(tǒng)的初始化、顯示程序。5.1 主程序初始化(1) .定時(shí)器的初始化AT89C51 有兩個(gè)定時(shí)器/計(jì)數(shù)器T0 和T1,每個(gè)定時(shí)器/計(jì)數(shù)器均可設(shè)置成為16位,也可以設(shè)置成為13 位進(jìn)行定時(shí)或計(jì)數(shù)。計(jì)數(shù)器的功能是對(duì)T0 或T1 外來(lái)脈沖的進(jìn)行計(jì)數(shù),外部輸入脈沖負(fù)跳變時(shí),計(jì)數(shù)器進(jìn)行加1。定時(shí)功能是通過(guò)計(jì)數(shù)器的計(jì)數(shù)來(lái)實(shí)現(xiàn)的,每個(gè)機(jī)器周期產(chǎn)生1 個(gè)計(jì)數(shù)脈

39、沖,即每個(gè)機(jī)器周期計(jì)數(shù)器加1,因此定時(shí)時(shí)間等于計(jì)數(shù)個(gè)數(shù)乘以機(jī)器周期。定時(shí)器工作時(shí),每接收到1 個(gè)計(jì)數(shù)脈沖(或機(jī)器周期)則在設(shè)定的初值基礎(chǔ)上自動(dòng)加1,當(dāng)所有位都位1時(shí),再加1 就會(huì)產(chǎn)生溢出,將向CPU 提出定時(shí)器溢出中斷身請(qǐng)。當(dāng)定時(shí)器采用不同的工作方式和設(shè)置不同的初值時(shí),產(chǎn)生溢出中斷的定時(shí)值和計(jì)數(shù)值將不同,從而可以適應(yīng)不同的定時(shí)或計(jì)數(shù)控制。定時(shí)器有4 種工作方式:方式0、方式2、方式2 和方式3,在此對(duì)工作方式不做具體介紹。工作方式寄存器TMOD 的設(shè)定:TMOD 各位的含義如下:GATE:門(mén)控位,用于控制定時(shí)/計(jì)數(shù)器的啟動(dòng)是否受外部中斷請(qǐng)求信號(hào)的影響。C/T:定時(shí)或計(jì)數(shù)方式選擇位,當(dāng)C/T=1

40、 時(shí)工作于計(jì)數(shù)方式;當(dāng)C/T=0 時(shí)工作于定時(shí)方式。M1、M0 為工作方式選擇位,用于對(duì)T0 的四種工作方式,T1 的三種工作方式進(jìn)行選擇,選擇情況如下表5-1:M1M0=00 為方式0;M1M0=01 為方式1;表5-1 M1、M0 為工作方式選擇位(2)中斷允許控制MCS-51 單片機(jī)中沒(méi)有專(zhuān)門(mén)的開(kāi)中斷和關(guān)中斷指令,對(duì)各個(gè)中斷源的允許和屏蔽是由內(nèi)部的中斷允許寄存器IE 的各位來(lái)控制的。中斷允許寄存器IE 的字節(jié)地址為A8H,可以進(jìn)行位尋址表5-2 中斷位尋址表EA:中斷允許總控位。EA=0,屏蔽所有的中斷請(qǐng)求;EA=1,開(kāi)放中斷。ET2:定時(shí)器/計(jì)數(shù)器T2 的溢出中斷允許位ES:串行口中斷

41、允許位。ET1:定時(shí)器/計(jì)數(shù)器T1 的溢出中斷允許位。EX1:外部中斷INT1 的中斷允許位。ET0:定時(shí)器/計(jì)數(shù)器T0 的溢出中斷允許位。EX0:外部中斷INT0 的中斷允許位。5.2主程序流程圖程序流程圖主程序流程圖5.1圖5.1 流程圖定時(shí)計(jì)數(shù)子程序流程圖5.3圖5.3 定時(shí)計(jì)數(shù)子程序流程圖5. 后續(xù)有待完善和提高的工作采用單片機(jī)技術(shù)來(lái)實(shí)現(xiàn)轉(zhuǎn)速的測(cè)量,可以提高轉(zhuǎn)速的測(cè)量,可以提高轉(zhuǎn)速測(cè)量的精確度,并且加快了采樣的速率,具有較好的實(shí)時(shí)性。本文介紹的轉(zhuǎn)速方法使用于高、低轉(zhuǎn)速的測(cè)量,測(cè)量精確度與轉(zhuǎn)速無(wú)關(guān),因而具有較寬的應(yīng)用范圍和廣闊的應(yīng)用的前景。基于單片機(jī)的轉(zhuǎn)速測(cè)量系統(tǒng),具有硬件電路簡(jiǎn)單,程序

42、簡(jiǎn)單和運(yùn)算速度快,測(cè)速范圍廣,抗干擾性能好的特點(diǎn)。在設(shè)計(jì)的信號(hào)處理電路中經(jīng)過(guò)濾波,能夠進(jìn)一步減少誤差,是測(cè)速精度得到提高。可以再加入其他檢測(cè)模塊如檢測(cè)電機(jī)溫度、扭矩等,精度方面也可以再提高一點(diǎn)。參考文獻(xiàn)1、陳伯時(shí).電力拖動(dòng)自動(dòng)控制系統(tǒng)-運(yùn)動(dòng)控制系統(tǒng).機(jī)械工業(yè)出版社,20032、馬全權(quán),李慶輝,強(qiáng)盛.一種高精度實(shí)時(shí)電機(jī)轉(zhuǎn)速測(cè)量新方法,齊齊哈爾大學(xué)學(xué)報(bào).20023、孫桂榮,班瑩,劉鳴.電機(jī)轉(zhuǎn)速測(cè)量設(shè)計(jì)實(shí)驗(yàn). 實(shí)驗(yàn)室科學(xué),20054、王雪文.張志勇.傳感器原理及應(yīng)用.北京航空航天大學(xué)出版社.20045、王秀杰,張疇先.模擬集成電路應(yīng)用.西北工業(yè)大學(xué)出版社,20036、何立民.MCS-51 系列單片機(jī)

43、應(yīng)用系統(tǒng)設(shè)計(jì).北京:北京航空航天大學(xué)出版社,19907、蔣智勇. 單片微型計(jì)算機(jī)原理及接口技術(shù).沈陽(yáng):遼寧科學(xué)技術(shù)出版設(shè),19928、何立民.MCS-51 系列單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì).北京:北京航空航天大學(xué)出版社,19909、穆蘭.單片微型計(jì)算機(jī)原理及接口技術(shù).北京:機(jī)械工業(yè)出版社,199510、張毅剛.MCS-51 單片機(jī)應(yīng)用設(shè)計(jì).哈爾濱:哈爾濱工業(yè)大學(xué)出版社,199011、蔣智勇. 單片微型計(jì)算機(jī)原理及接口技術(shù).沈陽(yáng):遼寧科學(xué)技術(shù)出版設(shè),1992附錄/*系統(tǒng)軟件源程序*/#include<reg52.h> /包含單片機(jī)寄存器的頭文件#include<stdlib.h>

44、/包含隨機(jī)函數(shù)rand()的定義文件#include<intrins.h> /包含_nop_()函數(shù)定義的頭文件sbit RS=P20; /寄存器選擇位,將RS位定義為P2.0引腳sbit RW=P21; /讀寫(xiě)選擇位,將RW位定義為P2.1引腳sbit E=P22; /使能信號(hào)位,將E位定義為P2.2引腳sbit BF=P07; /忙碌標(biāo)志位,將BF位定義為P0.7引腳 sbit b_pul=P32; /編碼器脈沖 sbit b_dir=P12; /編碼器方向float counter = 0.0,shudu=0.0,shuju1=0.0,shuju2=0.0; /編碼器脈沖計(jì)數(shù)

45、 unsigned char n,shift;unsigned char code digit ="0123456789" /定義字符數(shù)組顯示數(shù)字unsigned char code string2 ="ZS" /定義字符數(shù)組顯示提示信息unsigned char code string1 ="QS" /定義字符數(shù)組顯示提示信息unsigned char count; /定義變量統(tǒng)計(jì)中斷累計(jì)次數(shù)long s,m,zuikuai;/*函數(shù)功能:延時(shí)1ms(3j+2)*i=(3×33+2)×10=1010(微秒),可以

46、認(rèn)為是1毫秒*/void delay1ms() unsigned char i,j; for(i=0;i<10;i+) for(j=0;j<33;j+) ; /*函數(shù)功能:延時(shí)若干毫秒入口參數(shù):n*/ void delay(unsigned char ms) unsigned char i;for(i=0;i<ms;i+) delay1ms(); /*函數(shù)功能:判斷液晶模塊的忙碌狀態(tài)返回值:result。result=1,忙碌;result=0,不忙*/ unsigned char BusyTest(void) bit result;RS=0; /根據(jù)規(guī)定,RS為低電平,RW

47、為高電平時(shí),可以讀狀態(tài) RW=1; E=1; /E=1,才允許讀寫(xiě) _nop_(); /空操作 _nop_(); _nop_(); _nop_(); /空操作四個(gè)機(jī)器周期,給硬件反應(yīng)時(shí)間 result=BF; /將忙碌標(biāo)志電平賦給result E=0; /將E恢復(fù)低電平 return result; /*函數(shù)功能:將模式設(shè)置指令或顯示地址寫(xiě)入液晶模塊入口參數(shù):dictate*/void WriteInstruction (unsigned char dictate) while(BusyTest()=1); /如果忙就等待 RS=0; /根據(jù)規(guī)定,RS和R/W同時(shí)為低電平時(shí),可以寫(xiě)入指令 RW

48、=0; E=0; /E置低電平(根據(jù)表8-6,寫(xiě)指令時(shí),E為高脈沖, / 就是讓E從0到1發(fā)生正跳變,所以應(yīng)先置"0" _nop_(); _nop_(); /空操作兩個(gè)機(jī)器周期,給硬件反應(yīng)時(shí)間 P0=dictate; /將數(shù)據(jù)送入P0口,即寫(xiě)入指令或地址 _nop_(); _nop_(); _nop_(); _nop_(); /空操作四個(gè)機(jī)器周期,給硬件反應(yīng)時(shí)間 E=1; /E置高電平 _nop_(); _nop_(); _nop_(); _nop_(); /空操作四個(gè)機(jī)器周期,給硬件反應(yīng)時(shí)間 E=0; /當(dāng)E由高電平跳變成低電平時(shí),液晶模塊開(kāi)始執(zhí)行命令 /*函數(shù)功能:指定

49、字符顯示的實(shí)際地址入口參數(shù):x*/ void WriteAddress(unsigned char x) WriteInstruction(x|0x80); /顯示位置的確定方法規(guī)定為"80H+地址碼x" /*函數(shù)功能:將數(shù)據(jù)(字符的標(biāo)準(zhǔn)ASCII碼)寫(xiě)入液晶模塊入口參數(shù):y(為字符常量)*/ void WriteData(unsigned char y) while(BusyTest()=1); RS=1; /RS為高電平,RW為低電平時(shí),可以寫(xiě)入數(shù)據(jù) RW=0; E=0; /E置低電平(根據(jù)表8-6,寫(xiě)指令時(shí),E為高脈沖, / 就是讓E從0到1發(fā)生正跳變,所以應(yīng)先置"0" P0=y; /將數(shù)據(jù)送入P0口,即將數(shù)據(jù)寫(xiě)入液晶模塊 _nop_(); _nop_(); _nop_(); _nop_(); /空操作四個(gè)機(jī)器周期,給硬件反應(yīng)時(shí)間 E=1; /E置高電平 _nop_(); _nop_(); _nop_(); _nop_(); /空操作四個(gè)機(jī)器周期,給硬件反應(yīng)時(shí)間 E=0; /當(dāng)E由高電平跳變成低電平時(shí),液晶模塊開(kāi)始執(zhí)行命令 /*函數(shù)功能:對(duì)LCD的顯示模式進(jìn)行初始化設(shè)置*/void LcdInitiate(void) delay(15); /延時(shí)15ms,首次寫(xiě)指令時(shí)應(yīng)給LCD一段較長(zhǎng)的反應(yīng)時(shí)間 Write

溫馨提示

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