版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 摘 要</b></p><p> 步進(jìn)電機是一種進(jìn)行精確步進(jìn)運動的機電執(zhí)行元件,它廣泛地用于工業(yè)機械的數(shù)字控制。為使系統(tǒng)的可靠性,通用性,可維護(hù)性以及性價比最優(yōu),根據(jù)控制系統(tǒng)功能要求及步進(jìn)電動機應(yīng)用環(huán)境,確定了設(shè)計系統(tǒng)硬件和軟件的功能劃分,從而實現(xiàn)了基于8051單片機的四相步進(jìn)電動機的開環(huán)控制系統(tǒng)??刂葡到y(tǒng)通過單片機存儲器、I/O口、中斷、鍵盤、LED顯示器的
2、擴展,步進(jìn)電動機的環(huán)形分配器、驅(qū)動及保護(hù)電路、人機接口電路、中斷系統(tǒng)及復(fù)位電路、單電壓驅(qū)動電路等的設(shè)計。實現(xiàn)了四相步進(jìn)電動機的正反轉(zhuǎn)、急停等功能。為實現(xiàn)單片機控制步進(jìn)電動機系統(tǒng)在數(shù)控機床上的特殊應(yīng)用,系統(tǒng)設(shè)計了兩個外部中斷,以實現(xiàn)步進(jìn)電動機在某段時間內(nèi)的反復(fù)正反轉(zhuǎn)功能,也即數(shù)控機床的刀架自動進(jìn)給運動。</p><p> 關(guān)鍵詞:8051單片機,四相步進(jìn)電動機,控制</p><p><
3、;b> ABSTRACT</b></p><p> The stepping motor is a precision electromechanical incremental actuator.It widely uses the digital approach for control of industrial machines.For dependable,in genera
4、l use that make system,can support sex an sex price ratio superior,divide the line according to control system funcion request and a function for entering electric motor applying environment,making sure designing system
5、hardware with softwares, from but realizes to base on single chip microcomputer 8051 of four mutually the ste</p><p> KEYWORD:single chip microcomputer 8051;four-phase stepper motor ;control</p><
6、p><b> 目 錄</b></p><p><b> 摘要</b></p><p><b> Abstract</b></p><p> 引言…………………………………………………………1</p><p> 1.1 課題的來源與意義…………………………………
7、………………1</p><p> 1.1.1 課題的意義……………………………………………………2</p><p> 第二章 步進(jìn)電動機原理及其控制技術(shù)……………………………5</p><p> 2.1 步進(jìn)電動機的原理…………………………………………………5</p><p> 2.2 步進(jìn)電動機的速度及其加減速控制……………………
8、……………6</p><p> 2.2.1 步進(jìn)電動機的速度控制…………………………………………6</p><p> 2.2.2 步進(jìn)電動機的加、減速控制…………………………………… 6</p><p> 2.3 步進(jìn)電動機的驅(qū)動系統(tǒng)…………………………………………… 7</p><p> 第三章 系統(tǒng)總體設(shè)計簡介……………………
9、…………………… 8</p><p> 3.1 系統(tǒng)功能………………………………………………………… 8</p><p> 3.2 系統(tǒng)組成及其器件選擇…………………………………………… 9</p><p> 3.2.1 系統(tǒng)組成……………………………………………………… 9</p><p> 3.2.2 器件選擇……………………
10、………………………………… 9</p><p> 3.3 系統(tǒng)的可靠性及抗干擾設(shè)計……………………………………… 10</p><p> 3.3.1 軟件的可靠性設(shè)計………………………………………………10</p><p> 3.3.2 硬件抗干擾措施……………………………………………… 10</p><p> 3.3.3 軟件
11、抗干擾措施……………………………………………… 11</p><p> 第四章 硬件的設(shè)計…………………………………………………12</p><p> 4.1 單片機控制步進(jìn)機系統(tǒng)原理圖及說明………………………………12</p><p> 4.1.1 系統(tǒng)模塊之一—四相混合式步進(jìn)電動機環(huán)形分配器……………12</p><p> 4.
12、1.2 系統(tǒng)模塊之二—四相步進(jìn)電動機驅(qū)動及保護(hù)電路………………14</p><p> 4.1.3 系統(tǒng)模塊之三—人機接口電路…………………………………14</p><p> 4.1.4 系統(tǒng)模塊之四—中斷系統(tǒng)及復(fù)位電路………………………… 14</p><p> 4.1.5 系統(tǒng)模塊之五—各檔直流電源…………………………………15</p>
13、<p> 4.2 單片機原理……………………………………………………… 16</p><p> 4.2.1 MCS—51單片機……………………………………………… 16</p><p> 4.2.2 MCS—51單片機引腳功能……………………………………… 17</p><p> 4.2.3 MCS—51單片機的存儲器結(jié)構(gòu)………………………
14、………… 20</p><p> 4.2.4 并行輸入及輸出端口結(jié)構(gòu)………………………………………21</p><p> 4.3 單片機的片外總線結(jié)構(gòu)…………………………………………… 25</p><p> 4.3.1 單片機的片外總線結(jié)構(gòu)…………………………………………25</p><p> 4.4 系統(tǒng)外設(shè)接口…………………
15、……………………………………27</p><p> 4.4.1 鍵盤接口原理………………………………………………… 27</p><p> 4.4.2 鍵盤的控制要求……………………………………………… 29</p><p> 4.5 譯碼器及地址鎖存器………………………………………………30</p><p> 4.5.1 3—
16、8譯碼器:74LS138………………………………………… 30</p><p> 4.5.2 地址鎖存器:74LS373………………………………………… 30</p><p> 第五章 軟件的設(shè)計………………………………………………… 32</p><p> 5.1 軟件設(shè)計流程圖……………………………………………………32</p><p
17、> 5.2 設(shè)計相關(guān)程序…………………………………………………… 34</p><p> 結(jié)論………………………………………………………………… 44</p><p> 參考文獻(xiàn)……………………………………………………………45</p><p> 致謝…………………………………………………………………47</p><p>
18、 附錄…………………………………………………………………48</p><p><b> 第一章 引言</b></p><p> 1.1 課題的來源與意義</p><p> 早在十九世紀(jì)三十年代就出現(xiàn)了步進(jìn)電動機,那時候的步進(jìn)電動機實際上是一種可以自由回轉(zhuǎn)的電磁鐵,工作原理同今天的反應(yīng)式步進(jìn)電動機沒有什么區(qū)別。到上世紀(jì)初,由于戰(zhàn)爭的需要,造
19、船工業(yè)發(fā)展迅猛。在上世紀(jì)二十年代到三十年代間,一些雜志先后刊登了一些步進(jìn)電動機在航海技術(shù)方面應(yīng)用的文章,介紹了步進(jìn)電動機的設(shè)計和計算方法。直到上世紀(jì)三十年代初這些理論才被真正用于指導(dǎo)步進(jìn)電動機的設(shè)計與生產(chǎn)。但由于其性能不能滿足速度不斷提高的艦船的要求,使得這項技術(shù)徘徊了數(shù)十年之久,一度幾乎被廢棄。后來,由于無觸點式電子開關(guān)元器件的出現(xiàn),解決了步進(jìn)電動機勵磁繞組快速換向的問題。所以,在上世紀(jì)中期,步進(jìn)電動機又重新崛起。</p>
20、<p> 1952年,美國麻省理工學(xué)院首先研制成三坐標(biāo)數(shù)控銑床。數(shù)控機床的出現(xiàn)提高了生產(chǎn)效率,推動了機械制造業(yè)的發(fā)展,對于采用哪種類型的電機作為進(jìn)給機構(gòu)的驅(qū)動元件一直是爭論的焦點,經(jīng)過理論分析和現(xiàn)場試驗,發(fā)現(xiàn)使用步進(jìn)電動機作為進(jìn)給機構(gòu)的驅(qū)動元件是較理想的選擇,這一應(yīng)用使得步進(jìn)電動機的使用范圍更加廣泛。</p><p> 1.1.1 課題的意義</p><p> 我國對
21、步進(jìn)電動機的研制及應(yīng)用起步不算太晚,早在1958年,我國的一些科研院所就研制成功了反應(yīng)式步進(jìn)電動機,并開始應(yīng)用到數(shù)控機床中。進(jìn)入上世紀(jì)六十年代中期,結(jié)構(gòu)新穎的步進(jìn)電動機相繼問世,為了降低電機功耗以及提高效率,人們發(fā)明了永磁式和混合式步進(jìn)電動機。到上世紀(jì)七十年代,步進(jìn)電動機的生產(chǎn)進(jìn)入了全盛時期,其產(chǎn)量每年都已11%的指數(shù)遞增。到目前為止,步進(jìn)電動機已被廣泛應(yīng)用于數(shù)控機床、自動生產(chǎn)線、自動化儀表、計算機外圍設(shè)備、繪圖儀、電子手表等多方面。&
22、lt;/p><p> 步進(jìn)電動機已成為除直流電動機和交流電動機以外的第三類電動機。傳統(tǒng)電動機作為機電能量轉(zhuǎn)換裝置,在人類的生產(chǎn)和生活進(jìn)入電氣化過程中起著關(guān)鍵的作用??墒窃谌祟惿鐣M(jìn)入自動化時代的今天,傳統(tǒng)電動機的功能已不能滿足工廠自動化和辦公自動化等各種運動控制系統(tǒng)的要求。為適應(yīng)這些要求,發(fā)展了一系列新的具備控制功能的電動機系統(tǒng),其中較有自己特點,且應(yīng)用十分廣泛的一類便是步進(jìn)電動機。</p><
23、p> 步進(jìn)電動機的發(fā)展與計算機工業(yè)密切相關(guān)。自從步進(jìn)電動機在計算機外圍設(shè)備中取代小型直流電動機以后,使其設(shè)備的性能提高,很快地促進(jìn)了步進(jìn)電動機的發(fā)展。另一方面,微型計算機和數(shù)字控制技術(shù)的發(fā)展,又將作為數(shù)控系統(tǒng)執(zhí)行部件的步進(jìn)電動機推廣應(yīng)用到其他領(lǐng)域,如電加工機床、小功率機械加工機床、測量儀器、光學(xué)和醫(yī)療儀器以及包裝機械等。</p><p> 任何一種產(chǎn)品成熟的過程,基本上都是規(guī)格品種逐步統(tǒng)一和簡化的過程。
24、現(xiàn)在,步進(jìn)電動機的發(fā)展已歸結(jié)為單段式結(jié)構(gòu)的磁阻式、混合式和爪極結(jié)構(gòu)的永磁式三類。爪極電機價格便宜,性能指標(biāo)不高,混合式和磁阻式主要作為高分辨率電動機,由于混合式步進(jìn)電動機具有控制功率小,運行平穩(wěn)性較好而逐步處于主導(dǎo)地位。</p><p> 由于步進(jìn)電動機的轉(zhuǎn)速隨著輸入脈沖頻率變化而變化,調(diào)速范圍很廣,靈敏度高,輸出轉(zhuǎn)角能夠控制,而且輸出精度較高,又能實現(xiàn)同步控制,所以廣泛地使用在開環(huán)系統(tǒng)中,也還可用在一般通用機
25、床上,提高進(jìn)給機構(gòu)的自動化水平。</p><p> 步進(jìn)電動機是機電一體化產(chǎn)品中的關(guān)鍵組件之一,是一種性能良好的數(shù)字化執(zhí)行元件。它有輸入脈沖與電機軸轉(zhuǎn)角成比例的特征。它將電脈沖信號轉(zhuǎn)變成角位移,即給一個脈沖信號,步進(jìn)電動機就轉(zhuǎn)動一個角度,因此非常適合于單片機控制。</p><p> 單片機在一個集成芯片中,集成有微處理器(CPU)、存儲器(RAM和ROM)、基本的I/O接口以及定時/計
26、數(shù)部件,即在一個芯片上實現(xiàn)一臺微型計算機的基本功能。</p><p> 步進(jìn)電動機的控制部分以單片機為主的微處理器控制。其特點如下:1.靈活性和適應(yīng)性。微處理器的控制方式是由軟件完成的。如果須要修改控制規(guī)律,一般不必改變系統(tǒng)的硬件電路、只須修改程序即可。在系統(tǒng)調(diào)試和升級時,可以不斷嘗試選擇最優(yōu)參數(shù),非常方便。2.可以實現(xiàn)較復(fù)雜的控制,控制精度高。微處理器有更強的邏輯功能、運算速度快、精度高、有大容量的存儲單元,
27、因此有能力實現(xiàn)復(fù)雜的控制,如優(yōu)化控制等。并且不論被控量的大或小,都可以保證足夠的控制精度。3.可提供人機界面。在電動機的控制中,要用到鍵盤和顯示器作為人機界面,實現(xiàn)步進(jìn)電動機的控制。由于單片機體積小,重量輕,抗干擾能力強,對環(huán)境要求不高,價格低廉,指令功能強,運行速度快,可靠性高及靈活性好,開發(fā)也較為容易,所以國內(nèi)近些年來已將其廣泛應(yīng)用于工業(yè)測控、機電設(shè)備、儀器儀表、軍事設(shè)置、家用電器等方面的自動化、智能化[1]。</p>
28、<p> 到現(xiàn)在為止,混合式步進(jìn)電機己經(jīng)成為了辦公自動化和工業(yè)自動化應(yīng)用場合的主流之一,迅速發(fā)展形成規(guī)模生產(chǎn),同時,它的性能指標(biāo)不斷提高,逐漸取代了變磁阻型以及永磁式步進(jìn)電動機。</p><p> 第二章 步進(jìn)電動機原理及其控制技術(shù)</p><p> 2.1 步進(jìn)電動機的原理</p><p> 步進(jìn)電機是數(shù)字控制電機,它將脈沖信號轉(zhuǎn)變成角位移,即
29、給一個脈沖信號,步進(jìn)電機就轉(zhuǎn)動一個角度,因此非常適合于單片機控制。步進(jìn)電機可分為反應(yīng)式步進(jìn)電機(簡稱VR)、永磁式步進(jìn)電機(簡稱PM)和混合式步進(jìn)電機(簡稱HB)。 步進(jìn)電機區(qū)別于其他控制電機的最大特點是,它是通過輸入脈沖信號來進(jìn)行控制的,即電機的總轉(zhuǎn)動角度由輸入脈沖數(shù)決定,而電機的轉(zhuǎn)速由脈沖信號頻率決定。步進(jìn)電機的驅(qū)動電路根據(jù)控制信號工作,控制信號由單片機產(chǎn)生。其基本原理作用如下: </p><p><b
30、> 1.控制換相順序 </b></p><p> 通電換相這一過程稱為脈沖分配。例如:三相步進(jìn)電機的三拍工作方式,其各相通電順序為A—B—C—D,通電控制脈沖必須嚴(yán)格按照這一順序分別控制A、B、C、D相的通斷。 </p><p> 2.控制步進(jìn)電機的轉(zhuǎn)向 </p><p> 如果給定工作方式正序換相通電,步進(jìn)電機正轉(zhuǎn),如果按反序通電換相,則
31、電機就反轉(zhuǎn)。 </p><p> 3.控制步進(jìn)電機的速度 </p><p> 如果給步進(jìn)電機發(fā)一個控制脈沖,它就轉(zhuǎn)一步,再發(fā)一個脈沖,它會再轉(zhuǎn)一步。兩個脈沖的間隔越短,步進(jìn)電機就轉(zhuǎn)得越快。調(diào)整單片機發(fā)出的脈沖頻率,就可以對步進(jìn)電機進(jìn)行調(diào)速。2.2 步進(jìn)電動機的特性</p><p> 2.2 步進(jìn)電動機的速度及其加減速控制</p><p>
32、; 2.2.1 步進(jìn)電動機的速度控制</p><p> 步進(jìn)電動機的速度控制通過控制單片機發(fā)出的步進(jìn)脈沖頻率來實現(xiàn)。對于單片機的并行控制的軟脈沖分配方式,可以采用調(diào)整兩個控制字之間的時間間隔來實現(xiàn)調(diào)速。對于自己搭建(環(huán)形分配器)的脈沖分配方式,可以控制步進(jìn)脈沖的頻率來實現(xiàn)調(diào)速。</p><p> 2.2.2 步進(jìn)電動機的加、減速控制</p><p> 步
33、進(jìn)電動機驅(qū)動執(zhí)行機構(gòu)從A點到B點移動時,要經(jīng)歷升速、恒速和減速過程。如果啟動時一次將速度升到給定速度,由于啟動頻率超過極限啟動頻率輸入,步進(jìn)電動機要發(fā)生失步現(xiàn)象,因此會造成不能正常啟動。如果到終點時突然停下來,由于慣性作用,步進(jìn)電動機會發(fā)生過沖現(xiàn)象,會造成位置稍微減低。如果非常緩慢的升降速,步進(jìn)電動機自然不會產(chǎn)生失步和過沖現(xiàn)象,但影響了執(zhí)行機構(gòu)的工作效率。所以,對步進(jìn)電動機的加減速要有嚴(yán)格的要求。那就是保證在不失步和過沖的前提下,用最快
34、的速度移動到指定位置。</p><p> 圖2-1 步進(jìn)電機加、減速曲線</p><p> 為了滿足加、減速要求,步進(jìn)電動機運行通常按照加、減速曲線進(jìn)行。圖2-1是加、減速運行,通常按照加、減速運行曲線沒有一個固定的模式,根據(jù)經(jīng)驗和試驗得到的。</p><p> 最簡單的是勻加速和勻減速曲線,如圖2-1所示。其加減速曲線都是直線,因此容易編程實現(xiàn)。按直線加速時
35、,加速度是不變的,因此要求轉(zhuǎn)矩也應(yīng)該是不變的。但是,由于步進(jìn)電動機的電磁轉(zhuǎn)矩與轉(zhuǎn)速是非線性關(guān)系。因此實際上當(dāng)轉(zhuǎn)速增加時,轉(zhuǎn)矩下降。所以,按直線加速時,有可能造成因轉(zhuǎn)矩不足而產(chǎn)生失步現(xiàn)象。</p><p> 采用指數(shù)加減速曲線或S型加減速曲線是最好的選擇,如圖所示。因為電動機的電磁轉(zhuǎn)矩的關(guān)系接近指數(shù)規(guī)律。</p><p> 如果采用非線性加、減速曲線,要用離散法將加、減速曲線離散化。將離
36、散所得的轉(zhuǎn)速序列所對應(yīng)的定時常數(shù)序列,做成表格存儲在程序存儲器中。在程序運行中,使用查表的方式重裝定時常數(shù),這樣做比用計數(shù)法節(jié)省時間,提高系統(tǒng)的響應(yīng)速度。</p><p> 2.3 步進(jìn)電動機的驅(qū)動系統(tǒng)</p><p> 步進(jìn)電動機使用脈沖電源工作。三極管T是按照控制脈沖的規(guī)律“開”和“關(guān)”。使直流電源以脈沖方式向繞組L供電。這一過程我們稱它為步進(jìn)電動機的驅(qū)動。步進(jìn)電動機的驅(qū)動方式有多
37、種,如單電壓驅(qū)動,雙電壓驅(qū)動,斬波驅(qū)動等,因本設(shè)計選用步進(jìn)電動機的功率不是很高,所以控制系統(tǒng)為單電壓驅(qū)動步進(jìn)電動機。具體原理將在后面原理圖說明中給出。</p><p> 第三章 系統(tǒng)總體設(shè)計簡介</p><p> 在進(jìn)行系統(tǒng)設(shè)計之前,首先應(yīng)根據(jù)對系統(tǒng)的功能要求及其應(yīng)用環(huán)境等確定合理的、具體的功能和技術(shù)指標(biāo),對應(yīng)用系統(tǒng)的可靠性、通用性、先進(jìn)性、可維護(hù)性以及成本等進(jìn)行綜合考慮,以盡量合理并
38、符合相應(yīng)的標(biāo)準(zhǔn)。然后根據(jù)市場上步進(jìn)電機規(guī)格選擇相應(yīng)合理的單片機機型。接下來要根據(jù)單片機系統(tǒng)中可能涉及到的I/O接口、存儲器、顯示器等器件和設(shè)備進(jìn)行選擇,使之符合系統(tǒng)在精度、速度和可靠性等方面的要求。最后確定硬件和軟件的功能劃分。由于在系統(tǒng)設(shè)計中某些功能用硬件和軟件都能實現(xiàn),在設(shè)計中必須綜合考慮成本等因素具體劃分軟硬件功能。</p><p><b> 3.1 系統(tǒng)功能</b></p&g
39、t;<p> 單片機控制系統(tǒng)是以單片機(CPU)為核心部件,擴展一些外部接口和設(shè)備,組成單片機工業(yè)控制機,主要用于工業(yè)工程控制。</p><p> 本控制系統(tǒng)是基于MCS—51系列中8051單片機控制。通過單片機存儲器、I/O接口、中斷、鍵盤、LED顯示器的擴展,相應(yīng)步進(jìn)電動機的環(huán)形分配器及驅(qū)動電路設(shè)計,實現(xiàn)了對步進(jìn)電動機的開環(huán)控制</p><p> 3.2 系統(tǒng)組成及
40、其器件選擇</p><p> 3.2.1 系統(tǒng)組成</p><p><b> 一、硬件組成</b></p><p><b> 1.存儲器擴展模塊</b></p><p> 2.I/O接口擴展模塊</p><p> 3.系統(tǒng)外設(shè)接口模塊</p><
41、;p> 4.四相混合式步進(jìn)電動機環(huán)形分配器</p><p> 5.四相混合式步進(jìn)電動機驅(qū)動電路及保護(hù)電路</p><p><b> 6.系統(tǒng)中斷模塊</b></p><p> 7.系統(tǒng)直流電源電路模塊</p><p><b> 二、系統(tǒng)監(jiān)管程序</b></p><
42、p> 1.單片機控制步進(jìn)電動機主程序</p><p><b> 2.中斷程序</b></p><p><b> 3.延時等子程序</b></p><p> 3.2.2 器件選擇</p><p> 1.程序存儲器:EPROM2716</p><p> 2.數(shù)
43、據(jù)存儲器:RAM6116</p><p> 3.可編程I/O控制器:8155</p><p> 4.譯碼器:74LS138</p><p> 5.串行雙外圍驅(qū)動器:DS75452</p><p> 6.地址鎖存器:74LS373</p><p> 7.8位三態(tài)輸出的總線驅(qū)動器/緩沖器接收器:74LS240&l
44、t;/p><p><b> 8.4×4鍵盤</b></p><p> 9.6位LED顯示器</p><p> 3.3 系統(tǒng)的可靠性/抗干擾設(shè)計</p><p> 單片機應(yīng)用系統(tǒng)可靠性設(shè)計中首先應(yīng)考慮硬件設(shè)計的可靠性。第一,要考慮元件的失效問題,如元件本身的缺陷和工藝問題。第二,在設(shè)計中要特別注意元器件的選擇
45、、使用和替換。對于電阻和電容,要考慮其標(biāo)稱值和誤差、額定功率、頻率特性及耐壓值等;對于CMOS集成電路,應(yīng)注意輸入電壓不能超過其電源電壓,也不能低于0V,未用的輸入端必須與電源或地端相接,而輸出端則不許短路。未用的門電路的輸入端應(yīng)并聯(lián)接到該片要使用的輸入端,輸出端則接高電平,并注意加上適當(dāng)?shù)娜ヱ铍娙莸取5谌?,在設(shè)計中應(yīng)考慮環(huán)境條件對硬件參數(shù)的影響,溫度、濕度、電源及各種干擾等。所以在設(shè)計中元器件的選擇應(yīng)遵循降額使用的原則,留出一定的余地
46、。</p><p> 3.3.1 軟件的可靠性設(shè)計</p><p> 在單片機應(yīng)用系統(tǒng)中,軟件就是系統(tǒng)的監(jiān)控程序。要提高軟件的可靠性,必須從設(shè)計、調(diào)試、和長期使用等方面來考慮。第一,要正確地使用中斷。監(jiān)控系統(tǒng)中,中斷處理是很常用的設(shè)計方法,在主程序和中斷程序的安排上應(yīng)考慮時間分配問題,可以采用定時中斷或隨機事件中斷。第二,要將整個系統(tǒng)軟件根據(jù)功能劃分為若干個相對獨立的模塊。第三,根據(jù)
47、現(xiàn)場技術(shù)指標(biāo)和具體的控制精度要求選取適當(dāng)?shù)目刂撇呗浴?lt;/p><p> 3.3.2 硬件抗干擾措施</p><p> 根據(jù)干擾的產(chǎn)生及傳輸特點,在硬件上可以選取以下措施:</p><p><b> 1.光電隔離。</b></p><p> 2.在滿足要求的前提下盡量用較低的時鐘頻率和低頻的器件。</p&g
48、t;<p> 3.系統(tǒng)中芯片的未用端不要懸空、應(yīng)根據(jù)實際情況接到電源端、地端或已使用端。</p><p> 3.3.3 軟件抗干擾措施</p><p> 在軟件設(shè)計中,可以采取適當(dāng)?shù)奶幚韥硖岣呦到y(tǒng)的可靠性,以保證當(dāng)系統(tǒng)受到干擾時仍能正常工作。通??梢圆扇∫韵乱恍┐胧?lt;/p><p> 一、程序中插入空操作指令實現(xiàn)指令冗余。系統(tǒng)在工作時容易因
49、干擾而使PC指向程序存儲器的非代碼區(qū),從而導(dǎo)致“死機”。為此可以在程序中插入一些單字節(jié)約定空操作指令NOP,失控的程序遲到該指令后得到調(diào)整而轉(zhuǎn)入正常。二、對未用的中斷向量進(jìn)行處理。在程序中對未用的中斷都編寫出相應(yīng)的錯誤處理程序,若因干擾觸發(fā)了這些中斷,則執(zhí)行完簡單的出錯處理程序后可以正常返回。三、軟件陷阱:如果因干擾導(dǎo)致單片機的指令計數(shù)器PC值被錯置,程序跳到這些未用的程序存儲空間,系統(tǒng)就會出錯。軟件陷阱是在程序存儲器的未使用的區(qū)域中,
50、加上若干條空操作和無條件跳轉(zhuǎn)指令,無條件跳轉(zhuǎn)指令指向程序“跑飛”處理子程序的入口地址。如果程序跳到這些未用區(qū)域,就會執(zhí)行無條件跳轉(zhuǎn)指令,轉(zhuǎn)到相應(yīng)的程序出錯“跑飛”處理程序[7]。</p><p><b> 第四章 硬件設(shè)計</b></p><p> 4.1 單片機控制步進(jìn)機系統(tǒng)原理圖及說明</p><p> 原理圖見設(shè)計說明書附圖。<
51、;/p><p> 步進(jìn)電動機的控制原理說明:步進(jìn)電動機是一種將電脈沖轉(zhuǎn)換成相應(yīng)位移或線位移的電磁機械裝置,也是一種能把輸出機械位移增量轉(zhuǎn)換成輸入數(shù)字脈沖對應(yīng)的驅(qū)動器件。步進(jìn)電動機具有快速起動和停止的特點。另外,步進(jìn)電動機的步距角和轉(zhuǎn)速只和輸入的脈沖頻率有關(guān),與環(huán)境溫度、氣壓和沖擊等因素?zé)o關(guān),也不受電網(wǎng)電壓的波動和負(fù)載變化的影響,因而具有步進(jìn)精確和步距誤差不會長期積累等特點。</p><p>
52、 步進(jìn)電動機的運轉(zhuǎn)是由脈沖信號控制的。本系統(tǒng)設(shè)計是采用環(huán)形脈沖分配器進(jìn)行控制的,只在系統(tǒng)仿真時,則采用通過軟件設(shè)置方式來控制步進(jìn)電動機的運行。</p><p> 4.1.1 系統(tǒng)模塊之一—四相混合式步進(jìn)電動機環(huán)形分配器</p><p> 本環(huán)形分配器有程序存儲器EPROM2716,計數(shù)器74LS191及施密特反相器LS14等組成。</p><p> 現(xiàn)將其
53、工作原理闡述如下:</p><p> 四相混合式步進(jìn)電動機,有雙四拍或四相八拍兩種勵磁方式,拍數(shù)都是2n,因此計數(shù)器可以直接使用二——十六進(jìn)制可逆計數(shù)器74LS191。</p><p> 系統(tǒng)時鐘脈沖從計數(shù)器74LS191的CP端引入,控制器發(fā)出的時鐘脈沖經(jīng)過LS14兩級施密特反向器,對時鐘進(jìn)行整形,有一定的防干擾作用。計數(shù)器的輸出端Q0—Q3直接送到EPROM2716的低四位地址線A
54、0—A3,這樣可以選通EPROM2716的十六個地址(00—0FH)。存儲器的內(nèi)容從數(shù)據(jù)線讀出,用低四位數(shù)據(jù)線(D0—D3)作為四相驅(qū)動器各相輸入線。EPROM2716的第四條線A4作為勵磁方式的轉(zhuǎn)換信號輸入端,其它地址都接地,當(dāng)A4為低電平時,可選通00H—00FH之間的十六個地址:當(dāng)A4為高電平時,可選通010H—01FH之間的十六個地址,其中001—00FH空間為四相八拍狀態(tài),存儲兩個循環(huán),而010H—01FH空間為雙四拍狀態(tài),存
55、儲四個循環(huán)。</p><p> LS191第五個腳為加、減速輸入控制端,用該控制端作為方向輸入的控制信號,當(dāng)?shù)碗娖綍r執(zhí)行加法計數(shù),既是正轉(zhuǎn)狀態(tài);當(dāng)為高電平時,執(zhí)行減法計數(shù),既是反轉(zhuǎn)狀態(tài)。LS191的數(shù)據(jù)輸入端A、B、C、D各管腳接地,而腳11是置數(shù)端。當(dāng)為高電平時,LS191為計數(shù)狀態(tài);當(dāng)為低電平時,LS191停止計數(shù),而把數(shù)據(jù)端內(nèi)容裝入計數(shù)器。因此,管腳11通過電阻10Ω拉到高電平,引出線作為清零端(復(fù)位),
56、當(dāng)輸入一個低電平時,LS191輸出為零,可選通EPROM2716的地址0000H或0010H,EPROM2716輸出狀態(tài)為A(四相八拍時)或(雙四拍時)。</p><p> EPROM2716的管腳0E和CE分別為輸出容許和片選端,接地使之處于選通狀態(tài),地址A4作為方式控制端,當(dāng)A4=0時,選通0000H—000FH空間,為四相八拍狀態(tài);當(dāng)A4=1時,選通010H—01FH空間,為雙四拍狀態(tài)。</p>
57、;<p> 在需要零狀態(tài)時,可將零狀態(tài)內(nèi)容的第四位存儲。例如,四相八拍時零狀態(tài)存儲內(nèi)容為FEH(A),改為存儲EEH。這樣,在環(huán)形運行過程中,每出現(xiàn)一個零狀態(tài),D4線上出現(xiàn)一次低電平。該數(shù)據(jù)輸出端既可作為零狀態(tài)輸出線。</p><p> 4.1.2 系統(tǒng)模塊之二—四相步進(jìn)電動機驅(qū)動及保護(hù)電路</p><p> 步進(jìn)電動機驅(qū)動方式有很多種,如雙電壓驅(qū)動,斬波驅(qū)動等。&l
58、t;/p><p> 步進(jìn)電動機的保護(hù)電路有過電流保護(hù)和短路保護(hù),低電壓保護(hù)和過電壓保護(hù);過熱保護(hù);輸入信號異常保護(hù)等。</p><p> 由控制系統(tǒng)原理圖看出,本設(shè)計采用了單電壓驅(qū)動方式,過電流保護(hù)和短路保護(hù)。</p><p> 4.1.3 系統(tǒng)模塊之三—人機接口電路</p><p> 因系統(tǒng)功能的需要,I/O口用8155可編程接口芯片
59、進(jìn)行了擴展。關(guān)于8155并行口的擴展與編程方法,及8155并行口的鍵盤掃描及LED動態(tài)顯示程序的編程,將在后面一一闡述。</p><p> 現(xiàn)只將8155的一些控制字描述如下:</p><p> 8155控制字口:4000H</p><p> 8155 A口(字形):4001H</p><p> 8155 B口(字位):4002H&l
60、t;/p><p> 8155 C口(鍵入口):4003H</p><p> 8155控制寄存器狀態(tài)為01000011,即控制字為43H[9]。</p><p> 4.1.4 系統(tǒng)模塊之四—中斷系統(tǒng)及復(fù)位電路</p><p><b> 一、中斷系統(tǒng)</b></p><p> 鑒于中斷的分時操
61、作、實時處理等優(yōu)點,并根據(jù)系統(tǒng)要求,步進(jìn)電動機需要在運行過程中急停車,或者實現(xiàn)數(shù)控機床中自動的進(jìn)給運動,為此在程序執(zhí)行中引入了兩個中斷。</p><p> 兩個中斷分別為外部中斷0和外部中斷1。因外部中斷0和外部中斷,被設(shè)置為電平觸發(fā)方式,故在系統(tǒng)原理圖中,將INT0和INT1兩個端口接到邏輯電平開關(guān)電路上。當(dāng)開關(guān)置0(1)時,系統(tǒng)響應(yīng)中斷。</p><p><b> 復(fù)位電
62、路</b></p><p> 單片機在接通電源啟動或出現(xiàn)故障后,程序需要從頭開始,機器內(nèi)全部寄存器、I/O口等都必須重新復(fù)位,所以外接復(fù)位電路。</p><p> 當(dāng)8051的ALE及PSEN兩引腳輸出高電平,RST引腳為高電平時,單片機復(fù)位。RST/VPD端的高電平直接由上電瞬間產(chǎn)生為上電復(fù)位,通過按動按鈕產(chǎn)生高電平復(fù)位為手動復(fù)位。從系統(tǒng)原理圖中看出,上電時,剛接通電源,
63、電容相當(dāng)于瞬間短路,+5 V立即加到RST/VPD端,該高電平使8051全機自動復(fù)位,即上電復(fù)位;若運行過程中需要程序從頭執(zhí)行,只需按動按鈕A即可。按下A,則直接把+5 V加到RST/PVD端,即手動復(fù)位。</p><p> 4.1.5 系統(tǒng)模塊之五—各檔直流電源</p><p> 因步進(jìn)電動機的驅(qū)動電壓為直流+220 V,而單片機電壓為直流+5 V,又因系統(tǒng)控制步進(jìn)電動機功率不是很
64、大,故采用單相橋式整流、電容濾波電路?,F(xiàn)根據(jù)系統(tǒng)具體要求,計算、選擇整流二極管及濾波電容器[10]。</p><p> 交流電網(wǎng)電壓為220 V,交流電源頻率f=50 HZ。步進(jìn)電動機要求直流電壓220 V,負(fù)載(線圈)電流為2.6 A;單片機要求直流5 V。</p><p> 1.由于變壓器副邊電壓大約高出10%,所以U2有效值為:</p><p> U2=
65、220/1.1=200 V 公式(4-1)</p><p> 由于變壓器副邊電壓經(jīng)電容濾波時的直流電壓為U3=U/1.2,所以U3有效值為:</p><p> U3=5/1.2=4.6 V 公式(4-2)</p><
66、p><b> 2.選擇整流二極管</b></p><p> 流經(jīng)二極管的平均電流為:</p><p> IDI=1/2*I1=0.5*2.6=1.3 A 公式(4-3)</p><p> 二極管承受的最大反向電壓為:</p><p> URMI=1
67、.414*U2=256 V 公式(4-4)</p><p> URMI=1.414*U3=5.6 V 公式(4-5)</p><p> 因此選用2CZ56B整流二極管</p><p><b> 3.選擇濾波電容<
68、;/b></p><p> 線圈電阻為RL=UL/IL=220/2.6=8406 Ω,RLC>=(3—5)T/2,T=1/f=0.02 S,所以取</p><p> RLC=4*T/2=2T=0.04 S 公式(4-6)</p><p> 得濾波電容為C=0.04/84.6=472.
69、8 μf 公式(4-7)</p><p> 則電容器承受的最高電壓為UCM=1.4*200*1.1=308 V 公式(4-8)</p><p> 選用標(biāo)稱值為400V/560 μF的電解電容器</p><p> 同理,選用160V /10000 μF的電解電容器</p><p><
70、;b> 4.2 單片機原理</b></p><p> 4.2.1 MCS—51單片機</p><p> 因為單片機控制系統(tǒng)基于MCS—51系列的8051單片機,故就不詳盡介紹。</p><p> MCS—51系列單片機的主要特性如下:</p><p> 8位字長CPU和指令系統(tǒng)</p><p&
71、gt; 一個片內(nèi)時鐘振蕩器和時鐘電路</p><p> 4 Kbytes 程序存儲器(ROM)</p><p> 128 bytes的數(shù)據(jù)存儲器(RAM)</p><p> 32條雙向且分別可尋址的I/O口線</p><p> 111條指令,大部分為單字節(jié)指令</p><p><b> 21個專用
72、寄存器</b></p><p> 2個16位可編程定時/計數(shù)器</p><p> 5個中斷源,2個優(yōu)先級</p><p> 一個全雙工串行通信口</p><p> 外部數(shù)據(jù)存儲器尋址空間為64 KB</p><p> 外部程序存儲器尋址空間為64 KB</p><p>&l
73、t;b> 邏輯操作位尋址功能</b></p><p><b> 布爾處理器</b></p><p> MCS—51系列不同類型的單片機除上述主要特性外,還有不同的附加特性。</p><p> 4.2.2 MCS—51單片機引腳功能</p><p> 圖4-1為采用雙列直插式封裝的MCS—51
74、系列單片機的引腳圖。</p><p> 各引腳功能說明如下:</p><p><b> 1.Vss和Vcc</b></p><p> Vcc(40)接+5V;Vss(20)接地。</p><p> 2.外接晶體XTAL1和XTAL2</p><p> XTAL1(19)—片內(nèi)反相放大器的
75、輸入端,這個放大器構(gòu)成了片內(nèi)振蕩器,當(dāng)采用外部振蕩器時接低電平。</p><p> XTAL2(18)—片內(nèi)反相放大器的輸出和內(nèi)部時鐘發(fā)生器的輸入端。在采用外部振蕩器時用于輸入外部振蕩器信號。</p><p><b> 3.控制線</b></p><p> ?。?)RST/Vpd(9)—當(dāng)作為RST使用時,為復(fù)位輸入端。在振蕩器工作時,此引
76、腳上出現(xiàn)兩個機器周期的高電平使單片機復(fù)位。在RST與VCC引腳之間連接一個約10 μF的電容,RST與VSS引腳之間連接一個約8.2 K的電阻,以保證可靠的上電復(fù)位功能。做為Vpd功能使用時,當(dāng)VCC處于掉電情況下,此引腳可接上備用電源,只為片內(nèi)RAM供電,保持信息不丟失。</p><p> ?。?)EA/Vpp(31)—如使用片內(nèi)有ROM/PROM的8051/8751,EA端必須接高電平,當(dāng)PC值小于0FFFH
77、,CPU訪問內(nèi)部程序存儲器;當(dāng)PC值大于0FFFH且內(nèi)部的程序。若使用片內(nèi)無ROM/EPROM的8031時,EA必須接地,CPU全部訪問外部程序存儲器。對片內(nèi)EPROM編程時,此引腳接入21V編程電壓。</p><p> ?。?)ALE/PROG(30)—當(dāng)訪問外部存儲器時,ALE(地址鎖存器允許)輸出用來鎖存P0口輸出的低8位地址。即使不訪問外部存儲器,ALE端仍以振蕩器頻率的1/6固定速率輸出正脈沖信號,此時
78、可用它作為對外輸出的時鐘或定時脈沖。但要注意,每當(dāng)訪問外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖,以1/6(晶振頻率為6M)的振蕩頻率輸出。對片內(nèi)EPROM編程時,該引腳(PROG)用于輸入編程脈沖。ALE端能驅(qū)動(吸收或輸出電流)8個LSTTL負(fù)載。</p><p> 圖4-1 MCS—51單片機引腳圖</p><p> ?。?)PSEN(29)—外部程序存儲器讀選通控制信號,以區(qū)別讀取外
79、部數(shù)據(jù)存儲器。在選取外部程序存儲器指令(或常數(shù))時,每個機器周期產(chǎn)生兩次PSEN有效信號。但在此期間內(nèi),當(dāng)訪問外部數(shù)據(jù)存儲器時,這兩次PSEN有效信號將不出現(xiàn)。PSEN同樣能驅(qū)動8個LSTTL負(fù)載。</p><p><b> 4.輸入/輸出口</b></p><p> ?。?)P0口(32—39)—8位漏極開路雙向I/O口。在外接存儲器時,P0口作為低8位地址/數(shù)據(jù)
80、總線復(fù)用口,通過分時操作,先傳送低8位地址,利用ALE信號的下降沿使地址鎖存,然后作為8位雙向數(shù)據(jù)總線使用,用來傳送8位數(shù)據(jù)。在對片內(nèi)EPROM編程時,P0口接受指令代碼;而在內(nèi)部程序驗證時,輸出指令代碼,并要求外接上拉電阻。P0口能以吸收電流的方式驅(qū)動9個LSTTL負(fù)載。</p><p> ?。?)P1口(1—8)—8位具有內(nèi)部上拉電阻的準(zhǔn)雙向I/O口。在片內(nèi)EPROM編程及校驗時,他接受低8位地址。P1口能驅(qū)
81、動3個LSTTL負(fù)載。</p><p> ?。?)P2口(21—28)—8位具有內(nèi)部上拉電阻的準(zhǔn)雙向I/O口。在外接存儲器時,P2口做為高8位地址總線。在對片內(nèi)EPROM編程、校驗時,它接受高位地址。P2口能驅(qū)動3個LSTTL負(fù)載。</p><p> ?。?)P3口(10—17)—8位帶有內(nèi)部上拉電阻的準(zhǔn)雙向I/O口。每一位又具有特殊功能(或稱第二變異功能):</p><
82、;p><b> 一個8位CPU;</b></p><p> ◆ 一個片內(nèi)振蕩器及時鐘電路;</p><p> ◆ 4K字節(jié)ROM程序存儲器;</p><p> ◆ 128字節(jié)RAM數(shù)據(jù)存儲器;</p><p> ◆ 兩個16位定時器/計數(shù)器;</p><p> ◆ 可尋址64K外
83、部數(shù)據(jù)存儲器和64K外部程序存儲器空間的控制電路;</p><p> ◆ 32條可編程的I/O線(四個8位并行I/O端口);</p><p> ◆ 一個可編程全雙工串行口;</p><p> ◆ 具有五個中斷源、兩個優(yōu)先級嵌套中斷結(jié)構(gòu);</p><p> 4.2.3 時鐘電路與時序</p><p> MCS—
84、51單片機內(nèi)部有一個用于構(gòu)成振蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是反相放大器的輸入端和輸出端,由這個放大器與作為反饋元件的片外晶振或陶瓷諧振器一起構(gòu)成了一個自激振蕩器。計算機在執(zhí)行指令時,一條指令經(jīng)譯碼后產(chǎn)生若干個基本的微操作,這些微操作所對應(yīng)的脈沖信號在時間上的先后次序稱為計算機的時序。下面闡述有關(guān)CPU時序的概念。</p><p><b> 1.振蕩周期</b>&l
85、t;/p><p> 指為單片機提供定時信號的振蕩源的周期,若為內(nèi)部產(chǎn)生方式時,為石英晶體的振蕩周期。</p><p><b> 2.時鐘周期</b></p><p> 也稱為狀態(tài)周期,用S表示。時鐘周期是計算機中最基本的時間單位,在一個時鐘周期內(nèi),CPU完成一個最基本的動作。MCS—51單片機中一個時鐘周期為振蕩周期的2倍。</p>
86、;<p><b> 3.機器周期</b></p><p> 為便于管理,常把一個指令的執(zhí)行過程劃分為若干個階段,每一個階段完成一個基本操作,例如,取指令、存儲器讀/寫等。完成一個基本操作所需要的時間稱為機器周期。MCS—51的一個機器周期含有6個時鐘周期。</p><p><b> 20pf</b></p>&
87、lt;p><b> 6MHZ20pf</b></p><p><b> 圖4-2 時鐘電路</b></p><p> 指令周期:完成一條指令所需要的時間。MCS—51的指令周期含1—4個機器周期不等,其中多數(shù)為單周期指令,還有2周期和4周期指令。4周期指令只有乘、除兩條指令。</p><p> 4.2.4
88、并行輸入/輸出端口結(jié)構(gòu)</p><p> MCS—51單片機內(nèi)有四個8位并行I/O端口,分別記作P0、P1、P2和P3。每個端口都是8位準(zhǔn)雙向口,共占有32根引腳。</p><p> 每個端口都包含一個鎖存器、一個輸出驅(qū)動器和一個輸入緩沖器。在無片外擴展存儲器的系統(tǒng)中,這四個端口的每一位都可以作為準(zhǔn)雙向通用I/O端口使用。在具有片外擴展的系統(tǒng)中,P2口作為高8位地址線,P0口雙向總線,
89、分別送出低8位地址和數(shù)據(jù)的輸入/輸出。</p><p><b> ?。?)P0口</b></p><p> I/O口的每位鎖存器均由D觸發(fā)器組成,用來鎖存輸入/輸出的信息。在CPU的“寫鎖存器”信號驅(qū)動下,將內(nèi)部總線上的數(shù)據(jù)寫入鎖存器中。</p><p> 兩個三態(tài)緩沖器,一個用來“讀引腳”信息,即將I/O端引腳上的信息讀內(nèi)部總線,送CPU
90、處理;另一個用來讀鎖存器,即把鎖存器內(nèi)容讀入內(nèi)部總線上,送CPU處理。因此,對某些I/O指令可讀取鎖存器的內(nèi)容,而另外一些指令則是讀取引腳上的信息。</p><p> 當(dāng)輸入數(shù)據(jù)時,由于外部輸入信號既加在緩沖輸入端上,又加在驅(qū)動電路的漏極上,如果這時下面的FET是導(dǎo)通的,則引腳上的電位始終被鉗位在0電平上,輸入數(shù)據(jù)不可能正確的讀入。因此,在輸入數(shù)據(jù)時,應(yīng)先把P0口置1,使兩個輸出FET均關(guān)斷,使引腳置“1”,成
91、為高阻狀態(tài),這樣才能正確的插入數(shù)據(jù)。這就是所謂的準(zhǔn)雙向口。</p><p> 在有外部擴展存儲器時,P0口必須作地址/數(shù)據(jù)總線用,這時就不能在把它作為通用的I/O口使用了。</p><p> ?。?)P1口也是一個八位準(zhǔn)雙向并行I/O口,做通用I/O口使用。</p><p> 在電路結(jié)構(gòu)上,P1口的輸出驅(qū)動部分與P0口不同,內(nèi)部有上拉負(fù)載電阻與電源相連,與場效應(yīng)
92、管FET共同組成輸出驅(qū)動電路。</p><p> 當(dāng)進(jìn)行寫操作時,寫鎖存器脈沖將內(nèi)部總線送入D端的信息寫入鎖存器,再由Q端去驅(qū)動FET。</p><p> 當(dāng)P1口用作輸入口時,也應(yīng)先用軟件使輸出鎖存器置1,使FET截止,處于高阻狀態(tài),然后再通過緩沖器進(jìn)行輸入操作。</p><p><b> ?。?)P2口</b></p>&
93、lt;p> P2口在結(jié)構(gòu)上比P1口多了一個輸出轉(zhuǎn)換控制部分,多路開關(guān)MUX由CPU命令控制。同P1口一樣,P2口內(nèi)部也接有固定的上拉電阻。</p><p> P2口既可作為通用I/O口使用,有可作為地址總線口,傳送地址高8位。當(dāng)P2口用來作通用I/O口時,是一個準(zhǔn)雙向口。</p><p> 在外接程序存儲器的系統(tǒng)中,由于訪問外部程序存儲器的操作連續(xù)不斷,P2口將不斷輸出高八位地
94、址,故這時P2口不再作通用I/O口使用。</p><p> 在無外部程序存儲器而擴展有外部數(shù)據(jù)存儲器的系統(tǒng)中,P2口的使用情況有所不同,若外接RAM容量為256B,則可用MOVX @Ri類指令由P0口送出8位地址,這時P2口仍可作通用I/O口使用。若外部RAM容量較大(超過256B),則使用MOVX @DPTR類指令訪問外部RAM。在讀/寫周期內(nèi),P2口引腳將保持高8位地址信息。輸出地址時,通過CPU控制內(nèi)
95、部轉(zhuǎn)換開關(guān)轉(zhuǎn)向地址輸出,故輸出鎖存器的內(nèi)容不會在輸出地址過程中改變,所以訪問外部數(shù)據(jù)存儲器周期結(jié)束后,多路開關(guān)自動切換到鎖存器Q端,P2口輸出鎖存器的內(nèi)容又回重新出現(xiàn)在引腳上。因此,根據(jù)訪問外部RAM的頻繁程度,P2口仍可利用其中訪問間隙作通用I/O口用。在外部RAM容量不太大時,通過采用軟件方法,將所需的高位地址,例如只需要A8—A10三位,先由P2.0—P2.2三位輸出,再用指令MOVX PV @Ri訪問外部RAM。而P2口余下的
96、幾位仍可作通用I/O使用。</p><p><b> (4)P3口</b></p><p> P3口是一個多功能端口</p><p> 當(dāng)P3口作為通用I/O口使用時,第二輸出端應(yīng)保持高電平。</p><p> 當(dāng)P3口作為第二輸出功能使用時,應(yīng)先將輸出鎖存器置“1”,不論作為輸入口使用還是第二功能信號插入,鎖存
97、器輸出和第二功能端都應(yīng)保持高電平。如表4.4</p><p> ?。?)I/O口讀—修改—寫操作</p><p> 從上可見,每個I/O口均有兩種讀入方法:讀鎖存器和讀引腳,并有相應(yīng)的指令。讀鎖存器指令是從鎖存器中讀取數(shù)據(jù),送CPU處理,再把處理后的數(shù)據(jù)重新寫入鎖存器中,這類指令稱為讀—修改—寫指令。在讀—修改—寫指令中,目的操作數(shù)必須是一個I/O口或I/O口的某一位。例如:INC P2
98、,CLR P1.0及ANL P1,A等。讀引腳指令一般都是一I/O端口為源操作數(shù)的指令,執(zhí)行讀引腳指令時,輸入口狀態(tài)。例如,讀P1口引腳指令為MOV A,P1。</p><p> 表4-1P3口第二功能</p><p> 對“讀—修改—寫”指令,直接讀鎖存器Q端而不是讀引腳的原因是為了避免錯讀引腳上電平的可能性。例如,若用一口位去驅(qū)動一個晶體管的基極,當(dāng)向此口位寫“1”時,晶體管導(dǎo)通
99、,并把引腳的電平拉低,這時若從引腳上讀取數(shù)據(jù),則讀的是晶體管的基極電平,與地址鎖存器的狀態(tài)1不一樣。而鎖存器Q端讀取,就能避免這樣的錯誤,得到正確的數(shù)據(jù),</p><p> (6)I/O口的負(fù)載能力</p><p> P0口的每位輸出可驅(qū)動8個LSTTL輸入,但把它作為通用I/O口使用時,輸出級是開漏電路,故用它驅(qū)動CMOS輸入時需外接上拉電阻;而把它作地址/數(shù)據(jù)總線用時,則無需外接上
100、拉電阻。</p><p> P1—P3口的輸出級均接有內(nèi)部上拉電阻,它們的每一位輸出可驅(qū)動3個LSTTL輸入。對CMOS型單片機,當(dāng)N和P3口作輸入方式時,任何TTL或NM05電路都能以正常的方式去驅(qū)動這些口。</p><p> 4.3 單片機的片外總線結(jié)構(gòu)</p><p> 4.3.1 單片機的片外總線結(jié)構(gòu)</p><p> 單片
101、機是通過其片外引腳進(jìn)行系統(tǒng)擴展的,即在片外連接相應(yīng)的外圍芯片以滿足應(yīng)用系統(tǒng)的要求,總線是連接系統(tǒng)中各擴展部件的一組公共信號線。單片機的片外引腳也呈三總線結(jié)構(gòu),這三總線是地址總線(AB),數(shù)據(jù)總線(DB)和控制總線(CB),所有的外部芯片都是通過這三組總線進(jìn)行擴展的。</p><p> 1.地址總線(AB)</p><p> 地址總線(Address Bus)用于傳送單片機發(fā)出的地址信號
102、,以便進(jìn)行存儲單元和I/O端口的選擇。地址總線是單向的,只能由單片機向外發(fā)出。地址總線的目的決定了可直接訪問的存儲單元的數(shù)據(jù)。</p><p> MCS—51單片機的地址總線由P0口構(gòu)成低8位(A7—A0),P2口的高8位(A8—A15),地址總線寬度為16位,故可尋址范圍為64KB。</p><p> 由于P0口用作數(shù)據(jù)總線口,只能分時用作地址總線,故P0口的低8位地址信息必須用鎖存
103、器鎖存。先傳送低8位地址,利用ALE信號的下降沿將地址鎖存,然后作為8位雙數(shù)據(jù)總線使用。P2口本身具有輸出鎖存功能,故不需外加鎖存器。P0、P2口在系統(tǒng)擴展中用作地址線后,就不能再作為一般I/O。</p><p> 2.數(shù)據(jù)總線(DB)</p><p> 數(shù)據(jù)總線(DATA BMS)用于單片機與存儲器之間或單片機與I/O端口之間傳送數(shù)據(jù),單片機系統(tǒng)數(shù)據(jù)總線的位數(shù)與其處理數(shù)據(jù)的字長一致,
104、數(shù)據(jù)總線總是雙向的。</p><p> MCS—51單片機的數(shù)據(jù)總線由P0口提供,寬度為8位,該口為三態(tài)雙向口,通過數(shù)據(jù)總線實現(xiàn)CPU與存儲器或外設(shè)之間的信息交換。數(shù)據(jù)總線一般要連多個外圍芯片上,那個芯片的數(shù)據(jù)通道則由地址控制各個芯片的片選線來選擇。</p><p> 3.控制總線(CB)</p><p> 控制總線(Control bms)是一級控制信號線,
105、包括單片機發(fā)出的,以及從其他部件送給單片機的。對于一條控制信號而言,其傳送方向是單向的。單片機的控制總線按功能可分為片外系統(tǒng)擴展用控制線和片外信號對單片機的控制線。系統(tǒng)擴展用控制線有WR、RD、PSEN、ALE、EA。</p><p> PSEN:訪問外部程序存儲器RAM時,用這兩個信號進(jìn)行讀/寫控制,當(dāng)執(zhí)行片外數(shù)據(jù)存儲器的操作指令MOVX @DPTR或MOVX @Ri時,這兩個控制信號自動生成[13]。&
106、lt;/p><p> ALE:地址鎖存允許,用于鎖存P0口場出的低8位地址控制線。在ALE的下降沿將P0口輸出的地址字節(jié)裝入外部鎖存器。</p><p> EA:用來選擇片內(nèi)或片外程序存儲器。</p><p> EA=0時,不論片內(nèi)有無程序存儲器,只訪問外部程序存儲器。EA=1時,地址不超過0FFFH,只訪問片內(nèi)ROM/EPROM,然后是訪問外部程序存儲器的100
107、0H—FFFFH單元,對片內(nèi)無ROM無EPROM單片機,擴展時EA必須接低電平。</p><p> 4.4 系統(tǒng)外設(shè)接口</p><p> 4.4.1 鍵盤接口原理</p><p> 對于需要人工干預(yù)的單片機應(yīng)用系統(tǒng),鍵盤就成為人機聯(lián)系的必要手段,此時需配置適當(dāng)?shù)逆I盤輸入設(shè)備,微機所用鍵盤有全編碼鍵盤和非編碼鍵盤兩種,全編碼鍵盤能夠由硬件邏輯自動提供被按下鍵
108、的編碼,此外,一般還具有去抖動和多鍵、竄鍵等保護(hù)功能。這種鍵盤使用方便,但需較多的硬件、價格貴,一般的單片機應(yīng)用系統(tǒng)較少采用。</p><p> 鍵盤是由若干個鍵組成的開關(guān)矩陣,它是最簡單的單片微機輔助設(shè)備。4×4的鍵盤結(jié)構(gòu)如圖所示,圖中行線通過電阻接+5V,當(dāng)鍵盤沒有鍵閉合時,所有的行線(X0—X3)和列線(Y0—Y3)斷開,行線均呈高電平。當(dāng)鍵盤上某一鍵閉合時,該鍵所對應(yīng)的行線和列線短路。例如9號
109、鍵按下時,行線X2和Y1短路,此時行線X2的電平由Y1決定。如果把行線接到微機的輸入口,列線接到微機輸出口。在微機控制下,先使列線Y0為低電平,其余三根Y1、Y2、Y3均為高電平。然后通過輸入口讀行線狀態(tài),如果4根行線均為高電平,說明在Y0這一列上沒有鍵閉合,如果讀出的行線狀態(tài)不全為高電平,則說明為低電平的那根行線與Y0相交的鍵處于閉合狀態(tài)。</p><p> 若Y0這列上沒有鍵閉合,接著使列線Y1為低電平,其
110、余三根列線Y0、Y2、Y3為高電平。用同樣的反復(fù)檢查這一列鍵上無鍵閉合。</p><p> 以次類推,用同樣方法檢查其余的兩根列線上有無鍵閉合。這種逐行逐列地檢查鍵盤狀態(tài)的過程稱為對鍵盤的一次掃描。</p><p> 目前,無論是按鍵或鍵盤大部分都是利用機械觸點的合、斷作用。機械觸點在閉合及斷開瞬間由于彈性影響,在閉合及斷開瞬間均有抖動過程,從而使電壓信號也出現(xiàn)抖動,抖動時間的長短與開
111、關(guān)的機械特性有關(guān),一般為5—10 ms。而微機對鍵盤進(jìn)行一次掃描僅需幾百微秒。這樣將會使鍵盤掃描產(chǎn)生錯誤的判斷。為了保證CPU對鍵盤的一次閉合僅作一次輸入處理,必須去除抖動影響。</p><p> 通常去抖動影響有兩種方法,一是在硬件上采取在鍵盤端加Rs觸發(fā)器或單穩(wěn)態(tài)電路構(gòu)成去抖動電路;另一種方法是在檢測到有鍵按下時,執(zhí)行10 ms左右的延時程序后,再確認(rèn)該鍵電平是否仍保持閉合狀態(tài)時的電平,若仍保持為閉合狀態(tài)電
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 51單片機步進(jìn)電機系統(tǒng)畢業(yè)論文
- 畢業(yè)論文----單片機的步進(jìn)電機控制系統(tǒng)
- 51單片機畢業(yè)論文--基于mcs-51單片機的步進(jìn)電機系統(tǒng)
- 單片機步進(jìn)電機驅(qū)動控制系統(tǒng)【畢業(yè)論文】
- 51單片機溫度測量與控制系統(tǒng)畢業(yè)論文
- 畢業(yè)論文——mcs-51單片機溫度控制系統(tǒng)
- 基于單片機的步進(jìn)電機控制系統(tǒng)設(shè)計畢業(yè)論文
- 基于51單片機的步進(jìn)電機控制系統(tǒng)設(shè)計
- 單片機實現(xiàn)的步進(jìn)電機控制系統(tǒng)
- 基于51單片機的溫度控制系統(tǒng)設(shè)計畢業(yè)論文
- 畢業(yè)論文-基于單片機的步進(jìn)電機控制系統(tǒng)設(shè)計
- 基于單片機at89c51系統(tǒng)的步進(jìn)電機控制畢業(yè)論文
- 基于單片機的步進(jìn)電機控制系統(tǒng)的設(shè)計【畢業(yè)論文】
- 畢業(yè)論文--利用單片機at89c51控制步進(jìn)電機
- 畢業(yè)論文-單片機溫度控制系統(tǒng)
- 畢業(yè)論文-單片機溫度控制系統(tǒng)
- 單片機實現(xiàn)的步進(jìn)電機控制系統(tǒng)設(shè)計【1張cad圖紙+畢業(yè)論文】
- 單片機實現(xiàn)的步進(jìn)電機控制系統(tǒng)設(shè)計【1張cad圖紙+畢業(yè)論文】
- 畢業(yè)設(shè)計(論文)基于mcs51單片機步進(jìn)電機的控制系統(tǒng)設(shè)計與實現(xiàn)
- 單片機溫度控制系統(tǒng)畢業(yè)論文
評論
0/150
提交評論