基于單片機(jī)控制往返電動(dòng)小車系統(tǒng)設(shè)計(jì)_第1頁(yè)
基于單片機(jī)控制往返電動(dòng)小車系統(tǒng)設(shè)計(jì)_第2頁(yè)
基于單片機(jī)控制往返電動(dòng)小車系統(tǒng)設(shè)計(jì)_第3頁(yè)
基于單片機(jī)控制往返電動(dòng)小車系統(tǒng)設(shè)計(jì)_第4頁(yè)
基于單片機(jī)控制往返電動(dòng)小車系統(tǒng)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩43頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 目 錄摘要Abstract第一章 系統(tǒng)的總體設(shè)計(jì) 1.1 系統(tǒng)總體設(shè)計(jì)的要求與任務(wù)1 1.2方案的設(shè)計(jì)與論證 2 1.3單片機(jī)控制總體設(shè)計(jì)思路與原理 3 1.4單片機(jī)控制的設(shè)計(jì)工作情況 8第二章 檢測(cè)電路設(shè)計(jì) 2.1路面檢測(cè)電路設(shè)計(jì)10 2.2地面檢測(cè)電路的設(shè)計(jì)原理11 2.3 ST178器件簡(jiǎn)介112.3.1 ST178的特點(diǎn) 11 2.3.2 ST178的極限參數(shù) 11 2.3.3 ST178的光電特性 122.3.4 ST178工作原理與應(yīng)用 13第三章 8051單片機(jī)的性能介紹3.1 MCS-51單片微機(jī)8051內(nèi)部部件和接口電路 153.2 8051的引腳說(shuō)明173.3振蕩器特性和

2、時(shí)鐘電路 183.4芯片擦除特性和復(fù)位電路 18 3.4.1芯片擦除特性18 3.4.2上復(fù)位電路設(shè)計(jì)183.5 MCS-51的中斷優(yōu)先級(jí)20第四章 8255芯片的功能概要 4.1 8255的外部引線與內(nèi)部結(jié)構(gòu)22 4.2 8255A的基本特性和工作方式選擇 23 4.2.1 8255A并行輸入輸出接口芯片的基本特性 23 4.2.2 8255A的編程命令24 4.2.3 8255A的方式0與連接方式254.2.4 8255A的方式1與連接方式254.2.5 8255A的方式2與連接方式27第五章 驅(qū)動(dòng)電路設(shè)計(jì) 5.1電機(jī)驅(qū)動(dòng)電路的設(shè)計(jì) 29 5.1.1電機(jī)驅(qū)動(dòng)電路的設(shè)計(jì)電路及原理29 5.1

3、.2 PWM-M控制電路的基本構(gòu)成及工作原理295.2轉(zhuǎn)向驅(qū)動(dòng)電路的設(shè)計(jì)電路及原理 30第六章 鍵盤和顯示電路的設(shè)計(jì) 6.1鍵盤的簡(jiǎn)介與鍵盤的消抖方法 31 6.1.1鍵盤的簡(jiǎn)介 31 6.1.2鍵盤的消抖方法 31 6.2鍵盤的工作原理326.3鍵盤的工作方式326.4顯示器的結(jié)構(gòu)和動(dòng)態(tài)顯示原理326.5鍵盤和顯示器的應(yīng)用33第七章 系統(tǒng)的軟件設(shè)計(jì) 7.1系統(tǒng)軟件設(shè)計(jì)的總思路34 7.2系統(tǒng)程序設(shè)計(jì)35 7.2.1 8255的程序初始化35 7.2.2對(duì)端口C的置位復(fù)位35 7.3鍵盤和顯示器的程序設(shè)計(jì)36 7.4鍵盤掃描子程序37結(jié)論41致謝語(yǔ) 42主要的參考文獻(xiàn) 43摘 要本系統(tǒng)以單片機(jī)

4、為核心對(duì)電動(dòng)車進(jìn)行智能化控制,即CPU通過對(duì)障礙與標(biāo)志進(jìn)行檢測(cè)分析自動(dòng)完成小車的前進(jìn)、后退、轉(zhuǎn)向控制;利用數(shù)控網(wǎng)絡(luò)實(shí)現(xiàn)數(shù)字量直接控制多級(jí)速度變化以滿足各段跑道內(nèi)不同的速度要求。行駛時(shí)間和行駛距離均為液晶自動(dòng)顯示。并且每次轉(zhuǎn)向、倒車、停車時(shí)均由發(fā)光二極管顯示其狀態(tài),倒車時(shí)伴有峰音。由于電動(dòng)小汽車純硬件控制具備很多的缺點(diǎn),并且不宜實(shí)現(xiàn)復(fù)雜運(yùn)動(dòng)的自動(dòng)控制功能(不能用人工控制),而單片機(jī)具有體積小,重量輕,耗電少,功能強(qiáng),控制靈活方便,價(jià)格低廉等優(yōu)點(diǎn)。本設(shè)計(jì)就是以單片機(jī)8051芯片為核心,附以外圍電路,采用光點(diǎn)檢測(cè)器進(jìn)行檢測(cè)信號(hào)和障礙物;運(yùn)用單片機(jī)的運(yùn)算和處理能力來(lái)實(shí)現(xiàn)小汽車的自動(dòng)加速、限速、減速、定

5、時(shí)、語(yǔ)音、前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)、顯示路程、顯示行駛速度、行駛時(shí)間等智能控制系統(tǒng)。關(guān)鍵詞:自動(dòng)往返電動(dòng)小汽車;光電檢測(cè)器AbstractSingle Chip Computer at the core of the system to electric vehicles for intelligent control of the CPU through barriers and signs for automatic detection analysis trolleys completed advance, retreat, to control; Use digital networks

6、 to achieve direct control over the number of changes to meet the level of the runway at different speed. Travelling time and travelling distances are liquid crystal automatically show. And each one, reverse, stopping by luminous diode show their status, reverse, accompanied by warning tone. Because

7、 pure electric cars have many hardware control weaknesses, and not achieve the automatic control functions of complex movements (not used artificial control), while single chip computer a size small, lightweight, low consumption, the functional strong, flexible control convenience and low prices, an

8、d other advantages. The design is to single chip computer 8051 chip at the core, attached to the external circuit, the use of optical signals point detectors for the detection and obstacles; Single Chip Computer use of arithmetic calculations and processing capacity to accelerate the realization of

9、automatic cars, speed, deceleration, timing, voice, advance, retreat, turn left, turn right, shows distance and speed shows, travelling time wisdom control systems.Keywords: automatically back and forth car; photoconductor measuring第一章 系統(tǒng)總體設(shè)計(jì)1.1總體設(shè)計(jì)任務(wù)和要求(一)任務(wù)設(shè)計(jì)并制作一個(gè)能自動(dòng)往返于起跑線與終點(diǎn)線間的小汽車。允許用玩具汽車改裝,但不能用人

10、工遙控(包括有線和無(wú)線遙控)。跑道寬度0.5m,表面貼有白紙,兩側(cè)有擋板,擋板與地面垂直,其高度低于20cm。在跑道的B、C、D、E、F、G各點(diǎn)處畫有2cm寬的黑線,各段的長(zhǎng)度如圖1所示。 (二)要求1基本要求(1)車輛從起跑線出發(fā)(出發(fā)前,車體不得超出起跑線),到達(dá)終點(diǎn)線后停留10秒,然后自動(dòng)返回起跑線(允許倒車返回)。往返一次的時(shí)間應(yīng)力求最短(從合上汽車電源開關(guān)開始計(jì)時(shí))。(2)到達(dá)終點(diǎn)線和返回起跑線時(shí),停車位置離起跑線和終點(diǎn)線偏差應(yīng)最?。ㄒ攒囕v中心點(diǎn)與終點(diǎn)線或起跑線中心線之間距離作為偏差的測(cè)量值)。(3)DE間為限速區(qū),車輛往返均要求以低速通過,通過時(shí)間不得少于8秒,但不允許在限速區(qū)內(nèi)停

11、車。2發(fā)揮部分(1)自動(dòng)記錄、顯示一次往返時(shí)間(記錄顯示裝置要求安裝在車上)。(2)自動(dòng)記錄、顯示行駛距離(記錄顯示裝置要求安裝在車上)。(3)其它特色與創(chuàng)新。1.2方案的設(shè)計(jì)與論證本系統(tǒng)為典型的實(shí)時(shí)控制系統(tǒng),易用單片機(jī)控制實(shí)現(xiàn),下面就速度控制部分、方向控制部分和路程計(jì)數(shù)的設(shè)計(jì)部分幾種設(shè)計(jì)方案進(jìn)行論證. 1. 速度控制部分 我們對(duì)三個(gè)方案進(jìn)行了比較: 方案一:采用D/A變換電路將數(shù)字量轉(zhuǎn)換成控制電機(jī)電壓的模擬量。再利用電平的高低達(dá)到調(diào)速的目的。本方案達(dá)到了利用CPU輸出的數(shù)字量精確控制模擬量的目的。但愿電路比較復(fù)雜,成本較高。方案二:采用脈寬調(diào)制方式(PWM)從I/O口輸出不同占空比的脈沖,經(jīng)

12、濾波后獲得不同甘共苦高低電平控制電機(jī)。本方案可以達(dá)到對(duì)速度的控制要求,且控制簡(jiǎn)單易實(shí)現(xiàn)。但輸出波形經(jīng)濾波后紋波較大,控制直流電機(jī)時(shí)轉(zhuǎn)速不穩(wěn),速度準(zhǔn)確度不高。方案三:采用數(shù)控網(wǎng)絡(luò)控制直流電機(jī)的驅(qū)動(dòng)電壓。原理框圖如圖3所示。本方案電路簡(jiǎn)單容易實(shí)現(xiàn),且數(shù)字量與速度一一對(duì)應(yīng),速度準(zhǔn)確度高且容易控制。利用8位數(shù)字量即可獲得256級(jí)速度控制。通過比較明顯方案三最簡(jiǎn)潔清晰、容易實(shí)現(xiàn)、速度快、精度高。從系統(tǒng)指標(biāo)要求來(lái)看,對(duì)速度要求較高,低速與高速之間差別較大,且準(zhǔn)確度要求高,各個(gè)速度之間的切換也要求簡(jiǎn)單、迅速。采用方案三可利用單片機(jī)運(yùn)行速度快的特點(diǎn)進(jìn)行速度的快速調(diào)整,且方案三速度準(zhǔn)確度高、級(jí)數(shù)多容易達(dá)到系統(tǒng)指

13、標(biāo)要求,所以我們選用方案三作為控制部分具體實(shí)施的方案。2.方向控制部分方案一:利用繼電器控制電機(jī)電壓極性以控制方向。該方案雖可實(shí)現(xiàn)方向控制,但繼電器驅(qū)動(dòng)耗電量大,且因有觸點(diǎn)動(dòng)作,易對(duì)電路造成干擾。方案二:采用電子開關(guān)電路。本方案通過改變控制端電平值改變電機(jī)兩端電壓極性控制方向。采用電子開關(guān)電器具有轉(zhuǎn)換速度快、無(wú)觸點(diǎn)、和控制容易的優(yōu)點(diǎn)。兩種方案相比,方案二有較明顯的優(yōu)勢(shì),且符合要求。3.路程計(jì)數(shù)的設(shè)計(jì)部分方案一:通過檢測(cè)車輪轉(zhuǎn)過的轉(zhuǎn)數(shù)乘以車輪的周長(zhǎng)來(lái)計(jì)算路程,霍爾元件是一種很好的可用于車輪轉(zhuǎn)數(shù)計(jì)數(shù)的元件。在普通轉(zhuǎn)盤計(jì)數(shù)的儀表中加裝霍爾元件和磁鐵,即可構(gòu)成基于磁電轉(zhuǎn)換技術(shù)的傳感器,霍爾元件固定安裝

14、在計(jì)數(shù)轉(zhuǎn)盤附近,永磁鐵安裝在計(jì)數(shù)盤位上,當(dāng)轉(zhuǎn)盤每轉(zhuǎn)一圈,永磁鐵經(jīng)過霍爾元件一次即在信號(hào)端產(chǎn)生一個(gè)計(jì)量脈沖。方案二:采用對(duì)射式光電管對(duì)行駛距離進(jìn)行測(cè)量,通過檢測(cè)信號(hào)脈沖個(gè)數(shù)計(jì)算出行駛距離。因?yàn)檐囕喼荛L(zhǎng)為12.5cm,輪盤每周開孔25個(gè),故測(cè)距分辨率可達(dá)5mm。兩種方案比較,這里考慮到大眾化設(shè)計(jì),采用第二種方案。程長(zhǎng)來(lái)計(jì)算路成工1.3單片機(jī)控制總體設(shè)計(jì)思路與原理單片機(jī)控制自動(dòng)往返電動(dòng)小汽車的硬件構(gòu)成包括8051芯片、8255芯片、地址鎖存器等組成的單片機(jī)控制電路、地面檢測(cè)電路、速度檢測(cè)電路、電機(jī)驅(qū)動(dòng)電路、轉(zhuǎn)向驅(qū)動(dòng)電路、鍵盤及顯示電路。整個(gè)系統(tǒng)的關(guān)鍵電路是單片機(jī)控制電路,是整個(gè)控制的中心部分,即可通

15、過地面檢測(cè)電路和速度檢測(cè)電路采樣的輸入的信號(hào),再將信號(hào)輸出到顯示器進(jìn)行顯示,并可以通過鍵盤進(jìn)行控制,如果地面檢測(cè)出障礙物報(bào)警系統(tǒng)開始工作并對(duì)其中部分電路編出子程序,以及相應(yīng)的軟件設(shè)計(jì)。1. 檢測(cè)設(shè)備部分 (有前面的要求知,本設(shè)計(jì)需要檢測(cè)起點(diǎn)終點(diǎn)限速區(qū)一定黑白對(duì)比度的黑線和跑道兩側(cè)的障礙物擋板) 通過對(duì)系統(tǒng)指標(biāo)要求分析,小車需自動(dòng)檢測(cè)出起跑線、變速線、終點(diǎn)線等標(biāo)志線及在小車與左右擋板之間的距離過小時(shí)提示CPU控制方向。采用反射式光電管檢測(cè)車體距擋板的遠(yuǎn)近,當(dāng)汽車距擋板約810cm時(shí),Vout發(fā)生跳變,小車需要調(diào)整方向以避免和擋板相撞。電路如圖1-2所示。圖1-2 反射式光電管圖1-3 對(duì)射式光電

16、管采用對(duì)射式光電管對(duì)行駛距離進(jìn)行測(cè)量,通過檢測(cè)信號(hào)脈沖個(gè)數(shù)計(jì)算出行駛距離。因?yàn)檐囕喼荛L(zhǎng)為12.5cm,輪盤每周開孔25個(gè),故測(cè)距分辨率可達(dá)5mm。電路如圖1-3所示。 采用反射式光彩奪目電管以檢測(cè)跑道上的黑線,并給CPU提供檢測(cè)信號(hào)以供CPU判斷分析。電路如圖1-4所示。圖1-4 反射式光彩奪目電管2. CPU為本系統(tǒng)的核心。其功能包括接收、判別檢測(cè)信號(hào),提供控制前后或左右方向驅(qū)動(dòng),提供速度控制的數(shù)字量和顯示信號(hào)。接收左右方向檢測(cè)信號(hào)時(shí)利用兩條I/O口線同時(shí)分別掃描左右擋板檢測(cè)光電管輸出腳,當(dāng)接收到某一管腳電平跳變時(shí),即由CPU控制轉(zhuǎn)向,以防止小車跑偏。并同時(shí)控制轉(zhuǎn)向燈。利用CPU的INT0腳

17、接收標(biāo)志線檢測(cè)信號(hào),每檢測(cè)到一條黑線,光電管給出一個(gè)高電平脈沖,CPU每檢測(cè)到一個(gè)下降沿進(jìn)行一次中斷處理,判斷小車處于跳道的哪一段,同時(shí)調(diào)整速度,一方面要符合不同的速度要求,同時(shí)使整個(gè)運(yùn)行時(shí)間最短。前進(jìn)/后退和左轉(zhuǎn)/右轉(zhuǎn)的方向控制各用兩條I/O口線,當(dāng)兩條口線電平不同時(shí)分別控制向前/向后或向左/向右。當(dāng)四條口線全為高電平時(shí)停車并點(diǎn)亮停車指示燈。倒車的同時(shí)點(diǎn)亮倒車指示燈并啟動(dòng)蜂鳴器,指示燈每0.5秒閃爍一次,蜂鳴器每0.5秒鳴叫一次,以示倒車。定時(shí)器T0工作于記數(shù)方式,通過測(cè)量對(duì)射式光電管檢出脈沖個(gè)數(shù),計(jì)算行駛距離。每行駛0.5米,刷新一次液晶的距離顯示,檢測(cè)距離可分辨到5mm。定時(shí)器T1工作于

18、定時(shí)方式,用于自動(dòng)記錄行駛時(shí)間,且每一秒刷新一次液晶的時(shí)間顯示。3. 速度控制部分 利用數(shù)控電源控制電機(jī)輸入電壓。選用8位數(shù)字量控制,即可獲得28=256級(jí)速度。電路如圖1-5所示。參數(shù)確定:圖1-5 速度控制部分電路此電路以P0口控制N1N8的導(dǎo)通和截止來(lái)調(diào)節(jié)電阻值的大小??诰€為高時(shí)對(duì)應(yīng)三級(jí)管導(dǎo)通,對(duì)應(yīng)電阻并入電路;口線為低時(shí)對(duì)應(yīng)三極管截止,對(duì)應(yīng)電阻無(wú)效。當(dāng)P0口置00H時(shí)數(shù)控部分電路電阻僅為R1;當(dāng)P0口置80H時(shí)電阻變?yōu)镽1和R2并聯(lián);當(dāng)P0口置0C0H時(shí)電阻變?yōu)镽1與R2與R3并聯(lián);依此類推共有256種電阻值,對(duì)應(yīng)256級(jí)輸出電壓。并聯(lián)后電阻值變小,所以當(dāng)P0口為00H時(shí)對(duì)應(yīng)的電阻值最

19、大。輸出電壓與電阻近似為線性關(guān)系,即00H對(duì)應(yīng)輸出電壓的最大值。根據(jù)系統(tǒng)指標(biāo)要求與實(shí)際測(cè)量車速與電壓的對(duì)應(yīng)關(guān)系確定輸出的最大電壓約為6V,最小電壓約為1.4V,由此可確定R1的阻值及所有電阻并聯(lián)的阻值。從而將輸出電壓范圍等分為256級(jí),依次確定其余電阻阻值大小以實(shí)現(xiàn)速度均勻變化。4. 驅(qū)動(dòng)電路部分 電路如圖1-6所示。速度驅(qū)動(dòng)由可變電源輸出電壓至VM端控制,速度與電壓大小呈線性關(guān)系。方向驅(qū)動(dòng)由口線控制和開關(guān)量對(duì)應(yīng)。 參數(shù)確定:因?yàn)槿龢O管導(dǎo)通要求IbIbs=Ics/。對(duì)N1,IO1端電壓約為5V,對(duì)TR1;VM端電壓范圍約為1.36.8V,由此可列方程組確定R12.3K,R297,取R1=2K,

20、R2=100。圖1-6 驅(qū)動(dòng)電路部分圖1-7 蜂鳴器電路5. 顯示及輔助部分 該部分直接由CPU驅(qū)動(dòng)LCD顯示器以自支顯示行駛距離和往返時(shí)間。由CPU的I/O口直接驅(qū)動(dòng)LED發(fā)光二極管顯示其轉(zhuǎn)向、倒車、停車狀態(tài)。電路見圖1-8。蜂鳴器電路如圖1-7所示。圖1-8 顯示電路1.4單片機(jī)控制的設(shè)計(jì)工作情況本系統(tǒng)主要通過地面檢測(cè)電路檢測(cè)信號(hào)和繞過障礙物,再把采樣的輸入信號(hào)輸入,運(yùn)用單片機(jī)的運(yùn)算和處理能力來(lái)實(shí)現(xiàn)小車的加速、減速,限速,左轉(zhuǎn)、右轉(zhuǎn),前進(jìn)和后退,結(jié)合鍵盤控制實(shí)現(xiàn)LED顯示,并可顯示行駛速度,行駛路程和行駛時(shí)間。由于電動(dòng)小汽車純硬件控制具有很多缺點(diǎn),并且不宜實(shí)現(xiàn)復(fù)雜運(yùn)動(dòng)的自動(dòng)控制功能(不能用

21、人工控制)。而單片機(jī)具有體積小,重量輕,耗電少,功能強(qiáng),控制靈活方便,價(jià)格低廉等優(yōu)點(diǎn)。本設(shè)計(jì)就是以單片機(jī)8051為核心,輔以外圍電路,采用光電檢測(cè)器進(jìn)行檢測(cè)信號(hào)和障礙物;運(yùn)用單片機(jī)的運(yùn)算和處理能力來(lái)實(shí)現(xiàn)小車的前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)、顯示行駛速度、行駛路程、行駛時(shí)間等智能控制系統(tǒng)。如圖1-9所示,檢測(cè)電器完成對(duì)左右擋板及標(biāo)志線的檢測(cè),并將信號(hào)提供給CPU;CPU內(nèi)核對(duì)檢測(cè)到的信號(hào)加以分析和判別,及時(shí)做出相應(yīng)的輸出處理;左右方向控制電路是通過電子開關(guān)實(shí)現(xiàn)對(duì)前輪(方向)電機(jī)的電壓極性控制以實(shí)現(xiàn)方向調(diào)整;前后方向控制用來(lái)控制汽車的前進(jìn)與倒退;速度控制電路是通過數(shù)控網(wǎng)絡(luò)實(shí)現(xiàn)對(duì)后輪(速度)電機(jī)驅(qū)動(dòng)電壓的調(diào)

22、整以實(shí)現(xiàn)對(duì)速度的控制;LCD顯示用來(lái)顯示電動(dòng)汽車的運(yùn)行時(shí)間與距離;輔助電路部分包括轉(zhuǎn)向燈指示,倒車燈指示,停車燈指示及倒車蜂鳴電路。圖1-9 硬件總體框圖第二章 檢測(cè)電路設(shè)計(jì) 2.1路面檢測(cè)電路的設(shè)計(jì)本設(shè)計(jì)需要檢測(cè)起點(diǎn)終點(diǎn)限速區(qū)一定黑白對(duì)比度的黑線和跑道兩側(cè)的障礙物(擋板)。圖2-1是速度檢測(cè)電路。它采用反射取樣式,單光束紅外傳感器ST178接收信號(hào),再分別用運(yùn)放LM324比較電壓信號(hào)進(jìn)行放大。圖2-1的電路在5V電壓下工作,根據(jù)該型號(hào)傳感器紅外發(fā)射管所需的工作壓降(紅外發(fā)射管的正向壓降在11.3V)和工作電流(紅外發(fā)射管的電流為210mA),選取負(fù)載電阻R1=0.51K,紅外接收管負(fù)載電阻R

23、2=51K。取R3=R4=1K是由R5進(jìn)行設(shè)置。 圖2-1速度檢測(cè)電路2.2地面檢測(cè)電路設(shè)計(jì)原理圖2-2 地面檢測(cè)電路它采用反射取樣式,單光束紅外傳感器ST178接收信號(hào),再分別用運(yùn)放LM324比較電壓信號(hào)進(jìn)行放大。圖2-2的電路在5V電壓下工作,根據(jù)該型號(hào)傳感器紅外發(fā)射管所需的工作壓降(紅外發(fā)射管的正向壓降在11.3V)和工作電流(紅外發(fā)射管的電流為210mA),圖2-2的電路是在+9V電壓工作的,選取R6=2K,R7=270K,R8=270K,R9=100K。由電路圖可以得出,當(dāng)有障礙物被其探測(cè)到時(shí),輸出端輸出一個(gè)高電平,即發(fā)生一個(gè)正向跳變,將這個(gè)正向跳變信號(hào)用單片機(jī)檢測(cè)出來(lái),借此控制放大

24、器LM324產(chǎn)生相應(yīng)的動(dòng)作。2.3 ST178器件簡(jiǎn)介2.3.1 ST178的特點(diǎn) 1采用高發(fā)射功率紅外光電二極管和高靈敏度光電晶體管組成。2檢測(cè)距離可調(diào)整范圍大,4-10mm可用。3采用非接觸檢測(cè)方式。2.3.2 ST178的極限參數(shù):(Ta=25)項(xiàng)目 符號(hào) 數(shù)值 單位 輸 入 正向電流 IF 50 mA 反向電壓 Vr 6 V 耗散功率 P 75 mW 輸出 集-射電壓 Vceo 25 V 射-集電壓 Veco 6 V 集電極功耗 Pc 50 mW 工作溫度 Topr -2065 儲(chǔ)存溫度 Tstg -3075 圖 2-3 內(nèi)部電路示意 2.3.3 ST178的光電特性(Ta=25)項(xiàng)

25、目 符號(hào) 測(cè)試條件 最小 典型 最大 單位 輸入 正向壓降 VF IF=20mA - 1.25 1.5 V 反向電流 IR VR=3V - - 10 A 輸出 集電極暗電流 Iceo Vce=20V - - 1 A 集電極亮電流 IL Vce=15V IF=8 mA H1 0.30 - - mA H2 0.40 - - mA H3 0.50 - - mA 飽和壓降 VCE IF=8mA Ic=0.5 mA - - 0.4 V 傳輸 特性 響應(yīng)時(shí)間 Tr IF=20mA Vce=10V IRc=100 - 5 - s Tf - 5 - s 注:集電極亮電流IL、飽和壓降VCE、響應(yīng)時(shí)間是在紅外光

26、電傳感器前端面與亮檢2.3.4 ST178的工作原理及應(yīng)用光電傳感器ST178的介紹:反射式紅外光電傳感器是利用被測(cè)物體對(duì)紅外光的反射和吸收來(lái)實(shí)現(xiàn)對(duì)被測(cè)物體的測(cè)量和計(jì)數(shù)的,要求被測(cè)物體的取樣標(biāo)記與其本身的光潔度和顏色反差大,盡量減少外界光的干擾,光電傳感器的前端面與被測(cè)物體的最佳檢測(cè)距離為81.5mm。 (1)芯片說(shuō)明 如圖2-4所示,第一腳:VCC正電源,接+5V;第二腳:GND接地;第三腳:信號(hào)輸出;第四腳:接+5V; (2)典型應(yīng)用電路 參考傳感器選型手冊(cè)提供的典型電路,選用兩個(gè)ST178并排使用,外加方向判別專用電路ST288A連接的電路如圖2-5所示。 圖2-4光電傳感器示意圖 圖2

27、-5 光電傳感器典型應(yīng)用電路 說(shuō)明:1.圖中光電傳感器ST178的A路為前輸入端,B路為后輸入端2.取樣的暗標(biāo)志與亮標(biāo)志的寬度必須大于兩反射式光電傳感器光束間的間距,確保采樣脈沖的可靠性,防止誤發(fā)采樣信號(hào)。本設(shè)計(jì)將地面檢測(cè)電路和速度檢測(cè)電路的輸出端接到8051的INT0和INT1,當(dāng)?shù)孛鏅z測(cè)到障礙物時(shí),就會(huì)產(chǎn)生一個(gè)中斷信號(hào),同時(shí)如果速度需要調(diào)節(jié),也會(huì)愛INT1口產(chǎn)生一個(gè)中斷請(qǐng)求,并進(jìn)行模數(shù)轉(zhuǎn)換,得到對(duì)應(yīng)的數(shù)字信號(hào),送到8051中進(jìn)行處理。第三章8051單片機(jī)性能介紹3.1 MCS-51單片微機(jī)8051內(nèi)部部件和接口電路MCS-5單片微機(jī)8051內(nèi)部包含如下部件:8位CPU振蕩器和時(shí)鐘電路4K/

28、8K 字節(jié)的程序存貯器。128/256字節(jié)的數(shù)據(jù)存貯器??蓪ぶ吠獠砍绦虼尜A器和數(shù)據(jù)存貯器,各64K字節(jié)。二十多個(gè)特殊功能寄存器。32線并行I/O口。1個(gè)全雙工串行I/O口。2/3個(gè)16位定時(shí)器/計(jì)數(shù)器。5/6個(gè)中斷源,2個(gè)優(yōu)先級(jí)。具有位尋址功能,有較強(qiáng)的布爾處理能力。圖3-1 單片機(jī)的片外總線結(jié)構(gòu) 由上圖可以看到,單片機(jī)的引腳除了電源、復(fù)位、時(shí)鐘接入、用戶I/O口外,其余管腳都是為了實(shí)現(xiàn)系統(tǒng)擴(kuò)展而設(shè)置的。這些引腳構(gòu)成了MCS-51單片機(jī)片外三總線結(jié)構(gòu):(1) 地址總線(AB):地址總線寬度為16位,因此,其外部存儲(chǔ)器直接尋址為64K字節(jié),16位地址總線由P0口經(jīng)地址鎖存器提供低8位地址(A0A

29、7);P0口直接提供高8位地址(A8A15)。(2) 數(shù)據(jù)總線(DB):數(shù)據(jù)總線寬度為8位,由P0口提供??刂瓶偩€(CB):由四根獨(dú)立控制線RESET、ALE、組成。3.2 8051的引腳說(shuō)明圖3-2 8051單片機(jī)的引腳圖 引腳功能: MCS-51是標(biāo)準(zhǔn)的40引腳雙列直插式集成電路芯片,引腳分布請(qǐng)參照-單片機(jī)引腳圖: l P0.0P0.7 P0口8位雙向口線(在引腳的3932號(hào)端子)。 l P1.0P1.7 P1口8位雙向口線(在引腳的18號(hào)端子)。 l P2.0P2.7 P2口8位雙向口線(在引腳的2128號(hào)端子)。 l P3.0P3.7 P2口8位雙向口線(在引腳的1017號(hào)端子)。 這

30、4個(gè)I/O口具有不完全相同的功能,大家可得學(xué)好了,其它書本里雖然有,但寫的太深,初學(xué)者很難理解,這里都是按我自已的表達(dá)方式來(lái)寫的,相信你也能夠理解。 P0口有三個(gè)功能: 1、外部擴(kuò)展存儲(chǔ)器時(shí),當(dāng)作數(shù)據(jù)總線(如圖1中的D0D7為數(shù)據(jù)總線接口) 2、外部擴(kuò)展存儲(chǔ)器時(shí),當(dāng)作地址總線(如圖1中的A0A7為地址總線接口) 3、不擴(kuò)展時(shí),可做一般的I/O使用,但內(nèi)部無(wú)上拉電阻,作為輸入或輸出時(shí)應(yīng)在外部接上拉電阻。 P1口只做I/O口使用:其內(nèi)部有上拉電阻。 P2口有兩個(gè)功能: 1、擴(kuò)展外部存儲(chǔ)器時(shí),當(dāng)作地址總線使用 2、做一般I/O口使用,其內(nèi)部有上拉電阻; P3口有兩個(gè)功能: 除了作為I/O使用外(其內(nèi)

31、部有上拉電阻),還有一些特殊功能,由特殊寄存器來(lái)設(shè)置,具體功能請(qǐng)參考我們后面的引腳說(shuō)明。 有內(nèi)部EPROM的單片機(jī)芯片(例如8751),為寫入程序需提供專門的編程脈沖和編程電源,這些信號(hào)也是由信號(hào)引腳的形式提供的, 即:編程脈沖:30腳(ALE/PROG) 編程電壓(25V):31腳(EA/Vpp)3.3振蕩器特性和時(shí)鐘電路XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時(shí)鐘源驅(qū)動(dòng)器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時(shí)鐘信號(hào)要通過一個(gè)二分頻觸發(fā)器,因此對(duì)外部時(shí)鐘信號(hào)的脈寬無(wú)任何要求,但必須保證脈沖的高低電平要求的寬度

32、。3.4芯片擦除特性和復(fù)位電路 3.4.1芯片擦除特性整個(gè)PEROM陣列和三個(gè)鎖定位的電擦除可通過正確的控制信號(hào)組合,并保持ALE管腳處于低電平10ms 來(lái)完成。在芯片擦操作中,代碼陣列全被寫“1”且在任何非空存儲(chǔ)字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。此外,AT89C51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時(shí)器,計(jì)數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個(gè)硬件復(fù)位為止。3.4.2上復(fù)位電路設(shè)計(jì)1.單片機(jī)的復(fù)位狀態(tài) 單片機(jī)的復(fù)位都是靠外部電路實(shí)現(xiàn)的,

33、在時(shí)鐘電路工作后,只要在單片機(jī)的RST引腳上出現(xiàn)24個(gè)時(shí)鐘振蕩脈沖以上的高電平,單片機(jī)便實(shí)現(xiàn)初始化狀態(tài)復(fù)位。為了保證應(yīng)用系統(tǒng)可靠地復(fù)位。在設(shè)計(jì)復(fù)位電路時(shí),通常使RST引腳保持10ms以上的高電平。只要RST保持高電平,則MCS-51單片機(jī)就循環(huán)復(fù)位;當(dāng)RST從高電平變?yōu)榈碗娖揭院螅琈CS-51單片機(jī)從0000H地址開始執(zhí)行程序。在復(fù)位有效期間,ALE引腳輸出高電平。1. 電復(fù)位電路和開關(guān)復(fù)位組合電路圖3-2上電復(fù)位和開關(guān)復(fù)位組合電路MCS-51單片機(jī)通常都采用上電自動(dòng)復(fù)位和開關(guān)復(fù)位二種方式。復(fù)位電路的核心就是如前所述的必須保證RST引腳上出現(xiàn)10ms以上穩(wěn)定的高電平,這樣就能實(shí)現(xiàn)可靠地復(fù)位。因

34、此,無(wú)論簡(jiǎn)單還是復(fù)雜的復(fù)位電路,都是為了保證這個(gè)10ms以上的穩(wěn)定的高電平。上電復(fù)位電路在通電瞬間,在RC電路充電過程中,RST端出現(xiàn)正脈沖,從而使單片機(jī)復(fù)位。Cr和 Rr的值隨時(shí)鐘頻率變化而變化,可由實(shí)驗(yàn)調(diào)整,當(dāng)采用6MHZ時(shí)鐘時(shí),Cr為22uF,R1取1。在實(shí)際的應(yīng)用系統(tǒng)中,有些外圍芯片也需要復(fù)位,如果這些復(fù)位端的復(fù)位電平要求與單片機(jī)的復(fù)位要求一致,則可以與之相連。上述兩種簡(jiǎn)單的復(fù)位電路中,干擾易串入復(fù)位端,在大多數(shù)情況下不會(huì)造成單片機(jī)的錯(cuò)誤復(fù)位,但會(huì)一起內(nèi)部某些寄存器錯(cuò)誤復(fù)位。這時(shí),可在RESET復(fù)位引腳上接一個(gè)去耦電容。如果應(yīng)用現(xiàn)場(chǎng)干擾嚴(yán)重或整個(gè)感應(yīng)用系統(tǒng)干擾嚴(yán)重,引起單片機(jī)復(fù)位,可采

35、用屏蔽的辦法解決,如加屏蔽網(wǎng)或移動(dòng)位置等。在實(shí)際應(yīng)用系統(tǒng)中,為了保證復(fù)位電路可高地工作,常將RC電路接斯密特電路后再接入單片機(jī)復(fù)位端和外圍電路復(fù)位端。這特別適合于應(yīng)用現(xiàn)場(chǎng)干擾大、電壓波動(dòng)大的工作環(huán)境,并且,當(dāng)系統(tǒng)有多個(gè)復(fù)位端時(shí),能保證可靠地同步復(fù)位。3.5 MCS-51的中斷優(yōu)先級(jí)中斷系統(tǒng)是為了使處理機(jī)具有對(duì)外界異步時(shí)間的處理能力而設(shè)置的。當(dāng)中央處理機(jī)CPU正在處理某件事的時(shí)候外界發(fā)生了緊急事件請(qǐng)求,要求CPU暫停當(dāng)前的工作,轉(zhuǎn)而去處理這個(gè)緊急事件。處理完以后,再回到原來(lái)被中斷的地方,繼續(xù)原來(lái)的工作,這樣的過程稱為中斷源。微型機(jī)的中斷系統(tǒng)一般允許多個(gè)中斷源,當(dāng)幾個(gè)中斷源懂事想CPU請(qǐng)求中斷,要

36、求為它服務(wù)的時(shí)候,這就存在CPU有限響應(yīng)哪一個(gè)中斷源請(qǐng)求的問題。通常根據(jù)中斷源的輕重緩急排隊(duì),優(yōu)先處理最緊急事件的中斷請(qǐng)求源,即規(guī)定每一個(gè)中斷源有一個(gè)優(yōu)先級(jí)別。CPU總是先響應(yīng)級(jí)別最高的中斷請(qǐng)求。MCS-51系列單片機(jī)微機(jī)中斷系統(tǒng),是八位機(jī)中功能較強(qiáng)的一種,它可以提供5個(gè)中斷請(qǐng)求源,具有兩個(gè)中斷優(yōu)先級(jí),可實(shí)現(xiàn)兩級(jí)中斷服務(wù)程序嵌套。擁護(hù)可以用中斷指令來(lái)屏蔽所有的中斷請(qǐng)求也可以用開中斷指令使CPU接受中斷申請(qǐng);每一個(gè)中斷源可以用軟件獨(dú)立地控制為開中斷狀態(tài);每一個(gè)中斷級(jí)別均可用軟件設(shè)置。MCS-51有兩個(gè)中斷優(yōu)先級(jí),對(duì)于每一個(gè)中斷請(qǐng)求源可編程為高優(yōu)先中斷或低優(yōu)先中斷,可實(shí)現(xiàn)二級(jí)中斷嵌套。一個(gè)正在執(zhí)行

37、的底優(yōu)先級(jí)中斷能被高優(yōu)先級(jí)中斷所中斷,但不能被另一個(gè)低有限級(jí)中斷所中斷,一直執(zhí)行到結(jié)束,遇到返回指令RET1,返回主程序后再執(zhí)行一條指令才能響應(yīng)新的中斷申請(qǐng)。1IE0 (外中斷INT0) 最高優(yōu)先級(jí) 0003H2TF0 (定時(shí)器0溢出中斷) 000BH3IE (處中斷INT1) 0013H4TF1 (定時(shí)器1溢出中斷) 001BH5RI+TI (串行口中斷) 0023H6TF2+EXF2 (定時(shí)器2溢出中斷) 最低優(yōu)先級(jí) 002BH當(dāng)CPU正在處理一個(gè)中斷源請(qǐng)求的時(shí)候,發(fā)生了另一個(gè)優(yōu)先級(jí)比它高的中斷源請(qǐng)求。如果CPU能夠暫停對(duì)原來(lái)中斷源的處理程序,轉(zhuǎn)而去處理優(yōu)先級(jí)更高的中斷請(qǐng)求。處理完以后,再

38、回到原低級(jí)中斷處理程序,這樣的過程稱為中斷嵌套。這樣的中斷系統(tǒng)稱為多級(jí)中斷系統(tǒng),沒有中斷嵌套功能的中斷系統(tǒng)稱為單級(jí)中斷系統(tǒng)。這種“同級(jí)內(nèi)的優(yōu)先級(jí)”,僅用來(lái)解決相同優(yōu)先級(jí)中斷源同時(shí)請(qǐng)求中斷的情況,而不能中斷正在執(zhí)行的同優(yōu)先級(jí)的中斷。第四章 8255芯片的功能概要可編程并行接口芯片8255A-5,.11斷源的請(qǐng)求。這些狀態(tài)標(biāo)志可用方式Intel 8255A-5是一個(gè)為8085和8088微型機(jī)系統(tǒng)設(shè)計(jì)的通用輸入/輸出接口芯片。它可用程序來(lái)改變功能,通用性強(qiáng),使用靈活,通過它可直接將CPU總線接向外設(shè)。4.1 8255的外部引線與內(nèi)部結(jié)構(gòu)8255A是一個(gè)單5V電源、40個(gè)引腳的雙列直插式組件,其外部引

39、線如圖所示。芯片說(shuō)明:8255A是Intel公司生產(chǎn)的可編程輸入輸出接口芯片,它具有3個(gè)8位的并行I/O口,具有三種工作方式,可通過程序改變其功能,因而使用靈活,通用性強(qiáng),可作為單片機(jī)與多種外圍設(shè)備連接時(shí)的中間接口電路。8255有三種基本工作方式,三種工作方式由工作方式控制字決定,方式控制字由CPU通過輸入/輸出指令來(lái)提供.三個(gè)端口中PC口被分為兩個(gè)部分,上半部分隨PA口稱為A組,下半部分隨PB口稱為B組.其中PA口可工作與方式0、1和2,而PB口只能工作在方式0和1。8255共有40個(gè)引腳,采用雙列直插式封裝,各引腳功能如下:D0-D7:三態(tài)雙向數(shù)據(jù)線,與單片機(jī)數(shù)據(jù)總線連接,用來(lái)傳送數(shù)據(jù)信息

40、。CS:片選信號(hào)線,低電平有效,表示芯片被選中。RD:讀出信號(hào)線,低電平有效,控制數(shù)據(jù)的讀出。WR:寫入信號(hào)線,低電平有效,控制數(shù)據(jù)的寫入。Vcc:+5V電源。PA0-PA7:A口輸入/輸出線。PB0-PB7:B口輸入/輸出線。PC0-PC7:C口輸入/輸出線。RESET:復(fù)位信號(hào)線。A1、A0:地址線,用來(lái)選擇8255內(nèi)部端口。GND:地線。它由以下幾部分組成:(1)數(shù)據(jù)端口A,B,C 它有三個(gè)輸入輸出端口:PORTA,PORTB和PORTC。每個(gè)端口都是8位,都可選擇作顯輸出或輸出,但功能上有著不同的特點(diǎn)。通常端口A或B作為輸出輸?shù)臄?shù)據(jù)端口,而端口C作為控制或狀態(tài)信息的端口,它在“方式”字

41、的控制下可分成兩個(gè)四位端口,每個(gè)端口包含一個(gè)四位鎖存器。它們分別與端口A和B合使用,可用以作為控制信號(hào)輸出,或作為狀態(tài)信號(hào)輸入。(2)A組和B組控制電路這是兩組根據(jù)CPU的命令字控制8255A工作方式的電路。它們有控制寄存器,收CPU輸出的命令字,然后分別決定兩組的工作方式,也可根據(jù)CPU的命令字端口C的每一位實(shí)現(xiàn)按位“復(fù)位”或“置”位。A組控制電路控制端口A和端口C的上半部(PC7PC4),即端口C的高四位。B組控制電路控制端口A和端口C的下半部(PC3PC0),即端口C的低四位。(3)數(shù)據(jù)總線緩沖器這是一個(gè)三態(tài)雙向8位緩沖器,它是8255A與系統(tǒng)數(shù)據(jù)總線的接口。輸出指令以及CPU發(fā)出的控制

42、字和外設(shè)的狀態(tài)信息,都是通過這個(gè)緩沖器傳送的。(4)讀/寫和控制邏輯它和CPU地址總線中的A1、A0以及在關(guān)控制信號(hào)(RD,WR,RESET,IO/M)相連,由它控制把CPU的控制命令或輸出數(shù)據(jù)送至相應(yīng)的端口;也由它控制把外設(shè)的狀態(tài)信息或輸入數(shù)據(jù)通過相應(yīng)的端口,送至CPU。(5)一些控制命令1)CS(Chip Select)選片信號(hào),低電平有效,由它啟動(dòng)CPU與8255A之間的通信。2)RD讀信號(hào),低電平有效。它控制8255A送出數(shù)據(jù)或狀態(tài)信息至CPU。3)WR寫信號(hào),低電平有效。它控制把CPU輸出的數(shù)據(jù)或命令信號(hào)寫入8255A。4)RESET復(fù)位信號(hào),高電平有效,它清除控制寄存器和所有端口(

43、A,B,C)到輸入方式。(6)端口尋址8255A中有三個(gè)輸入輸出端口,另外,內(nèi)部還有一個(gè)控制寄存器,共有四個(gè)端要有兩個(gè)輸入端來(lái)加以選擇,這兩個(gè)輸入端通常接到地址總線的最低兩位A1,A0。A1,A0和RD,WR及CS組合所實(shí)現(xiàn)的各種功能。 4.2 8255A的基本特性和工作方式選擇4.2.1 8255A并行輸入/輸出接口芯片的基本特性(1)它是一個(gè)具有兩個(gè)8位(A和B口)和兩個(gè)4位(C口高/低四位)的并行輸入/輸出端口,并為CPU與外設(shè)之間提供TTL兼容電平,它的C口還具有按位置位/復(fù)位的控制功能。(2)對(duì)應(yīng)CPU之間能適用多種數(shù)據(jù)傳送方式,如簡(jiǎn)單傳送方式,應(yīng)答方式,中斷方式。與此對(duì)應(yīng),8255

44、A設(shè)置了三種工作方式:方式0基本輸入輸出方式;方式1選通輸入輸出方式;方式2雙向輸入輸出方式。(3)具有可執(zhí)行功能很強(qiáng)的兩條命令(方式字和控制字)為用戶提供靈活方便的使用環(huán)境,命令執(zhí)行完后的狀態(tài),可保留在狀態(tài)中,方便用戶進(jìn)行查詢。(4)C口使用比較特殊,除作一般數(shù)據(jù)口外,在方式1和方式2中,它的部分信號(hào)線被分配作專用的聯(lián)絡(luò)應(yīng)答信號(hào);C口也可以單獨(dú)指定按位控制;也可以作8255A寄存狀態(tài)字的狀態(tài)口用。4.2.2 8255A的編程命令 8255A的編程命令包括工作方式選擇控制字和C口按位操作控制字是用戶靈活使用8255A組件各種接口電路的重要工具,要熟練掌握。 由于這兩個(gè)命令都是送到8255A的同

45、一控制端口。為了使8255A能辨認(rèn)是哪一個(gè)命令,故采用控制寄存器的D7作為特征位加以區(qū)分。若寫入的控制字,其最高位D7=1,則該控制字為工作方式控制字;若寫入的控制字D7=0,則該控制字是C口的按位復(fù)位/置拉控制字。下面討論控制字的格式及其定義。(1)工作方式控制字8255A有三種基本工作方式:方式0(Mode 0)基本輸入/輸出方式1(Mode 1)選通輸入/輸出;方式2(Mode 2)雙向輸入/輸出;方式選擇控制字的格式及每位定義如下: 利用工作方式控制字的不同代碼組合,可以分別選擇A組和B組的工作方式。A組方式對(duì)應(yīng)A口和C口的高四位PC7-PC4,B組方式對(duì)應(yīng)B口和C口的低四位PC3-P

46、C0。A組有三種工作方式(方式0,1,2),是說(shuō)明A口的三種工作方式,而B組只有兩種工作方式(方式0,1),是說(shuō)明B口的兩種工作方式,其中C口經(jīng)常作為拉控制信號(hào)來(lái)使用??刂谱种兄?指定為輸入,置0指定為輸出。工作方式控制字舉例,要求8255A的端口處于如下工作方式: A口指定為方式1輸入,C口高四位定為輸出;B口指定為方式0輸出,C口低四位定為輸入。即方式控制字應(yīng)為B(B1H)。 若將此控制字的內(nèi)容寫到8255A的控制寄存器,則實(shí)現(xiàn)了對(duì)8255A工作方式的指定,或者稱為完成了對(duì)8255A的初始化。對(duì)PC/XT中使用8255A通用接口芯片,用上述工作控制字,其初始化程序段為: MOV DX,00

47、63H;8255A控制口地址MOV AL,OB1H;初始化(工作方式)控制字OUT DX,AL;控制字送到控制口(2)C口按位置位/復(fù)位控制字 格式及每位定義如下: 利用按位置位/復(fù)位控制字可以使C口的8位中的任意一位置成高電平輸出或低電平輸出。舉例,若要把C口的PC2置位,則控制字命令字應(yīng)為B(05H)。將該命令字的內(nèi)容寫入8255A的命令寄存器,就實(shí)現(xiàn)了將C口的PC2位置位的操作;其程序段為:MOV,DX,0063h;8255A控制口地址MOV AL,05;使PC2=1的控制字OUT DX,AL送到控制口如果要使該位(PC2)復(fù)位,則用下列程序段來(lái)實(shí)現(xiàn): MOV DX,0063H;8255

48、A控制口地址 MOV AL,04H使PC2=0的控制字 OUT DX,AL;送到控制口上述兩個(gè)控制字的差別是: 工作方式選擇控制字是對(duì)8255A的三個(gè)端口的工作方式及功能進(jìn)行定義,所以應(yīng)放在程序的開頭進(jìn)行初始化。 按位置/復(fù)位控制字只對(duì)C口的輸出進(jìn)行控制(對(duì)輸入無(wú)作用),而且只是控制C口的某一位輸出是高電平(置位)還是低電平(復(fù)位)。使用時(shí)他并不破壞已經(jīng)建立的當(dāng)前工作方式,而是對(duì)8255A實(shí)現(xiàn)動(dòng)態(tài)控制的一種支持。他可放在初始化程序以后的任何需要的地方。4.2.3 8255A的方式0及連接方法(1)方式0的基本功能方式0是一種基本輸入/輸出工作方式。它常用于無(wú)條件(簡(jiǎn)單)傳送,也可用于應(yīng)答(查詢

49、)傳送。其基本功能為: 兩個(gè)8位端口A,B和兩個(gè)4位端口C; 任一個(gè)端口可以作為輸入或輸出;輸出是鎖存的,輸入只有緩沖能力沒有鎖存功能; 各個(gè)端口的輸入、輸出可以有16種不同組合。(2)方式0連接方法 簡(jiǎn)單的輸入/輸出 在方式0下,簡(jiǎn)單的輸出/輸出認(rèn)為外設(shè)始終是作好了準(zhǔn)備,隨時(shí)可以提供或者接收數(shù)據(jù)信息。任意一個(gè)端口都可以直接作為外設(shè)接口,作為數(shù)據(jù)端口,不需要狀態(tài)端口,且均可由CPU用簡(jiǎn)單的輸入或輸出指令來(lái)進(jìn)行讀或?qū)憽?方式0的應(yīng)答輸入/輸出 在方式0工作時(shí),也可采用應(yīng)答式傳送,此時(shí),通常端口A和B可分別作為一個(gè)數(shù)據(jù)端口,而取端口C的某些位分別作為兩個(gè)數(shù)據(jù)端口應(yīng)答用的控制和狀態(tài)信號(hào)線。至于C口中

50、哪根線充當(dāng)何種應(yīng)答功能是不固定的,可以由用戶自行指定。4.2.4 8255A的方式1及連接方法 方式1是一種選通輸入/輸出方式,在這種方式時(shí),端口A或端口B仍作為數(shù)據(jù)的輸入/輸出,但同時(shí)規(guī)定端口C中固定的某些位作為控制或狀態(tài)信息。(1)方式1的主要功能用作一個(gè)或兩個(gè)選通輸入/輸出端口; 每一端口包含有8位數(shù)據(jù)端口A或B;三條固定控制線;提供中斷邏輯;若只有一個(gè)端口工作于方式1,余下的13位可以工作于方式0由控制字決定;若兩端口都工作于方式1,端口C還留下兩位,這兩位可以由程序指定代作為輸入或輸出,也具有置位/復(fù)位功能。(2)方式1的控制信號(hào)方式1的輸入當(dāng)任一端口(A或B)工作于方式1輸入時(shí),

51、主要控制信號(hào):STB外設(shè)送來(lái)的“輸入選通”信號(hào),表示外設(shè)數(shù)據(jù)已準(zhǔn)備好,低電平有效。當(dāng)它變?yōu)榈碗娖綍r(shí),外設(shè)將數(shù)據(jù)送到8255A端口的輸入數(shù)據(jù)鎖存器。IBF8255A送到外設(shè)的“輸入緩沖器滿”信號(hào),高電平有效,這是一個(gè)8255A輸至外設(shè)的聯(lián)絡(luò)信號(hào)。當(dāng)它為高電平時(shí),說(shuō)明外設(shè)數(shù)據(jù)已送到輸入鎖存器,但尚未被CPU取走,通知外設(shè)不能送新數(shù)據(jù);只有當(dāng)它為低電平時(shí),即CPU已讀取數(shù)據(jù),輸入鎖存器變空時(shí),才允許外設(shè)送新數(shù)據(jù)。INTR;8255A送到CPU的“中斷請(qǐng)求”信號(hào),高電平有效。當(dāng)它為高電平時(shí),請(qǐng)求CPU從8255A讀取數(shù)據(jù)。使INTR變高電平的條件是:當(dāng)IBF=1,并且中斷允許INTE=1時(shí),才使INT

52、R變高電平,向CPU發(fā)出中斷請(qǐng)求?!爸袛嘣试S”信號(hào)INTE是8255A為控制中斷而設(shè)置的內(nèi)部控制信號(hào)。當(dāng)INTE=1時(shí),允許中斷;當(dāng)INTE=0時(shí),禁止中斷。這要通過向C口寫入按位置位/復(fù)位命令來(lái)設(shè)置,內(nèi)部不能自動(dòng)產(chǎn)生這個(gè)控制信號(hào)。其信號(hào)STB,INTR等交接過程如下:數(shù)據(jù)輸入時(shí),外設(shè)處于主動(dòng)地位,在準(zhǔn)備好數(shù)據(jù)后,首先發(fā)STB信號(hào),由它把數(shù)據(jù)輸入到8255A。在STB的下降沿約300ns后,數(shù)據(jù)已鎖存好,引起IBF變高,表示“輸入緩沖器滿”,禁止輸入。在STB的上升沿約300ns后,IBF的高電平(并且INTE=1)產(chǎn)生中斷請(qǐng)求,使INTR上升變高,通知CPU現(xiàn)接口中已有數(shù)據(jù),請(qǐng)求CPU讀取。CPU接受中斷請(qǐng)求后,轉(zhuǎn)到相應(yīng)的中斷子程序。在子

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論