基于C51單片機的步進電機控制系統設計畢業設計.doc_第1頁
基于C51單片機的步進電機控制系統設計畢業設計.doc_第2頁
基于C51單片機的步進電機控制系統設計畢業設計.doc_第3頁
基于C51單片機的步進電機控制系統設計畢業設計.doc_第4頁
基于C51單片機的步進電機控制系統設計畢業設計.doc_第5頁
已閱讀5頁,還剩50頁未讀, 繼續免費閱讀

下載本文檔

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

文檔簡介

揚州大學本科畢業設計(論文) 畢業設計用紙摘 要本設計中首先介紹了步進電機的工作原理、控制特點和運行狀態,然后給出了步進電機的單片機控制系統的總體設計方案。在這個控制系統中,單片機選用at89c51,其作為控制核心,擔負著產生脈沖,發送、接受控制命令等任務;脈沖分配采用硬件方法,由8713接收到單片機的控制信號后產生相應的控制脈沖,避免了軟件法在不停地產生脈沖時占用的時間;采用單電壓驅動的方法驅動電機帶動負載運行;利用鍵盤、顯示專用芯片8279能夠以較簡單的硬件電路和較少的軟件開銷實現微型機與鍵盤和led顯示器接口。本設計最后詳細介紹了硬件部分和軟件部分的實現方法。關鍵詞:單片機;步進電機;速度控制;zlg7290;顯示器abstract the design introduces the working principle of stepper motor, control features and operations, and then gives the stepper motor microcontroller control system design programs. in this control system, the scm selecting at89c51, the control center of the shoulder produces pulses, sending, receiving control commands and other tasks; pulse distribution method using hardware from the 8713 chip control signals received resulting from the corresponding control pulse, to avoid software method to generate pulses in constant time occupied; adopt a single voltage-driven approach drive motor to drive the load operation; use of keyboard, display 8279 can be dedicated to simple hardware and less software overhead to achieve keyboard and led display interface. finally introduce the hardware and software implementation methods in detail. key words: scm; stepper motor; speed control;zlg7290;display; 目 錄摘 要iabstractii第一章 緒論11.1步進電機概述11.2課題研究的主要內容21.2.1研究內容21.2.2論文安排2第二章步進電機控制系統設計方案32.1步進電機的系統32.2步進電機的失步現象52.3步進電機控制系統的組成62.4系統的控制過程7第三章 步進電機控制系統硬件部分93.1硬件電路圖93.2采用51系列單片機at89c51作為控制器103.2.1 at89c51的主要性能103.2.2 at89c51引腳功能說明103.3步進電機的驅動電路153.4 led顯示電路163.4.1 led顯示器的結構原理163.4.2 led顯示接口183.5可編程鍵盤/顯示控制器zlg7290電路工作原理193.5.1 zlg7290概述193.5.2管腳、引線與功能213.5.3 zlg7290鍵盤、顯示接口電路設計233.6脈沖分配26第四章 步進電機控制系統軟件部分304.1定時器中斷服務304.1.1定時器初值304.1.2定時器中斷服務子程序314.2 速度控制31第五章 總結35致謝36參考文獻37附錄38iv第一章 緒論 本章將簡要介紹步進電機的發展過程、步進電機在日常生活中的廣泛應用、步進電機作為數字控制電動機的主要特點以及本次研究的主要內容和論文安排。1.1步進電機概述步進電機最早是在1920年由英國人所開發。1950年后期晶體管的發明也逐漸應用在步進電機上,這對于數字化的控制變得更為容易。以后經過不斷改良,使得今日步進電機已廣泛運用在需要高定位精度、高分解性能、高響應性、信賴性等靈活控制性高的機械系統中。在生產過程中要求自動化、省人力、效率高的機器中,我們很容易發現步進電機的蹤跡,尤其以重視速度、位置控制、需要精確操作各項指令動作的靈活控制性場合步進電機用得最多。步進電機作為執行元件,是機電一體化的關鍵產品之一,廣泛應用在各種自動化控制系統中。隨著微電子和計算機技術的發展,步進電機的需求量與日俱增,在各個國民經濟領域都有應用。步進電機是將電脈沖信號變換成角位移或直線位移的執行部件。步進電機可以直接用數字信號驅動,使用非常方便。一般電動機都是連續轉動的,而步進電動機則有定位和運轉兩種基本狀態,當有脈沖輸入時步進電動機一步一步地轉動,每給它一個脈沖信號,它就轉過一定的角度。步進電動機的角位移量和輸入脈沖的個數嚴格成正比,在時間上與輸入脈沖同步,因此只要控制輸入脈沖的數量、頻率及電動機繞組通電的相序,便可獲得所需的轉角、轉速及轉動方向。在沒有脈沖輸入時,在繞組電源的激勵下氣隙磁場能使轉子保持原有位置處于定位狀態。因此非常適合于單片機控制。步進電動機已成為除直流電動機和交流電動機以外的第三類電動機。傳統電動機作為機電能量轉換裝置,在人類的生產和生活進入電氣化過程中起著關鍵的作用。步進電機可以作為一種控制用的特種電機,利用其沒有累積誤差的特點,廣泛應用于各種開環控制。步進電機和普通電機的區別主要就在于其脈沖驅動的形式,正是這個特點,步進電機可以和現代的數字控制技術相結合。步進電機在控制精度、速度變化范圍、低速性能方面比傳統的閉環控制直流伺服電動機有較好的性能。1.2課題研究的主要內容1.2.1研究內容本設計以實現基于單片機的步進電機控制為主要目標,主要內容有: 1. 了解步進電機的結構及工作原理; 2. 了解步進電機的控制方法; 3選擇、設計控制系統所需的控制電路,設計控制系統;控制電路主要由at89c51單片機、晶振電路、地址鎖存器、譯碼器、zlg7290芯片等組成,zlg7290芯片能自動完成對顯示的刷新,同時還可以對鍵盤自動掃描,識別閉合鍵的鍵號,使用非常方便。 4繪制系統原理圖、方框圖和線路圖等。1.2.2論文安排1. 原理部分:第一章和第二章主要介紹了步進電機的特點,結構和工作原理以及步進電機的控制特點和運行狀態。2. 硬件電路部分:第三章詳細介紹了系統的控制核心at89c51單片機,驅動電路,顯示電路和zlg7290芯片。第二章步進電機控制系統設計方案2.1步進電機的系統2.1,1步進電動機的定義步進電機是將電脈沖信號轉變為角位移或線位移的開環控制元件。在非超載的情況下,電機的轉速、停止的位置只取決于脈沖信號的頻率和脈沖數,而不受負載變化的影響,即給電機加一個脈沖信號,電機則轉過一個步距角。2.1,2步進電動機的結構分類一般說來步進電動機可分為三大類:反應式步進電動機、永磁式步進電動機和混合式步進電動機。反應式步進電動機的轉子是由軟磁材料制成的,轉子中沒有繞組。它的結構簡單,成本低,步距角可以做得很小,但動態性能較差。永磁式步進電動機的轉子使用永磁材料制成的,轉子本身就是一個磁源。它的輸出轉矩大,動態性能好。轉子的極數和定子的極數相同,所以步距角一般很大。需要供給正負脈沖信號。反應式步進電動機的性價比比較高,應用得非常廣泛,下面就以反應式步進電動機為例來說明步進電動機的結構和工作原理。圖2-1 三相反應式步進電動機結構圖如圖2-1是一個三相反應式步進電動機結構圖。從圖中可以看出,它分成轉子和定子兩部分。定子上有六個磁極(大極),每兩個相對的磁極(n、s極)組成一對,共有三對2,1.3步進電動機的工作方式對于三相步進電動機,其工作方式如下:1、單三拍工作方式正轉:abca反轉:acba其中“單”指的是每次對一相通電;“三拍”指的是磁場旋轉一周需要換相3次,這時轉子轉動一個齒距角。如果對多相步進電動機來說,每次只對一相通電,要使磁場旋轉一周就需要多拍。2、雙三拍工作方式正轉:abbccaab反轉:baaccbba雙三拍工作方式是:每次對兩相通電,即所謂“雙”;磁場旋轉一周需要換相3次,即所謂“三拍”,轉子轉動一個齒距角。3、三相六拍工作方式正轉:aabbbccca反轉:aacccbbba六拍工作方式是單三拍與雙三拍交替使用的一種方法,磁場旋轉一周,通電需要換相6次,即所謂“六拍”,轉子才轉動一個齒距角。這是與單三拍和雙三拍最大的區別。同樣,對于四相電動機其工作方式有單四拍、雙四拍和八拍。其通電時序和波形如圖2-2(a)、(b)、(c)所示。圖2-2(a)單四拍 (b)雙四拍 (c)八拍2.2步進電機的失步現象步進電機有一個技術參數:空載啟動頻率,即步進電機在空載情況下能夠正常啟動的脈沖頻率,如果脈沖頻率高于該值,電機不能正常啟動,可能發生丟步或堵轉。在有負載的情況下,啟動頻率應更低。如果要使電機達到高速轉動,脈沖頻率應該有加速過程,即啟動頻率較低,然后按一定加速度升到所希望的高頻(電機轉速從低速升到高速)。2.2.1步進電動機的振蕩、失步及解決方法步進電動機的振蕩和失步是一種普遍存在的現象,它影響應用系統的正常運行,因此要盡力去避免。下面對振蕩和失步的原因進行分析,并給出解決方法。1、振蕩步進電動機的振蕩現象主要發生于:步進電動機工作在低頻區,步進電動機工作在共振區,步進電動機突然停車時。當步進電動機工作在共振區時,步進電動機的脈沖頻率接近步進電動機的振蕩頻率或振蕩頻率的分頻或倍頻,這會使振蕩加劇,嚴重時造成失步。步進電動機的振蕩頻率可由下式求出:式中:j轉動慣量;z轉子齒數; 最大轉矩。振蕩失步的過程如下:在第1個脈沖到來后,轉子經歷了一次振蕩。當轉子回擺到最大振幅時,恰好第2個脈沖到來,轉子受到的電磁轉矩為負值,使轉子繼續回擺。接著第3個脈沖到來,轉子受正電磁轉矩的作用回到平衡點。這樣,轉子經過3個脈沖仍然回到原來位置,也就是丟了3步。2、失步步進電動機失步的原因有2種: 轉子的轉速慢于旋轉磁場的速度,或者說慢于換相速度。例如,步進電動機在啟動時,如果脈沖的頻率較高,由于電動機來不及獲得足夠的能量,使其無法令轉子跟上旋轉磁場的速度,所以引起失步。因此,步進電動機有一個啟動頻率,超過啟動頻率啟動時,肯定會產生失步。注意,啟動頻率不是一個固定值,提高電動機的轉矩、減小負載轉動慣量、減小步距角都可以提高步進電動機的啟動頻率。 轉子的平均速凍大于旋轉磁場的速度。這主要發生在制動和突然換向時,轉子獲得過多的能量,產生嚴重的過沖,引起失步。3、怎樣解決失步使步進電機本身產生的電磁轉矩增大。使步進電機克服轉矩減小或者更換大一點的電機。4、阻尼方法消除振蕩市通過增加阻尼的方法來實現的,主要有機械阻尼和電子阻尼兩大類。其中機械阻尼法比較單一,就是在電動機軸上加阻尼器。2.3步進電機控制系統的組成基于單片機實現步進電動機的正反轉、啟動、停止和加減速。單片機是本次設計的控制核心,本次設計選用at89c51。單片機通過脈沖分配和驅動電路帶動步進電動機運轉。系統原理框圖如2-3所示。at89c51脈沖分配鍵盤led顯示驅動電路步進電動機負載圖2-3系統原理框圖at89c51不僅功能強大,而且性能十分靈活性高。價格合理的單片機,可方便地應用在各種控制領域,因此本系統中采用at89c51單片機作為控制核心。單片機的控制信號作用于脈沖分配器,本設計中采用8713脈沖分配器可以很好的減輕單片機的工作量。驅動電路得到脈沖信號就可以按照控制要求帶動步進電機工作。采用led數碼管進行顯示是由于其具有結構簡單、體積小、功耗低、配置靈活、顯示清晰、可靠性高的優點。2.4系統的控制過程步進電動機的驅動電路根據控制信號工作。在步進電動機的單片機控制中,控制信號由單片機產生。其基本控制作用如下:1、控制換相順序。步進電動機的通電換相順序嚴格按照步進電動機的工作方式進行。通常我們把通電換相這一過程稱為脈沖分配。例如,三相步進電動機的單三拍工作方式,其各相通電的順序為abc,通電控制脈沖必須嚴格按照這一順序分別控制a、b、c相的通電和斷電。2、控制步進電動機的轉向。如果按給定的工作方式正序通電換相,步進電動機就正轉;如果按反序通電換相,則電動機就反轉。例如,四相步進電動機工作在單四拍方式,通電換相的正序是abcd,電動機就正轉;如果按反序adcb,電動機就反轉。對于步進電機的驅動一般有兩種方法,一種是通過單片機直接來驅動,這種方法一般不宜采用,因為單片機的輸出電流脈沖是特別小的它不能足以讓步進電機的轉動;別一種是通過單片機來間接驅動,就是把從單片機輸出的信號進行放大,然后直接驅動或是再通過光電隔離間接來驅動步進電機,這種方法比較安全可靠。固本次設計應采用單片機間接驅動步進電機。如圖2-4所示。圖2-4 步進電機驅動電路第三章 步進電機控制系統硬件部分3.1硬件電路圖本設計中at89c51是控制核心,利用鍵盤、顯示專用芯片zlg7290能夠以較簡單的硬件電路和較少的軟件開銷實現單片機與鍵盤和led顯示器接口,脈沖分配器zlg7290產生驅動脈沖,減少單片機的工作負擔。本系統的硬件電路圖如4-1所示。圖3-1 系統硬件電路圖3.2采用51系列單片機at89c51作為控制器at89c51是一種高性能的8位單片機。片內帶有一個4kb的flash可編程,可擦除只讀存儲器(eprom),它采用了coms工藝和公司atmel的高密度非易失性存儲器技術,而且其輸出引角和指令系統都與msc51兼容。片內的flash存儲器允許在系統內改編程序或常規的非易失性存儲器編程器來編程。因此at89c51是一種功能強,靈活性高,且價格合理的單片機,可方便地應用在各種控制領域。3.2.1 at89c51的主要性能內含4kb的flash存儲器,擦寫次數1000次;內含128字節的ram;具有32根可編程i/o線;具有2個16位可編程定時器;具有6個中斷源、5個中斷矢量、2級優先權的中斷結構;具有一個全雙工的可編程串行通信接口;具有一個數據指針dptr;兩種低功耗工作模式,即空閑模式和掉電模式;具有可編程的3級程序鎖定位;at89c51的工作電壓為5(10.2)v且典型值為5v;at89c51最高工作頻率為24mhz.3.2.2 at89c51引腳功能說明圖3-2是at89c51的引腳結構圖,有雙列直插封裝(dip)方式和方形封裝方式,下面分別敘述這些引腳的功能。1、電源線 vcc:電源電壓輸入引腳。 gnd:電源地。12345678910111213141516171819203940313234353837363330212223242526272829at89c51p1.0p1.1p1.2p1.3p1.4p1.5p1.7p1.6p0.0/ad0p0.1/ad1p0.2/ad2p0.3/ad3p0.6/ad6p0.5/ad5p0.4/ad4p0.7/ad7/rxd/p3.0txd/p3.1/p3.2/p3.3t0/p3.4t1/p3.5/p3.6/p3.6rstxtal2xtal1gndale/p2.7/a15p2.5/a13p2.4/a12p2.3/a11p2.2/a10p2.1/a9p2.0/a8p2.6/a14圖3-2 at89c51引腳排列2、外接晶振引腳xtal1和xtal2 xtal1:接外部晶體的一個引腳。在單片機內部,它是構成片內振蕩器反相放大器和時鐘發生線路的輸入端。當采用片內振蕩器時,連接外部石英晶體和微調電容。 xtal2:接外部晶體的另一個引腳。在單片機內部,它是構成片內振蕩器反相放大器和時鐘發生線路的輸出端。當采用片內振蕩器時,連接外部石英晶體和微調電容。單片機外接電路。時鐘產生和復位電路。片內電路與片外器件就構成一個時鐘產生電路,cpu的所有操作均在時鐘脈沖同步下進行。片內振蕩器的振蕩頻率非常接近晶振頻率,一般多在1.2mhz12mhz之間選取。c1、c2是反饋電容,其值在5pf30pf之間選取,典型值為30pf。本電路選用的電容為30pf,晶振頻率為12mhz。這樣就確定了單片機的4個周期分別是:振蕩周期1/12; 機器周期(sm);指令周期。xtal1xtal2at89c5130pf30pf12mhz圖3-3 時鐘產生電路 xtal1和xtal2:片內振蕩電路輸入線,這兩個端子用來外接石英晶體和微調電容。在石英晶體的兩個管腳加交變電場時,它將會產生一定頻率的機械變形,而這種機械振動又會產生交變電場,上述物理現象稱為壓電效應。一般情況下,無論是機械振動的振幅,還是交變電場的振幅都非常小。但是,當交變電場的頻率為某一特定值時,振幅驟然增大,產生共振,稱之為壓電振蕩。這一特定頻率就是石英晶體的固有頻率,也稱諧振頻率。即用來連接at89c51片內osc的定時反饋回路,如圖3-3所示。石英晶振起振后要能在xtal2線上輸出一個3v左右的正弦波,以便使mcs-51片內的osc電路按石英晶振相同頻率自激振蕩。通常,osc的輸出時鐘頻率fosc為0.5mhz16mhz,典型值為12mhz或11.0592mhz。電容c1和c2可以幫助起振,典型值為30pf,調節它們可以達到微調fosc的目的。圖3-4為單片機復位電路。單片機在開機時都需要復位,以便中央處理器cpu以及其他功能部件都處于一個確定的初始狀態,并從這個狀態開始工作。單片機的復位后是靠外部電路實現的,在時鐘電路工作后,只要在單片機的rst引腳上出現24個時鐘振蕩脈沖(2個機器周期)以上的高電平,單片機便可實現初始化狀態復位。mcs-51單片機的rst引腳是復位信號的輸入端。例如:若mcs-51單片機時鐘頻率為12mhz,則復位脈沖寬度至少應該為2s。rstat89c51200 221k5v圖3-4 復位電路 上圖為上電復位和按鍵復位電路。上電瞬間,rst端的電位與vcc相同,隨著電容的逐步充電,rst端的電位逐漸下降,此時=2210-61103=22ms.當按下鍵時,rst端出現5100012004.2v,使單片機復位。3、控制信號線 rst:復位輸入信號,高電平有效。在振蕩器穩定工作時,在該引腳上施加兩個機器周期(即24個晶振周期)以上的高電平將使單片機復位。 ale/:低字節地址鎖存信號 ale(address latch enable)在系統擴展時,ale的下降沿將p0口輸出的低8位地址鎖存在外接的地址鎖存器中,以實現低字節地址和數據的分時傳送。此外ale端連續輸出正脈沖,頻率為振蕩器頻率的1/6,可用作對外輸出的時鐘,或用于定時目的。但是要注意的是:每當訪問ram時要丟失一個ale脈沖。在編程期間,該引腳還用于輸入編程脈沖()。如果需要的話,通過對專用寄存器(sfr)區中8eh單元的d0位置數,可禁止ale操作.該位置數后,只有在執行一條movx或movc指令期間,ale才會被激活.另外,該引腳會被微弱拉高,單片機執行外部程序時,該設定禁止ale位無效。:片外程序存儲器讀選通信號允許,低電平有效。在片外程序存儲器取指期間,當有效時,程序存儲器的內容被送至口(數據總線);在訪問外部ram時,無效。/vpp:外部程序存儲器訪問允許信號ea(external access enable)。當信號接地時,對rom的讀操作限定在外部程序存儲器,地址為0000hffffh;當接vcc時,對rom的讀操作從內部程序存儲器開始,并可延續至外部程序存儲器。在編程時,該引腳可接編程電壓(at89c51的vpp為5v或12v)。在編程校驗時,該引腳可接vcc。4、輸入/輸出引腳p0.0p0.7,p1.0p1.7,p2.0p2.7,p3.0p3.7 p0端口(p0.0p0.7):8位、漏極開路的雙向i/o口。當使用片外存儲器及外擴i/o口時,p0口作為低字節地址/數據復用線。在編程時,p0口可用于接收指令代碼字節;在程序校驗時,p0口可輸出指令字節(這時需要加外部上拉電阻)。p0口也可作通用i/o口使用,但需加上拉電阻,變為準雙向口。當作為普通輸入時,應將輸出鎖存器置1。p0口可驅動8個ttl負載。 p1端口(p1.0p1.7):8位、準雙向i/o口,具有內部上拉電阻。 p1口是為用戶準備的i/o雙向口。在編程和校驗時,可用作輸入低8位地址。用作輸入時,應先將輸出鎖存器置1。p1口可驅動4個ttl負載。 p2端口(p2.0p2.7):8位、準雙向i/o口,具有內部上拉電阻。當使用片外存儲器或外擴i/o口時,p2口輸出高8位地址。在編程/校驗時,p2口可接收高字節地址和某些控制信號。 p2口也可作普通i/o口使用。用作輸入時,應先將輸出鎖存器置1。p2口可驅動4個ttl負載。 p3端口(p3.0p3.7):8位、準雙向i/o口,具有內部上拉電阻。p3口可作為普通i/o口。用作輸入時,應先將輸出鎖存器置1。在編程/校驗時,p3口接收某些控制信號。它可驅動4個ttl負載。在at89c51中,p3端口還用于一些復用功能。復用功能如表3-1所示。表3-1 p3各端口引腳與復用功能表端口引腳復用功能p3.0rxd(串性輸入口)p3.1txd(串性輸出口)p3.2 (外部中斷0)p3.3 (外部中斷1)p3.4t0(定時器0的外部輸入)p3.5t1(定時器1的外部輸入)p3.6(外部數據寄存器寫選通)p3.7(外部數據寄存器讀選通)3.3步進電機的驅動電路步進電動機的驅動電路有多種,但最為常用的就是單電壓驅動、雙電壓驅動、高低壓驅動、斬波驅動、細分控制驅動等。單電壓驅動是步進電機控制中最為簡單的一種驅動電路,電動機繞組在工作時只用一個電壓源對繞組供電。它的最大特點是結構簡單,因它的工作效率低,特別是在高頻下更顯的突出。它的外接電阻r要消耗相當一部分的熱量,這樣就會影響電路的穩定性所以此種驅動方式一般只用在小功率的步進電機的驅動電路中。雙電壓驅動是電路一般采用兩種電源電壓來驅動,在低頻段使用較低的電壓驅動,在高頻段使用較高的電壓驅動。這種驅動方法保證了低頻段仍然具有單電壓驅動的特點,在高頻段具有良好的高頻性能,但仍沒擺脫單電壓驅動的弱點,在限流電阻上仍然會產生損耗和發熱。高低壓驅動不論電動機工作的頻率如何,在繞組通電的開始用高壓供電,使繞組中電流迅速上升,而后用低壓來維持繞組中的電流。這種驅動電路的缺點是在高低壓連接處電流出現谷點,這樣必然引起轉矩在谷點處下降。不宜于電機的正常運行。對于斬波電路驅動則可以克服這種缺點,并且還可以提高步進電機的效率。所以從提高效率來看這是一種很好的驅動電路,它可以用較高的電源電壓,同時無需外接電阻來限定期額定電流和減少時間常數。但由于其波形頂部呈現鋸齒形波動,所以會產生較大的電磁噪聲。細分驅動是用脈沖電壓來供電的,對于一個電壓脈沖,轉子就可以轉動一步,一般會根據電壓脈沖的分配方式,步進電機各相繞阻會輪流切換,固可以使步進電機的轉子旋轉。細分控制的電路一般分為兩類,一類是采用線性模擬功率放大器的方法獲得階梯形電流,這種方法簡單,但效率低。別一種是用單片機采用數字脈寬調制的方法獲得階梯電流,這種方法需要復雜的計算可使細分后的步距角一致。3.4 led顯示電路在控制系統中,顯示裝置是一個重要組成部分,主要用來顯示生產過程的工藝狀況與運行結果,以便于現場工作人員的正確操作。led數碼管由于具有結構簡單、體積小、功耗低、配置靈活、顯示清晰、可靠性高的優點,目前被廣泛采用。3.4.1 led顯示器的結構原理發光二極管led是利用pn結把電能轉換成光能的固體發光器件,根據制造材料的不同,可以發出紅、黃、綠、白等不同色彩的可見光束。led的伏安特性類似于普通二極管,正向壓降為2v左右,工作電流一般在10mv20mv之間較為合適。gndcdfagndedpbg 圖3-5 8段led顯示器的結構原理(a) 段排列;(b)共陰極;(c)共陽極一個8段led顯示器的結構與工作原理如圖3-5所示。它是由8個發光二極管組成,各段依次記為a、b、c、d、e、f、g、dp,其中dp表示小數點(不帶小數點的稱為7段led)。8段led顯示器有共陰極和共陽極兩種結構,分別如圖3-5(b)、(c)所示。共陰極led的所有發光管的陰極并接成公共端com,而共陽極led的所有發光管的陽極并接成公共端com。當共陰極led的com端接地,則某個發光二極管的陽極加上高電平時,則該管有電流流過因而點亮發光;當共陽極led的com端接高電平,則某個發光二極管的陰極加上低電平時,則該管有電流流過因而點亮發光。 8段led通過不同段點亮時的組合,可以顯示09、af等十六進制數。顯然,將cpu的數據線與led各段引腳相連,控制輸出的數據就可以使led顯示不同的字符。通常把控制led數碼管發光顯示字符的8位字節數據稱為段選碼、字符譯碼或字模,當段引腳dpa與cpu數據位d7d0一一對應相連時,共陰極8段led顯示器的段選碼如表4-2所列。以顯示字符“3”的段選碼為例,“3”的段選碼是十六進制的4fh,也就是二進制的01001111。結合圖3-5(a)(b),即意味著cpu輸出的數據位d7d0 為01001111,則使led顯示器的dp、f、e段接地,g、d、c、b、a段接高電平,當com端接地時,顯示器就顯示出數字“3”。如此,通過不同的段選碼,即可顯示出不同的相應字符。表3-2 8段led顯示器的段選碼顯示字符共陰極段選碼共陽極段選碼顯示字符共陰極段選碼共陽極段選碼03fhc0h87fh80h106hf9h96fh90h25bha4ha77h88h34fhb0hb7ch83h466h99hc39hc6h56dh92hd5eha1h67dh82he79h86h707hf8hf71h8eh數碼管共陽極的段選碼恰好與共陰極的段選碼相反,如共陽極數碼管“3”的段選碼b0h(10110000)是共陰極數碼管“3”的段選碼4fh(01001111)的反碼。需要注意的是,表3-2只是基于段引腳dpa與數據位d7d0 對應相連這一模式的,如果對應連線改變,則段選碼也隨之改變。3.4.2 led顯示接口led靜態顯示:靜態顯示雖然占用cpu機時少,顯示穩定可靠。占用i/o口資源多,線路復雜、硬件成本高;又因為同時顯示,所以功耗大,為了簡化硬件電路,降低成本,在單片機應用系統中常采用動態顯示的方法,解決多位led顯示的問題。動態顯示的硬件接口簡單,只需一個公共的七段碼輸出口(字形口),一個選擇顯示位的數位選擇口(字位口),顯示時,從左到右輪流點亮每位顯示器,只要保證稍描周期不超過一定的限度(一般在20ms以下)由于視覺的暫留,則可達到“同時”顯示各位不同的數字或字符的目的。動態顯示的優點是硬件成本低,接口電路簡單,但它要求cpu頻繁地為顯示服務。led動態顯示就是將所有顯示位的段選線并聯在一起,由一個8位i/o口控制,而位選線則由其它的i/o口控制。8位動態顯示電路只需要兩個8位的口。一個控制段選碼,另一個控制位選線。由于所有位的段選碼由同一個口控制,因此要使每位顯示不同的字符,必須采用掃描方式。即每一時刻位選只選通一個顯示位,同時段選控制口輸出顯示字符對應的段選碼,使該位顯示相應的字符,顯示一定時間后,再選通其它顯示位。如此循環,使每個顯示器件顯示該位應顯示的字符。通過程序控制,不斷顯示輸出相應的段選碼和位選碼,由于人的視覺暫留效應,就可以獲得視覺穩定的顯示狀態。3.5可編程鍵盤/顯示控制器zlg7290電路工作原理3.5.1 zlg7290概述1. i/o控制及數據緩沖器數據緩沖器是雙向緩沖器,連接內、外總線,用于傳送單片機和zlg7290之間的命令或數據。i/o控制線是單片機對8279進行控制的引線,cs是8279的片選信號,當cs=0時,zlg7290才被允許讀出或寫入信息。wr、rd為來自單片機的讀、寫控制信號。a0用于區別信息特性:a0=1時,表示數據緩沖器輸入為指令、輸出為狀態字;a0=0時,輸入、輸出皆為數據。2. 控制與定時寄存器及定時控制控制與定時寄存器用來寄存鍵盤及顯示的工作方式,以及有單片機編程的其它操作方式。這些寄存器一旦接受并鎖存送來的命令,就通過譯碼產生相應的信號,從而完成相應的控制功能。定時控制包含基本計數器。其中計數器是一個可編程的n級計數器。n可以為231之間的數據,由軟件編程,以便從外界時鐘clk分頻得到內部所需要的100khz的時鐘。然后再經過分頻,為鍵盤掃描提供適當的逐行掃描頻率和顯示掃描時間。3. 掃描計數器掃描計數器有兩種工作方式。按編碼方式工作時,計數器作二進制計數。4位計數狀態從掃描線sl0sl3輸出,經外部譯碼器譯碼后,為鍵盤和顯示器提供掃描線(16條);按譯碼方式工作時,掃描計數器的最低二位被譯碼后,從sl0sl3輸出。因此,sl0sl3提供了4中取1的掃描譯碼。4. 回復緩沖器、鍵盤去抖動及控制來自rs0rs7的8根回復線的回復信號,由回復緩沖器緩沖并鎖存。在鍵盤工作方式中,回復線作為行列式鍵盤的行列輸入線。在逐行列掃描時,回復線用來搜尋每一行列中閉合的鍵,當某一鍵閉合時,去抖電路被置位,延時等待10ms后,再檢驗該鍵是否繼續閉合,并將該鍵的地址和附加的移位、控制狀態一起形成鍵盤數據被送入zlg7290內部fifo(先進先出)存儲器。鍵盤數據格式如下:d7d6d5 d4 d3 d2 d1 d0控制移位掃描回復控制和移位(d6d7)的狀態由兩個獨立的附加開關決定,而掃描(d5d4d3)和回復(d2d1d0)則是被按鍵置位的數據。d5d4d3來自掃描計數器,是按下鍵的行列編碼,而d2d1d0則來自行/列計數器,它們是根據回復信號而確定的行/列編碼。在傳感器開關狀態矩陣方式中,回復線的內容直接被送往相應的傳感器ram(即fifo存儲器)。在選通輸入方式工作時,cntl/stb為選通輸入信號,回復線的內容在cntl/stb線的脈沖上升沿送入fifo存儲器。5. fifo/傳感器及其狀態寄存器fifo/傳感器ram是一個雙重功能的88ram。在鍵盤或選通方式工作時,它是fifo寄存器,其輸入或讀出遵循先入先出的原則。fifo狀態寄存器用來存放fifo的工作狀態。例如,ram是滿還是空;其中存有多少數據;是否操作出錯等。當fifo寄存器不空,狀態邏輯將產生irq=1信號向單片機申請中斷。在傳感器矩陣方式工作中,這個存儲器又是傳感器存儲器。它存放著傳感器中的每一個狀態。在此方式中,若檢索出傳感器的變化,irq信號變為高電平,向單片機申請中斷,同時該狀態被送入傳感器ram。6. 顯示ram和顯示地址寄存器顯示ram用來存儲顯示數據,容量為168位。在顯示過程中,存儲的顯示數據輪流從顯示寄存器輸出。顯示寄存器分為a、b兩組,outa03和outb03可以單獨送數,也可以組成一個8位的碼(由編程控制)。顯示寄存器的輸出與顯示掃描結合,不斷從顯示ram中讀出顯示數據,同時輪流驅動被選中的顯示器件,以達到多路復用的目的,使顯示器件呈現穩定的顯示狀態。顯示地址寄存器用來寄存由單片機進行讀/寫顯示ram的地址,它可以由命令設定,也可以設置成每次讀出或寫入后自動遞增。3.5.2管腳、引線與功能 圖3-6 zlg7290芯片引腳 采用40引腳封裝,其管腳,引線功能如圖4-7所示。其引腳功能分述如下: d0d7(數據總線):雙向,三態總線,和系統的數據總線相連,用于cpu和zlg7290間的數據/命令傳送。clk(系統時鐘):輸入線,為zlg7290提供內部時鐘的輸入端。reset(復位):輸入線,當reset=1時,zlg7290復位,其復位狀態為:16個字符顯示;編碼掃描鍵盤;程序時鐘編程為31。cs(片選):輸入線,當cs=0時zlg7290被選中,允許cpu對其讀,寫,否則被禁止。a0(數據選擇):輸入線.當a0=1時cpu寫入的數據為命令字,讀出數據為狀態字;a0=0時cpu讀,寫的字節均為數據。rd、wr(讀、寫信號):輸入線.低電平有效,來自cpu的控制信號,控制zlg7290的讀、寫操作。irq(中斷請求):輸出線.高電平有效。在鍵盤工作方式中,當fifo/傳感器ram村有數據時,irq為高電平。cpu每次從ram中讀出數據時,irq變為低電平。sl0sl3(掃描線):輸出線.用來掃描鍵盤和顯示器。它們可以編程設定為譯碼(4中取1)或編碼輸出(16取1)。rl0rl7(回復線):輸入線.它們是鍵盤矩陣或傳感器矩陣的列(或行)信號輸入線。shift(移位信號):輸入線,高電平有效。該輸入信號是zlg7290鍵盤數據的次高位(d6),通常用來擴充鍵的功能,可以用作鍵盤上、下檔功能鍵。在傳感器方式和選通方式中,shift無效。cntl/stb(控制/選通):輸入線,高電平有效。在鍵盤工作方式時,該輸入信號是鍵盤數據的最高位(d7),通常用來擴充鍵開關的控制功能,作為控制功能鍵用。在傳感器方式下,該信號無效。outa0outa3(a組顯示信號):輸出線.outb0outb3(b組顯示信號):輸出線.這兩組引線都是數據輸出線,與多位數字顯示(led數碼管)的掃描線sl0sl3同步。兩組可以獨立使用,也可以合并使用,合并使用時outa0為最低位,outb3為最高位。bd(顯示消隱):輸出線,低電平有效。該信號在數字切換顯示或使用消隱命令時,將顯示消隱。zlg7290的數據輸入/輸出對zlg7290輸入數據(如顯示數據,輸入鍵掃描數據、傳感器矩陣數據等)時,要選擇數據輸入輸出口地址。zlg7290的數據輸入輸出口地址由cs=0,a0=0確定。在鍵盤掃描方式中,zlg7290中鍵入數據時按下列格式存放。d7 d6 d5d4d3 d2d1d0cntlshiftscanreturnreturn (d2d1d0)為鍵所在的行號,由rl0rl7狀態確定。scan (d5d4d3)為鍵所在列號,由sl0sl2狀態確定。shift( d6)為控制鍵shift的狀態位。cntl( d7) 為控制鍵cntl的狀態位。控制鍵shift、cntl為單獨的開關。cntl與其它鍵連用作特殊命令鍵,shift可作為上、下檔控制鍵。在傳感器方式或選通方式中,8位輸入數據為rl0rl7。d7 d6 d5 d4 d3 d2 d1 d0rl7rl6rl5rl 4rl 3rl 2rl 1rl 03.5.3 zlg7290鍵盤、顯示接口電路設計利用鍵盤、顯示專用芯片zlg7290能夠以較簡單的硬件電路和較少的軟件開銷實現微型機與鍵盤和led顯示器接口。下面討論其硬件電路的工作原理和設計問題。1.外時鐘脈沖產生at89c51的ale既可用作低8位地址的鎖存信號,也把它接到zlg7290的clk引腳用作zlg7290的外時鐘脈沖信號的輸入。脈沖信號頻率并非固定不變,好在zlg7290并不要求時鐘頻率固定不變,因此,這樣安排還是可以的。不過應該注意,對于mcs-51系列單片機來說,ale脈沖頻率經常是振蕩周期頻率fosc的六分之一,這也是mcs-51單片機的ale最高頻率,通過對zlg7290的程序時鐘命令字節的編程,zlg7290可以對來自clk引腳的脈沖實行231分頻,從而得到zlg7290內部工作所需要的100khz內部時鐘。如果fosc=12mhz,分頻應為20。2.譯碼電路1)zlg7290片選譯碼電路對zlg7290的片選譯碼電路可根據實際電路的地址分配設計。2)鍵盤、顯示掃描譯碼器在對“鍵盤/顯示方式設置命令字”的編程設置為編碼凡是(d0=0)時,那么zlg7290內部不譯碼,從sl3sl0輸出的不是鍵盤的列和顯示器的位信號(高電平有效)。而是列和位號的編號的bcd碼(sl3是最高位)。在這種情況下應外接譯碼器,對sl3sl0譯碼,以產生列和位信號。zlg7290可以對8位或16位顯示器以及8列8行鍵盤掃描。在16位顯示時,對顯示器掃描和對鍵盤掃描必須各有自己的譯碼器,顯示器采用416線譯碼器,例如74ls154;鍵盤采用38譯碼器,例如74ls138。bd是消隱信號輸出端,當bd=0時,74ls138不譯碼,顯示器均為暗。應該說明,在初始化時必須置“鍵盤/顯示方式設置命令字”的d3=0,以設定8279工作于8位顯示方式,否則會出現混亂現象。這是因為,如果設置為16位顯示,74ls138只對sl2sl0譯碼,這樣,當sl3,sl2,sl1,sl0=000時,y0為低,選中0號顯示器(最左端),outa3outb0上出現顯示ram的0單元的內容,從而使0號ram所規定的字符。但是當掃描到sl3,sl2,sl1,sl0=1000h(=8)時,仍使y0=0,選中0號顯示器,但此時outa3outb0上出現的卻是顯示ram中8號單元內容,從而使0號顯示器現在顯示8號單元所規定的字符。可見出現顯示混亂。反之,如果硬件電路設計為16位顯示。而軟件卻設置為8位,另外8位得不到顯示。3.驅動電路由74ls138輸出(y0y7)的顯示器的位選信號和由a3b0輸出的段選信號的輸出電流太小,不足以點亮led顯示器??刹捎霉碴帢Oled:bs202(發紅光的bsr202或發綠光的bsg202),因此位驅動器選用集電極開路(oc門)同相輸出門電路72ls07,段選信號由兩個同相輸出的功率驅動器75491提供。表4-2“八段碼(字形碼)”表的內容。4.中斷請求線在鍵盤中的某鍵按下,zlg7290在測得其按下并在去抖動(延時10ms)之后再檢測認為此鍵仍在按下狀態,便確認此鍵已按下。在zlg7290確認某鍵已按下時,便把此鍵的鍵只存于fifo寄存器中,此時fifo內有內容,稱為fifo存儲器不空。只要fifo存儲器不空,便使irq為高電平,就直接通過exint端向8089請求中斷。但由于at89c51的int0或int1是低電平或下降沿請求中斷。因此應把irq反相后加到at89c51的int1端。當單片機讀取fifo的內容后,irq就回到低電平。如果fifo存儲器中還有未讀到的鍵值,會重新使irq變為高電平,向單片機請求中斷。由于fifo存儲器是先進先出ram,因此先讀走的鍵值對應于先按下的鍵。5.shift和cntl可用這兩個鍵增加鍵盤的功能。例如上檔鍵和下檔鍵。這兩鍵在按下時使shift(或cntl)為低電平。當這兩個彈起時,使shift(或cntl)腳懸空,但由于此兩引腳內部有上拉電阻,當它們懸空時實際上是高電平。3.6脈沖分配實現脈沖分配的方法有兩種:軟件法和硬件法。1、軟件法圖3-7是用這種方法控制三相步進電動機

溫馨提示

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

評論

0/150

提交評論