自動(dòng)立體停車庫控制系統(tǒng)設(shè)計(jì).doc_第1頁
自動(dòng)立體停車庫控制系統(tǒng)設(shè)計(jì).doc_第2頁
自動(dòng)立體停車庫控制系統(tǒng)設(shè)計(jì).doc_第3頁
自動(dòng)立體停車庫控制系統(tǒng)設(shè)計(jì).doc_第4頁
自動(dòng)立體停車庫控制系統(tǒng)設(shè)計(jì).doc_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

目 錄1 引言12 系統(tǒng)總體方案設(shè)計(jì)42.1 控制原理42.2 控制功能42.3 方案設(shè)計(jì)53 系統(tǒng)硬件設(shè)計(jì)63.1 單片機(jī)的發(fā)展趨勢63.2 單片機(jī)的選擇73.3 89C51的引腳介紹83.4 單片機(jī)最小系統(tǒng)的設(shè)計(jì)113.5 顯示鍵盤電路的設(shè)計(jì)133.6 鎖存器 74LS373的介紹與選擇183.8 2732的芯片引腳功能193.9 6264引腳功能的介紹與選擇203.10 8255芯片介紹204 系統(tǒng)的軟件設(shè)計(jì)224.1 控制系統(tǒng)的主程序功能及流程圖234.2 最優(yōu)車位的實(shí)現(xiàn)234.3 鍵盤掃描子程序264.4 顯示子程序274.5 存車信號(hào)處理子程序284.6. 取車信號(hào)處理子程序295 總結(jié)30參考文獻(xiàn)31謝 辭32附錄一33附錄二421 引言近幾年來,隨著我國國民經(jīng)濟(jì)和汽車制造業(yè)的迅速發(fā)展,汽車保有量快速增長。北京、上海等大城市以每年15萬輛的速度增加,而道路建設(shè)及停車位的建設(shè)遠(yuǎn)低于此。停車難所導(dǎo)致的占道停車、占用綠地停車,不僅使交通堵塞問題更加嚴(yán)重,而且涉及到投資環(huán)境和城市現(xiàn)象,日益引來各方人士的關(guān)注。如果停車難問題和交通擁擠問題得不道妥善解決,將同時(shí)影響了轎車進(jìn)入家庭的步子,影響汽車制造業(yè)的迅速發(fā)展,影響國民經(jīng)濟(jì)的穩(wěn)步持續(xù)發(fā)展。1997年,深圳注冊車輛40萬輛,異地注冊在深圳行駛車輛12萬輛,停車位僅4萬多個(gè),北京機(jī)動(dòng)車保有量近140萬輛加上每天幾十萬輛進(jìn)京車輛,公共停車位僅8萬多個(gè)。廣州市機(jī)動(dòng)車輛保有量為90萬輛,外地進(jìn)市車輛10萬輛,共100萬輛,僅有停車位9萬個(gè)。專家指出只有公共停車位置達(dá)到機(jī)動(dòng)車輛總數(shù)的1525%左右,才能緩解停車難問題。香港擁有注冊機(jī)動(dòng)車輛53 萬輛,停車位40 萬個(gè),與之相比,我們是有很大差距的。進(jìn)入21世紀(jì)以來,隨著我國社會(huì)與經(jīng)濟(jì)的發(fā)展,轎車特別是私家轎車的生產(chǎn)量和社會(huì)保有量迅速增加。近幾年來,我國私人購車占售車總量的比例大幅遞增,到1999年己經(jīng)突破了50%中國汽車需求量和保有量出現(xiàn)了加速增長的趨勢。2000到2002年實(shí)際汽車保有雖分別為1608. 91萬、1802. 04萬和2053. 17萬輛,年平均增長速度分別達(dá)到了10.73%、12%、13.94%。2003年汽車保有量達(dá)到2353萬量,比2002年增長14.6%。以上事實(shí)說明,2004-2010年我國汽車保有量以及由此帶動(dòng)的汽車需求量將繼續(xù)呈加速增長的趨勢。隨著居民收入提高、汽車價(jià)格的下降和消費(fèi)環(huán)境的改善,預(yù)計(jì)2004-2010年,中國汽車保有量將以16%以上的速度增長。以2002年的實(shí)際值為基數(shù),假定2004 -2010年汽車保有量按16 %的速度增長,則到2010年我國汽車保有量將在6650萬一8431萬輛之間。另外,新增汽車需求量與汽車保有量呈線性關(guān)系,即新增汽乍需求量=新增汽車保有量+汽車更新量,如果汽車更新量為汽車保有量的6%,則新增汽車需求量=新增汽車保有量+0.06汽車保有量。因此,可以推算出2010年汽車的年銷量將達(dá)到1317萬1911萬量之間。隨著汽車數(shù)量日益劇增,解決停車問題日益嚴(yán)重,尤其是居民小區(qū)、人型公共消費(fèi)場所等,寸一上如金,停車場向空間發(fā)展,己勢在必行。根據(jù)有關(guān)市場調(diào)查,目前在大中型城市對立體車庫的年需求量至少為10萬個(gè)車位,但該類產(chǎn)品供應(yīng)量很少,國內(nèi)只有30家左右企業(yè)的少量產(chǎn)品供應(yīng)市場。外國的相關(guān)公司吞好這一巨大的市場,目前開始有產(chǎn)品向中國出口,但足其價(jià)格高,使用成本與收費(fèi)高,使國內(nèi)市場難以接受,限制其推廣使用在我國,除北京、上海等特大城市外,沿海工業(yè)發(fā)達(dá)、人口密集的城市和地區(qū)也已經(jīng)陸續(xù)開始安裝和使用立體停車庫,表現(xiàn)出強(qiáng)勁的市場需求。所以從技術(shù)、市場、政策等諸多因素分析,該項(xiàng)目已經(jīng)具備了良好的開發(fā)條件 就有重要的現(xiàn)實(shí)意義 立體車庫與傳統(tǒng)的自然地下車庫想比,有許多方面多顯示出優(yōu)越性: 首先,立體車庫具有突出的節(jié)地優(yōu)勢。以往的底下車庫由于要留出足夠的行車通道,平均一輛車就要占據(jù)40平方米的面積,如果采用雙層立體車庫,可以使地面的使用率提高80%-90%。例如采用地上多層立體車庫,50平方米的地面積上便可存放放10輛車,這可以大大地節(jié)省有限的上地資源,少量節(jié)省建設(shè)開發(fā)成本。 其次,立體車庫與地下車庫相比可更加有效地保證人身和車輛的安全,人在車庫內(nèi)或車不停準(zhǔn)位置,由電子控制的整個(gè)設(shè)條便不會(huì)運(yùn)轉(zhuǎn)。應(yīng)該說,立體車庫從管理上可以做到徹底的人車分流。 在地下車庫中采用機(jī)械存車,還可以免除采暖通風(fēng)設(shè)施,因此,運(yùn)行中的耗電量比工人管理的地下車庫低得多。立體車庫一般不做成套系統(tǒng),而是以單臺(tái)集裝而成。這樣可以充分發(fā)揮其用地少、可化整為零的優(yōu)勢,在住宅區(qū)的每個(gè)組團(tuán)中或每棟樓下都可以隨機(jī)設(shè)立立體車庫。這對目前車庫短缺的小區(qū)解決停車難的問題提供了有效途徑。立體車庫的國內(nèi)外發(fā)展現(xiàn)狀 立體車庫的發(fā)展在國外,尤其在日本己有近30至40年的歷史史,無論在技術(shù)上還是在經(jīng)驗(yàn)上均己獲得了成功。美、德、日、韓等國家的產(chǎn)品代表了國際的領(lǐng)先水平,國內(nèi)立體車庫多為進(jìn)口德國和韓國的產(chǎn)品。在西歐、東南亞、韓國和日本得到了廣泛的應(yīng)用,形成了一個(gè)包括制造、安裝、使用和維修的行業(yè)體系。我國于90年代初開始研究開發(fā)立體車庫,距今己有20幾年的歷程。由于很多新建小區(qū)內(nèi)住戶與車位的配比為1:1,為了解決停車位占地而積與住住戶商用而積的矛盾,立體車庫以其平均單車占地面積小的獨(dú)特特性,己被廣大用戶接受。 立體車庫的種類比較多,目前國內(nèi)外比較流行的型式有:1.升降橫移式該類的主要特點(diǎn)在于:a.節(jié)省占地,配置靈活,建設(shè)周期短。b.價(jià)格低,消防、外裝修、建設(shè)、地基等投資少。c.可采用自動(dòng)控制,構(gòu)造簡單,安全可靠。d.存取車迅速,等候時(shí)間短。e.運(yùn)行平穩(wěn),工作噪聲低。f.適用于商業(yè)、機(jī)關(guān)、住宅小區(qū)配套停車場的使用。 韓國和德國公司的這類產(chǎn)品比較多,二層升降橫移式立體車庫特別適應(yīng)于原有地庫自走式停車場的改造工程。多層升降橫移式主要適應(yīng)于高度不受限制的平面自走式停車場的改造,結(jié)構(gòu)簡單且都已模塊化。2.巷道堆垛式或垂直式 巷道堆垛式立體車庫采用堆垛機(jī)作為存取車輛的工具,所有車輛均由堆垛機(jī)進(jìn)行存取,因此對堆垛機(jī)的技術(shù)要求較高,單臺(tái)堆垛機(jī)成木較高,所以巷道堆垛式立體車庫適用于車位數(shù)需要較多的客戶使用。3.垂直提升式 垂直提升式立體車庫類似于電梯的工作原理,在提升機(jī)的兩側(cè)布置車位,一般地面需一個(gè)汽車旋轉(zhuǎn)臺(tái),可省去司機(jī)調(diào)頭。垂直提升式立體車庫一般高度較高(幾十米),對設(shè)備的安全性,加工安裝精度等要求都很高,因此造價(jià)較高,但占地卻最小。4垂直循環(huán)式此類型的車庫具有如卜特點(diǎn): a.占地少,兩個(gè)泊位面積可停6至10輛車。b.外裝修可只加頂棚,消防可利用消防栓。c.價(jià)格低,地叢、外裝修、消防等投資少,建設(shè)周期短。d.可采用自動(dòng)控制,運(yùn)行安全可靠。本論文是針對目前國內(nèi)停車業(yè)的發(fā)展?fàn)顩r而設(shè)計(jì)的將車位控制系統(tǒng)。車位控制系統(tǒng)對要存入車輛完成車號(hào)輸入、車號(hào)顯示、存儲(chǔ)、選擇最優(yōu)車位及將確定的車位信號(hào)傳輸?shù)裙δ埽粚θ〕鲕囆柰瓿绍囂?hào)輸入、車號(hào)查找、顯示確定車位及車位信號(hào)的傳輸?shù)裙δ堋\囄豢刂葡到y(tǒng)的控制功能分三部分:第一部分為共享功能:車號(hào)輸入功能,車號(hào)顯示功能。第二部分是存車信號(hào)處理功能。車號(hào)的存儲(chǔ)功能,存入車輛的最優(yōu)存入車位的選擇功能,最優(yōu)存入車位的顯示功能,最優(yōu)車位的信號(hào)處理和傳輸功能,第三部分為取車信號(hào)處理功能:1.需取出車輛車號(hào)的查找功能,需取出車輛的車位號(hào)顯示功能,需取出車輛的車位號(hào)的信號(hào)傳輸功能。停車業(yè)在國外已有近三十年的發(fā)展史,在我國大部分技術(shù)是引進(jìn)的,不僅起步晚,也不很成熟,但市場潛力十分大,有待于我們?nèi)ネ卣埂? 系統(tǒng)總體方案設(shè)計(jì)2.1 控制原理車位控制系統(tǒng)主要實(shí)現(xiàn)了對各種數(shù)據(jù)的處理,對車牌號(hào)的存儲(chǔ)及定位處理,選取最優(yōu)車位時(shí)對尋優(yōu)軌跡的數(shù)據(jù)處理以及車牌號(hào)查找時(shí)的數(shù)據(jù)查找等的處理。微處理器需處理不同數(shù)據(jù),有時(shí)也較繁雜。各種數(shù)據(jù)不能隨意亂存放,必須根據(jù)具體數(shù)據(jù)的特點(diǎn)按一定的規(guī)則來組織和存放。本文根據(jù)各數(shù)據(jù)元素之間的相互關(guān)系,對數(shù)據(jù)進(jìn)行了有效的組織,解決了數(shù)據(jù)存儲(chǔ)方式,并設(shè)計(jì)出對應(yīng)的數(shù)據(jù)處理算法。各數(shù)據(jù)元素之間的相互關(guān)系有兩層含意:一種指各數(shù)據(jù)元素之間的抽象關(guān)系,如先后關(guān)系、層次關(guān)系等即邏輯關(guān)系;另一種指在計(jì)算機(jī)中存放地址之間的關(guān)系,即存儲(chǔ)結(jié)構(gòu)。邏輯關(guān)系只考慮數(shù)據(jù)元素之間邏輯上的先后次序,不分上下層次,稱為線性結(jié)構(gòu)。如數(shù)據(jù)元素之間在邏輯上還有上下層關(guān)系或元素之間互相聯(lián)系的情況不規(guī)則,不能簡單地用線性關(guān)系來表達(dá)時(shí),屬于非線性結(jié)構(gòu)。邏輯結(jié)構(gòu)最終必須以某種具體的形式實(shí)現(xiàn),這種具體的形式就是存儲(chǔ)結(jié)構(gòu),可用四種基本方法來實(shí)現(xiàn)。第一種為順序存儲(chǔ),即將各數(shù)據(jù)元素按邏輯上的順序存入在一段連續(xù)的空間內(nèi),并使邏輯上相鄰的元素在想念空間上相鄰;第二種為鏈?zhǔn)酱鎯?chǔ),各數(shù)據(jù)元素存放地址不受約束,可以連成一片,也可以分散在不連續(xù)的若干個(gè)地址上,通過鏈接指針表示各元素相鄰的關(guān)系;第三種為索引存儲(chǔ),在這種存儲(chǔ)方式中保存有一個(gè)索引表,索引表的每一項(xiàng)由兩部分組成,其中一項(xiàng)表示數(shù)據(jù)元素的關(guān)鍵字,另一項(xiàng)中保存有對應(yīng)數(shù)據(jù)元素的實(shí)際存放地址;第四種為散列存儲(chǔ),即直接利用數(shù)據(jù)元素的關(guān)鍵字來計(jì)算該數(shù)據(jù)元素的實(shí)際存放地址。車位控制系統(tǒng)處理的數(shù)據(jù)之間在邏輯上只有先后次序,不分上下層次,都屬于線性結(jié)構(gòu),存儲(chǔ)結(jié)構(gòu)上則各有不同。數(shù)據(jù)元素的邏輯設(shè)計(jì)和存儲(chǔ)設(shè)計(jì)之后要確定算法。數(shù)據(jù)處理都有一定目的,實(shí)現(xiàn)這個(gè)目的的處理方法稱為算法。 2.2 控制功能本章所研究的車位控制系統(tǒng)的控制功能分三部分:第一部分為共享功能;第二部分是存車信號(hào)處理功能;第三部分為取車信號(hào)處理功能。1一、共享控制功能共享功能是指無論存車或取車都需應(yīng)用的功能。主要有:1.車號(hào)輸入功能,即將要存入或取出的車輛的車牌號(hào)從鍵盤上輸入;2.車號(hào)顯示功能,即將從鍵盤上鍵入的車牌號(hào)碼在顯示器上顯示出來,以便確認(rèn)是否輸入正確。二、存車信號(hào)處理功能存車信號(hào)處理功能是指車位控制系統(tǒng)在有車輛需存入車庫所應(yīng)完成的功能,主要包括以下幾項(xiàng):1.車號(hào)的存儲(chǔ)功能,即將鍵盤上輸入的車牌號(hào)碼存入單片機(jī)的存儲(chǔ)器中;2.存入車輛的最優(yōu)存入車位的選擇功能,即根據(jù)現(xiàn)有的車輛存入情況選擇最優(yōu)存入車位的功能;3.最優(yōu)存入車位的顯示功能,即將已選定的最優(yōu)車位在顯示器上顯示出來的功能;4.最優(yōu)車位的信號(hào)處理和傳輸功能,即將選定的最優(yōu)車位轉(zhuǎn)換成信號(hào)并將信號(hào)傳輸給存取車控制系統(tǒng)的功能。三、取車信號(hào)處理功能取車信號(hào)處理功能是指停車庫中已存入車輛需取出時(shí)所需功能,主要有以下幾項(xiàng):1.需取出車輛車號(hào)的查找功能,即根據(jù)輸入的車牌號(hào)碼,在已存入車輛中查找需取出車輛的位置;2.需取出車輛的車位號(hào)顯示功能,即將需去取出車輛的存放車位號(hào)在顯示器上顯示出來;3.需取出車輛的車位號(hào)的信號(hào)傳輸功能,即將需取出車輛的車位號(hào)處理后傳輸給存取車控制系統(tǒng)的功能。 2.3 方案設(shè)計(jì)車位控制指對要存入車輛完成車號(hào)輸入、車號(hào)顯示、存儲(chǔ)、選擇最優(yōu)車位及將確定的車位信號(hào)傳輸?shù)裙δ?;對取出車需完成車?hào)輸入、車號(hào)查找、顯示確定車位及車位信號(hào)的傳輸?shù)裙δ???刂泼姘迨擒囄豢刂撇糠值慕M成部分之一,面板上有輸入鍵和顯示器,輸入鍵包括數(shù)字鍵、字母鍵及存取車、確定、刪除、手動(dòng)/自動(dòng)、開門、關(guān)門、急停等控制鍵。顯示器是8 位的,六位用來顯示車牌號(hào),兩位顯示車位號(hào)。為了實(shí)現(xiàn)車位控制系統(tǒng)和各項(xiàng)控制功能,本文設(shè)計(jì)了一個(gè)微處理器專用控制系統(tǒng),主要由單片機(jī)、儲(chǔ)存器、顯示器、鍵盤和接口芯片組成。圖1-1 是車位控制系統(tǒng)的硬件結(jié)構(gòu)框圖程序存儲(chǔ)器鍵 盤單 片 機(jī)數(shù)據(jù)存儲(chǔ)器停車位顯示燈看 門 狗控制面板LED顯示圖2-1 硬件結(jié)構(gòu)框圖3 系統(tǒng)硬件設(shè)計(jì) 3.1 單片機(jī)的發(fā)展趨勢現(xiàn)在可以說單片機(jī)是百花齊放,百家爭鳴的時(shí)期,世界上各大芯片制造公司都推出了自己的單片機(jī),從8位、16位到32位,數(shù)不勝數(shù),應(yīng)有盡有,有與主流C51系列兼容的,也有不兼容的,但它們各具特色,互成互補(bǔ),為單片機(jī)的應(yīng)用提供廣闊的天地。2 縱觀單片機(jī)的發(fā)展過程,可以預(yù)示單片機(jī)的發(fā)展趨勢,大致有:1.低功耗CMOS化 MCS-51系列的8031推出時(shí)的功耗達(dá)630mW,而現(xiàn)在的單片機(jī)普遍都在100mW左右,隨著對單片機(jī)功耗要求越來越低,現(xiàn)在的各個(gè)單片機(jī)制造商基本都采用了CMOS(互補(bǔ)金屬氧化物半導(dǎo)體工藝)。89C51就采用了HMOS(即高密度金屬氧化物半導(dǎo)體工藝)和CHMOS(互補(bǔ)高密度金屬氧化物半導(dǎo)體工藝)。CMOS雖然功耗較低,但由于其物理特征決定其工作速度不夠高,而CHMOS則具備了高速和低功耗的特點(diǎn),這些特征,更適合于在要求低功耗象電池供電的應(yīng)用場合。所以這種工藝將是今后一段時(shí)期單片機(jī)發(fā)展的主要途徑。 2.微型單片化 現(xiàn)在常規(guī)的單片機(jī)普遍都是將中央處理器(CPU)、片內(nèi)數(shù)據(jù)存儲(chǔ)器(RAM)、只讀程序存儲(chǔ)器(ROM)、并行和串行通信接口,中斷系統(tǒng)、定時(shí)電路、時(shí)鐘電路集成在一塊單一的芯片上,增強(qiáng)型的單片機(jī)集成了如A/D轉(zhuǎn)換器、PWM (脈寬調(diào)制電路)、WDT(看門狗)、有些單片機(jī)將LCD(液晶)驅(qū)動(dòng)電路都集成在單一的芯片上,這樣單片機(jī)包含的單元電路就更多,功能就越強(qiáng)大。甚至單片機(jī)廠商還可以根據(jù)用戶的要求量身定做,制造出具有自己特色的單片機(jī)芯片。此外,現(xiàn)在的產(chǎn)品普遍要求體積小、重量輕,這就要求單片機(jī)除了功能強(qiáng)和功耗低外,還要求其體積要小。3現(xiàn)在的許多單片機(jī)都具有多種封裝形式,其中SMD(表面封裝)越來越受歡迎,使得由單片機(jī)構(gòu)成的系統(tǒng)正朝微型化方向發(fā)展。3.主流與多品種共存現(xiàn)在雖然單片機(jī)的品種繁多,各具特色,但仍以89C51為核心的單片機(jī)占主流,兼容其結(jié)構(gòu)和指令系統(tǒng)的有PHILIPS公司的產(chǎn)品,ATMEL公司的產(chǎn)品和中國臺(tái)灣的Winbond系列單片機(jī)。所以89C51為核心的單片機(jī)占據(jù)了半壁江山。而Microchip公司的PIC精簡指令集(RISC)也有著強(qiáng)勁的發(fā)展勢頭,中國臺(tái)灣的HOLTEK公司近年的單片機(jī)產(chǎn)量與日俱增,與其低價(jià)質(zhì)優(yōu)的優(yōu)勢,占據(jù)一定的市場分額。此外還有MOTOROLA公司的產(chǎn)品,日本幾大公司的專用單片機(jī)。在一定的時(shí)期內(nèi),這種情形將得以延續(xù),將不存在某個(gè)單片機(jī)一統(tǒng)天下的壟斷局面,走的是依存互補(bǔ),相輔相成、共同發(fā)展的道路。 3.2 單片機(jī)的選擇美國Intel公司1980年推出了MCS-51系列高檔8位單片機(jī)。提高了芯片的集成度,性能上大為提高,增加了多種片內(nèi)硬件功能,并擴(kuò)展了功能單元的種類和數(shù)量。4MCS-51單片機(jī)硬件結(jié)構(gòu)及其一些主要特點(diǎn):1.內(nèi)部程序存儲(chǔ)器和內(nèi)部數(shù)據(jù)存儲(chǔ)器2.輸入/輸出口MCS-51單片機(jī)內(nèi)的I/O口的數(shù)量和種類較多且齊全,尤其是它有一個(gè)全雙工的串行口。3.外部程序存儲(chǔ)器和外部數(shù)據(jù)存儲(chǔ)器尋址空間MCS-51可對64KB的外部數(shù)據(jù)存儲(chǔ)器尋址且不受該系列中各種芯片型號(hào)的影響,而對程序存儲(chǔ)器是內(nèi)外總空間為64KB.4.中斷與堆棧MCS-51有5個(gè)中斷源,分為2個(gè)優(yōu)先級,每個(gè)中斷源的優(yōu)先級是可編程的,它的堆棧位置也是可編程的,堆棧深度可達(dá)128字節(jié)。MCS-51子系列有2個(gè)16位的定時(shí)/計(jì)數(shù)器,通過編程可以實(shí)現(xiàn)四種工作模式。MCS-52子系列有3個(gè)16位的定時(shí)/計(jì)數(shù)器。MCS-51在內(nèi)部RAM中開設(shè)了四個(gè)通用工作寄存器區(qū),共32個(gè)通用寄存器,以適應(yīng)多種中斷或子程序嵌套的要求。6.指令系統(tǒng)MCS-51是一個(gè)功能很強(qiáng)的指令系統(tǒng),主要表現(xiàn)在MCS-51的指令系統(tǒng)中增添了減法、乘法、除法、比較、堆棧操作和多種位操作指令。5當(dāng)振蕩器頻率接最高12MHZ時(shí),大部分指令執(zhí)行時(shí)間為1s,少部分為2s,乘除指令的執(zhí)行時(shí)間也只有4s。7.布爾處理器特別值得一提的是MCS-51的布爾處理器。它實(shí)際上是一個(gè)完整的一個(gè)微計(jì)算機(jī),這個(gè)一位的微機(jī)有自己的CPU ,位寄存器、I/O口和指令集。把八位微機(jī)和一位微機(jī)結(jié)合在一起,是微機(jī)技術(shù)上的一個(gè)突破。一位機(jī)在開關(guān)決策、邏輯電路仿真和實(shí)時(shí)測控方面非常有效,而八位機(jī)在運(yùn)算處理、智能儀表常用的數(shù)據(jù)采集方面有明顯的長處。在MCS-51系列單片機(jī)中八位機(jī)和一位機(jī)(布爾處理器)的硬件資源是復(fù)合在一起的,二者相輔相成,這是MCS-51在設(shè)計(jì)上的精美之處,也是一般微機(jī)所不具備的。 3.3 89C51的引腳介紹掌握MCS-51單片機(jī),應(yīng)首先了解MCS-51的引腳,熟悉并牢記各引腳的功能。MCS-51系列中各種芯片的移交是互相兼容的。6制造工藝為HMOS的MCS-51的單片機(jī)都采用40只引腳的雙列直插封裝(DIP方式,如圖所示。目前大多樹為此類封裝方式。制造工藝為CHMOS的8031/89C51/87C51除采用DIP封裝方式以外,還采用方行封裝方式,為44只引腳(其中4只是無用的引腳)如圖3-1所示740只引腳按其功能來分,可分為如下3類:1. 電源及時(shí)鐘引腳:Vcc、Vss;XTAL1、XTAL2。2. 控制引腳:/PSEN、ALE、/EA、RESET3. I/O口引腳;P0、P1、P2、P3、為4個(gè)8位I/O口的外部引腳。下面結(jié)合圖3-1來介紹各引腳的功能。電源及時(shí)鐘引腳1電源引腳電源引腳接入單片機(jī)的工作電源(1) Vcc(40引腳):接+5V電源。(2) Vss(20引腳):接地2時(shí)鐘引腳2個(gè)時(shí)鐘引腳XTAL1,XTAL2外接晶體與片內(nèi)的反相放大器構(gòu)成了1個(gè)振蕩器,它為單片機(jī)提供了時(shí)鐘信號(hào)。2個(gè)時(shí)鐘引腳也可以外接獨(dú)立的晶體振蕩器。XTAL1是片內(nèi)振蕩器的反相放大器輸入端,XTAL2則是輸出端,使用外部振蕩器時(shí),外部振蕩信號(hào)應(yīng)直接加到XTAL1,而XTAL2懸空。內(nèi)部方式時(shí),時(shí)鐘發(fā)生器對振蕩脈沖二分頻,如晶振為12MHz,時(shí)鐘頻率就為6MHz。8晶振的頻率可以在1MHz-24MHz內(nèi)選擇。電容取30PF左右。型號(hào)同樣為AT89C51的芯片,在其后面還有頻率編號(hào),有12,16,20,24MHz可選。大家在購買和選用時(shí)要注意了。如AT89C51 24PC就是最高振蕩頻率為24MHz,40P6封裝的普通商用芯片。根據(jù)綜上分析,此次設(shè)計(jì)中的最小系統(tǒng)的設(shè)計(jì)采用89C51芯片作為最小系統(tǒng)芯片是最佳選擇。(1)XTAL1(19引腳):接外部晶體的1個(gè)引腳。該引腳內(nèi)部是1個(gè)反相放大器的輸入端。這個(gè)反相放大器構(gòu)成了片內(nèi)振蕩器/如果采用外接晶體振蕩器時(shí),此引腳應(yīng)接地。(2)XTAL2(18引腳):接外部晶體的另一端,在該引腳內(nèi)部接至內(nèi)部反相放大器的輸出端。若采用外部時(shí)鐘振蕩器時(shí),該引腳接收時(shí)鐘振蕩器的信號(hào),即把此信號(hào)直接接到內(nèi)部時(shí)鐘發(fā)生器的輸入端。2控制引腳此類引腳提供控制信號(hào),有的引腳還具有復(fù)用功能。(1)RST/Vpd(9引腳):RST(RESET)是復(fù)位信號(hào)輸入斷,高電平有效。當(dāng)單片機(jī)運(yùn)行時(shí),在此引腳加上持續(xù)時(shí)間大于2個(gè)機(jī)器周期的高電平時(shí)候,就可以完成復(fù)位操作。在單片機(jī)正常工作時(shí),此引腳應(yīng)為0.5V低電平。Vpd為本引腳的第二功能,即備用電源的輸入斷。當(dāng)主電源Vcc發(fā)生故障,降低到某一規(guī)定值的低電平時(shí),將+5V電源自動(dòng)接入RST端,為內(nèi)部RAM提供備用電源,以保證片內(nèi)RAM中的信息不丟失,從而使單片機(jī)在復(fù)位后能繼續(xù)正常運(yùn)行。ALE引腳輸出為地址鎖存允許信號(hào),當(dāng)單片機(jī)上電正常工作后,ALE引腳不斷輸出正脈沖信號(hào)。當(dāng)單片機(jī)訪問外部存儲(chǔ)器時(shí),ALE輸出信號(hào)的負(fù)跳沿用于單片機(jī)發(fā)出的低8位地址經(jīng)外部鎖存器鎖存的鎖存控制信號(hào)。即使不訪問外部鎖存器,ALE端仍有正脈沖號(hào)輸出,此頻率為時(shí)鐘振蕩頻率的1/6。如果有脈沖信號(hào)輸出,則單片機(jī)基本上是完好的。應(yīng)該注意的是,每當(dāng)MCS-51訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),在2個(gè)機(jī)器周期中ALE只出現(xiàn)1次,即丟失1個(gè)ALE脈沖。因此,嚴(yán)格來說,用戶不宜用ALE做精確的時(shí)鐘源或定時(shí)信號(hào)。ALE端可以驅(qū)動(dòng)8個(gè)LS型TTL負(fù)載。/PROG為本引腳的第二功能。在對片內(nèi)EPROM型單片機(jī)編程寫入時(shí),此引腳作為編程脈沖輸入端(3)/PSEN:程序存儲(chǔ)器允許輸出控制端。在單片機(jī)訪問外部程序存儲(chǔ)器時(shí),此引腳輸出脈沖負(fù)跳沿作為讀外部程序存儲(chǔ)器的選通信號(hào)。此引腳外接部程序存儲(chǔ)器的/OE端。/PSEN端可以驅(qū)動(dòng)8個(gè)LS型TTL負(fù)載。 如果檢查一個(gè)MCS-51單片機(jī)應(yīng)用系統(tǒng)上電后,CPU能否正常到外部程序存儲(chǔ)器讀取指令碼,可用示波器查/PSEN端有無脈沖輸出。 (4)/EA/Vpp(Enable Address/Voltage Pulse of Programing,31腳):/EA功能為內(nèi)外程序存儲(chǔ)器選擇控制端。 當(dāng)/EA引腳為高電平時(shí),單片機(jī)訪問片內(nèi)程序存儲(chǔ)器,但在PC(程序計(jì)數(shù)器)值超過0FFFH時(shí),即超出片內(nèi)程序存儲(chǔ)器的4KB地址范圍,將自動(dòng)轉(zhuǎn)向執(zhí)行外部程序存儲(chǔ)器內(nèi)的程序。 當(dāng)/EA引腳為低電平時(shí),單片機(jī)則只訪問外部程序存儲(chǔ)器,不論是否有內(nèi)部程序存儲(chǔ)器。對于8031來說,因其無內(nèi)部程序存儲(chǔ)器,所以該引腳必須接地,這樣只能選擇外部程序存儲(chǔ)器。 Vpp為本引腳的第二功能。在對EPROM型單片機(jī)8751內(nèi)EPROM固化編程時(shí),用于施加叫高的編程電壓。10對于89C51,則加在Vpp引腳的編程電壓為+12V或+5V。I/O口引腳(1)P0口:雙向8位三態(tài)I/O口,此口為地址總線(低8位)及數(shù)據(jù)總線分時(shí)復(fù)用口,可驅(qū)動(dòng)8個(gè)LS型TTL負(fù)載。(2)P1口:8位準(zhǔn)雙向I/O口,可驅(qū)動(dòng)4個(gè)LS型TTL負(fù)載。(3)P2口:8位準(zhǔn)雙向I/O口,與地址總線(高8位)復(fù)用,可驅(qū)動(dòng)4個(gè)LS型TTL負(fù)載。(4)P3口:8位準(zhǔn)雙星I/O口,雙功能復(fù)用口,可驅(qū)動(dòng)4個(gè)LS型TTL負(fù)載。這里要特別注意準(zhǔn)雙向與雙向三態(tài)口的差別。P1口,P2口,P3口是3個(gè)8位雙向的I/O口,各口線在片內(nèi)均有固定的上拉電阻。當(dāng)這3個(gè)準(zhǔn)雙向I/O口作輸入口使用時(shí),要向該口先寫1,另外準(zhǔn)雙向I/O口無高阻的“浮空”狀態(tài),故稱為雙向三態(tài)I/O口。其引腳圖如下所示:圖3-1 89C51引腳圖 3.4 單片機(jī)最小系統(tǒng)的設(shè)計(jì) (1)此次設(shè)計(jì)選用89C51的最小系統(tǒng),89C51內(nèi)部有4KB閃爍存儲(chǔ)器,芯片本身就是一個(gè)最小系統(tǒng)。11在能滿足系統(tǒng)的性能要求情況下,可優(yōu)先考慮采用此種方案。用這種芯片構(gòu)成的最小系統(tǒng)簡單很可靠。用89C51單片機(jī)構(gòu)成的最小應(yīng)用系統(tǒng)時(shí),只要將單片機(jī)接上時(shí)鐘電路和復(fù)位電路即可,該系統(tǒng)與其他最小系統(tǒng)相比,省去了外擴(kuò)程序存儲(chǔ)器的工作,該最小應(yīng)用系統(tǒng)只能用作一些小型的數(shù)字量的測控單元。單片機(jī)最小系統(tǒng)電路如圖32所示 圖3-2 89C51最小系統(tǒng)(2) 看門狗電路設(shè)計(jì)MCS-51的PC受到干擾而失控,引起程序亂飛,可能會(huì)使程序陷入死循環(huán)。指令和軟件技術(shù)不能使失控的程序擺脫死循環(huán)的困境,這時(shí)系統(tǒng)將完全癱瘓。如果操作人員不在場,可按下人工復(fù)位按鈕,強(qiáng)制系統(tǒng)復(fù)位。但操作人員不可能一直監(jiān)控著系統(tǒng),即使監(jiān)視著系統(tǒng),也往往是在引起不良后果之后才進(jìn)行人工復(fù)位。能不能不要人來監(jiān)視,就能使系統(tǒng)擺脫死循環(huán),重新執(zhí)行正常的程序呢?這可采用“看門狗”技術(shù)來解決這一問題。12“看門狗”技術(shù)就是使用一個(gè)計(jì)數(shù)器來不斷計(jì)數(shù),監(jiān)視程序循環(huán)運(yùn)行。若發(fā)現(xiàn)時(shí)間超過已知的循環(huán)設(shè)定時(shí)間,則認(rèn)為系統(tǒng)陷入了死循環(huán),這時(shí)計(jì)數(shù)器溢出,然后強(qiáng)迫系統(tǒng)復(fù)位,在復(fù)位入口0000H處安排一段出錯(cuò)處理程序,使系統(tǒng)運(yùn)行進(jìn)入正軌.另外,在單片機(jī)系統(tǒng)運(yùn)行時(shí),有可能會(huì)發(fā)生電源掉電的意外情況,一些重要的數(shù)據(jù)可能丟失。這時(shí)需要系統(tǒng)應(yīng)首先檢測到電源的變化,然后通過切換電路把備用電池接入系統(tǒng),以保護(hù)RAM中的數(shù)據(jù)不丟失。目前看門狗電路和掉電保護(hù)電路,都已經(jīng)集成在一片微處理器監(jiān)控芯片中。因此MCS-51只需要擴(kuò)展一片微處理器監(jiān)控芯片即可。這類芯片集成化程度高,功能齊全,具有廣闊的應(yīng)用前景。在單片機(jī)應(yīng)用系統(tǒng)中使用微處理器監(jiān)控芯片,可以大大提高單片機(jī)應(yīng)用系統(tǒng)的抗干擾能力和可靠性。1)復(fù)位電路微處理器在上電、掉電及低壓供電時(shí),監(jiān)控器產(chǎn)生脈沖信號(hào)這可以保證微處理器實(shí)現(xiàn)上電自動(dòng)復(fù)位:當(dāng)供電壓過低時(shí),防止CPU失控。電源電壓Vcc升到1V時(shí)RESET引腳變?yōu)榈碗娖?,隨著Vcc的繼續(xù)升高,RESET一直保持低電平。13當(dāng)Vcc高于復(fù)位門限電平時(shí),RESET并不馬上變?yōu)楦唠娖?,而是要滯后一個(gè)復(fù)位脈沖寬度(約200ms)后再變?yōu)楦唠娖?。?dāng)Vcc低于復(fù)位門限電平,RESET引腳馬上變成低電平,即使以后Vcc恢復(fù)且高于復(fù)位門限電平,RESET也不馬上變成高電平,而是要延遲一個(gè)復(fù)位脈沖寬度。掉電時(shí),Vcc只要低于復(fù)位門限電平,RESET立即變?yōu)榈碗娖健?)看門狗電路此次設(shè)計(jì)選用MAX690A微處理器做為監(jiān)控器芯片。14看門狗電路計(jì)數(shù)器定時(shí)電路,在WDI端輸入一個(gè)脈沖(TTL電平,寬度可小至50ms),定時(shí)器開始計(jì)數(shù)。若WDI引腳懸空或接至阻態(tài)輸出的緩沖器上定時(shí)器則停止計(jì)數(shù),并且清零。當(dāng)定時(shí)器啟動(dòng)后,若在1.6s內(nèi)沒有向WDI輸入脈沖,監(jiān)控器將輸出一個(gè)復(fù)位信號(hào),引腳RESET變低電平,同時(shí)定時(shí)器清零,只要RESET為低電平,定時(shí)器將一直停止工作。MCS-51與MAX690A自動(dòng)監(jiān)控的接線如下,+5V電壓跌落到某電壓值,這就需要合理選擇電阻R7、R8的值,所以R10=1K歐姆,R9=2.6K歐姆。電路圖如下: 圖 3-3 看門狗電路原理圖 3.5 顯示、鍵盤電路的設(shè)計(jì)(1)顯示電路的設(shè)計(jì)LED顯示器結(jié)構(gòu)常用的LED顯示器分為8段(或7段,8段比7段多了1個(gè)小數(shù)點(diǎn)“dp”段)。每一個(gè)段對應(yīng)1個(gè)發(fā)光2極管。這種顯示器有共陽極和共陰極2中,共陰極LED顯示器的發(fā)光二極管的陰極連接在一起,通常此公共陰極接地。當(dāng)某個(gè)發(fā)光二極管的陽極為高電平時(shí),發(fā)光二極管點(diǎn)亮,相應(yīng)的段被顯示。同樣,共陽極LED顯示器的發(fā)光二極管的陽極連接在一起,通常此公共陽極接正電壓,當(dāng)某個(gè)發(fā)光二極管的陰極接低電平時(shí),發(fā)光二極管被點(diǎn)亮,相應(yīng)的段被顯示。為了使LED顯示器顯示不同的符號(hào)或數(shù)字,就要把不同段的發(fā)光二極管點(diǎn)亮,這樣就要為LED顯示器提供代碼,因此這些代碼可使LED相應(yīng)的段發(fā)光,從而顯示不同字型,因此該代碼稱之為段碼(或成為字型碼)。顯示器的工作原理由N個(gè)LED顯示塊可拼連接成N位的LED顯示器,N個(gè)LED顯示塊有N位為線和8xN根段碼線。段碼線控制顯示字符的字型,而位選線位各個(gè)LED顯示塊中各段的公共端,它控制該LED顯示位的亮或暗。 點(diǎn)亮顯示器有靜態(tài)和動(dòng)態(tài)兩種方法。所謂的靜態(tài)顯示,就是當(dāng)顯示器顯示某一個(gè)字符時(shí),相應(yīng)的發(fā)光二極管恒定的導(dǎo)通或截止,例如7段顯示器a、b、c、d、e、f導(dǎo)通,g截止,顯示0。這種顯示方式每一位都需要有一個(gè)8位輸出口控制。靜態(tài)顯示時(shí),較小的電流能得到較高的亮度且字符不閃爍,所以可由8255A的輸出口直接驅(qū)動(dòng)。在單片機(jī)串行口方式0應(yīng)用中,也是采用靜態(tài)顯示方法。當(dāng)顯示器位數(shù)較少時(shí),采用靜態(tài)顯示的方法是適合的。當(dāng)位數(shù)較多時(shí),用靜態(tài)顯示所需要的I/O太多,一般采用動(dòng)態(tài)顯示方法。靜態(tài)顯示方式:各位的共陰極或共陽極連接在一起并接地;每位的段碼線分別與一個(gè)8位的鎖存器輸出相連。之所以稱為靜態(tài)顯示,是因?yàn)楦鱾€(gè)LED的顯示字符一經(jīng)確定,相應(yīng)鎖存器所存的段碼輸出將維持不變,直到送入另一個(gè)字符的段碼為止。正因如此,靜態(tài)顯示器的亮度都較高。這種顯示方式接口編程容易,付出的代價(jià)是占用的口線較多。如果顯示器的位數(shù)增多,則需要增加鎖存器。因此在顯示位數(shù)較多的情況下,一般都采用動(dòng)態(tài)顯示方式。動(dòng)態(tài)顯示方式:在多位LED顯示時(shí),為簡化硬件電路,通常將所有位的段碼線相應(yīng)段并聯(lián)在一起,由一個(gè)8位I/O口控制,形成段碼線的多路復(fù)用,而各位的共陽極或共陰極分別由相應(yīng)的I/O線控制,形成各位的分時(shí)選通。若要各位LED能夠同時(shí)顯示出與本位相應(yīng)的顯示字符,就必須采用動(dòng)態(tài)顯示方式,即在某一時(shí)刻,只讓某一位的位線處于選通狀態(tài),而其他各位的位選線處于關(guān)閉狀態(tài),同時(shí),段碼線上輸出相應(yīng)位要顯示的字符的段碼。這樣 在同一時(shí)刻,4位LED中的只有選通的哪一位顯示出字符,而其他3位則是熄滅的,同樣在下一時(shí)刻,只讓下一位選線處于選通狀態(tài),而其他各位的位選線處于關(guān)閉狀態(tài), 在段碼線上舒服將要顯示字符的段碼,則同一時(shí)刻,只有選通位顯示出相應(yīng)的字符,而其他各位則是熄滅的,如此循環(huán)下去,就可以使各位顯示出相應(yīng)的字符,雖然這些字符是在不同時(shí)刻出現(xiàn)的,而在下一時(shí)刻,只有一位顯示,其他各位熄滅,但由于LED 顯示器的余輝和人眼的視覺暫留作用,只要每位顯示間隔足夠短,則可以造成多為同時(shí)亮的假象,達(dá)到同時(shí)顯示的效果。 LED不同位顯示的時(shí)間間隔應(yīng)根據(jù)實(shí)際情況而定。發(fā)光二極管從導(dǎo)通到發(fā)光有一定的延時(shí),導(dǎo)通時(shí)間太短,則發(fā)光太弱,人眼無法看清,但也不能太長,因?yàn)橐芟抻谂R界閃爍頻率,而且次時(shí)間越長,占用CPU時(shí)間也越長多。另外,顯示位數(shù)增多,也將占用大量的CPU時(shí)間,因此動(dòng)態(tài)顯示實(shí)質(zhì)是以犧牲CPU時(shí)間來換取器件的減少的。綜上所述,此次設(shè)計(jì)選靜態(tài)顯示是最合適的方法。顯示原理圖如下圖所示 圖3-4 顯示電路(2)鍵盤電路的設(shè)計(jì)行列式鍵盤接口行列式(也稱矩陣式)鍵盤用于按鍵數(shù)目較多的場合,它由行線和列線組成,按鍵位于行、列的交叉點(diǎn)上。1個(gè)33的行、列結(jié)構(gòu)可以構(gòu)成1個(gè)具有9個(gè)按鍵的鍵盤。同理1個(gè)44的行、列結(jié)構(gòu)可以構(gòu)成1個(gè)16個(gè)按鍵的鍵盤等等。如圖所示。很明顯,在按鍵數(shù)目較多的場合,行列式鍵盤與獨(dú)立式鍵盤相比,要節(jié)省很多的I/O口線。 圖3-5 33鍵盤行列式鍵盤工作原理按鍵設(shè)置在行、列線交點(diǎn)上,行、列分別連接到按鍵開關(guān)的兩端。行線通過上拉電阻接到+5V上。無按鍵按下時(shí),行線處于高電平狀態(tài),而當(dāng)有按鍵按下時(shí),行線電平狀態(tài)將由與此行線相連的列線的電平?jīng)Q定。列線的電平如果為低,則行線電平為低;列線的電平如果為高,則行線電平亦為高。這一點(diǎn)是識(shí)別行列式鍵盤是否按下的關(guān)鍵所在。由于行列式鍵盤中行、列線為多鍵共用,各按鍵均影響該鍵所在的行和列的電平。因此各按鍵彼此將相互發(fā)生影響,所以必須將行、列線信號(hào)配合起來并作是的處理,才能確定閉合鍵的位置。掃描法下面以圖中3號(hào)鍵被按下為例,來說明此鍵是如何被識(shí)別出來的。當(dāng)3號(hào)鍵被按下時(shí),與3號(hào)鍵相兩的行線電平將由與此鍵相連的列線電平?jīng)Q定,而行線電平在無按鍵按下時(shí)處于高電平狀態(tài)。如果讓所有的列線處于低電平,很明顯,按鍵所在的行電平將被接成低電平,根據(jù)此行電平的變化,便能判定此行一定有按鍵被按下。但還不能確定是鍵3被按下,以為如果鍵3不被按下,而同一行的鍵2、1或0之一被按下,均回產(chǎn)生同樣的效果。所以,行線處于低電平只能得出某行有按鍵被按下的結(jié)論。為進(jìn)一步判定到底是哪一列的按鍵被按下,可采用掃描法來識(shí)別。即在某一時(shí)刻只讓1條列線處于低電平,其余所有列線處于高電平。當(dāng)?shù)谝涣袨榈碗娖?,其余各列為高電平時(shí),以為是鍵3被按下,所以1行仍處于高電平狀態(tài);而當(dāng)?shù)诙袨榈碗娖?,其余各列為高電平時(shí),同樣我們會(huì)發(fā)現(xiàn)第1行仍處于高電平狀態(tài);直到讓第4列為低電平,其余各列為高電平時(shí),以為瓷實(shí)號(hào)鍵被按下,所以第一行的電平將由高電平轉(zhuǎn)換到第4列所處的低電平,據(jù)此可以判斷第1行第4列的交叉點(diǎn)處的按鍵,即3號(hào)鍵被按下。 根據(jù)上面的分析,很容易想到識(shí)別鍵盤有無鍵盤被按下的方法,此方法分2步進(jìn)行:第1步,識(shí)別鍵盤有無鍵被按下;第2步,如有鍵盤被按下,識(shí)別出具體的按鍵。分別介紹如下:首先把所有的列線均置為低電平,檢查各行線是否有變化,如果有變化,則說明有鍵被按下,如果沒有變化,則說明無鍵被按下。上述識(shí)別具體按鍵的方法也稱為掃描法,即先把某一列置低電平,其余各列置為高電平,檢查各行線電平的變化,如果某行線為低電平,則可確定次行此列交叉點(diǎn)處的按鍵被按下。(3)鍵盤的工作方式單片機(jī)應(yīng)用系統(tǒng)中,鍵盤掃描只是單片機(jī)的工作內(nèi)容之一。單片機(jī)在忙于各項(xiàng)工作任務(wù)時(shí),如何兼顧鍵盤的輸入,取決于鍵盤的工作方式。鍵盤工作方式的選取應(yīng)根據(jù)實(shí)際應(yīng)用系統(tǒng)中CPU工作的忙、閑情況而定。其原則是既要保證能即使響應(yīng)按鍵操作,又不要過多的占用CPU的時(shí)間,通常,鍵盤工作方式有三種:即編程掃描、定時(shí)掃描、中斷掃描。111)編程掃描方式這種方式就是只有當(dāng)單片機(jī)空閑時(shí),才調(diào)用鍵盤掃描子程序,反復(fù)的掃描鍵盤,等待用戶從鍵盤上輸入命令或數(shù)據(jù),來響應(yīng)鍵盤的輸入請求。圖為1個(gè)48矩陣鍵盤通過8255A擴(kuò)展I/O口與8031的借口電路原理圖,鍵盤采用編程掃描方式工作,8255A的PC口低4位輸出逐行掃描信號(hào),PA口輸入8位列信號(hào),均為低電有效。8255A的A0,A1端分別接于地址線A0,A1上,/CS與P2.7相接,/WR、/RD分別與8031的/WR和/RD相連。PC口低4位狀態(tài),若PC0PC3全1,則說明鍵盤無鍵按下;若不完全為1,則說明鍵盤有可能有鍵按下。2) 用軟件延時(shí)10ms來消除按鍵抖動(dòng)的影響。確實(shí)有按鍵按下時(shí),進(jìn)行下一步。3)在鍵盤掃描子程序中,首先判斷鍵盤上有無鍵按下。其方法為PA口8位輸出全0,讀求按下鍵的鍵號(hào)。根據(jù)前面的介紹的掃描法,逐列置0掃描,讀入行線的狀態(tài),最后確定按鍵位置。4) 等待按鍵釋放后,在進(jìn)行按鍵功能的處理操作。(4) 定時(shí)掃描的工作方式 單片機(jī)對鍵盤的掃描也可以采用定時(shí)掃描方式,即每隔一定的時(shí)間對鍵盤掃描一次。在這種掃描方式中,通常利用單片機(jī)內(nèi)的定時(shí)器,產(chǎn)生10ms的定時(shí)中斷,CPU響應(yīng)定時(shí)器溢出中斷請求,對鍵盤進(jìn)行掃描,在有鍵按下時(shí)識(shí)別出該鍵,并執(zhí)行相應(yīng)鍵的處理功能程序。(5) 中斷工作方式 為了進(jìn)一步提高單片機(jī)掃描鍵盤的工作效率,可采用中斷掃描方式,即只有在鍵盤有按鍵按下時(shí),才執(zhí)行鍵盤掃描程序并執(zhí)行該按鍵功能程序,如果無按鍵按下,單片機(jī)將不理睬鍵盤。3.6 鎖存器 74LS373的介紹與選擇本次設(shè)計(jì)選用的鎖存器為74LS373,它是一種帶有三態(tài)門的8D鎖存器,其引腳如圖所示 其內(nèi)部結(jié)構(gòu)如圖3-4所示其引腳說明如下:D7-D0:8位數(shù)據(jù)輸入線。Q7-Q0:8位數(shù)據(jù)輸出線。G:數(shù)據(jù)輸入鎖存選通引腳,高電平有效。當(dāng)該信號(hào)為高電平時(shí),外部數(shù)據(jù)選通到內(nèi)部鎖存器,負(fù)跳變時(shí),數(shù)據(jù)鎖存到鎖存器中G為數(shù)據(jù)鎖存控制端;當(dāng)G為“1”時(shí),鎖存器輸出端同輸入端;當(dāng)G由“1”變“0”時(shí),數(shù)據(jù)輸入鎖存器中。OE為輸出允許端;當(dāng)OE為“0”時(shí),三態(tài)門打開;當(dāng)OE為“1”時(shí),三態(tài)門關(guān)閉,輸出呈高阻狀態(tài)。在MCS-51單片機(jī)系統(tǒng)中,常采用74LS373作為地址鎖存器使用,其中輸入端1D8D接至單片機(jī)的P0口,輸出端提供的是低8位地址,G端接至單片機(jī)的地址鎖存允許信號(hào)ALE。輸出允許端OE,接地,表示輸出三態(tài)門一直打開。圖3-6 74LS373的引腳圖3.7 2732的芯片引腳功能如下:A0-A15:地址線引腳。地址線引腳的數(shù)目由芯片的存儲(chǔ)容量來定,用來進(jìn)行單元選擇。D7-D0:數(shù)據(jù)線引腳。/CE:片選輸入端/OE:輸出允許控制端。/PGM:編程時(shí),加編程脈沖的輸入端。Vpp:編程時(shí),編程電壓(+12V或+25V)輸入端。Vcc+5V,芯片的工作電壓輸入端GND:數(shù)字地。NC:無用端。3.8 6264數(shù)據(jù)存儲(chǔ)器的介紹與選擇6264是8K8位的靜態(tài)數(shù)據(jù)存儲(chǔ)器芯片,采用CMOS工藝制作,單一+5V電源,額定功耗165mw,典型存取時(shí)間為200ns,24線雙列直插式封裝。在此設(shè)計(jì)中用于擴(kuò)展89C51內(nèi)部數(shù)據(jù)存儲(chǔ)器容量。A0A12為片內(nèi)13位地址線,D0D7為8位數(shù)據(jù)線CE為片選信號(hào),OE為讀允許信號(hào)線,WE為寫信號(hào)線。數(shù)據(jù)存儲(chǔ)器擴(kuò)展電路與程序存儲(chǔ)器擴(kuò)展電路相似,所用的地址線,數(shù)據(jù)線完全相同,讀,寫控制線用WR,RD但要考慮的問題比程序存儲(chǔ)器涉及的問題要多,如I/O口擴(kuò)展的統(tǒng)一編址問題。3.9 6264引腳功能的介紹與選STAM的各引腳功能如下:A0-A14:地址輸入線。D0-D7:雙向三態(tài)數(shù)據(jù)線。/CE:片選信號(hào)輸入線,低電平有效。對于6264芯片,當(dāng)引腳26(CS)為高電平時(shí),且/CE為低電平時(shí)才選中該片。/OE:讀選通信號(hào)輸入線,低電平有效。/WE:寫允許信號(hào)輸入線,低電平有效。Vcc:工作電源+5V。GND:地線。靜態(tài)SRAM存儲(chǔ)器有讀出,寫入,維持三中工作方式, 這些工作方式的操作控制如表1所示: 表3-1 操作控制表信號(hào)方式/CE/OE/WED0D7讀VILVILVIH數(shù)據(jù)輸出寫VILVIHVIL數(shù)據(jù)輸入維持VIH任意任意高阻態(tài)3.10 8255芯片介紹8255是Inter公司生產(chǎn)的可編程并行I/O接口芯片,它具有3個(gè)8位的并行I/O口,3種工作方式,可以通過編程改變其功能,因而使用靈活方便,通用性強(qiáng),可作為單片機(jī)與多種外圍設(shè)備連接時(shí)的中間接口電路。此設(shè)計(jì)中8255芯片用于擴(kuò)展接口。8255A的引腳如圖所示。15由圖所示 8255共有40只引腳,采用雙列直插式封裝,各引腳功能如下:D7D0:三態(tài)雙向數(shù)據(jù)線,與單片機(jī)數(shù)據(jù)總線連接,用來傳誦數(shù)據(jù)信息。/CS:片選信號(hào)線,低電平有效,表示本芯片被選中。/RD:讀出信號(hào)線,低電平有效,控制8255A數(shù)據(jù)的讀出。/WR:寫入信號(hào)線,低電平有效,控制向8255A數(shù)據(jù)的寫入。Vcc:+5V電源。PA7PA0:A口輸入/輸出線。PB7PB0:B口輸入/輸出線。PC7PC0:C口輸入/輸出線。A1A0:地址線,用來選擇8255A內(nèi)部的4個(gè)端口。8255A的內(nèi)部結(jié)構(gòu)8255A內(nèi)部結(jié)構(gòu)見圖,其中包括3個(gè)并行數(shù)據(jù)輸入/輸出端口,2個(gè)工作方式的控制電路,1個(gè)讀/寫控制邏輯電路和8位數(shù)據(jù)總線緩沖器。各部件的功能如下: 8255有3個(gè)8位并行口,PA、PB和PC。都可以選擇作為輸入/輸出工作模式,但在功能上有點(diǎn)差異。讀/寫控制邏輯電路接收CPU發(fā)來的控制信號(hào)/RD、/WR、RESET、地址信號(hào)A1A0等,然后根據(jù)控制信號(hào)的要求,將斷口數(shù)據(jù)讀出,送往CPU或者將CPU共來的數(shù)據(jù)寫入端口RESET:復(fù)位輸入線,當(dāng)該輸入端外于高電平時(shí),所有內(nèi)部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成輸入方式。CS:片選信號(hào)線,當(dāng)這個(gè)輸入引腳為低電平時(shí),表示芯片被選中,允許8255與CPU進(jìn)行通訊。 RD:讀信號(hào)線,當(dāng)這個(gè)輸入引腳為低電平時(shí),允許8255通過數(shù)據(jù)總線向CPU發(fā)送數(shù)據(jù)或狀態(tài)信息,即CPU從8255讀取信息或數(shù)據(jù)。 WR:寫入信號(hào),當(dāng)這個(gè)輸入引腳為低電平時(shí),允許CPU將數(shù)據(jù)或控制字寫8255。D0D7:三態(tài)雙向數(shù)據(jù)總線,8255與CPU數(shù)據(jù)傳送的通道 PA口:1個(gè)8位數(shù)據(jù)輸出鎖存器和緩沖器;1個(gè)8位輸入鎖存器。 PB口:1個(gè)8位數(shù)據(jù)輸出鎖存器和緩沖器;1個(gè)8位數(shù)據(jù)輸入緩沖器。 PC口:1個(gè)8位的輸出鎖存器;1個(gè)8位數(shù)據(jù)輸入緩沖器。 通常PA口、PB口作為輸入/輸出口,PC可作為輸入/輸出口,也可在軟件的控制下,分為2個(gè)4位的端口,作為端口A、B選通方式操作時(shí)的狀態(tài)控制信號(hào)。(1) A組和B組控制電路 這是2組根據(jù)CPU寫入的命令控制8255A工作方式的控制電路。A組控制PA口和PC口的上半部(PC7PC4);B組控制PB口和PC口的下半部(PC3PC0),本可根據(jù)命令字對端口的每一位實(shí)現(xiàn)按位置或復(fù)位。16(2) 數(shù)據(jù)總線緩沖器 數(shù)據(jù)總線緩沖器是1個(gè)三態(tài)雙向8位緩沖器,作為8255A與系統(tǒng)總線之間的接口,用來傳送數(shù)據(jù)、指令、控制命令以及外部狀態(tài)信息。(3) 讀/寫控制邏輯電路 圖3-8 8255的引腳圖4 系統(tǒng)的軟件設(shè)計(jì) 4.1 控制系統(tǒng)的主程序功能及流程圖主程序完成下述主要功能:1. 初始化程序的設(shè)置;2. 存取車狀態(tài)的讀入,及車牌號(hào)的讀入、顯示;3. 存取車子程序的調(diào)入;4. 給存取車控制系統(tǒng)的單片機(jī)信號(hào)的傳遞。主程序流程圖如圖4-1所示。開 始 初始化鍵盤掃描子程序存車鍵取車鍵NYY調(diào)取車子程序調(diào) 存 車 子 程 序給存取車控制系統(tǒng)發(fā)信號(hào)圖4-1 主程序流程圖 4.2 最優(yōu)車位的實(shí)現(xiàn)本文研究的自動(dòng)立體停車庫有40 個(gè)車位,共20 層,每層兩個(gè)車位,當(dāng)有車存入時(shí),微處理器需確定存入哪個(gè)車位,就出現(xiàn)了選取最優(yōu)化車位的問題。最優(yōu)化條件首先是存車所需時(shí)間最短,其次是以消耗最少能源為準(zhǔn)。存車的能量消耗主要與提升層數(shù)關(guān)系密切,層數(shù)越低,能量消耗越少。選取最優(yōu)車位的方法,本論文采用了較簡單的方法,即根據(jù)車位的層數(shù)排列出選取的順序,根據(jù)此順序建立一個(gè)現(xiàn)行表最優(yōu)車位庫。每個(gè)車位需兩個(gè)字節(jié),第一個(gè)字節(jié)表示是否有車存入,第二個(gè)字節(jié)表示此位置的車位號(hào)。程序在此線性表中進(jìn)行順序查找。時(shí)間和空間的矛盾是計(jì)算機(jī)世界許多相同的功能出現(xiàn)

溫馨提示

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

最新文檔

評論

0/150

提交評論