




已閱讀5頁(yè),還剩50頁(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)介
揚(yáng)州大學(xué)本科畢業(yè)設(shè)計(jì)(論文) 畢業(yè)設(shè)計(jì)用紙摘 要本設(shè)計(jì)中首先介紹了步進(jìn)電機(jī)的工作原理、控制特點(diǎn)和運(yùn)行狀態(tài),然后給出了步進(jìn)電機(jī)的單片機(jī)控制系統(tǒng)的總體設(shè)計(jì)方案。在這個(gè)控制系統(tǒng)中,單片機(jī)選用at89c51,其作為控制核心,擔(dān)負(fù)著產(chǎn)生脈沖,發(fā)送、接受控制命令等任務(wù);脈沖分配采用硬件方法,由8713接收到單片機(jī)的控制信號(hào)后產(chǎn)生相應(yīng)的控制脈沖,避免了軟件法在不停地產(chǎn)生脈沖時(shí)占用的時(shí)間;采用單電壓驅(qū)動(dòng)的方法驅(qū)動(dòng)電機(jī)帶動(dòng)負(fù)載運(yùn)行;利用鍵盤(pán)、顯示專(zhuān)用芯片8279能夠以較簡(jiǎn)單的硬件電路和較少的軟件開(kāi)銷(xiāo)實(shí)現(xiàn)微型機(jī)與鍵盤(pán)和led顯示器接口。本設(shè)計(jì)最后詳細(xì)介紹了硬件部分和軟件部分的實(shí)現(xiàn)方法。關(guān)鍵詞:?jiǎn)纹瑱C(jī);步進(jìn)電機(jī);速度控制;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步進(jìn)電機(jī)概述11.2課題研究的主要內(nèi)容21.2.1研究?jī)?nèi)容21.2.2論文安排2第二章步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)方案32.1步進(jìn)電機(jī)的系統(tǒng)32.2步進(jìn)電機(jī)的失步現(xiàn)象52.3步進(jìn)電機(jī)控制系統(tǒng)的組成62.4系統(tǒng)的控制過(guò)程7第三章 步進(jìn)電機(jī)控制系統(tǒng)硬件部分93.1硬件電路圖93.2采用51系列單片機(jī)at89c51作為控制器103.2.1 at89c51的主要性能103.2.2 at89c51引腳功能說(shuō)明103.3步進(jìn)電機(jī)的驅(qū)動(dòng)電路153.4 led顯示電路163.4.1 led顯示器的結(jié)構(gòu)原理163.4.2 led顯示接口183.5可編程鍵盤(pán)/顯示控制器zlg7290電路工作原理193.5.1 zlg7290概述193.5.2管腳、引線(xiàn)與功能213.5.3 zlg7290鍵盤(pán)、顯示接口電路設(shè)計(jì)233.6脈沖分配26第四章 步進(jìn)電機(jī)控制系統(tǒng)軟件部分304.1定時(shí)器中斷服務(wù)304.1.1定時(shí)器初值304.1.2定時(shí)器中斷服務(wù)子程序314.2 速度控制31第五章 總結(jié)35致謝36參考文獻(xiàn)37附錄38iv第一章 緒論 本章將簡(jiǎn)要介紹步進(jìn)電機(jī)的發(fā)展過(guò)程、步進(jìn)電機(jī)在日常生活中的廣泛應(yīng)用、步進(jìn)電機(jī)作為數(shù)字控制電動(dòng)機(jī)的主要特點(diǎn)以及本次研究的主要內(nèi)容和論文安排。1.1步進(jìn)電機(jī)概述步進(jìn)電機(jī)最早是在1920年由英國(guó)人所開(kāi)發(fā)。1950年后期晶體管的發(fā)明也逐漸應(yīng)用在步進(jìn)電機(jī)上,這對(duì)于數(shù)字化的控制變得更為容易。以后經(jīng)過(guò)不斷改良,使得今日步進(jìn)電機(jī)已廣泛運(yùn)用在需要高定位精度、高分解性能、高響應(yīng)性、信賴(lài)性等靈活控制性高的機(jī)械系統(tǒng)中。在生產(chǎn)過(guò)程中要求自動(dòng)化、省人力、效率高的機(jī)器中,我們很容易發(fā)現(xiàn)步進(jìn)電機(jī)的蹤跡,尤其以重視速度、位置控制、需要精確操作各項(xiàng)指令動(dòng)作的靈活控制性場(chǎng)合步進(jìn)電機(jī)用得最多。步進(jìn)電機(jī)作為執(zhí)行元件,是機(jī)電一體化的關(guān)鍵產(chǎn)品之一,廣泛應(yīng)用在各種自動(dòng)化控制系統(tǒng)中。隨著微電子和計(jì)算機(jī)技術(shù)的發(fā)展,步進(jìn)電機(jī)的需求量與日俱增,在各個(gè)國(guó)民經(jīng)濟(jì)領(lǐng)域都有應(yīng)用。步進(jìn)電機(jī)是將電脈沖信號(hào)變換成角位移或直線(xiàn)位移的執(zhí)行部件。步進(jìn)電機(jī)可以直接用數(shù)字信號(hào)驅(qū)動(dòng),使用非常方便。一般電動(dòng)機(jī)都是連續(xù)轉(zhuǎn)動(dòng)的,而步進(jìn)電動(dòng)機(jī)則有定位和運(yùn)轉(zhuǎn)兩種基本狀態(tài),當(dāng)有脈沖輸入時(shí)步進(jìn)電動(dòng)機(jī)一步一步地轉(zhuǎn)動(dòng),每給它一個(gè)脈沖信號(hào),它就轉(zhuǎn)過(guò)一定的角度。步進(jìn)電動(dòng)機(jī)的角位移量和輸入脈沖的個(gè)數(shù)嚴(yán)格成正比,在時(shí)間上與輸入脈沖同步,因此只要控制輸入脈沖的數(shù)量、頻率及電動(dòng)機(jī)繞組通電的相序,便可獲得所需的轉(zhuǎn)角、轉(zhuǎn)速及轉(zhuǎn)動(dòng)方向。在沒(méi)有脈沖輸入時(shí),在繞組電源的激勵(lì)下氣隙磁場(chǎng)能使轉(zhuǎn)子保持原有位置處于定位狀態(tài)。因此非常適合于單片機(jī)控制。步進(jìn)電動(dòng)機(jī)已成為除直流電動(dòng)機(jī)和交流電動(dòng)機(jī)以外的第三類(lèi)電動(dòng)機(jī)。傳統(tǒng)電動(dòng)機(jī)作為機(jī)電能量轉(zhuǎn)換裝置,在人類(lèi)的生產(chǎn)和生活進(jìn)入電氣化過(guò)程中起著關(guān)鍵的作用。步進(jìn)電機(jī)可以作為一種控制用的特種電機(jī),利用其沒(méi)有累積誤差的特點(diǎn),廣泛應(yīng)用于各種開(kāi)環(huán)控制。步進(jìn)電機(jī)和普通電機(jī)的區(qū)別主要就在于其脈沖驅(qū)動(dòng)的形式,正是這個(gè)特點(diǎn),步進(jìn)電機(jī)可以和現(xiàn)代的數(shù)字控制技術(shù)相結(jié)合。步進(jìn)電機(jī)在控制精度、速度變化范圍、低速性能方面比傳統(tǒng)的閉環(huán)控制直流伺服電動(dòng)機(jī)有較好的性能。1.2課題研究的主要內(nèi)容1.2.1研究?jī)?nèi)容本設(shè)計(jì)以實(shí)現(xiàn)基于單片機(jī)的步進(jìn)電機(jī)控制為主要目標(biāo),主要內(nèi)容有: 1. 了解步進(jìn)電機(jī)的結(jié)構(gòu)及工作原理; 2. 了解步進(jìn)電機(jī)的控制方法; 3選擇、設(shè)計(jì)控制系統(tǒng)所需的控制電路,設(shè)計(jì)控制系統(tǒng);控制電路主要由at89c51單片機(jī)、晶振電路、地址鎖存器、譯碼器、zlg7290芯片等組成,zlg7290芯片能自動(dòng)完成對(duì)顯示的刷新,同時(shí)還可以對(duì)鍵盤(pán)自動(dòng)掃描,識(shí)別閉合鍵的鍵號(hào),使用非常方便。 4繪制系統(tǒng)原理圖、方框圖和線(xiàn)路圖等。1.2.2論文安排1. 原理部分:第一章和第二章主要介紹了步進(jìn)電機(jī)的特點(diǎn),結(jié)構(gòu)和工作原理以及步進(jìn)電機(jī)的控制特點(diǎn)和運(yùn)行狀態(tài)。2. 硬件電路部分:第三章詳細(xì)介紹了系統(tǒng)的控制核心at89c51單片機(jī),驅(qū)動(dòng)電路,顯示電路和zlg7290芯片。第二章步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)方案2.1步進(jìn)電機(jī)的系統(tǒng)2.1,1步進(jìn)電動(dòng)機(jī)的定義步進(jìn)電機(jī)是將電脈沖信號(hào)轉(zhuǎn)變?yōu)榻俏灰苹蚓€(xiàn)位移的開(kāi)環(huán)控制元件。在非超載的情況下,電機(jī)的轉(zhuǎn)速、停止的位置只取決于脈沖信號(hào)的頻率和脈沖數(shù),而不受負(fù)載變化的影響,即給電機(jī)加一個(gè)脈沖信號(hào),電機(jī)則轉(zhuǎn)過(guò)一個(gè)步距角。2.1,2步進(jìn)電動(dòng)機(jī)的結(jié)構(gòu)分類(lèi)一般說(shuō)來(lái)步進(jìn)電動(dòng)機(jī)可分為三大類(lèi):反應(yīng)式步進(jìn)電動(dòng)機(jī)、永磁式步進(jìn)電動(dòng)機(jī)和混合式步進(jìn)電動(dòng)機(jī)。反應(yīng)式步進(jìn)電動(dòng)機(jī)的轉(zhuǎn)子是由軟磁材料制成的,轉(zhuǎn)子中沒(méi)有繞組。它的結(jié)構(gòu)簡(jiǎn)單,成本低,步距角可以做得很小,但動(dòng)態(tài)性能較差。永磁式步進(jìn)電動(dòng)機(jī)的轉(zhuǎn)子使用永磁材料制成的,轉(zhuǎn)子本身就是一個(gè)磁源。它的輸出轉(zhuǎn)矩大,動(dòng)態(tài)性能好。轉(zhuǎn)子的極數(shù)和定子的極數(shù)相同,所以步距角一般很大。需要供給正負(fù)脈沖信號(hào)。反應(yīng)式步進(jìn)電動(dòng)機(jī)的性?xún)r(jià)比比較高,應(yīng)用得非常廣泛,下面就以反應(yīng)式步進(jìn)電動(dòng)機(jī)為例來(lái)說(shuō)明步進(jìn)電動(dòng)機(jī)的結(jié)構(gòu)和工作原理。圖2-1 三相反應(yīng)式步進(jìn)電動(dòng)機(jī)結(jié)構(gòu)圖如圖2-1是一個(gè)三相反應(yīng)式步進(jìn)電動(dòng)機(jī)結(jié)構(gòu)圖。從圖中可以看出,它分成轉(zhuǎn)子和定子兩部分。定子上有六個(gè)磁極(大極),每?jī)蓚€(gè)相對(duì)的磁極(n、s極)組成一對(duì),共有三對(duì)2,1.3步進(jìn)電動(dòng)機(jī)的工作方式對(duì)于三相步進(jìn)電動(dòng)機(jī),其工作方式如下:1、單三拍工作方式正轉(zhuǎn):abca反轉(zhuǎn):acba其中“單”指的是每次對(duì)一相通電;“三拍”指的是磁場(chǎng)旋轉(zhuǎn)一周需要換相3次,這時(shí)轉(zhuǎn)子轉(zhuǎn)動(dòng)一個(gè)齒距角。如果對(duì)多相步進(jìn)電動(dòng)機(jī)來(lái)說(shuō),每次只對(duì)一相通電,要使磁場(chǎng)旋轉(zhuǎn)一周就需要多拍。2、雙三拍工作方式正轉(zhuǎn):abbccaab反轉(zhuǎn):baaccbba雙三拍工作方式是:每次對(duì)兩相通電,即所謂“雙”;磁場(chǎng)旋轉(zhuǎn)一周需要換相3次,即所謂“三拍”,轉(zhuǎn)子轉(zhuǎn)動(dòng)一個(gè)齒距角。3、三相六拍工作方式正轉(zhuǎn):aabbbccca反轉(zhuǎn):aacccbbba六拍工作方式是單三拍與雙三拍交替使用的一種方法,磁場(chǎng)旋轉(zhuǎn)一周,通電需要換相6次,即所謂“六拍”,轉(zhuǎn)子才轉(zhuǎn)動(dòng)一個(gè)齒距角。這是與單三拍和雙三拍最大的區(qū)別。同樣,對(duì)于四相電動(dòng)機(jī)其工作方式有單四拍、雙四拍和八拍。其通電時(shí)序和波形如圖2-2(a)、(b)、(c)所示。圖2-2(a)單四拍 (b)雙四拍 (c)八拍2.2步進(jìn)電機(jī)的失步現(xiàn)象步進(jìn)電機(jī)有一個(gè)技術(shù)參數(shù):空載啟動(dòng)頻率,即步進(jìn)電機(jī)在空載情況下能夠正常啟動(dòng)的脈沖頻率,如果脈沖頻率高于該值,電機(jī)不能正常啟動(dòng),可能發(fā)生丟步或堵轉(zhuǎn)。在有負(fù)載的情況下,啟動(dòng)頻率應(yīng)更低。如果要使電機(jī)達(dá)到高速轉(zhuǎn)動(dòng),脈沖頻率應(yīng)該有加速過(guò)程,即啟動(dòng)頻率較低,然后按一定加速度升到所希望的高頻(電機(jī)轉(zhuǎn)速?gòu)牡退偕礁咚伲?.2.1步進(jìn)電動(dòng)機(jī)的振蕩、失步及解決方法步進(jìn)電動(dòng)機(jī)的振蕩和失步是一種普遍存在的現(xiàn)象,它影響應(yīng)用系統(tǒng)的正常運(yùn)行,因此要盡力去避免。下面對(duì)振蕩和失步的原因進(jìn)行分析,并給出解決方法。1、振蕩步進(jìn)電動(dòng)機(jī)的振蕩現(xiàn)象主要發(fā)生于:步進(jìn)電動(dòng)機(jī)工作在低頻區(qū),步進(jìn)電動(dòng)機(jī)工作在共振區(qū),步進(jìn)電動(dòng)機(jī)突然停車(chē)時(shí)。當(dāng)步進(jìn)電動(dòng)機(jī)工作在共振區(qū)時(shí),步進(jìn)電動(dòng)機(jī)的脈沖頻率接近步進(jìn)電動(dòng)機(jī)的振蕩頻率或振蕩頻率的分頻或倍頻,這會(huì)使振蕩加劇,嚴(yán)重時(shí)造成失步。步進(jìn)電動(dòng)機(jī)的振蕩頻率可由下式求出:式中:j轉(zhuǎn)動(dòng)慣量;z轉(zhuǎn)子齒數(shù); 最大轉(zhuǎn)矩。振蕩失步的過(guò)程如下:在第1個(gè)脈沖到來(lái)后,轉(zhuǎn)子經(jīng)歷了一次振蕩。當(dāng)轉(zhuǎn)子回?cái)[到最大振幅時(shí),恰好第2個(gè)脈沖到來(lái),轉(zhuǎn)子受到的電磁轉(zhuǎn)矩為負(fù)值,使轉(zhuǎn)子繼續(xù)回?cái)[。接著第3個(gè)脈沖到來(lái),轉(zhuǎn)子受正電磁轉(zhuǎn)矩的作用回到平衡點(diǎn)。這樣,轉(zhuǎn)子經(jīng)過(guò)3個(gè)脈沖仍然回到原來(lái)位置,也就是丟了3步。2、失步步進(jìn)電動(dòng)機(jī)失步的原因有2種: 轉(zhuǎn)子的轉(zhuǎn)速慢于旋轉(zhuǎn)磁場(chǎng)的速度,或者說(shuō)慢于換相速度。例如,步進(jìn)電動(dòng)機(jī)在啟動(dòng)時(shí),如果脈沖的頻率較高,由于電動(dòng)機(jī)來(lái)不及獲得足夠的能量,使其無(wú)法令轉(zhuǎn)子跟上旋轉(zhuǎn)磁場(chǎng)的速度,所以引起失步。因此,步進(jìn)電動(dòng)機(jī)有一個(gè)啟動(dòng)頻率,超過(guò)啟動(dòng)頻率啟動(dòng)時(shí),肯定會(huì)產(chǎn)生失步。注意,啟動(dòng)頻率不是一個(gè)固定值,提高電動(dòng)機(jī)的轉(zhuǎn)矩、減小負(fù)載轉(zhuǎn)動(dòng)慣量、減小步距角都可以提高步進(jìn)電動(dòng)機(jī)的啟動(dòng)頻率。 轉(zhuǎn)子的平均速凍大于旋轉(zhuǎn)磁場(chǎng)的速度。這主要發(fā)生在制動(dòng)和突然換向時(shí),轉(zhuǎn)子獲得過(guò)多的能量,產(chǎn)生嚴(yán)重的過(guò)沖,引起失步。3、怎樣解決失步使步進(jìn)電機(jī)本身產(chǎn)生的電磁轉(zhuǎn)矩增大。使步進(jìn)電機(jī)克服轉(zhuǎn)矩減小或者更換大一點(diǎn)的電機(jī)。4、阻尼方法消除振蕩市通過(guò)增加阻尼的方法來(lái)實(shí)現(xiàn)的,主要有機(jī)械阻尼和電子阻尼兩大類(lèi)。其中機(jī)械阻尼法比較單一,就是在電動(dòng)機(jī)軸上加阻尼器。2.3步進(jìn)電機(jī)控制系統(tǒng)的組成基于單片機(jī)實(shí)現(xiàn)步進(jìn)電動(dòng)機(jī)的正反轉(zhuǎn)、啟動(dòng)、停止和加減速。單片機(jī)是本次設(shè)計(jì)的控制核心,本次設(shè)計(jì)選用at89c51。單片機(jī)通過(guò)脈沖分配和驅(qū)動(dòng)電路帶動(dòng)步進(jìn)電動(dòng)機(jī)運(yùn)轉(zhuǎn)。系統(tǒng)原理框圖如2-3所示。at89c51脈沖分配鍵盤(pán)led顯示驅(qū)動(dòng)電路步進(jìn)電動(dòng)機(jī)負(fù)載圖2-3系統(tǒng)原理框圖at89c51不僅功能強(qiáng)大,而且性能十分靈活性高。價(jià)格合理的單片機(jī),可方便地應(yīng)用在各種控制領(lǐng)域,因此本系統(tǒng)中采用at89c51單片機(jī)作為控制核心。單片機(jī)的控制信號(hào)作用于脈沖分配器,本設(shè)計(jì)中采用8713脈沖分配器可以很好的減輕單片機(jī)的工作量。驅(qū)動(dòng)電路得到脈沖信號(hào)就可以按照控制要求帶動(dòng)步進(jìn)電機(jī)工作。采用led數(shù)碼管進(jìn)行顯示是由于其具有結(jié)構(gòu)簡(jiǎn)單、體積小、功耗低、配置靈活、顯示清晰、可靠性高的優(yōu)點(diǎn)。2.4系統(tǒng)的控制過(guò)程步進(jìn)電動(dòng)機(jī)的驅(qū)動(dòng)電路根據(jù)控制信號(hào)工作。在步進(jìn)電動(dòng)機(jī)的單片機(jī)控制中,控制信號(hào)由單片機(jī)產(chǎn)生。其基本控制作用如下:1、控制換相順序。步進(jìn)電動(dòng)機(jī)的通電換相順序嚴(yán)格按照步進(jìn)電動(dòng)機(jī)的工作方式進(jìn)行。通常我們把通電換相這一過(guò)程稱(chēng)為脈沖分配。例如,三相步進(jìn)電動(dòng)機(jī)的單三拍工作方式,其各相通電的順序?yàn)閍bc,通電控制脈沖必須嚴(yán)格按照這一順序分別控制a、b、c相的通電和斷電。2、控制步進(jìn)電動(dòng)機(jī)的轉(zhuǎn)向。如果按給定的工作方式正序通電換相,步進(jìn)電動(dòng)機(jī)就正轉(zhuǎn);如果按反序通電換相,則電動(dòng)機(jī)就反轉(zhuǎn)。例如,四相步進(jìn)電動(dòng)機(jī)工作在單四拍方式,通電換相的正序是abcd,電動(dòng)機(jī)就正轉(zhuǎn);如果按反序adcb,電動(dòng)機(jī)就反轉(zhuǎn)。對(duì)于步進(jìn)電機(jī)的驅(qū)動(dòng)一般有兩種方法,一種是通過(guò)單片機(jī)直接來(lái)驅(qū)動(dòng),這種方法一般不宜采用,因?yàn)閱纹瑱C(jī)的輸出電流脈沖是特別小的它不能足以讓步進(jìn)電機(jī)的轉(zhuǎn)動(dòng);別一種是通過(guò)單片機(jī)來(lái)間接驅(qū)動(dòng),就是把從單片機(jī)輸出的信號(hào)進(jìn)行放大,然后直接驅(qū)動(dòng)或是再通過(guò)光電隔離間接來(lái)驅(qū)動(dòng)步進(jìn)電機(jī),這種方法比較安全可靠。固本次設(shè)計(jì)應(yīng)采用單片機(jī)間接驅(qū)動(dòng)步進(jìn)電機(jī)。如圖2-4所示。圖2-4 步進(jìn)電機(jī)驅(qū)動(dòng)電路第三章 步進(jìn)電機(jī)控制系統(tǒng)硬件部分3.1硬件電路圖本設(shè)計(jì)中at89c51是控制核心,利用鍵盤(pán)、顯示專(zhuān)用芯片zlg7290能夠以較簡(jiǎn)單的硬件電路和較少的軟件開(kāi)銷(xiāo)實(shí)現(xiàn)單片機(jī)與鍵盤(pán)和led顯示器接口,脈沖分配器zlg7290產(chǎn)生驅(qū)動(dòng)脈沖,減少單片機(jī)的工作負(fù)擔(dān)。本系統(tǒng)的硬件電路圖如4-1所示。圖3-1 系統(tǒng)硬件電路圖3.2采用51系列單片機(jī)at89c51作為控制器at89c51是一種高性能的8位單片機(jī)。片內(nèi)帶有一個(gè)4kb的flash可編程,可擦除只讀存儲(chǔ)器(eprom),它采用了coms工藝和公司atmel的高密度非易失性存儲(chǔ)器技術(shù),而且其輸出引角和指令系統(tǒng)都與msc51兼容。片內(nèi)的flash存儲(chǔ)器允許在系統(tǒng)內(nèi)改編程序或常規(guī)的非易失性存儲(chǔ)器編程器來(lái)編程。因此at89c51是一種功能強(qiáng),靈活性高,且價(jià)格合理的單片機(jī),可方便地應(yīng)用在各種控制領(lǐng)域。3.2.1 at89c51的主要性能內(nèi)含4kb的flash存儲(chǔ)器,擦寫(xiě)次數(shù)1000次;內(nèi)含128字節(jié)的ram;具有32根可編程i/o線(xiàn);具有2個(gè)16位可編程定時(shí)器;具有6個(gè)中斷源、5個(gè)中斷矢量、2級(jí)優(yōu)先權(quán)的中斷結(jié)構(gòu);具有一個(gè)全雙工的可編程串行通信接口;具有一個(gè)數(shù)據(jù)指針dptr;兩種低功耗工作模式,即空閑模式和掉電模式;具有可編程的3級(jí)程序鎖定位;at89c51的工作電壓為5(10.2)v且典型值為5v;at89c51最高工作頻率為24mhz.3.2.2 at89c51引腳功能說(shuō)明圖3-2是at89c51的引腳結(jié)構(gòu)圖,有雙列直插封裝(dip)方式和方形封裝方式,下面分別敘述這些引腳的功能。1、電源線(xiàn) 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:接外部晶體的一個(gè)引腳。在單片機(jī)內(nèi)部,它是構(gòu)成片內(nèi)振蕩器反相放大器和時(shí)鐘發(fā)生線(xiàn)路的輸入端。當(dāng)采用片內(nèi)振蕩器時(shí),連接外部石英晶體和微調(diào)電容。 xtal2:接外部晶體的另一個(gè)引腳。在單片機(jī)內(nèi)部,它是構(gòu)成片內(nèi)振蕩器反相放大器和時(shí)鐘發(fā)生線(xiàn)路的輸出端。當(dāng)采用片內(nèi)振蕩器時(shí),連接外部石英晶體和微調(diào)電容。單片機(jī)外接電路。時(shí)鐘產(chǎn)生和復(fù)位電路。片內(nèi)電路與片外器件就構(gòu)成一個(gè)時(shí)鐘產(chǎn)生電路,cpu的所有操作均在時(shí)鐘脈沖同步下進(jìn)行。片內(nèi)振蕩器的振蕩頻率非常接近晶振頻率,一般多在1.2mhz12mhz之間選取。c1、c2是反饋電容,其值在5pf30pf之間選取,典型值為30pf。本電路選用的電容為30pf,晶振頻率為12mhz。這樣就確定了單片機(jī)的4個(gè)周期分別是:振蕩周期1/12; 機(jī)器周期(sm);指令周期。xtal1xtal2at89c5130pf30pf12mhz圖3-3 時(shí)鐘產(chǎn)生電路 xtal1和xtal2:片內(nèi)振蕩電路輸入線(xiàn),這兩個(gè)端子用來(lái)外接石英晶體和微調(diào)電容。在石英晶體的兩個(gè)管腳加交變電場(chǎng)時(shí),它將會(huì)產(chǎn)生一定頻率的機(jī)械變形,而這種機(jī)械振動(dòng)又會(huì)產(chǎn)生交變電場(chǎng),上述物理現(xiàn)象稱(chēng)為壓電效應(yīng)。一般情況下,無(wú)論是機(jī)械振動(dòng)的振幅,還是交變電場(chǎng)的振幅都非常小。但是,當(dāng)交變電場(chǎng)的頻率為某一特定值時(shí),振幅驟然增大,產(chǎn)生共振,稱(chēng)之為壓電振蕩。這一特定頻率就是石英晶體的固有頻率,也稱(chēng)諧振頻率。即用來(lái)連接at89c51片內(nèi)osc的定時(shí)反饋回路,如圖3-3所示。石英晶振起振后要能在xtal2線(xiàn)上輸出一個(gè)3v左右的正弦波,以便使mcs-51片內(nèi)的osc電路按石英晶振相同頻率自激振蕩。通常,osc的輸出時(shí)鐘頻率fosc為0.5mhz16mhz,典型值為12mhz或11.0592mhz。電容c1和c2可以幫助起振,典型值為30pf,調(diào)節(jié)它們可以達(dá)到微調(diào)fosc的目的。圖3-4為單片機(jī)復(fù)位電路。單片機(jī)在開(kāi)機(jī)時(shí)都需要復(fù)位,以便中央處理器cpu以及其他功能部件都處于一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開(kāi)始工作。單片機(jī)的復(fù)位后是靠外部電路實(shí)現(xiàn)的,在時(shí)鐘電路工作后,只要在單片機(jī)的rst引腳上出現(xiàn)24個(gè)時(shí)鐘振蕩脈沖(2個(gè)機(jī)器周期)以上的高電平,單片機(jī)便可實(shí)現(xiàn)初始化狀態(tài)復(fù)位。mcs-51單片機(jī)的rst引腳是復(fù)位信號(hào)的輸入端。例如:若mcs-51單片機(jī)時(shí)鐘頻率為12mhz,則復(fù)位脈沖寬度至少應(yīng)該為2s。rstat89c51200 221k5v圖3-4 復(fù)位電路 上圖為上電復(fù)位和按鍵復(fù)位電路。上電瞬間,rst端的電位與vcc相同,隨著電容的逐步充電,rst端的電位逐漸下降,此時(shí)=2210-61103=22ms.當(dāng)按下鍵時(shí),rst端出現(xiàn)5100012004.2v,使單片機(jī)復(fù)位。3、控制信號(hào)線(xiàn) rst:復(fù)位輸入信號(hào),高電平有效。在振蕩器穩(wěn)定工作時(shí),在該引腳上施加兩個(gè)機(jī)器周期(即24個(gè)晶振周期)以上的高電平將使單片機(jī)復(fù)位。 ale/:低字節(jié)地址鎖存信號(hào) ale(address latch enable)在系統(tǒng)擴(kuò)展時(shí),ale的下降沿將p0口輸出的低8位地址鎖存在外接的地址鎖存器中,以實(shí)現(xiàn)低字節(jié)地址和數(shù)據(jù)的分時(shí)傳送。此外ale端連續(xù)輸出正脈沖,頻率為振蕩器頻率的1/6,可用作對(duì)外輸出的時(shí)鐘,或用于定時(shí)目的。但是要注意的是:每當(dāng)訪(fǎng)問(wèn)ram時(shí)要丟失一個(gè)ale脈沖。在編程期間,該引腳還用于輸入編程脈沖()。如果需要的話(huà),通過(guò)對(duì)專(zhuān)用寄存器(sfr)區(qū)中8eh單元的d0位置數(shù),可禁止ale操作.該位置數(shù)后,只有在執(zhí)行一條movx或movc指令期間,ale才會(huì)被激活.另外,該引腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),該設(shè)定禁止ale位無(wú)效。:片外程序存儲(chǔ)器讀選通信號(hào)允許,低電平有效。在片外程序存儲(chǔ)器取指期間,當(dāng)有效時(shí),程序存儲(chǔ)器的內(nèi)容被送至口(數(shù)據(jù)總線(xiàn));在訪(fǎng)問(wèn)外部ram時(shí),無(wú)效。/vpp:外部程序存儲(chǔ)器訪(fǎng)問(wèn)允許信號(hào)ea(external access enable)。當(dāng)信號(hào)接地時(shí),對(duì)rom的讀操作限定在外部程序存儲(chǔ)器,地址為0000hffffh;當(dāng)接vcc時(shí),對(duì)rom的讀操作從內(nèi)部程序存儲(chǔ)器開(kāi)始,并可延續(xù)至外部程序存儲(chǔ)器。在編程時(shí),該引腳可接編程電壓(at89c51的vpp為5v或12v)。在編程校驗(yàn)時(shí),該引腳可接vcc。4、輸入/輸出引腳p0.0p0.7,p1.0p1.7,p2.0p2.7,p3.0p3.7 p0端口(p0.0p0.7):8位、漏極開(kāi)路的雙向i/o口。當(dāng)使用片外存儲(chǔ)器及外擴(kuò)i/o口時(shí),p0口作為低字節(jié)地址/數(shù)據(jù)復(fù)用線(xiàn)。在編程時(shí),p0口可用于接收指令代碼字節(jié);在程序校驗(yàn)時(shí),p0口可輸出指令字節(jié)(這時(shí)需要加外部上拉電阻)。p0口也可作通用i/o口使用,但需加上拉電阻,變?yōu)闇?zhǔn)雙向口。當(dāng)作為普通輸入時(shí),應(yīng)將輸出鎖存器置1。p0口可驅(qū)動(dòng)8個(gè)ttl負(fù)載。 p1端口(p1.0p1.7):8位、準(zhǔn)雙向i/o口,具有內(nèi)部上拉電阻。 p1口是為用戶(hù)準(zhǔn)備的i/o雙向口。在編程和校驗(yàn)時(shí),可用作輸入低8位地址。用作輸入時(shí),應(yīng)先將輸出鎖存器置1。p1口可驅(qū)動(dòng)4個(gè)ttl負(fù)載。 p2端口(p2.0p2.7):8位、準(zhǔn)雙向i/o口,具有內(nèi)部上拉電阻。當(dāng)使用片外存儲(chǔ)器或外擴(kuò)i/o口時(shí),p2口輸出高8位地址。在編程/校驗(yàn)時(shí),p2口可接收高字節(jié)地址和某些控制信號(hào)。 p2口也可作普通i/o口使用。用作輸入時(shí),應(yīng)先將輸出鎖存器置1。p2口可驅(qū)動(dòng)4個(gè)ttl負(fù)載。 p3端口(p3.0p3.7):8位、準(zhǔn)雙向i/o口,具有內(nèi)部上拉電阻。p3口可作為普通i/o口。用作輸入時(shí),應(yīng)先將輸出鎖存器置1。在編程/校驗(yàn)時(shí),p3口接收某些控制信號(hào)。它可驅(qū)動(dòng)4個(gè)ttl負(fù)載。在at89c51中,p3端口還用于一些復(fù)用功能。復(fù)用功能如表3-1所示。表3-1 p3各端口引腳與復(fù)用功能表端口引腳復(fù)用功能p3.0rxd(串性輸入口)p3.1txd(串性輸出口)p3.2 (外部中斷0)p3.3 (外部中斷1)p3.4t0(定時(shí)器0的外部輸入)p3.5t1(定時(shí)器1的外部輸入)p3.6(外部數(shù)據(jù)寄存器寫(xiě)選通)p3.7(外部數(shù)據(jù)寄存器讀選通)3.3步進(jìn)電機(jī)的驅(qū)動(dòng)電路步進(jìn)電動(dòng)機(jī)的驅(qū)動(dòng)電路有多種,但最為常用的就是單電壓驅(qū)動(dòng)、雙電壓驅(qū)動(dòng)、高低壓驅(qū)動(dòng)、斬波驅(qū)動(dòng)、細(xì)分控制驅(qū)動(dòng)等。單電壓驅(qū)動(dòng)是步進(jìn)電機(jī)控制中最為簡(jiǎn)單的一種驅(qū)動(dòng)電路,電動(dòng)機(jī)繞組在工作時(shí)只用一個(gè)電壓源對(duì)繞組供電。它的最大特點(diǎn)是結(jié)構(gòu)簡(jiǎn)單,因它的工作效率低,特別是在高頻下更顯的突出。它的外接電阻r要消耗相當(dāng)一部分的熱量,這樣就會(huì)影響電路的穩(wěn)定性所以此種驅(qū)動(dòng)方式一般只用在小功率的步進(jìn)電機(jī)的驅(qū)動(dòng)電路中。雙電壓驅(qū)動(dòng)是電路一般采用兩種電源電壓來(lái)驅(qū)動(dòng),在低頻段使用較低的電壓驅(qū)動(dòng),在高頻段使用較高的電壓驅(qū)動(dòng)。這種驅(qū)動(dòng)方法保證了低頻段仍然具有單電壓驅(qū)動(dòng)的特點(diǎn),在高頻段具有良好的高頻性能,但仍沒(méi)擺脫單電壓驅(qū)動(dòng)的弱點(diǎn),在限流電阻上仍然會(huì)產(chǎn)生損耗和發(fā)熱。高低壓驅(qū)動(dòng)不論電動(dòng)機(jī)工作的頻率如何,在繞組通電的開(kāi)始用高壓供電,使繞組中電流迅速上升,而后用低壓來(lái)維持繞組中的電流。這種驅(qū)動(dòng)電路的缺點(diǎn)是在高低壓連接處電流出現(xiàn)谷點(diǎn),這樣必然引起轉(zhuǎn)矩在谷點(diǎn)處下降。不宜于電機(jī)的正常運(yùn)行。對(duì)于斬波電路驅(qū)動(dòng)則可以克服這種缺點(diǎn),并且還可以提高步進(jìn)電機(jī)的效率。所以從提高效率來(lái)看這是一種很好的驅(qū)動(dòng)電路,它可以用較高的電源電壓,同時(shí)無(wú)需外接電阻來(lái)限定期額定電流和減少時(shí)間常數(shù)。但由于其波形頂部呈現(xiàn)鋸齒形波動(dòng),所以會(huì)產(chǎn)生較大的電磁噪聲。細(xì)分驅(qū)動(dòng)是用脈沖電壓來(lái)供電的,對(duì)于一個(gè)電壓脈沖,轉(zhuǎn)子就可以轉(zhuǎn)動(dòng)一步,一般會(huì)根據(jù)電壓脈沖的分配方式,步進(jìn)電機(jī)各相繞阻會(huì)輪流切換,固可以使步進(jìn)電機(jī)的轉(zhuǎn)子旋轉(zhuǎn)。細(xì)分控制的電路一般分為兩類(lèi),一類(lèi)是采用線(xiàn)性模擬功率放大器的方法獲得階梯形電流,這種方法簡(jiǎn)單,但效率低。別一種是用單片機(jī)采用數(shù)字脈寬調(diào)制的方法獲得階梯電流,這種方法需要復(fù)雜的計(jì)算可使細(xì)分后的步距角一致。3.4 led顯示電路在控制系統(tǒng)中,顯示裝置是一個(gè)重要組成部分,主要用來(lái)顯示生產(chǎn)過(guò)程的工藝狀況與運(yùn)行結(jié)果,以便于現(xiàn)場(chǎng)工作人員的正確操作。led數(shù)碼管由于具有結(jié)構(gòu)簡(jiǎn)單、體積小、功耗低、配置靈活、顯示清晰、可靠性高的優(yōu)點(diǎn),目前被廣泛采用。3.4.1 led顯示器的結(jié)構(gòu)原理發(fā)光二極管led是利用pn結(jié)把電能轉(zhuǎn)換成光能的固體發(fā)光器件,根據(jù)制造材料的不同,可以發(fā)出紅、黃、綠、白等不同色彩的可見(jiàn)光束。led的伏安特性類(lèi)似于普通二極管,正向壓降為2v左右,工作電流一般在10mv20mv之間較為合適。gndcdfagndedpbg 圖3-5 8段led顯示器的結(jié)構(gòu)原理(a) 段排列;(b)共陰極;(c)共陽(yáng)極一個(gè)8段led顯示器的結(jié)構(gòu)與工作原理如圖3-5所示。它是由8個(gè)發(fā)光二極管組成,各段依次記為a、b、c、d、e、f、g、dp,其中dp表示小數(shù)點(diǎn)(不帶小數(shù)點(diǎn)的稱(chēng)為7段led)。8段led顯示器有共陰極和共陽(yáng)極兩種結(jié)構(gòu),分別如圖3-5(b)、(c)所示。共陰極led的所有發(fā)光管的陰極并接成公共端com,而共陽(yáng)極led的所有發(fā)光管的陽(yáng)極并接成公共端com。當(dāng)共陰極led的com端接地,則某個(gè)發(fā)光二極管的陽(yáng)極加上高電平時(shí),則該管有電流流過(guò)因而點(diǎn)亮發(fā)光;當(dāng)共陽(yáng)極led的com端接高電平,則某個(gè)發(fā)光二極管的陰極加上低電平時(shí),則該管有電流流過(guò)因而點(diǎn)亮發(fā)光。 8段led通過(guò)不同段點(diǎn)亮?xí)r的組合,可以顯示09、af等十六進(jìn)制數(shù)。顯然,將cpu的數(shù)據(jù)線(xiàn)與led各段引腳相連,控制輸出的數(shù)據(jù)就可以使led顯示不同的字符。通常把控制led數(shù)碼管發(fā)光顯示字符的8位字節(jié)數(shù)據(jù)稱(chēng)為段選碼、字符譯碼或字模,當(dāng)段引腳dpa與cpu數(shù)據(jù)位d7d0一一對(duì)應(yīng)相連時(shí),共陰極8段led顯示器的段選碼如表4-2所列。以顯示字符“3”的段選碼為例,“3”的段選碼是十六進(jìn)制的4fh,也就是二進(jìn)制的01001111。結(jié)合圖3-5(a)(b),即意味著cpu輸出的數(shù)據(jù)位d7d0 為01001111,則使led顯示器的dp、f、e段接地,g、d、c、b、a段接高電平,當(dāng)com端接地時(shí),顯示器就顯示出數(shù)字“3”。如此,通過(guò)不同的段選碼,即可顯示出不同的相應(yīng)字符。表3-2 8段led顯示器的段選碼顯示字符共陰極段選碼共陽(yáng)極段選碼顯示字符共陰極段選碼共陽(yáng)極段選碼03fhc0h87fh80h106hf9h96fh90h25bha4ha77h88h34fhb0hb7ch83h466h99hc39hc6h56dh92hd5eha1h67dh82he79h86h707hf8hf71h8eh數(shù)碼管共陽(yáng)極的段選碼恰好與共陰極的段選碼相反,如共陽(yáng)極數(shù)碼管“3”的段選碼b0h(10110000)是共陰極數(shù)碼管“3”的段選碼4fh(01001111)的反碼。需要注意的是,表3-2只是基于段引腳dpa與數(shù)據(jù)位d7d0 對(duì)應(yīng)相連這一模式的,如果對(duì)應(yīng)連線(xiàn)改變,則段選碼也隨之改變。3.4.2 led顯示接口led靜態(tài)顯示:靜態(tài)顯示雖然占用cpu機(jī)時(shí)少,顯示穩(wěn)定可靠。占用i/o口資源多,線(xiàn)路復(fù)雜、硬件成本高;又因?yàn)橥瑫r(shí)顯示,所以功耗大,為了簡(jiǎn)化硬件電路,降低成本,在單片機(jī)應(yīng)用系統(tǒng)中常采用動(dòng)態(tài)顯示的方法,解決多位led顯示的問(wèn)題。動(dòng)態(tài)顯示的硬件接口簡(jiǎn)單,只需一個(gè)公共的七段碼輸出口(字形口),一個(gè)選擇顯示位的數(shù)位選擇口(字位口),顯示時(shí),從左到右輪流點(diǎn)亮每位顯示器,只要保證稍描周期不超過(guò)一定的限度(一般在20ms以下)由于視覺(jué)的暫留,則可達(dá)到“同時(shí)”顯示各位不同的數(shù)字或字符的目的。動(dòng)態(tài)顯示的優(yōu)點(diǎn)是硬件成本低,接口電路簡(jiǎn)單,但它要求cpu頻繁地為顯示服務(wù)。led動(dòng)態(tài)顯示就是將所有顯示位的段選線(xiàn)并聯(lián)在一起,由一個(gè)8位i/o口控制,而位選線(xiàn)則由其它的i/o口控制。8位動(dòng)態(tài)顯示電路只需要兩個(gè)8位的口。一個(gè)控制段選碼,另一個(gè)控制位選線(xiàn)。由于所有位的段選碼由同一個(gè)口控制,因此要使每位顯示不同的字符,必須采用掃描方式。即每一時(shí)刻位選只選通一個(gè)顯示位,同時(shí)段選控制口輸出顯示字符對(duì)應(yīng)的段選碼,使該位顯示相應(yīng)的字符,顯示一定時(shí)間后,再選通其它顯示位。如此循環(huán),使每個(gè)顯示器件顯示該位應(yīng)顯示的字符。通過(guò)程序控制,不斷顯示輸出相應(yīng)的段選碼和位選碼,由于人的視覺(jué)暫留效應(yīng),就可以獲得視覺(jué)穩(wěn)定的顯示狀態(tài)。3.5可編程鍵盤(pán)/顯示控制器zlg7290電路工作原理3.5.1 zlg7290概述1. i/o控制及數(shù)據(jù)緩沖器數(shù)據(jù)緩沖器是雙向緩沖器,連接內(nèi)、外總線(xiàn),用于傳送單片機(jī)和zlg7290之間的命令或數(shù)據(jù)。i/o控制線(xiàn)是單片機(jī)對(duì)8279進(jìn)行控制的引線(xiàn),cs是8279的片選信號(hào),當(dāng)cs=0時(shí),zlg7290才被允許讀出或?qū)懭胄畔ⅰr、rd為來(lái)自單片機(jī)的讀、寫(xiě)控制信號(hào)。a0用于區(qū)別信息特性:a0=1時(shí),表示數(shù)據(jù)緩沖器輸入為指令、輸出為狀態(tài)字;a0=0時(shí),輸入、輸出皆為數(shù)據(jù)。2. 控制與定時(shí)寄存器及定時(shí)控制控制與定時(shí)寄存器用來(lái)寄存鍵盤(pán)及顯示的工作方式,以及有單片機(jī)編程的其它操作方式。這些寄存器一旦接受并鎖存送來(lái)的命令,就通過(guò)譯碼產(chǎn)生相應(yīng)的信號(hào),從而完成相應(yīng)的控制功能。定時(shí)控制包含基本計(jì)數(shù)器。其中計(jì)數(shù)器是一個(gè)可編程的n級(jí)計(jì)數(shù)器。n可以為231之間的數(shù)據(jù),由軟件編程,以便從外界時(shí)鐘clk分頻得到內(nèi)部所需要的100khz的時(shí)鐘。然后再經(jīng)過(guò)分頻,為鍵盤(pán)掃描提供適當(dāng)?shù)闹鹦袙呙桀l率和顯示掃描時(shí)間。3. 掃描計(jì)數(shù)器掃描計(jì)數(shù)器有兩種工作方式。按編碼方式工作時(shí),計(jì)數(shù)器作二進(jìn)制計(jì)數(shù)。4位計(jì)數(shù)狀態(tài)從掃描線(xiàn)sl0sl3輸出,經(jīng)外部譯碼器譯碼后,為鍵盤(pán)和顯示器提供掃描線(xiàn)(16條);按譯碼方式工作時(shí),掃描計(jì)數(shù)器的最低二位被譯碼后,從sl0sl3輸出。因此,sl0sl3提供了4中取1的掃描譯碼。4. 回復(fù)緩沖器、鍵盤(pán)去抖動(dòng)及控制來(lái)自rs0rs7的8根回復(fù)線(xiàn)的回復(fù)信號(hào),由回復(fù)緩沖器緩沖并鎖存。在鍵盤(pán)工作方式中,回復(fù)線(xiàn)作為行列式鍵盤(pán)的行列輸入線(xiàn)。在逐行列掃描時(shí),回復(fù)線(xiàn)用來(lái)搜尋每一行列中閉合的鍵,當(dāng)某一鍵閉合時(shí),去抖電路被置位,延時(shí)等待10ms后,再檢驗(yàn)該鍵是否繼續(xù)閉合,并將該鍵的地址和附加的移位、控制狀態(tài)一起形成鍵盤(pán)數(shù)據(jù)被送入zlg7290內(nèi)部fifo(先進(jìn)先出)存儲(chǔ)器。鍵盤(pán)數(shù)據(jù)格式如下:d7d6d5 d4 d3 d2 d1 d0控制移位掃描回復(fù)控制和移位(d6d7)的狀態(tài)由兩個(gè)獨(dú)立的附加開(kāi)關(guān)決定,而掃描(d5d4d3)和回復(fù)(d2d1d0)則是被按鍵置位的數(shù)據(jù)。d5d4d3來(lái)自?huà)呙栌?jì)數(shù)器,是按下鍵的行列編碼,而d2d1d0則來(lái)自行/列計(jì)數(shù)器,它們是根據(jù)回復(fù)信號(hào)而確定的行/列編碼。在傳感器開(kāi)關(guān)狀態(tài)矩陣方式中,回復(fù)線(xiàn)的內(nèi)容直接被送往相應(yīng)的傳感器ram(即fifo存儲(chǔ)器)。在選通輸入方式工作時(shí),cntl/stb為選通輸入信號(hào),回復(fù)線(xiàn)的內(nèi)容在cntl/stb線(xiàn)的脈沖上升沿送入fifo存儲(chǔ)器。5. fifo/傳感器及其狀態(tài)寄存器fifo/傳感器ram是一個(gè)雙重功能的88ram。在鍵盤(pán)或選通方式工作時(shí),它是fifo寄存器,其輸入或讀出遵循先入先出的原則。fifo狀態(tài)寄存器用來(lái)存放fifo的工作狀態(tài)。例如,ram是滿(mǎn)還是空;其中存有多少數(shù)據(jù);是否操作出錯(cuò)等。當(dāng)fifo寄存器不空,狀態(tài)邏輯將產(chǎn)生irq=1信號(hào)向單片機(jī)申請(qǐng)中斷。在傳感器矩陣方式工作中,這個(gè)存儲(chǔ)器又是傳感器存儲(chǔ)器。它存放著傳感器中的每一個(gè)狀態(tài)。在此方式中,若檢索出傳感器的變化,irq信號(hào)變?yōu)楦唠娖?,向單片機(jī)申請(qǐng)中斷,同時(shí)該狀態(tài)被送入傳感器ram。6. 顯示ram和顯示地址寄存器顯示ram用來(lái)存儲(chǔ)顯示數(shù)據(jù),容量為168位。在顯示過(guò)程中,存儲(chǔ)的顯示數(shù)據(jù)輪流從顯示寄存器輸出。顯示寄存器分為a、b兩組,outa03和outb03可以單獨(dú)送數(shù),也可以組成一個(gè)8位的碼(由編程控制)。顯示寄存器的輸出與顯示掃描結(jié)合,不斷從顯示ram中讀出顯示數(shù)據(jù),同時(shí)輪流驅(qū)動(dòng)被選中的顯示器件,以達(dá)到多路復(fù)用的目的,使顯示器件呈現(xiàn)穩(wěn)定的顯示狀態(tài)。顯示地址寄存器用來(lái)寄存由單片機(jī)進(jìn)行讀/寫(xiě)顯示ram的地址,它可以由命令設(shè)定,也可以設(shè)置成每次讀出或?qū)懭牒笞詣?dòng)遞增。3.5.2管腳、引線(xiàn)與功能 圖3-6 zlg7290芯片引腳 采用40引腳封裝,其管腳,引線(xiàn)功能如圖4-7所示。其引腳功能分述如下: d0d7(數(shù)據(jù)總線(xiàn)):雙向,三態(tài)總線(xiàn),和系統(tǒng)的數(shù)據(jù)總線(xiàn)相連,用于cpu和zlg7290間的數(shù)據(jù)/命令傳送。clk(系統(tǒng)時(shí)鐘):輸入線(xiàn),為zlg7290提供內(nèi)部時(shí)鐘的輸入端。reset(復(fù)位):輸入線(xiàn),當(dāng)reset=1時(shí),zlg7290復(fù)位,其復(fù)位狀態(tài)為:16個(gè)字符顯示;編碼掃描鍵盤(pán);程序時(shí)鐘編程為31。cs(片選):輸入線(xiàn),當(dāng)cs=0時(shí)zlg7290被選中,允許cpu對(duì)其讀,寫(xiě),否則被禁止。a0(數(shù)據(jù)選擇):輸入線(xiàn).當(dāng)a0=1時(shí)cpu寫(xiě)入的數(shù)據(jù)為命令字,讀出數(shù)據(jù)為狀態(tài)字;a0=0時(shí)cpu讀,寫(xiě)的字節(jié)均為數(shù)據(jù)。rd、wr(讀、寫(xiě)信號(hào)):輸入線(xiàn).低電平有效,來(lái)自cpu的控制信號(hào),控制zlg7290的讀、寫(xiě)操作。irq(中斷請(qǐng)求):輸出線(xiàn).高電平有效。在鍵盤(pán)工作方式中,當(dāng)fifo/傳感器ram村有數(shù)據(jù)時(shí),irq為高電平。cpu每次從ram中讀出數(shù)據(jù)時(shí),irq變?yōu)榈碗娖?。sl0sl3(掃描線(xiàn)):輸出線(xiàn).用來(lái)掃描鍵盤(pán)和顯示器。它們可以編程設(shè)定為譯碼(4中取1)或編碼輸出(16取1)。rl0rl7(回復(fù)線(xiàn)):輸入線(xiàn).它們是鍵盤(pán)矩陣或傳感器矩陣的列(或行)信號(hào)輸入線(xiàn)。shift(移位信號(hào)):輸入線(xiàn),高電平有效。該輸入信號(hào)是zlg7290鍵盤(pán)數(shù)據(jù)的次高位(d6),通常用來(lái)擴(kuò)充鍵的功能,可以用作鍵盤(pán)上、下檔功能鍵。在傳感器方式和選通方式中,shift無(wú)效。cntl/stb(控制/選通):輸入線(xiàn),高電平有效。在鍵盤(pán)工作方式時(shí),該輸入信號(hào)是鍵盤(pán)數(shù)據(jù)的最高位(d7),通常用來(lái)擴(kuò)充鍵開(kāi)關(guān)的控制功能,作為控制功能鍵用。在傳感器方式下,該信號(hào)無(wú)效。outa0outa3(a組顯示信號(hào)):輸出線(xiàn).outb0outb3(b組顯示信號(hào)):輸出線(xiàn).這兩組引線(xiàn)都是數(shù)據(jù)輸出線(xiàn),與多位數(shù)字顯示(led數(shù)碼管)的掃描線(xiàn)sl0sl3同步。兩組可以獨(dú)立使用,也可以合并使用,合并使用時(shí)outa0為最低位,outb3為最高位。bd(顯示消隱):輸出線(xiàn),低電平有效。該信號(hào)在數(shù)字切換顯示或使用消隱命令時(shí),將顯示消隱。zlg7290的數(shù)據(jù)輸入/輸出對(duì)zlg7290輸入數(shù)據(jù)(如顯示數(shù)據(jù),輸入鍵掃描數(shù)據(jù)、傳感器矩陣數(shù)據(jù)等)時(shí),要選擇數(shù)據(jù)輸入輸出口地址。zlg7290的數(shù)據(jù)輸入輸出口地址由cs=0,a0=0確定。在鍵盤(pán)掃描方式中,zlg7290中鍵入數(shù)據(jù)時(shí)按下列格式存放。d7 d6 d5d4d3 d2d1d0cntlshiftscanreturnreturn (d2d1d0)為鍵所在的行號(hào),由rl0rl7狀態(tài)確定。scan (d5d4d3)為鍵所在列號(hào),由sl0sl2狀態(tài)確定。shift( d6)為控制鍵shift的狀態(tài)位。cntl( d7) 為控制鍵cntl的狀態(tài)位。控制鍵shift、cntl為單獨(dú)的開(kāi)關(guān)。cntl與其它鍵連用作特殊命令鍵,shift可作為上、下檔控制鍵。在傳感器方式或選通方式中,8位輸入數(shù)據(jù)為rl0rl7。d7 d6 d5 d4 d3 d2 d1 d0rl7rl6rl5rl 4rl 3rl 2rl 1rl 03.5.3 zlg7290鍵盤(pán)、顯示接口電路設(shè)計(jì)利用鍵盤(pán)、顯示專(zhuān)用芯片zlg7290能夠以較簡(jiǎn)單的硬件電路和較少的軟件開(kāi)銷(xiāo)實(shí)現(xiàn)微型機(jī)與鍵盤(pán)和led顯示器接口。下面討論其硬件電路的工作原理和設(shè)計(jì)問(wèn)題。1.外時(shí)鐘脈沖產(chǎn)生at89c51的ale既可用作低8位地址的鎖存信號(hào),也把它接到zlg7290的clk引腳用作zlg7290的外時(shí)鐘脈沖信號(hào)的輸入。脈沖信號(hào)頻率并非固定不變,好在zlg7290并不要求時(shí)鐘頻率固定不變,因此,這樣安排還是可以的。不過(guò)應(yīng)該注意,對(duì)于mcs-51系列單片機(jī)來(lái)說(shuō),ale脈沖頻率經(jīng)常是振蕩周期頻率fosc的六分之一,這也是mcs-51單片機(jī)的ale最高頻率,通過(guò)對(duì)zlg7290的程序時(shí)鐘命令字節(jié)的編程,zlg7290可以對(duì)來(lái)自clk引腳的脈沖實(shí)行231分頻,從而得到zlg7290內(nèi)部工作所需要的100khz內(nèi)部時(shí)鐘。如果fosc=12mhz,分頻應(yīng)為20。2.譯碼電路1)zlg7290片選譯碼電路對(duì)zlg7290的片選譯碼電路可根據(jù)實(shí)際電路的地址分配設(shè)計(jì)。2)鍵盤(pán)、顯示掃描譯碼器在對(duì)“鍵盤(pán)/顯示方式設(shè)置命令字”的編程設(shè)置為編碼凡是(d0=0)時(shí),那么zlg7290內(nèi)部不譯碼,從sl3sl0輸出的不是鍵盤(pán)的列和顯示器的位信號(hào)(高電平有效)。而是列和位號(hào)的編號(hào)的bcd碼(sl3是最高位)。在這種情況下應(yīng)外接譯碼器,對(duì)sl3sl0譯碼,以產(chǎn)生列和位信號(hào)。zlg7290可以對(duì)8位或16位顯示器以及8列8行鍵盤(pán)掃描。在16位顯示時(shí),對(duì)顯示器掃描和對(duì)鍵盤(pán)掃描必須各有自己的譯碼器,顯示器采用416線(xiàn)譯碼器,例如74ls154;鍵盤(pán)采用38譯碼器,例如74ls138。bd是消隱信號(hào)輸出端,當(dāng)bd=0時(shí),74ls138不譯碼,顯示器均為暗。應(yīng)該說(shuō)明,在初始化時(shí)必須置“鍵盤(pán)/顯示方式設(shè)置命令字”的d3=0,以設(shè)定8279工作于8位顯示方式,否則會(huì)出現(xiàn)混亂現(xiàn)象。這是因?yàn)?,如果設(shè)置為16位顯示,74ls138只對(duì)sl2sl0譯碼,這樣,當(dāng)sl3,sl2,sl1,sl0=000時(shí),y0為低,選中0號(hào)顯示器(最左端),outa3outb0上出現(xiàn)顯示ram的0單元的內(nèi)容,從而使0號(hào)ram所規(guī)定的字符。但是當(dāng)掃描到sl3,sl2,sl1,sl0=1000h(=8)時(shí),仍使y0=0,選中0號(hào)顯示器,但此時(shí)outa3outb0上出現(xiàn)的卻是顯示ram中8號(hào)單元內(nèi)容,從而使0號(hào)顯示器現(xiàn)在顯示8號(hào)單元所規(guī)定的字符??梢?jiàn)出現(xiàn)顯示混亂。反之,如果硬件電路設(shè)計(jì)為16位顯示。而軟件卻設(shè)置為8位,另外8位得不到顯示。3.驅(qū)動(dòng)電路由74ls138輸出(y0y7)的顯示器的位選信號(hào)和由a3b0輸出的段選信號(hào)的輸出電流太小,不足以點(diǎn)亮led顯示器??刹捎霉碴帢Oled:bs202(發(fā)紅光的bsr202或發(fā)綠光的bsg202),因此位驅(qū)動(dòng)器選用集電極開(kāi)路(oc門(mén))同相輸出門(mén)電路72ls07,段選信號(hào)由兩個(gè)同相輸出的功率驅(qū)動(dòng)器75491提供。表4-2“八段碼(字形碼)”表的內(nèi)容。4.中斷請(qǐng)求線(xiàn)在鍵盤(pán)中的某鍵按下,zlg7290在測(cè)得其按下并在去抖動(dòng)(延時(shí)10ms)之后再檢測(cè)認(rèn)為此鍵仍在按下?tīng)顟B(tài),便確認(rèn)此鍵已按下。在zlg7290確認(rèn)某鍵已按下時(shí),便把此鍵的鍵只存于fifo寄存器中,此時(shí)fifo內(nèi)有內(nèi)容,稱(chēng)為fifo存儲(chǔ)器不空。只要fifo存儲(chǔ)器不空,便使irq為高電平,就直接通過(guò)exint端向8089請(qǐng)求中斷。但由于at89c51的int0或int1是低電平或下降沿請(qǐng)求中斷。因此應(yīng)把irq反相后加到at89c51的int1端。當(dāng)單片機(jī)讀取fifo的內(nèi)容后,irq就回到低電平。如果fifo存儲(chǔ)器中還有未讀到的鍵值,會(huì)重新使irq變?yōu)楦唠娖?,向單片機(jī)請(qǐng)求中斷。由于fifo存儲(chǔ)器是先進(jìn)先出ram,因此先讀走的鍵值對(duì)應(yīng)于先按下的鍵。5.shift和cntl可用這兩個(gè)鍵增加鍵盤(pán)的功能。例如上檔鍵和下檔鍵。這兩鍵在按下時(shí)使shift(或cntl)為低電平。當(dāng)這兩個(gè)彈起時(shí),使shift(或cntl)腳懸空,但由于此兩引腳內(nèi)部有上拉電阻,當(dāng)它們懸空時(shí)實(shí)際上是高電平。3.6脈沖分配實(shí)現(xiàn)脈沖分配的方法有兩種:軟件法和硬件法。1、軟件法圖3-7是用這種方法控制三相步進(jìn)電動(dòng)機(jī)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 氣候變化與投資組合管理-全面剖析
- 營(yíng)養(yǎng)保健品市場(chǎng)潛力分析-全面剖析
- 2025-2030年中國(guó)固態(tài)繼電器市場(chǎng)前景預(yù)測(cè)及投資價(jià)值研究報(bào)告
- 2025-2030年中國(guó)啤酒瓶回收行業(yè)運(yùn)行格局及競(jìng)爭(zhēng)策略研究報(bào)告
- 鎖粒度細(xì)粒化分析-全面剖析
- 零售業(yè)消費(fèi)者行為-全面剖析
- 生態(tài)修復(fù)技術(shù)經(jīng)濟(jì)性分析-全面剖析
- 全球治理體系創(chuàng)新-全面剖析
- 裝修行業(yè)營(yíng)銷(xiāo)策略-全面剖析
- 熔爐制造設(shè)備創(chuàng)新-全面剖析
- DB11-T 864-2020 園林綠化種植土壤技術(shù)要求
- FBZ-3076低周減載控制裝置技術(shù)規(guī)范書(shū)
- 六年級(jí)下冊(cè) 人教版 數(shù)學(xué) 第六單元《圖形與位置》課件
- 小紅書(shū)搜索推廣營(yíng)銷(xiāo)師認(rèn)證考試題庫(kù)(附答案)
- 《項(xiàng)目溝通管理培訓(xùn)》課件
- 感染性疾病科各項(xiàng)規(guī)章制度及崗位職責(zé)
- 圍術(shù)期護(hù)理常規(guī)及技術(shù)規(guī)范
- 完整版《中藥學(xué)》課件
- 工程推動(dòng)會(huì)監(jiān)理單位總監(jiān)辦發(fā)言稿
- 石家莊市既有建筑改造利用消防設(shè)計(jì)審查指南(2024年版)
- 船舶修造行業(yè)安全風(fēng)險(xiǎn)監(jiān)控與應(yīng)急措施
評(píng)論
0/150
提交評(píng)論