![課程設計數字轉速數計的設計_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/16/24cfa5b9-72f2-40df-b4ab-fd3e8426c189/24cfa5b9-72f2-40df-b4ab-fd3e8426c1891.gif)
![課程設計數字轉速數計的設計_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/16/24cfa5b9-72f2-40df-b4ab-fd3e8426c189/24cfa5b9-72f2-40df-b4ab-fd3e8426c1892.gif)
![課程設計數字轉速數計的設計_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/16/24cfa5b9-72f2-40df-b4ab-fd3e8426c189/24cfa5b9-72f2-40df-b4ab-fd3e8426c1893.gif)
![課程設計數字轉速數計的設計_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/16/24cfa5b9-72f2-40df-b4ab-fd3e8426c189/24cfa5b9-72f2-40df-b4ab-fd3e8426c1894.gif)
![課程設計數字轉速數計的設計_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/16/24cfa5b9-72f2-40df-b4ab-fd3e8426c189/24cfa5b9-72f2-40df-b4ab-fd3e8426c1895.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 課程設計說明書設計題目:學 院:機械工程學院專 業(yè):機械設計制造及其自動化班 級:學 號:姓 名:指導教師:目 錄1. 課程設計要求12. 系統(tǒng)功能分析與方案確定13. 系統(tǒng)主要硬件電路模塊設計43.1編碼器模塊43.2液晶顯示模塊93.3復位電路模塊143.4晶振電路模塊173.5 單片機硬件端口分配184. 程序軟件設計與分析194.1系統(tǒng)軟件分析及詳細技術文件設計195. 后續(xù)有待完善和提高的工作25參考文獻26附錄261. 課程設計要求數字轉速(數)計的設計一、設計任務轉速計是我們經常會用到的儀器之一,通常與編碼器配合用來測量旋轉機械設備的轉速。用單片機的定時/計數器功能可以實現頻率
2、計的數字化、智能化,通過合理的硬件設計和軟件編程使測量精度達到實用化要求。二、 基本要求1. 測量速度范圍11000轉每分鐘。2. 可對轉數計數并實時顯示;3. 可對轉速檢測并實時顯示;4. 速度檢測精度:1%。5. 被測信號是方波。顯示方式為轉數計數:5位十進制數顯示;速度計:5位有效數字顯示,保留小數點后2位。2. 系統(tǒng)功能分析與方案確定2.1 轉速測量系統(tǒng)的原理2.1.1 轉速測量方法轉速是指作圓周運動的物體在單位時間內所轉過的圈數,其大小及變化往往意味著機器設備運轉的正常與否,因此,轉速測量一直是工業(yè)領域的一個重要問題。按照不同的理論方法,先后產生過模擬測速法(如離心式轉速表) 、同步
3、測速法(如機械式或閃光式頻閃測速儀) 以及計數測速法。計數測速法又可分為機械式定時計數法和電子式定時計數法。本文介紹的采用單片機和光電傳感器組成的高精度轉速測量系統(tǒng),其轉速測量方法采用的就是電子式定時計數法。對轉速的測量實際上是對轉子旋轉引起的周期脈沖信號的頻率進行測量。在頻率的工程測量中,電子式定時計數測量頻率的方法一般有三種:測頻率法:在一定時間間隔t 內,計數被測信號的重復變化次數N ,則被測信號的頻率fx 可表示為f x =Nt(1)測周期法:在被測信號的一個周期內,計數時鐘脈沖數m0 ,則被測信號頻率fx = fc/ m0 ,其中, fc 為時鐘脈沖信號頻率。多周期測頻法:在被測信號
4、m1 個周期內, 計數時鐘脈沖數m2 ,從而得到被測信號頻率fx ,則fx 可以表示為fx =m1 fcm2, m1 由測量準確度確定。電子式定時計數法測量頻率時, 其測量準確度主要由兩項誤差來決定: 一項是時基誤差; 另一項是量化±1 誤差。當時基誤差小于量化±1 誤差一個或兩個數量級時,這時測量準確度主要由量化±1 誤差來確定。對于測頻率法,測量相對誤差為:Er1 =測量誤差值實際測量值×100 % =1N×100 % (2)由此可見,被測信號頻率越高, N 越大, Er1 就越小,所以測頻率法適用于高頻信號( 高轉速信號) 的測量。對于測
5、周期法,測量相對誤差為:Er2 =測量誤差值實際測量值×100 % =1m0×100 % (3)對于給定的時鐘脈沖fc , 當被測信號頻率越低時,m0 越大, Er2 就越小,所以測周期法適用于低頻信號( 低轉速信號) 的測量。對于多周期測頻法,測量相對誤差為:Er3 =測量誤差值實際測量值100%=1m2×100 % (4)從上式可知,被測脈沖信號周期數m1 越大, m2 就越大,則測量精度就越高。它適用于高、低頻信號(高、低轉速信號) 的測量。但隨著精度和頻率的提高, 采樣周期將大大延長,并且判斷m1 也要延長采樣周期,不適合實時測量。根據以上的討論,考慮到實
6、際應用中需要測量的轉速范圍很寬,上述的轉速測量方法難以滿足要求,因此,研究高精度的轉速測量方法,以同時適用于高、低轉速信號的測量,不僅具有重要的理論意義,也是實際生產中的需要。2.1.2 轉速測量原理利用編碼器產生方波信號來模擬速度快慢,即通過編碼器,將轉速信號變?yōu)殡娒}沖,利用微機在單位時間內對脈沖進行計數,再經過軟件計算獲得轉速數據。即:n=N/ (mT) (1)n 轉速、單位:轉/ 分鐘;N 采樣時間內所計脈沖個數;T采樣時間、單位:分鐘;m 每旋轉一周所產生的脈沖個數。如果m=60, 那么1 秒鐘內脈沖個數N 就是轉速n, 即:n=N/ (mT) =N/60 ×1/60=N (
7、2)這里m 為400。(看編碼器而定)在對轉速波動較快系統(tǒng)或要求動態(tài)特性好而精度高的轉速測控系統(tǒng)中,調節(jié)周期一般很短,相應的采樣周期需取得很小,使得脈沖當量增高,從而導致整個系統(tǒng)測量精度降低,難以滿足測控要求。提高采樣速率通常就要減小采樣時間T, 而T 的減小會使采到的脈沖數值N 下降,導致脈沖當量(每個脈沖所代表的轉速) 增高,從而使得測量精度變得粗糙。通過增加測速碼盤的齒數可以提高精度,但是碼盤齒數的增加會受到加工工藝的限制,同時會使轉速測量脈沖的頻率增高,頻率的提升又會受到傳感器中光電器或磁敏器或磁電器件最高工作頻率的限制。凡此種種因素限制了常規(guī)智能轉速測量方法的使用范圍。而采用本文所提
8、出的定時分時雙頻率采樣法,可在保證采樣度的同時,提高采樣速率,充分發(fā)揮微機智能測速方法的優(yōu)越性及靈活性。圖1.1 系統(tǒng)原理圖各部分模塊的功能:編碼器:用來對信號的采樣。放大、整形電路:對傳感器送過來的信號進行放大和整形,在送入單片機進行數據的處理轉換。單片機:對處理過的信號進行轉換成轉速的實際值,1602液晶1602液晶顯示:用來對所測量到的轉速進行顯示。3. 系統(tǒng)主要硬件電路模塊設計3.1編碼器模塊轉速測量的方案選擇,一般要考慮傳感器的結構、安裝以及測速范圍與環(huán)境條件等方面的適用性;再就是二次儀表的要求,除了顯示以外還有控制、通訊和遠傳方面的要求。這里主要由編碼器性質決定,以下為本次實驗的編
9、碼器,及其工作原理:3.1.1光電編碼器的介紹:光電編碼器是通過讀取光電編碼盤上的圖案或編碼信息來表示與光電編碼器相連的電機轉子的位置信息的。根據光電編碼器的工作原理可以將光電編碼器分為絕對式光電編碼器與增量式光電編碼器,下面我就這兩種光電編碼器的結構與工作原理做介紹。(一)、絕對式光電編碼器絕對式光電編碼器如圖所示,他是通過讀取編碼盤上的二進制的編碼信息來表示絕對位置信息的。編碼盤是按照一定的編碼形式制成的圓盤。圖1是二進制的編碼盤,圖中空白部分是透光的,用“0”來表示;涂黑的部分是不透光的,用“1”來表示。通常將組成編碼的圈稱為碼道,每個碼道表示二進制數的一位,其中最外側的是最低位,最里側
10、的是最高位。如果編碼盤有4個碼道,則由里向外的碼道分別表示為二進制的23、22、21和20,4位二進制可形成16個二進制數,因此就將圓盤劃分16個扇區(qū),每個扇區(qū)對應一個4位二進制數,如0000、0001、1111。按照碼盤上形成的碼道配置相應的光電傳感器,包括光源、透鏡、碼盤、光敏二極管和驅動電子線路。當碼盤轉到一定的角度時,扇區(qū)中透光的碼道對應的光敏二極管導通,輸出低電平“0”,遮光的碼道對應的光敏二極管不導通,輸出高電平“1”,這樣形成與編碼方式一致的高、低電平輸出,從而獲得扇區(qū)的位置腳。(二)、增量式光電編碼器增量式光電編碼器是碼盤隨位置的變化輸出一系列的脈沖信號,然后根據位置變化的方向
11、用計數器對脈沖進行加/減計數,以此達到位置檢測的目的。它是由光源、透鏡、主光柵碼盤、鑒向盤、光敏元件和電子線路組成。增量式光電編碼器的工作原理是是由旋轉軸轉動帶動在徑向有均勻窄縫的主光柵碼盤旋轉,在主光柵碼盤的上面有與其平行的鑒向盤,在鑒向盤上有兩條彼此錯開90o相位的窄縫,并分別有光敏二極管接收主光柵碼盤透過來的信號。工作時,鑒向盤不動,主光柵碼盤隨轉子旋轉,光源經透鏡平行射向主光柵碼盤,通過主光柵碼盤和鑒向盤后由光敏二極管接收相位差90o的近似正弦信號,再由邏輯電路形成轉向信號和計數脈沖信號。為了獲得絕對位置角,在增量式光電編碼器有零位脈沖,即主光柵每旋轉一周,輸出一個零位脈沖,使位置角清
12、零。利用增量式光電編碼器可以檢測電機的位置和速度。二、光電編碼器的測量方法:光電編碼器在電機控制中可以用來測量電機轉子的磁場位置和機械位置以及轉子的磁場和機械位置的變化速度與變化方向。下面就我就光電編碼器在這幾方面的應用方法做一下介紹。(一)、使用光電編碼器來測量電機的轉速可以利用定時器/計數器配合光電編碼器的輸出脈沖信號來測量電機的轉速。具體的測速方法有M法、T法和M/T法3種。M法又稱之為測頻法,其測速原理是在規(guī)定的檢測時間Tc內,對光電編碼器輸出的脈沖信號計數的測速方法,如圖2所示,例如光電編碼器是N線的,則每旋轉一周可以有4N個脈沖,因為兩路脈沖的上升沿與下降沿正好使編碼器信號4倍頻。
13、現在假設檢測時間是Tc,計數器的記錄的脈沖數是M1,則電機的每分鐘的轉速為在實際的測量中,時間Tc內的脈沖個數不一定正好是整數,而且存在最大半個脈沖的誤差。如果要求測量的誤差小于規(guī)定的范圍,比如說是小于百分之一,那么M1就應該大于50。在一定的轉速下要增大檢測脈沖數M1以減小誤差,可以增大檢測時間Tc單考慮到實際的應用檢測時間很短,例如伺服系統(tǒng)中的測量速度用于反饋控制,一般應在0.01秒以下。由此可見,減小測量誤差的方法是采用高線數的光電編碼器。M法測速適用于測量高轉速,因為對于給定的光電編碼器線數N機測量時間Tc條件下,轉速越高,計數脈沖M1越大,誤差也就越小。T法也稱之為測周法,該測速方法
14、是在一個脈沖周期內對時鐘信號脈沖進行計數的方法,如圖3所示。例如時鐘頻率為fclk,計數器記錄的脈沖數為M2,光電編碼器是N線的,每線輸出4N個脈沖,那么電機的每分鐘的轉速為為了減小誤差,希望盡可能記錄較多的脈沖數,因此T法測速適用于低速運行的場合。但轉速太低,一個編碼器輸出脈沖的時間太長,時鐘脈沖數會超過計數器最大計數值而產生溢出;另外,時間太長也會影響控制的快速性。與M法測速一樣,選用線數較多的光電編碼器可以提高對電機轉速測量的快速性與精度。M/T法測速是將M法和T法兩種方法結合在一起使用,在一定的時間范圍內,同時對光電編碼器輸出的脈沖個數M1和M2進行計數,則電機每分鐘的轉速為 實際工作
15、時,在固定的Tc時間內對光電編碼器的脈沖計數,在第一個光電編碼器上升沿定時器開始定時,同時開始記錄光電編碼器和時鐘脈沖數,定時器定時Tc時間到,對光電編碼器的脈沖停止計數,而在下一個光電編碼器的上升沿到來時刻,時鐘脈沖才停止記錄。采用M/T法既具有M法測速的高速優(yōu)點,又具有T法測速的低速的優(yōu)點,能夠覆蓋較廣的轉速范圍,測量的精度也較高,在電機的控制中有著十分廣泛的應用。(二)使用增量式光電編碼器來判別電機轉速方向的原理增量式光電編碼器輸出兩路相位相差90o的脈沖信號A和B,當電機正轉時,脈沖信號A的相位超前脈沖信號B的相位90o,此時邏輯電路處理后可形成高電平的方向信號Dir。當電機反轉時,脈
16、沖信號A的相位滯后脈沖信號B的相位90o,此時邏輯電路處理后的方向信號Dir為低電平。因此根據超前與滯后的關系可以確定電機的轉向。其轉速辯相的原理如圖4所示 圖4轉向判別原理圖(三)、增量式光電編碼器的反饋脈沖的四倍頻原理在使用增量式編碼器時,通過計相位相差90o的兩路正交脈沖信號A和B的上升沿與下降沿已達到將增量式編碼器的反饋脈沖四倍頻的目的。這樣在不增加增量式光電編碼器的線數的情況下,就可以獲得更精度高的位置脈沖信息,以實現對電機位置的精確控制。其工作原理與脈沖的相位關系如圖5所示圖5 脈沖四倍頻相位關系圖結束語:光電式編碼器有著良好的抗干擾特性與應用的可靠性,在電機控制這種有著極高電磁感
17、染的應用環(huán)境下有著廣闊的應用前景。相信在不久的將來光電式編碼器一定會在電機控制領域發(fā)揮更為重要的作用。而我們對于光電式編碼器的研究也就顯得格外的重要。3.2液晶顯示模塊液晶顯示原理液晶顯示的原理是利用液晶的物理特性,通過電壓對其顯示區(qū)域進行控制,有電就有顯示,這樣即可以顯示出圖形。液晶顯示器具有厚度薄、適用于大規(guī)模集成電路直接驅動、易于實現全彩色顯示的特點,目前已經被廣泛應用在便攜式電腦、數字攝像機、PDA移動通信工具等眾多領域。液晶顯示器的分類液晶顯示的分類方法有很多種,通??砂雌滹@示方式分為段式、字符式、點陣式等。除了黑白顯示外,液晶顯示器還有多灰度有彩色顯示等。如果根據驅動方式來分,可以
18、分為靜態(tài)驅動(Static)、單純矩陣驅動(Simple Matrix)和主動矩陣驅動(Active Matrix)三種。液晶顯示器各種圖形的顯示原理:線段的顯示點陣圖形式液晶由M×N個顯示單元組成,假設LCD顯示屏有64行,每行有128列,每8列對應1字節(jié)的8位,即每行由16字節(jié),共16×8=128個點組成,屏上64×16個顯示單元與顯示RAM區(qū)1024字節(jié)相對應,每一字節(jié)的內容和顯示屏上相應位置的亮暗對應。例如屏的第一行的亮暗由RAM區(qū)的000H00FH的16字節(jié)的內容決定,當(000H)=FFH時,則屏幕的左上角顯示一條短亮線,長度為8個點;當(3FFH)=
19、FFH時,則屏幕的右下角顯示一條短亮線;當(000H)=FFH,(001H)=00H,(002H)=00H,(00EH)=00H,(00FH)=00H時,則在屏幕的頂部顯示一條由8段亮線和8條暗線組成的虛線。這就是LCD顯示的基本原理。字符的顯示用LCD顯示一個字符時比較復雜,因為一個字符由6×8或8×8點陣組成,既要找到和顯示屏幕上某幾個位置對應的顯示RAM區(qū)的8字節(jié),還要使每字節(jié)的不同位為“1”,其它的為“0”,為“1”的點亮,為“0”的不亮。這樣一來就組成某個字符。但由于內帶字符發(fā)生器的控制器來說,顯示字符就比較簡單了,可以讓控制器工作在文本方式,根據在LCD上開始顯
20、示的行列號及每行的列數找出顯示RAM對應的地址,設立光標,在此送上該字符對應的代碼即可。漢字的顯示漢字的顯示一般采用圖形的方式,事先從微機中提取要顯示的漢字的點陣碼(一般用字模提取軟件),每個漢字占32B,分左右兩半,各占16B,左邊為1、3、5右邊為2、4、6根據在LCD上開始顯示的行列號及每行的列數可找出顯示RAM對應的地址,設立光標,送上要顯示的漢字的第一字節(jié),光標位置加1,送第二個字節(jié),換行按列對齊,送第三個字節(jié)直到32B顯示完就可以LCD上得到一個完整漢字。3.2.1 1602字符型LCD簡介字符型液晶顯示模塊是一種專門用于顯示字母、數字、符號等點陣式LCD,目前常用16*1,16*
21、2,20*2和40*2行等的模塊。下面以長沙太陽人電子有限公司的1602字符型液晶顯示器為例,介紹其用法。一般1602字符型液晶顯示器實物如圖10-53:圖3-1 1602字符型液晶顯示器實物圖3.2.2 1602LCD的基本參數及引腳功能1602LCD分為帶背光和不帶背光兩種,基控制器大部分為HD44780,帶背光的比不帶背光的厚,是否帶背光在應用中并無差別,兩者尺寸差別如下圖10-54所示:圖3-2 1602LCD尺寸圖1602LCD主要技術參數:顯示容量:16×2個字符芯片工作電壓:4.55.5V工作電流:2.0mA(5.0V)模塊最佳工作電壓:5.0V字符尺寸:2.95
22、15;4.35(W×H)mm引腳功能說明1602LCD采用標準的14腳(無背光)或16腳(帶背光)接口,第1腳:VSS為地電源。第2腳:VDD接5V正電源。第3腳:VL為液晶顯示器對比度調整端,接正電源時對比度最弱,接地時對比度最高,對比度過高時會產生“鬼影”,使用時可以通過一個10K的電位器調整對比度。第4腳:RS為寄存器選擇,高電平時選擇數據寄存器、低電平時選擇指令寄存器。第5腳:R/W為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當RS和R/W共同為低電平時可以寫入指令或者顯示地址,當RS為低電平R/W為高電平時可以讀忙信號,當RS為高電平R/W為低電平時可以寫入數據。
23、第6腳:E端為使能端,當E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。第714腳:D0D7為8位雙向數據線。第15腳:背光源正極。第16腳:背光源負極。3.2.7 硬件原理圖1602液晶顯示模塊可以和單片機AT89C51直接接口,電路如圖3-11所示。圖3-11 硬件原理圖3.2.8 程序流程圖圖3-12 軟件流程圖3.3復位電路模塊復位電路(圖4.8):MCS-51 單片機復位電路是指單片機的初始化操作。單片機啟運運行時,都需要先復位,其作用是使CPU 和系統(tǒng)中其他部件處于一個確定的初始狀態(tài),并從這個狀態(tài)開始工作。因而,復位是一個很重要的操作方式。但單片機本身是不能自動進行復位的,必須配合相
24、應的外部電路才能實現。圖4.8 復位電路復位功能:復位電路的基本功能是:系統(tǒng)上電時提供復位信號,直至系統(tǒng)電源穩(wěn)定后,撤銷復位信號。為可靠起見,電源穩(wěn)定后還要經一定的延時才撤銷復位信號,以防電源開關或電源插頭分-合過程中引起的抖動而影響復位。單片機的復位是由外部的復位電路來實現的。片內復位電路是復位引腳RST 通過一個斯密特觸發(fā)器與復位電路相連,斯密特觸發(fā)器用來抑制噪聲,它的輸出在每個機器周期的S5P2,由復位電路采樣一次。復位電路通常采用上電自動復位(如圖4.9 (a))和按鈕復位(如圖4.9(b)兩種方式。圖4.9 RC 復位電路單片機復位后的狀態(tài):單片機的復位操作使單片機進入初始化狀態(tài),其
25、中包括使程序計數器PC0000H,這表明程序從0000H 地址單元開始執(zhí)行。單片機冷啟動后,片內RAM 為隨機值,運行中的復位操作不改變片內RAM 區(qū)中的內容,21 個特殊功能寄存器復位后的狀態(tài)為確定值,見表1。值得指出的是,記住一些特殊功能寄存器復位后的主要狀態(tài),對于了解單片機的初態(tài),減少應用程序中的初始化部分是十分必要的。說明:表4-1 中符號*為隨機狀態(tài):表4-1 寄存器復位后狀態(tài)表PSW00H,表明選寄存器0 組為工作寄存器組; SP07H,表明堆棧指針指向片內RAM 07H 字節(jié)單元,根據堆棧操作的先加后壓法則,第一個被壓入的內容寫入到08H 單元中;Po-P3FFH,表明已向各端口
26、線寫入1,此時,各端口既可用于輸入又可用于輸出。IP×××00000B,表明各個中斷源處于低優(yōu)先級; IE0××00000B,表明各個中斷均被關斷; 系統(tǒng)復位是任何微機系統(tǒng)執(zhí)行的第一步,使整個控制芯片回到默認的硬件狀態(tài)下。51 單片機的復位是由RESET 引腳來控制的,此引腳與高電平相接超過24 個振蕩周期后,51 單片機即進入芯片內部復位狀態(tài),而且一直在此狀態(tài)下等待,直到RESET 引腳轉為低電平后,才檢查EA 引腳是高電平或低電平,若為高電平則執(zhí)行芯片內部的程序代碼,若為低電平便會執(zhí)行外部程序。51 單片機在系統(tǒng)復位時,將其內部的一些重要寄
27、存器設置為特定的值,至于內部RAM 內部的數據則不變。3.4 晶振電路模塊晶振(圖4.10)是晶體振蕩器的簡稱,在電氣上它可以等效成一個電容和一個電阻并聯(lián)再串聯(lián)一個電容的二端網絡,電工學上這個網絡有兩個諧振點,以頻率的高低分其中較低的頻率是串聯(lián)諧振,較高的頻率是并聯(lián)諧振。AT89C51 單片機內部有一個用構成振蕩器的高增益反相放大器。引腳XTAL1 和XTAL2 分別是此放大器的輸入端和輸出端。這個放大器與作為反饋元件的片外晶體諧振器一起構成一個自激振蕩器。外接晶體諧振器以及電容C1 和C2 構成并聯(lián)諧振電路,接在放大器的反饋回路中。對外接電容的值雖然沒有嚴格的要求,但電容的大小會影響震蕩器頻
28、率的高低、震蕩器的穩(wěn)定性、起振的快速性和溫度的穩(wěn)定性。因此,此系統(tǒng)電路的晶體振蕩器的值為12MHz,電容應盡可能的選擇陶瓷電容,電容值約為30F。在焊接刷電路板時,晶體振蕩器和電容應盡可能安裝得與單片機芯片靠近,以減少寄生電容,更好地保證震蕩器穩(wěn)定和可靠地工作。晶體振蕩電路如圖3-6:晶振有一個重要的參數,那就是負載電容值,選擇與負載電容值相等的并聯(lián)電容,就可以得到晶振標稱的諧振頻率。3.5 單片機硬件端口分配 為合理利用單片機的端口資源,并且兼顧程序設計的便利,將系統(tǒng)的輸出和輸入端口作如表3.1配置。 表3.1 單片機端口配置表單片機端口外圍接口電路硬件模塊P1.2,P3.2編碼器信號接收口
29、液晶顯示集成電路模塊4. 程序軟件設計與分析4.1系統(tǒng)軟件分析及詳細技術文件設計單片機 AT89C51介紹AT89C51 是一種帶4K 字節(jié)閃爍可編程可擦除只讀存儲器(FPEROMFalshProgrammable and Erasable Read Only Memory)的低電壓,高性能CMOS8 位微處理器,俗稱單片機。該器件采用ATMEL 高密度非易失存儲器制造技術制造,與工業(yè)標準的MCS-51 指令集和輸出管腳相兼容。由于將多功能8 位CPU 和閃爍存儲器組合在單個芯片中,ATMEL 的AT89C51 是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。圖4.5
30、是常用的一種單片機,型號為AT89C51,它將計算機的功能都集成到這個芯片內部去了,就這么一個小小的芯片就能構成一臺小型的電腦,因此叫做單片機。圖4.5 AT89C51 芯片它有40 個管腳,分成兩排,每一排各有20 個腳,其中左下角標有箭頭的為第1 腳,然后按逆時針方向依次為第2 腳、第3 腳第40 腳。在40 個管腳中,其中有32 個腳可用于各種控制,比如控制小燈的亮與滅、控制電機的正轉與反轉、控制電梯的升與降等,這32 個腳叫做單片機的“端口”,在單片機技術中,每個端口都有一個特定的名字,比如第一腳的那個端口叫做“P1.0”。AT89C51 單片機的功能:1主要特性:與MCS-51 兼容
31、4K 字節(jié)可編程閃爍存儲器壽命:1000 寫/擦循環(huán)數據保留時間:10 年全靜態(tài)工作:0Hz-24Hz三級程序存儲器鎖定128*8 位內部RAM32 可編程I/O 線兩個16 位定時器/計數器5 個中斷源可編程串行通道低功耗的閑置和掉電模式片內振蕩器和時鐘電路2管腳說明(圖4.7):VCC:供電電壓,GND:接地。P0 口:P0 口為一個8 位漏級開路雙向I/O 口,每腳可吸收8TTL 門電流。當P1 口的管腳第一次寫1 時,被定義為高阻輸入。P0 能夠用于外部程序數據存儲器,它可以被定義為數據/地址的第八位。在FIASH 編程時,P0 口作為原碼輸入口,當FIASH 進行校驗時,P0 輸出原
32、碼,此時P0 外部必須被拉高。P1 口:P1 口是一個內部提供上拉電阻的8 位雙向I/O 口,P1 口緩沖器能接收輸出4TTL 門電流。P1 口管腳寫入1 后,被內部上拉為高,可用作輸入,P1 口被外部下拉為低電平時,將輸出電流,這是由于內部上拉的緣故。在FLASH 編程和校驗時,P1 口作為第八位地址接收。P2 口:P2 口為一個內部上拉電阻的8 位雙向I/O 口,P2 口緩沖器可接收,輸出4 個TTL 門電流,當P2 口被寫“1”時,其管腳被內部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2 口的管腳被外部拉低,將輸出電流。這是由于內部上拉的緣故。P2 口當用于外部程序存儲器或16 位地
33、址外部數據存儲器進行存取時,P2 口輸出地址的高八位。在給出地址“1”時,它利用內部上拉優(yōu)勢,當對外部八位地址數據存儲器進行讀寫時,P2 口輸出其特殊功能寄存器的內容。P2 口在FLASH 編程和校驗時接收高八位地址信號和控制信號。P3 口:P3 口管腳是8 個帶內部上拉電阻的雙向I/O 口,可接收輸出4 個TTL 門電流。當P3 口寫入“1”后,它們被內部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3 口將輸出電流(ILL)這是由于上拉的緣故。P3 口也可作為AT89C51 的一些特殊功能口。P3 口管腳備選功能:P3.0 RXD(串行輸入口)P3.1 TXD(串行輸出口)P
34、3.2 /INT0(外部中斷0)P3.3 /INT1(外部中斷1)P3.4 T0(記時器0 外部輸入)P3.5 T1(記時器1 外部輸入)P3.6 /WR(外部數據存儲器寫選通)P3.7 /RD(外部數據存儲器讀選通)P3 口同時為閃爍編程和編程校驗接收一些控制信號。 RST:復位輸入。當振蕩器復位器件時,要保持RST 腳兩個機器周期的高電平時間。ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH 編程期間,此引腳用于輸入編程脈沖。在平時,ALE 端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目
35、的。然而要注意的是:每當用作外部數據存儲器時,將跳過一個ALE 脈沖。如想禁止ALE 的輸出可在SFR8EH 地址上置0。此時, ALE 只有在執(zhí)行MOVX,MOVC 指令是ALE 才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE 禁止,置位無效。PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN 有效。但在訪問外部數據存儲器時,這兩次有效的/PSEN信號將不出現。EA/VPP:當/EA 保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內部程序存儲器。注意加密方式1 時,/EA 將內部鎖定為RESET;當/E
36、A 端保持高電平時,此間內部程序存儲器。在FLASH 編程期間,此引腳也用于施加12V 編程電源(VPP)。XTAL1:反向振蕩放大器的輸入及內部時鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。3振蕩器特性:XTAL1 和XTAL2 分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅動器件,XTAL2 應不接。有余輸入至內部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。4芯片擦除:整個PEROM 陣列和三個鎖定位的電擦除可通過正確的控制信號組合,并保持ALE 管腳處于低電
37、平10ms 來完成。在芯片擦操作中,代碼陣列全被寫“1”且在任何非空存儲字節(jié)被重復編程以前,該操作必須被執(zhí)行。此外,AT89C51 設有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU 停止工作。但RAM,定時器,計數器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM 的內容并且凍結振蕩器,禁止所用其他芯片功能,直到下一個硬件復位為止。5.系統(tǒng)軟件設計硬件電路完成以后,進行系統(tǒng)軟件設計。首先要分析系統(tǒng)對軟件的要求,然后進行軟件的總體的設計,包括程序的總體設計和對程序的模塊化設計。按整體功能分為多個不同的模塊,單獨設計、編程、調試,然后將各個模塊裝配
38、聯(lián)調,組成完整的軟件。根據設計的要求,單片機的任務是:內部進行計數,在計算出速度后顯示。軟件編程用C 語言完成的,需要能掌握C 語言,還要熟練AT89C51 單片機。從程序流程圖、編寫程序、編譯,到最后的調試,是很復雜的。下面作簡單介紹:系統(tǒng)軟件主程序的功能是完成系統(tǒng)的初始化、顯示程序。5.1 主程序初始化(1) .定時器的初始化AT89C51 有兩個定時器/計數器T0 和T1,每個定時器/計數器均可設置成為16位,也可以設置成為13 位進行定時或計數。計數器的功能是對T0 或T1 外來脈沖的進行計數,外部輸入脈沖負跳變時,計數器進行加1。定時功能是通過計數器的計數來實現的,每個機器周期產生1
39、 個計數脈沖,即每個機器周期計數器加1,因此定時時間等于計數個數乘以機器周期。定時器工作時,每接收到1 個計數脈沖(或機器周期)則在設定的初值基礎上自動加1,當所有位都位1時,再加1 就會產生溢出,將向CPU 提出定時器溢出中斷身請。當定時器采用不同的工作方式和設置不同的初值時,產生溢出中斷的定時值和計數值將不同,從而可以適應不同的定時或計數控制。定時器有4 種工作方式:方式0、方式2、方式2 和方式3,在此對工作方式不做具體介紹。工作方式寄存器TMOD 的設定:TMOD 各位的含義如下:GATE:門控位,用于控制定時/計數器的啟動是否受外部中斷請求信號的影響。C/T:定時或計數方式選擇位,當
40、C/T=1 時工作于計數方式;當C/T=0 時工作于定時方式。M1、M0 為工作方式選擇位,用于對T0 的四種工作方式,T1 的三種工作方式進行選擇,選擇情況如下表5-1:M1M0=00 為方式0;M1M0=01 為方式1;表5-1 M1、M0 為工作方式選擇位(2)中斷允許控制MCS-51 單片機中沒有專門的開中斷和關中斷指令,對各個中斷源的允許和屏蔽是由內部的中斷允許寄存器IE 的各位來控制的。中斷允許寄存器IE 的字節(jié)地址為A8H,可以進行位尋址表5-2 中斷位尋址表EA:中斷允許總控位。EA=0,屏蔽所有的中斷請求;EA=1,開放中斷。ET2:定時器/計數器T2 的溢出中斷允許位ES:
41、串行口中斷允許位。ET1:定時器/計數器T1 的溢出中斷允許位。EX1:外部中斷INT1 的中斷允許位。ET0:定時器/計數器T0 的溢出中斷允許位。EX0:外部中斷INT0 的中斷允許位。5.2主程序流程圖程序流程圖主程序流程圖5.1圖5.1 流程圖定時計數子程序流程圖5.3圖5.3 定時計數子程序流程圖5. 后續(xù)有待完善和提高的工作采用單片機技術來實現轉速的測量,可以提高轉速的測量,可以提高轉速測量的精確度,并且加快了采樣的速率,具有較好的實時性。本文介紹的轉速方法使用于高、低轉速的測量,測量精確度與轉速無關,因而具有較寬的應用范圍和廣闊的應用的前景。基于單片機的轉速測量系統(tǒng),具有硬件電路
42、簡單,程序簡單和運算速度快,測速范圍廣,抗干擾性能好的特點。在設計的信號處理電路中經過濾波,能夠進一步減少誤差,是測速精度得到提高??梢栽偌尤肫渌麢z測模塊如檢測電機溫度、扭矩等,精度方面也可以再提高一點。參考文獻1、陳伯時.電力拖動自動控制系統(tǒng)-運動控制系統(tǒng).機械工業(yè)出版社,20032、馬全權,李慶輝,強盛.一種高精度實時電機轉速測量新方法,齊齊哈爾大學學報.20023、孫桂榮,班瑩,劉鳴.電機轉速測量設計實驗. 實驗室科學,20054、王雪文.張志勇.傳感器原理及應用.北京航空航天大學出版社.20045、王秀杰,張疇先.模擬集成電路應用.西北工業(yè)大學出版社,20036、何立民.MCS-51
43、系列單片機應用系統(tǒng)設計.北京:北京航空航天大學出版社,19907、蔣智勇. 單片微型計算機原理及接口技術.沈陽:遼寧科學技術出版設,19928、何立民.MCS-51 系列單片機應用系統(tǒng)設計.北京:北京航空航天大學出版社,19909、穆蘭.單片微型計算機原理及接口技術.北京:機械工業(yè)出版社,199510、張毅剛.MCS-51 單片機應用設計.哈爾濱:哈爾濱工業(yè)大學出版社,199011、蔣智勇. 單片微型計算機原理及接口技術.沈陽:遼寧科學技術出版設,1992附錄/*系統(tǒng)軟件源程序*/#include<reg52.h> /包含單片機寄存器的頭文件#include<stdlib.h
44、> /包含隨機函數rand()的定義文件#include<intrins.h> /包含_nop_()函數定義的頭文件sbit RS=P20; /寄存器選擇位,將RS位定義為P2.0引腳sbit RW=P21; /讀寫選擇位,將RW位定義為P2.1引腳sbit E=P22; /使能信號位,將E位定義為P2.2引腳sbit BF=P07; /忙碌標志位,將BF位定義為P0.7引腳 sbit b_pul=P32; /編碼器脈沖 sbit b_dir=P12; /編碼器方向float counter = 0.0,shudu=0.0,shuju1=0.0,shuju2=0.0; /編碼
45、器脈沖計數 unsigned char n,shift;unsigned char code digit ="0123456789" /定義字符數組顯示數字unsigned char code string2 ="ZS" /定義字符數組顯示提示信息unsigned char code string1 ="QS" /定義字符數組顯示提示信息unsigned char count; /定義變量統(tǒng)計中斷累計次數long s,m,zuikuai;/*函數功能:延時1ms(3j+2)*i=(3×33+2)×10=1010(微
46、秒),可以認為是1毫秒*/void delay1ms() unsigned char i,j; for(i=0;i<10;i+) for(j=0;j<33;j+) ; /*函數功能:延時若干毫秒入口參數:n*/ void delay(unsigned char ms) unsigned char i;for(i=0;i<ms;i+) delay1ms(); /*函數功能:判斷液晶模塊的忙碌狀態(tài)返回值:result。result=1,忙碌;result=0,不忙*/ unsigned char BusyTest(void) bit result;RS=0; /根據規(guī)定,RS為低
47、電平,RW為高電平時,可以讀狀態(tài) RW=1; E=1; /E=1,才允許讀寫 _nop_(); /空操作 _nop_(); _nop_(); _nop_(); /空操作四個機器周期,給硬件反應時間 result=BF; /將忙碌標志電平賦給result E=0; /將E恢復低電平 return result; /*函數功能:將模式設置指令或顯示地址寫入液晶模塊入口參數:dictate*/void WriteInstruction (unsigned char dictate) while(BusyTest()=1); /如果忙就等待 RS=0; /根據規(guī)定,RS和R/W同時為低電平時,可以寫入
48、指令 RW=0; E=0; /E置低電平(根據表8-6,寫指令時,E為高脈沖, / 就是讓E從0到1發(fā)生正跳變,所以應先置"0" _nop_(); _nop_(); /空操作兩個機器周期,給硬件反應時間 P0=dictate; /將數據送入P0口,即寫入指令或地址 _nop_(); _nop_(); _nop_(); _nop_(); /空操作四個機器周期,給硬件反應時間 E=1; /E置高電平 _nop_(); _nop_(); _nop_(); _nop_(); /空操作四個機器周期,給硬件反應時間 E=0; /當E由高電平跳變成低電平時,液晶模塊開始執(zhí)行命令 /*函數
49、功能:指定字符顯示的實際地址入口參數:x*/ void WriteAddress(unsigned char x) WriteInstruction(x|0x80); /顯示位置的確定方法規(guī)定為"80H+地址碼x" /*函數功能:將數據(字符的標準ASCII碼)寫入液晶模塊入口參數:y(為字符常量)*/ void WriteData(unsigned char y) while(BusyTest()=1); RS=1; /RS為高電平,RW為低電平時,可以寫入數據 RW=0; E=0; /E置低電平(根據表8-6,寫指令時,E為高脈沖, / 就是讓E從0到1發(fā)生正跳變,所以應先置"0" P0=y; /將數據送入P0口,即將數據寫入液晶模塊 _nop_(); _nop_(); _nop_(); _nop_(); /空操作四個機器周期,給硬件反應時間 E=1; /E置高電平 _nop_(); _nop_(); _nop_(); _nop_(); /空操作四個機器周期,給硬件反應時間 E=0; /當E由高電平跳變成低電平時,液晶模塊開始執(zhí)行命令 /*函數功能:對LCD的顯示模式進行初始化設置*/void Lc
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 校園文化建設與學校發(fā)展戰(zhàn)略
- 行為習慣與孩子未來家庭教育的長遠影響
- DB6103T 80-2025獼猴桃園覆土栽培香菇技術規(guī)范
- 不可撤銷物業(yè)服務合同范例
- 中保人壽幸福家園保險合同范本(A)
- 臨街旺鋪租賃合同樣本
- 二手車買賣合同(權威版)
- 業(yè)務拓展與培訓合作合同
- 上海市物流運輸合同范本
- 個人信用擔保貸款合同范文
- 2023年鐵嶺衛(wèi)生職業(yè)學院高職單招(數學)試題庫含答案解析
- 電力安全工作規(guī)程(電網建設部分)2023年
- 呆死帳的發(fā)生與預防課件
- 10000中國普通人名大全
- 起重機械安裝吊裝危險源辨識、風險評價表
- 華北理工兒童口腔醫(yī)學教案06兒童咬合誘導
- 中國建筑項目管理表格
- 高一3班第一次月考總結班會課件
- 公共政策分析導論教學課件匯總完整版電子教案
- 我國油菜生產機械化技術(-119)
- 大跨度斜拉橋上部結構施工技術(圖文并茂)
評論
0/150
提交評論