基于AT89C51單片機采用光電編碼器實施轉速測量的方法_第1頁
基于AT89C51單片機采用光電編碼器實施轉速測量的方法_第2頁
基于AT89C51單片機采用光電編碼器實施轉速測量的方法_第3頁
基于AT89C51單片機采用光電編碼器實施轉速測量的方法_第4頁
基于AT89C51單片機采用光電編碼器實施轉速測量的方法_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、摘要在工程實踐中,經常會遇到各種需要測量轉速的場合,測量轉速的方法分為模擬式和數(shù)字式兩種。模擬式采用測速發(fā)電機為檢測元件,得到的信號是模擬量。數(shù)字式通常采用光電編碼器,霍爾元件等為檢測元件,得到的信號是脈沖信號。隨著微型計算機的廣泛應用,特別是高性能價格比的單片機的出現(xiàn),轉速測量普遍采用以單片機為核心的數(shù)字式測量方法。本課題介紹了一種基于AT89C51單片機平臺,采用光電編碼器實施轉速測量的方法,硬件系統(tǒng)包括脈沖信號產生、脈沖信號的處理和顯示模塊,并采用匯編語言編程,該方法具有結構簡單、精度高、穩(wěn)定性好的優(yōu)點。并且還介紹了該測速方法的基本原理、實現(xiàn)方法和軟硬件設計。關鍵字:AT89C51單片機

2、;轉速;光電編碼器AbstractIn engineering practice, we often encounter a variety of occasions that need to measure the speed and the speed measurement that is divided into two kinds of analog and digital. Analog tachometer generator for detecting components, the resulting signal is analog. Digital commonly us

3、ed optical encoder, the Hall element and other detection devices, the signal is a pulse signal. With the extensive application of micro-computer, especially the emergence of high performance and low cost single-chip speed measurement commonly used by the MCU as the core digital measurement methodTh

4、subject based on AT89C51 microcontroller platform, the implementation of the photoelectric encoder speed measurement method, the hardware system includes a pulse signal generated pulse signal processing and display modules, and assembly language programming, this method has a simple structure, high

5、precision good stability advantages. And also describes the basic principles of the velocity measurement method and the hardware and software design.Keywords: AT89C51 microcontroller; speed; optical encoder第一章緒 論 11.1 轉速測量方法 11.2 轉速測量原理 2第二章系統(tǒng)硬件設計 42.1 單片機模塊設計 42.2 光電編碼器 42.3 單片機AT89C51介紹 82.3.1 主要特

6、征及管腳說明 82.3.2 時鐘電路 112.3.3 復位電路 112.4 顯示器 122.4.1 引腳說明 122.4.2 寄存器選擇控制表 142.4.3 顯示地址 142.4.4 指令集 14第三章軟件設計 163.1 計算機程序設計思路 163.2 程序流程圖 18第四章系統(tǒng)調試 204.1 硬件調試 204.2 軟件調試 20謝辭 23參考文獻 24附錄 25附錄系統(tǒng)電路圖 25附 錄系統(tǒng)部分代碼 26大連交通大學2012 屆本科生畢業(yè)設計第一章緒 論隨著超大規(guī)模集成電路技術的提高,尤其單片機應用技術以其功能強大,價格低廉的顯著特點,是全數(shù)字化測量轉速系統(tǒng)得以廣泛應用。由于單片機在測

7、量轉速方面具有體積小,性能強,成本低的特點。越來越受企業(yè)用戶的青睞。轉速是工程中應用非常廣泛的參數(shù),其測量方法較多,而模擬量的采集和模擬量的處理一直是轉速主要的測量方法,這種測量技術已經不能適應現(xiàn)代科技發(fā)展的需要。在測量范圍和精度上,已不滿足大多數(shù)系統(tǒng)的使用。隨著大規(guī)模及超大規(guī)模集成電路技術的發(fā)展。數(shù)字系統(tǒng)測量得到廣泛的使用,特別是單片機對脈沖數(shù)字信號的強大處理能力,是的全數(shù)字測量系統(tǒng)越愛越普及,其轉速測量系統(tǒng)也可以用數(shù)字化處理。在測量范圍和精度方面都有較大的提高。設計全數(shù)字化測量轉速系統(tǒng),在工業(yè)控制和民用電器中都有較高的使用價值。一方面它可以應用與工業(yè)控制中的一部分,如數(shù)字機床的電機轉速檢測

8、和控制,水泵流速控制以及需要利用轉速測量來進行控制的許多場合,如車輛的里程表,車速表等。另一方面由于該轉速測量系統(tǒng)采用全數(shù)字結構,因而可以很方便的與工業(yè)控制機進行連接,實現(xiàn)遠程管理和控制,進一步提高現(xiàn)代化水平。1.1 轉速測量方法轉速是指作圓周運動的物體在單位時間內所轉過的圈數(shù), 其大小及變化往往意味著機器設備運轉的正常與否, 因此 , 轉速測量一直是工業(yè)領域的一個重要問題。按照不同的理論方法, 先后產生過模擬測速法( 如離心式轉速表) 、同步測速法( 如機械式或閃光式頻閃測速儀) 以及計數(shù)測速法。計數(shù)測速法又可分為機械式定時計數(shù)法和電子式定時計數(shù)法。本文介紹的采用單片機和增量式光電編碼器組成

9、的高精度轉速測量系統(tǒng), 其轉速測量方法采用的就是電子式定時計數(shù)法, 對轉速的測量實際上是對轉子旋轉引起的周期脈沖信號的頻率進行測量。在頻率的工程測量中, 電子式定時計數(shù)測量頻率的方法一般有三種:測頻率法: 在一定時間間隔t 內 , 計數(shù)被測信號的重復變化次數(shù)N , 則被測信號的頻率 fx 可表示為fx =Nt(1)測周期法: 在被測信號的一個周期內, 計數(shù)時鐘脈沖數(shù)m0 , 則被測信號頻率fx =fc/ m0 , 其中 , fc 為時鐘脈沖信號頻率。多周期測頻法: 在被測信號m1 個周期內 , 計數(shù)時鐘脈沖數(shù)m2 , 從而得到被測信號頻率 fx , 則 fx 可以表示為fx =m1 fcm2,

10、 m1 由測量準確度確定。電子式定時計數(shù)法測量頻率時, 其測量準確度主要由兩項誤差來決定: 一項是時基誤差; 另一項是量化±1誤差。當時基誤差小于量化±1 誤差一個或兩個數(shù)量級時, 這時測量準確度主要由量化± 1 誤差來確定。對于測頻率法, 測量相對誤差為:Er1 = 測量誤差值實際測量值×100 % =1N× 100 %(2)由此可見 , 被測信號頻率越高, N 越大 , Er1 就越小 , 所以測頻率法適用于高頻信號( 高轉速信號) 的測量。對于測周期法, 測量相對誤差為:Er2 = 測量誤差值實際測量值×100 % =1m0&#

11、215; 100 %(3)對于給定的時鐘脈沖fc , 當被測信號頻率越低時,m0 越大 , Er2 就越小 , 所以測周期法適用于低頻信號( 低轉速信號) 的測量。對于多周期測頻法, 測量相對誤差為:Er3 =測量誤差值實際測量值100%=1m× 2 100 %(4)從上式可知, 被測脈沖信號周期數(shù)m1 越大 , m2 就越大 , 則測量精度就越高。它適用于高、低頻信號( 高、低轉速信號) 的測量。但隨著精度和頻率的提高, 采樣周期將大大延長 , 并且判斷m1 也要延長采樣周期, 不適合實時測量。根據以上的討論, 考慮到實際應用中需要測量的轉速范圍很寬, 上述的轉速測量方法難以滿足要

12、求, 因此 , 研究高精度的轉速測量方法, 以同時適用于高、低轉速信號的測量, 不僅具有重要的理論意義, 也是實際生產中的需要。1.2 轉速測量原理一般的轉速長期測量系統(tǒng)是預先在軸上安裝一個有60 齒的測速齒盤, 用變磁阻式或電渦流式傳感器獲得一轉60 倍轉速脈沖, 再用測頻的辦法實現(xiàn)轉速測量。而臨時性轉速測量系統(tǒng), 多采用光電傳感器, 從轉軸上預先粘貼的一個標志上獲得一轉一個轉速脈沖 , 隨后利用電子倍頻器和測頻方法實現(xiàn)轉速測量。不論長期或臨時轉速測量, 都可以在微處理器的參與下, 通過測量轉軸上預留的一轉一齒的鑒相信號或光電信號的周期, 換算出轉軸的頻率或轉速。即通過速度傳感器, 將轉速信

13、號變?yōu)殡娒}沖, 利用微機在單位時間內對脈沖進行計數(shù), 再經過軟件計算獲得轉速數(shù)據。即:n=N/ (mT)(1) n 轉速、單位 : 轉 / 分鐘 ; N 采樣時間內所計脈沖個數(shù); T采樣時間、單位: 分鐘 ; m 每旋轉一周所產生的脈沖個數(shù) ( 通常指測速碼盤的齒數(shù)) 。如果 m=60, 那么 1 秒鐘內脈沖個數(shù)N就是轉速n, 即 :n=N/ (mT) =N/60 × 1/60=N(2)通常m為 60。在對轉速波動較快系統(tǒng)或要求動態(tài)特性好而精度高的轉速測控系統(tǒng)中, 調節(jié)周期一般很短 , 相應的采樣周期需取得很小, 使得脈沖當量增高, 從而導致整個系統(tǒng)測量精度降低 , 難以滿足測控要求

14、。提高采樣速率通常就要減小采樣時間T, 而 T 的減小會使采到的脈沖數(shù)值N 下降 , 導致脈沖當量( 每個脈沖所代表的轉速) 增高 , 從而使得測量精度變得粗糙。通過增加測速碼盤的齒數(shù)可以提高精度, 但是碼盤齒數(shù)的增加會受到加工工藝的限制 , 同時會使轉速測量脈沖的頻率增高, 頻率的提升又會受到傳感器中光電器或磁敏器或磁電器件最高工作頻率的限制。凡此種種因素限制了常規(guī)智能轉速測量方法的使用范圍。 而采用本文所提出的定時分時雙頻率采樣法, 可在保證采樣精度的同時, 提高采樣速率 , 充分發(fā)揮微機智能測速方法的優(yōu)越性及靈活性。本次課題以單片機AT89C51芯片為核心,通過光電編碼器來檢測電機的運轉

15、情況,進而實現(xiàn)對電機的轉速測量,最后用LCD能直觀的將轉速顯示給用戶。主要研究內容有:1. 光電編碼器2. 單片機與外圍設備的接口設計3.LCD1602顯示器43第二章系統(tǒng)硬件設計隨著超大規(guī)模集成電路技術提高,尤其是單片機應用技術以及其功能強大,價格低廉的顯著特點,使全數(shù)字化測量轉速系統(tǒng)得以廣泛應用。出于單片機在測量轉速方面具有體積小、性能強、成本低的特點,越來越受企業(yè)用戶的青睞。對測量轉速系統(tǒng)的硬件和編程進行研究,設計出一種以單片機為主的轉速測量系統(tǒng),保證了精度。信號采集采用光電編碼器,在本設計方案中轉軸每轉一轉,編碼器將發(fā)出2000 個脈沖,將脈沖信號輸入單片機,利用單片機的計數(shù)、定時功能

16、對脈沖信號進行分析,得到當前的轉速。在LCD1602上顯示當前的實時轉速。信號傳輸顯示圖如圖3-1 所示2-1 信號傳輸顯示圖2.1 單片機模塊設計從功能的需求考慮,整個單片機系統(tǒng)包括以下模塊:傳感器信號輸入、復位輸入、時鐘輸入、和轉速顯示。如圖2-2 所示2-2 系統(tǒng)框圖2.2 光電編碼器根據檢測原理,編碼器可分為光學式、磁式、感應式和電容式。根據其刻度方法及信號輸出形式,可分為絕對式、增量式、以及混合式三種。( 1)絕對式編碼器絕對編碼器是直接輸出數(shù)字量的傳感器,在它的圓形碼盤上沿徑向有若干同心碼道,每條道上由透光和不透光的扇形區(qū)相間組成,相鄰碼道的扇區(qū)數(shù)目是雙倍關系,碼盤上的碼道數(shù)就是它

17、的二進制數(shù)碼的位數(shù),在碼盤的一側是光源,另一側對應每一碼道有一光敏元件;當碼盤處于不同位置時,各光敏元件根據受光照與否轉換出相應的電平信號,形成二進制數(shù)。這種編碼器的特點是不要計數(shù)器,在轉軸的任意位置都可讀出一個固定的與位置相對應的數(shù)字碼。顯然,碼道越多,分辨率就越高,對于一個具有N位二進制分辨率的編碼器,其碼盤必須有N 條碼道。目前國內已有16 位的絕對編碼器產品。( 2)增量式編碼器增量式編碼器是直接利用光電轉換原理輸出三組方波脈沖A、 B 和 Z 相; AB 兩組脈沖相位差90,用于基準點定位。它的優(yōu)點是原理構造簡單,機械平均壽命可在幾萬小時以上,抗干擾能力強,可靠性高,適合于長距離傳輸

18、。放大整形光源透鏡碼盤透鏡光敏元件2-3 光電編碼器原理圖脈沖輸出( 3)混合式絕對值編碼器混合式絕對值編碼器,它輸出兩組信息;一組信息用于檢測磁極位置,帶有絕對信息功能;另一組則完全同增量式編碼器的輸出信息。增量式光電編碼器(電路圖2-4)的特點是每產生一個輸出脈沖信號就對應于一個增量位移,但是不能通過輸出脈沖區(qū)別出在哪個位置上的增量。它能夠產生與位移增量等值的脈沖信號,其作用是提供一種對連續(xù)位移量離散化或增量化以及位移變化(速度)的傳感方法,它是相對于某個基準點的相對位置增量,不能夠直接檢測出軸的絕對位置信息。一般來說,增量式光電編碼器輸出A、 B 兩相互差90°電度角的脈沖信號

19、(即所謂的兩組正交輸出信號), 從而可方便地判斷出旋轉方向。同時還有用作參考零位的Z 相標志(指示)脈沖信號,碼盤每旋轉一周,只發(fā)出一個標志信號。標志脈沖通常用來指示機械位置或對積累量清零。增量式光電編碼器主要由光源、碼盤、檢測光柵、光電檢測器件和轉換電路組成,如圖 2-5 所示。碼盤上刻有節(jié)距相等的輻射狀透光縫隙,相鄰兩個透光縫隙之間代表一個增量周期;檢測光柵上刻有A、 B 兩組和碼盤相對應的透光縫隙,用以通過或阻擋光源和光電檢測器件之間的光線。它們的節(jié)距和碼盤上的節(jié)距相等,并且兩組透光縫隙錯開 1/4 節(jié)距,使得光電檢測器件輸出的信號在相位上相差90°電度角。當碼盤隨著被測轉軸轉

20、動時,檢測光柵不動,光線透過碼盤和檢測光柵上的透過縫隙照射到光電檢測器件上, 光電檢測器件就輸出兩組相差90°電度角的近似于正弦波的電信號,電信號經過轉換電路的信號處理,可以得到被測軸的轉角或速度信息。增量式光電編碼器輸出2-4 增量式光電編碼器電路信號波形如圖2-62-5 光電編碼器組成元件增量式光電編碼器的優(yōu)點是:原理構造簡單、易于實現(xiàn);機械平均壽命長,可達到 幾萬小時以上;分辨率高;抗干擾能力較強,信號傳輸距離較長,可靠性較高。A相B相Z相圖 2-6 增量式光電編碼器的輸出信號波形 在增量式光電編碼器的使用過程中,對于其技術規(guī)格通常會提出不同的要求,其中最關鍵的就是它的分辨率、

21、精度、輸出信號的穩(wěn)定性、響應頻率、信號輸出形式。( 1)分辨率光電編碼器的分辨率是以編碼器軸轉動一周所產生的輸出信號基本周期數(shù)來表示的,即脈沖數(shù)/ 轉(PPR)。碼盤上的透光縫隙的數(shù)目就等于編碼器的分辨率,碼盤上刻的縫隙越多,編碼器的分辨率就越高。在工業(yè)電氣傳動中,根據不同的應用對象,可選擇分辨率通常在5006000PPR的增量式光電編碼器,最高可以達到幾萬PPR。交流伺服電機控制系統(tǒng)中通常選用分辨率為2500PPR 的編碼器。此外對光電轉換信號進行邏輯處理,可以得到2 倍頻或 4 倍頻的脈沖信號,從而進一步提高分辨率。( 2)精度增量式光電編碼器的精度與分辨率完全無關,這是兩個不同的概念。精

22、度是一種度量在所選定的分辨率范圍內,確定任一脈沖相對另一脈沖位置的能力。精度通常用角度、角分或角秒來表示。編碼器的精度與碼盤透光縫隙的加工質量、碼盤的機械旋轉情況的制造精度因素有關,也與安裝技術有關。( 3)輸出信號的穩(wěn)定性編碼器輸出信號的穩(wěn)定性是指在實際運行條件下,保持規(guī)定精度的能力。影響編碼器輸出信號穩(wěn)定性的主要因素是溫度對電子器件造成的漂移、外界加于編碼器的變形力以及光源特性的變化。由于受到溫度和電源變化的影響,編碼器的電子電路不能保持規(guī)定的輸出特性,在設計和使用中都要給予充分考慮。( 4)響應頻率編碼器輸出的響應頻率取決于光電檢測器件、電子處理線路的響應速度。當編碼器高速旋轉時,如果其

23、分辨率很高,那么編碼器輸出的信號頻率將會很高。如果光電檢測器件和電子線路元器件的工作速度與之不能相適應,就有可能使輸出波形嚴重畸變,甚至產生丟失脈沖的現(xiàn)象。這樣輸出信號就不能準確反映軸的位置信息。所以,每一種編碼器在其分辨率一定的情況下,它的最高轉速也是一定的,即它的響應頻率是受限制的。編碼器的最大響應頻率、分辨率和最高轉速之間的關系如下公式所示。fmaxRmaxN其中, fmax為最大響應頻率、Rmax為最高轉速、N為分辨率。( 5)信號輸出形式在大多數(shù)情況下,直接從編碼器的光電檢測器件獲取的信號電平較低,波形也不規(guī)則,還不能適應于控制、信號處理和遠距離傳輸?shù)囊?。所以,在編碼器內還必須將此

24、信號放大、整形。經過處理的輸出信號一般近似于正弦波或矩形波。由于矩形波輸出信號容易進行數(shù)字處理,所以這種輸出信號在定位控制中得到廣泛的應用。采用正弦波輸出信號時基本消除了定位停止時的振蕩現(xiàn)象,并且容易通過電子內插方法,以較低的成本得到較高的分辨率。增量式光電編碼器的信號輸出形式有:集電極開路輸出(OpenCollector )、電壓輸出(Voltage Output )、線驅動輸出(Line Driver )、互補型輸出( Complemental Output )和推挽式輸出(Totem Pole )。2.3 單片機AT89C51介紹AT89C51 是一種帶4K 字節(jié)FLASH存儲器(FPE

25、RO MFlash Programmable andErasable Read Only Memory )的低電壓、高性能CMOS 8位微處理器,俗稱單片機。單片機的可擦除只讀存儲器可以反復擦除1000 次。該器件采用ATMEL高密度非易失存儲器制造技術制造,與工業(yè)標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8 位CPU和閃爍存儲器組合在單個芯片中,ATMEL的 AT89C51是一種高效微控制器,AT89C2051是它的一種精簡版本。AT89C51單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。外形及引腳排列如圖2-7 所示2.3.1 主要特征及管腳說明主要特征:?與 MC

26、S-51 兼容?4K字節(jié)可編程FLASH存儲器?壽命:1000寫 /擦循環(huán)?數(shù)據保留時間:10 年?全靜態(tài)工作:0Hz-24MHz?三級程序存儲器鎖定?128× 8 位內部RAM?32 可編程 I/O 線?兩個 16 位定時器 / 計數(shù)器?5個中斷源?可編程串行通道?低功耗的閑置和掉電模式?片內振蕩器和時鐘電路AT89C51 提供以下標準功能:4k 字節(jié) Flash 閃速存儲器,128字節(jié)內部RAM, 32 個I/O 口線, 兩個 16 位定時 / 計數(shù)器, 一個 5 向量兩級中斷結構,一個全雙工串行通信口,片內振蕩器及時鐘電路。同時,AT89C51可降至0Hz的靜態(tài)邏輯操作,并支持

27、兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許RAM,定時/計數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的內容,但振蕩器停止工作并禁止其它所有部件工作直到下一個硬件復位。管腳及其說明:· VCC:供電電壓。· GND:接地。· P0口: P0口為一個8 位漏極開路雙向I/O 口,每引腳可吸收8TTL門電流。當P0口的管腳第一次寫1 時, 被定義為高阻輸入。P0能夠用于外部程序數(shù)據存儲器,它可以被定義為數(shù)據/ 地址的低八位。在FIASH編程時,P0 口作為原碼輸入口,當FIASH進行校驗時, P0輸出原碼,此時P0外部必須接,上拉電阻。&

28、#183; 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 位地址外部數(shù)據存儲器

29、進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內部上拉優(yōu)勢,當對外部八位地址數(shù)據存儲器進行讀寫時, P2 口輸出其特殊功能寄存器的內容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。?P3口:P3口管腳是帶8個內部上拉電阻的雙向I/O 口,可接收輸出4個 TTL門電流。當P3口寫入“ 1”后,它們被內部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3 口將輸出電流(ILL )這是由于上拉的緣故。P3 口也可作為AT89C51的一些特殊功能口,如下表(表3-1 )所示:· P3口同時為閃爍編程和編程校驗接收一些控制信號。2-7AT89C51管

30、腳圖· RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時· ALE/PRO:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位G字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6 。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數(shù)據存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時,ALE只有在執(zhí)行MOV,XMOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無

31、效。表 2-1P3 口的第二功能引腳第二功能信號名稱P3.0RXD串行數(shù)據接收P3.1TXD串行數(shù)據發(fā)送P3.2INT0外部中斷0 請求P3.3INT1外部中斷1 請求P3.4T0定時器/計數(shù)器0 計數(shù)輸入P3.5T1定時器/計數(shù)器1 計數(shù)輸入P3.6WR外部RAM寫選通P3.7RD外部RAM讀選通· PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取值期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。· EA/VPP:當/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH) ,不管是否有內部程序存儲器

32、。注意加密方式1 時, /EA將內部鎖定為RESE;T當 /EA保持高電平時,此間內部程序存儲器。在FLASH編程期間,此引腳也用于施加12V 編程電源( VPP) 。· XTAL1:反向振蕩放大器的輸入及內部時鐘工作電路的輸入。· XTAL2:來自反向振蕩器的輸出。振蕩器特性: XTAL1和 XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內振蕩器。石英振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅動器件,XTAL2應不接。其余輸入到內部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。芯片擦除 : 整個P

33、EROM陣列和三個鎖定位的電擦除可通過正確的控制信號組合,并保持ALE管腳處于低電平10ms 來完成。在芯片擦除操作中,代碼陣列全被寫“1”且在任何非空存儲字節(jié)被重復編程以前,該操作必須被執(zhí)行。此外,AT89C51設有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時器,計數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的內容并且凍結振蕩器,禁止所用其他芯片功能,直到下一個硬件復位為止。2.3.2 時鐘電路時鐘電路 ( 圖 3-8) 是計算機的心臟,它控制著計算機的工作節(jié)奏。MCS-51單片機允許的時鐘頻率是因型號而異的典

34、型值為12MHZMCS-51內部都有一個反相放大器,XTAL1、 XTAL2分別為反相放大器輸入和輸出端,外接定時反饋元件以后就組成振蕩器,產生時鐘送至單片機內部的各個部件。AT89C51是屬于CMOS位微處理器,它的時鐘電路在結構上有別于 8NMO型的單片機。SCMO型單片機內部(如 SAT89C51)有一個可控的負反饋反相放大器,外接晶振(或陶瓷諧振器)和電容組成振蕩器,圖3-8 為 CMO型單片機時鐘電路框圖。S振蕩器工作受/PD端控制,由軟件置 “ 1” PD(即特殊功能寄存器PCON.1) 使 /PD 0,振蕩器停止工作,整個單片機也就停止工作,以達到節(jié)電目的。清“0” PD,使振蕩

35、器工作產生時鐘,單片機便正常運行。電容C1和 C2的作用有兩個:其一是使振蕩器起振,2.3.3 復位電路MCS-51單片機復位電路是指單片機的初始化操作。單片機啟動運行時,都需先復位,其作用是CPU和系統(tǒng)中其它部件處于一個確定的初始狀態(tài),并從這個狀態(tài)開始工作。因此復位電路是一個很重要的操作方式。但是單片機又不能自動進行復位,必須配合相應的外部電路進行實現(xiàn)。復位電路的基本功能是:系統(tǒng)上電提供復位信號,直到系統(tǒng)電源穩(wěn)定后,撤銷復位信號。為可靠起見,電源穩(wěn)定后還要經過一定的延時才能撤銷復位信號,以防止電源開關或電源插頭分合過程中的抖動而影響復位。單片機的復位是由外部電路實現(xiàn)的。片內復位電路是復位引腳

36、RST通過一個斯密特觸發(fā)器與復位電路相連接,斯密特觸發(fā)器又來抑制噪聲,它的輸出在每個機器周期的S5P2,有復位電路采樣一次。復位電路通常采用上電復位(圖2-9( a) )和按鈕復位(圖 2-9 ( b) )兩種方式。單片機復位后狀態(tài):單片機的復位操作時是單片機進入初始化狀態(tài),其中包括是程序計數(shù)器PC 0000H,這表示程序從0000H地址單元開始執(zhí)行。單片機冷啟動后,片內RAM為隨機值,運行中的復位操作不改變片內RAM區(qū)中的內容,21 個特殊功能寄存器復位后的狀態(tài)為確定值,見( 表 2-2) 值得指出的是,記住一些特殊功能寄存器復位后的狀態(tài),對于了解單片機的初態(tài),減少應用程序中的初始化部分是十

37、分重要的。表 2-2 一些特殊功能寄存器的復位狀態(tài)特殊功能寄存器初始狀態(tài)特殊功能寄存器初始狀態(tài)A00HTMOD00HB00HTCON00HPSW00HTH000HSP07HTL000HDPL00HTH100HDPH00HTL100HP0-P3FFHSBUF不定IP*00000BSCON00HIE0*00000BPCON0*B2.4 顯示器顯示電路采用LCD1602型液晶顯示器,能夠同時顯示16x02 即 32 個字符。 ( 16列2 行) (注:為了表示的方便,后文皆以1 表示高電平,0 表示低電平。)3.1 LCD1602引腳如圖2-10 所示2.4.1 引腳說明1602 字符型LCD通常有

38、14 條引腳線或16 條引腳線的LCD,多出來的2 條線是 L+、 L-,其功能是背光電源線,VCC(15腳 ) 和地線GND(16腳 ),其控制原理與14 腳的LCD完全一樣。表 2-3 引腳說明引 腳符 號功能說明1VSS一般接地2VDD接電源(+5V)3VEE液晶顯示器對比度調整端,接正電源時對比度最弱,接地電源時對比度最高(對比度過高時會產生“鬼影”,使用時可以通過一個10K 的電位器調整對比度)。4RSRS 為寄存器選擇,高電平1 時選擇數(shù)據寄存器、低電平0 時選擇指令寄存器。5R/WR/W 為讀寫信號線,高電平1 時進行讀操作,低電平0 時進行寫操作。6EE(或 EN)端為使能(e

39、nable)端,下降沿使能。7DB0低 4 位三態(tài)、雙向數(shù)據總線0 位(最低位)8DB1低 4 位三態(tài)、雙向數(shù)據總線1 位9DB2低 4 位三態(tài)、雙向數(shù)據總線2 位10DB3低 4 位三態(tài)、雙向數(shù)據總線3 位11DB4高 4 位三態(tài)、雙向數(shù)據總線4 位12DB5高 4 位三態(tài)、雙向數(shù)據總線5 位13DB6高 4 位三態(tài)、雙向數(shù)據總線6 位14DB7高 4 位三態(tài)、雙向數(shù)據總線7 位(最高位)(也是busy flag)15L+背光電源正極16L-背光電源負極1602 液晶模塊內部的字符發(fā)生存儲器(CGROM已經存儲了 )160 個不同的點陣字符圖形,這些字符有:阿拉伯數(shù)字、英文字母的大小寫、常用

40、的符號、和日文假名等,每一個字符都有一個固定的代碼,比如大寫的英文字母“A”的代碼是01000001B( 41H),顯示時模塊把地址41H 中的點陣字符圖形顯示出來,我們就能看到字母“A”。因為 1602 識別的是ASCII 碼,試驗可以用ASCII 碼直接賦值,在單片機編程1602 的 16 進制 ASCII 碼表A。以下是2-5 ):表 2-5 ASCII 表2.4.2 寄存器選擇控制表表 2-4 寄存器選擇控制表RSR/W操作說明00寫入指令寄存器(清除屏等)01讀 busy flag( DB7) ,以及讀取位地址計數(shù)器(DB0DB6 )值10寫入數(shù)據寄存器(顯示各字型等)11從數(shù)據寄存

41、器讀取數(shù)據注:關于E=H脈沖開始時初始化E 為 0,然后置E為1,再清0. busyflag ( DB7):在此位為1 時, LCD忙,將無法再處理其他的指令要求。2.4.3 顯示地址表 2-6 顯示地址12345678910111213141516000102030405060708090A0B0C0D0E0FHHHHHHHHHHHHHHHH404142434445464748494A4B4C4D4E4FHHHHHHHHHHHHHHHH2.4.4 指令集1602通過D0D7的 8位數(shù)據端傳輸數(shù)據和指令。顯示模式設置:( 初始化 )0011 1000 0x38 設置 16× 2 顯示

42、,5× 7 點陣, 8 位數(shù)據接口;顯示開關及光標設置:( 初始化 )0000 1DCB D顯示(1 有效)、 C光標顯示(1 有效 )、 B光標閃爍 (1 有效 )0000 01NS N=1(讀或寫一個字符后地址指針加1 &光標加1),N=0(讀或寫一個字符后地址指針減1 &光標減1),S=1 且 N=1 ( 當寫完一個字符后,整屏顯示左移)s=0 當寫完一個字符后,整屏顯示不移動數(shù)據指針設置:數(shù)據首地址為80H,所以數(shù)據地址為80H+地址碼(0-27H, 40-67H)其他設置:01H(顯示清屏,數(shù)據指針=0,所有顯示=0); 02H(顯示回車,數(shù)據指針=0)通常

43、推薦的初始化過程:延時15ms寫指令38H延時5ms寫指令38H延時5ms寫指令38H延時5ms(以上都不檢測忙信號)(以下都要檢測忙信號)寫指令38H寫指令08H 關閉顯示寫指令01H 顯示清屏寫指令06H 光標移動設置寫指令0cH 顯示開及光標設置完畢第三章軟件設計硬件電路完成以后,進行系統(tǒng)的軟件設計。首先要分析系統(tǒng)對軟件的要求,然后進行軟件的總體設計,包括程序的總體設計和對程序的模塊化設計。按整體的功能分為多個不同的模塊,單獨設計、編譯。軟件設計思路及過程單片機轉速測量可以分若干模塊,然后在主程序中調用各個模塊,3.1 計算機程序設計思路轉速的計算公式:N=600Md/1000Td(r/

44、min)其中, N是所轉轉速,Md為單片機所接收到的脈沖數(shù),存儲在TH1,TL1 中;Td為定時時間,它是由定時器的計數(shù)值n 乘以機器周期Tc所得 , 因單片機的時鐘頻率為12MHZ則:Tc=12/12MHZ=1us以下簡要介紹轉速是如何獲得的:轉速測量先進行初始化,啟動計數(shù)器和定時器,當中斷到來時,讀取TH1, TL1 的數(shù)值并存在指定的位置,通過函數(shù)計算程序得到轉速,而此時的轉速值并不能直接在顯示器上顯示出來,其必須轉換成非壓縮BCD碼后,才能調用查表程序,最后顯示。其主流程圖如下圖3-1 示。定時 /計數(shù)器、中斷設置:AT89C51有兩個定時/計數(shù)器 T0和 T1,每個定時/計數(shù)器均可設

45、置成為16為,也可設置成為13 位進行計數(shù)或定時。計數(shù)器的功能是對T0 或 T1 外來的脈沖進行計數(shù),外部輸入脈沖負跳變時,計數(shù)器進行加1。定時器功能是通過計數(shù)器實現(xiàn)的,每個機器周期產生1 個計數(shù)脈沖,即每個計數(shù)周期計數(shù)器加1,因此定時時間等于計數(shù)個數(shù)乘以機器周期。定時器工作時,每接受到1個脈沖, 則在設定的初值的基礎上自動加1, 當所有位都為1 時, 再加 1 就會產生溢出,將向CPU提出定時器溢出的中斷請求申請。當定時器采用不同的工作方式和設置不同的初值時,產生溢出中斷的定時值和計數(shù)值不同,從而可以適應不同的定時或計數(shù)控制。定時器有四種工作方式:方式0, 、方式 1、方式2、方式3,在此不

46、作具體介紹。表 3-1 工作方式寄存器TMOD的設定GATEC/TM1M0GATEC/TM1M0TMOD各位的含義如下: GATE:門控位,用于控制定時/計數(shù)器的啟動是否受外部中斷請求信號的影響。 C/T:定時或計數(shù)方式選擇位,當C/T=1 時工作于計數(shù)方式;當C/T=0 時工作于定時方式。 M1、 M0為工作方式選擇位,用于對T0的四種工作方式、T1 的三種的工作方式進行選擇,選擇情況如下表:M1M0=00為方式0、 M1M0=01為方式1;表 4-2M1、 M0工作方式選擇位M0M1工作方式方式說明00013 位定時/計數(shù)器01116 位定時/計數(shù)器1028 位自動重置定時/計數(shù)器113兩

47、個8 位定時/計數(shù)器(只有T0 有)中斷允許控制:MCS51單片機中沒有專門的開中斷指令,對各個中斷源的允許和屏蔽是由內部的進中斷允許寄存器IE 的各位來控制的。中斷允許寄存器IE 的字節(jié)地址為A8H,可以進行位尋址。表 3-3 中斷位尋址表IED7D6D5D4D3D2D1D0(A8H)EAET2ESET1EX1ET0EX0 EA:中斷允許控制位,EA=0,屏蔽所有中斷請求;EA=1,開放中斷。ET2:定時器/計數(shù)器T2的溢出中斷允許ES:串行口中斷允許位。ET1:定時器/計數(shù)器T1 的益處中斷允許位。 EX1:外部中斷INT1 的中斷允許位。ET0:定時器/計數(shù)器T0的溢出中斷允許位。 EX

48、0:外部中斷INT0 的中斷允許位。3.2 程序流程圖由于本次設計的系統(tǒng)要實現(xiàn)的功能是將光電編碼器的信號送到單片機的外部中斷口,再對周期方波進行內部計數(shù),調用計算程序把轉速測出來。1. 計數(shù)流程圖:3-2 計數(shù)流程圖3.BCD碼轉換流程圖:BCD碼轉換流程圖3-34. 顯示流程圖3-5 顯示流程圖第四章系統(tǒng)調試電路調試是整個系統(tǒng)功能能否實現(xiàn)的關鍵步驟,我們將整個調試過程分為三大部分:硬件調試、軟件調試和綜合調試。4.1 硬件調試硬件調試主要是針對我的轉速測量系統(tǒng)的單片機硬件電路分別進行調試。這一部分硬件調試主要分成兩大塊:上電前的調試和上電后的調試。上電前的調試在上電前,我們必須確保電路中不存

49、在斷路或短路情況,這一工作是整個調試工作的第一步,也是非常重要的一個步驟。在這部分調試中主要使用的工具是萬用表,用來完成檢測電路中是否存在斷路或者短路情況等。特別是數(shù)碼管的連接部分,有PROTE制作的 LPCB確保要和原理圖上的圖一致,有些在電路板上沒法連接的線路,要用短接線把接好,對照著原理圖部分,一部分一部分地用萬用表測量,注意焊點之間,確保焊點沒有短接在一起,同時注意焊點的美觀,確保沒有開路以及短路的現(xiàn)象出現(xiàn)。上電后的調試在確保硬件電路正常,無異常情況( 斷路或短路) 方可上電調試,上電調試的目的是檢驗電路是否接錯,同時還要檢驗原理是否正確,在本次課程設計中,上電調試主要只轉速測量系統(tǒng)的

50、單片機控制部分、數(shù)碼管點亮部分、和上位機通信是的電平轉換和串口通信部分的硬件調試。1、單片機控制部分硬件調試:這一部分調試主要是檢查時鐘電路、復位電路是否接對,單片機的電源以及地是否接好,以及其他的一些管腳的接法??磫纹瑱C通電后能否可以正常工作等這一系列問題。2、數(shù)碼管LCD電路調試:由于數(shù)碼管采用的是動態(tài)掃描的方式點亮的。數(shù)碼管的公共端(COM)接在1602驅動再接到單片機的P2口作為位選信號,字型是接在P0口。電路上電后檢查1602是否接上電源和地讓其正常工作。在這一前提下,查看數(shù)碼管能否被點亮。即可檢查數(shù)碼管的硬件電路是否正確,即可判斷顯示驅動電路整個完整,首先排除這里的故障。3、發(fā)送部

51、分硬件電路調試:可以用示波器和萬用表檢查電平轉換前后的關系,這里不在贅述。4.2 軟件調試單片機程序調試思路:單片機部分調試工作的完成主要應用LCA51軟件來完成,這一部分工作首先將轉速測量系統(tǒng)中的各個模塊計算程序中的除法程序、 雙字節(jié)的二-十進制數(shù)制轉換程序,壓縮BCD碼十進制數(shù)轉換為非壓縮BCD碼的程序以及顯示部分程序調試好,不斷調試,不斷修改直到正確為止。LCA51軟件是一種非常實用的多窗口編輯、調試軟件。LCA51軟件全面支持匯編語言,C51 語言,PL/M51語言的編譯/連接、調試。軟件支持單文件方式和工程化管理兩種模式。用戶可自定義各種語言的關鍵詞. 軟件完全支持源語句在線調試。高

52、級語言還支持源文件調試和匯編語言指令行對照調試。用戶可同時打開多個窗體編輯、調試、變量觀察. 用戶可在線對原文件直接編輯、編譯、連接、加載和調試,軟件支持編譯錯誤源文件定位。調試時用戶可動態(tài)觀察、修改設定變量(包括 CPU片內寄存器、特殊寄存器及外部寄存器、內存)的值。調試主要方法和技巧:通常一個調試程序應該具備至少四種性能:跟蹤、斷點、查看變量、更改數(shù)值。1. 跟蹤調試調試應用程序所提供的重要性能,也許就是跟蹤應用程序。跟蹤應用程序使用戶能夠在運行應用程序時,看到PC指針在應用源代碼程序中的確切位置,LCA51提供以下方法對程序的執(zhí)行進行跟蹤。跟蹤單步執(zhí)行一條源語句程序。但是,如果調用一個函數(shù),則進入函數(shù)中,在執(zhí)行函數(shù)的第一條源語句前停止。通過單步執(zhí)行下一條源語句程序,然后又停止。如果是調用一個函數(shù),運行完,整個函數(shù)并停止在函

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論