版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 摘 要</b></p><p> 隨著經(jīng)濟(jì)的高速增長(zhǎng),汽車的社會(huì)擁有量不斷增加,越來越多的人加入了購車行列,私家車的數(shù)量越來越大,汽車停車場(chǎng)的數(shù)量將隨之增加,規(guī)模不斷擴(kuò)大,這給停車場(chǎng)的車輛管理系統(tǒng)(停車效率、停車安全)提出了新的挑戰(zhàn)。汽車數(shù)量的劇增和停車場(chǎng)地的相對(duì)短缺,使得停車場(chǎng)的管理收費(fèi)問題凸現(xiàn)。特別是大型超市的臨時(shí)停車場(chǎng)管理收費(fèi)更加困難。該停車收費(fèi)系統(tǒng)操
2、作簡(jiǎn)單,價(jià)格低廉,安裝調(diào)試方便,很好地解決了臨時(shí)停車場(chǎng)的管理和收費(fèi)問題。</p><p> 傳統(tǒng)的停車計(jì)費(fèi)方式存在著一些不足,針對(duì)這些不足,設(shè)計(jì)了一個(gè)采用單片機(jī)計(jì)費(fèi)方式的自動(dòng)停車收費(fèi)管理系統(tǒng),為臨時(shí)停車場(chǎng)提供了一個(gè)操作簡(jiǎn)便、價(jià)格低廉,而且行之有效的管理辦法。本系統(tǒng)的實(shí)際開發(fā)使用將大大節(jié)省臨時(shí)停車場(chǎng)的管理費(fèi)用及人手,提高臨時(shí)停車場(chǎng)的利用效率。系統(tǒng)采用的檢測(cè)計(jì)費(fèi)方式,可以實(shí)現(xiàn)自動(dòng)開啟關(guān)閉大門功能、自動(dòng)計(jì)費(fèi)功能、顯示
3、功能(顯示停車場(chǎng)狀況)、查詢功能,而且收費(fèi)方式可以調(diào)節(jié),使系統(tǒng)更具靈活性。</p><p> 整個(gè)自動(dòng)停車收費(fèi)管理系統(tǒng)操作簡(jiǎn)單、價(jià)格低廉、安裝調(diào)試方便,能夠滿足管理臨時(shí)停車場(chǎng)的要求。本系統(tǒng)的實(shí)際開發(fā)使用將大大節(jié)省臨時(shí)停車場(chǎng)的管理費(fèi)用及人手,提高臨時(shí)停車場(chǎng)的利用效率。</p><p> 關(guān)鍵詞:?jiǎn)纹瑱C(jī),停車場(chǎng),自動(dòng)停車收費(fèi)系統(tǒng),LCD,顯示</p><p><
4、;b> ABSTRACT</b></p><p> The management system introducing that one money parking lot automation motor stoppage of monolithic machine charges owing to AT89C51, inquiry function opening automatical
5、ly closing the entrance door function , the automation meter fee function , showing, and charge way is not bad adjust , make flexibility have more systematically. That automation motor stoppage charges systematically han
6、dling a simplicity , price is cheap , the installation debugging goes to the lavatory, problem having resolve</p><p> Key Words:Monolithic machine,Parking lot,Charge for automation motor stoppage is systema
7、tic,LCD,Display</p><p><b> 目 錄</b></p><p><b> 摘 要1</b></p><p><b> 第一章 前言5</b></p><p> 1.1 項(xiàng)目研究背景5</p><p> 1.2
8、 項(xiàng)目發(fā)展趨勢(shì)6</p><p> 1.3 項(xiàng)目研究的目的和意義7</p><p> 第二章 系統(tǒng)方案設(shè)計(jì)8</p><p> 2.1 總體介紹8</p><p> 2.1 系統(tǒng)框架8</p><p> 2.2 工作流程9</p><p> 第三章 系統(tǒng)硬件設(shè)計(jì)10
9、</p><p> 3.1 單片機(jī)簡(jiǎn)介10</p><p> 3.1.1 單片機(jī)的選擇10</p><p> 3.1.2 89C51的引腳介紹11</p><p> 3.1.3 89C51單片機(jī)的存儲(chǔ)器14</p><p> 3.2 顯示器介紹19</p><p>
10、; 3.2.1 顯示器的選擇19</p><p> 3.2.2 液晶顯示原理19</p><p> 3.2.3 1602LCD的使用說明20</p><p> 3.3 鍵盤電路的設(shè)計(jì)25</p><p> 3.3.1 獨(dú)立式按鍵25</p><p> 3.3.2 行列式鍵盤接口
11、26</p><p> 3.3.3 行列式鍵盤工作原理26</p><p> 3.4 時(shí)鐘電路29</p><p> 3.5 大門控制電路30</p><p> 3.5.1 控制電器簡(jiǎn)介30</p><p> 3.5.2 控制電路構(gòu)成31</p><p> 第
12、四章 系統(tǒng)的軟件設(shè)計(jì)32</p><p> 4.1 控制系統(tǒng)的主程序功能及流程圖32</p><p> 4.2 系統(tǒng)子程序設(shè)計(jì)33</p><p> 4.2.1 1602顯示子程序34</p><p> 4.2.2 鍵盤掃描子程序35</p><p> 4.2.3 計(jì)算鍵值子程序36&
13、lt;/p><p> 4.2.4 鍵盤調(diào)節(jié)顯示子程序37</p><p> 4.2.5 時(shí)鐘設(shè)計(jì)及顯示38</p><p> 第五章 調(diào)試過程及運(yùn)行結(jié)果39</p><p> 5.1 調(diào)試過程39</p><p> 5.2 運(yùn)行結(jié)果42</p><p><b>
14、 總 結(jié)43</b></p><p><b> 致 謝44</b></p><p><b> 參考文獻(xiàn)45</b></p><p><b> 附錄46</b></p><p> 附錄一程序清單46</p><p> 附錄二
15、元件明細(xì)表60</p><p> 附錄三電路原理圖61</p><p> 附錄四電氣原理圖62</p><p><b> 第一章 前言</b></p><p> 1.1 項(xiàng)目研究背景</p><p> 停車場(chǎng)收費(fèi)系統(tǒng)是伴隨著公用收費(fèi)停車場(chǎng)這一新生事物而誕生的。它的出現(xiàn)克服了原始的
16、人工收費(fèi)方式存在的收費(fèi)過程繁瑣,通行效率低下以及票款流失等難以解決的問題。隨著經(jīng)濟(jì)的發(fā)展以及技術(shù)的進(jìn)步,種類繁多的停車場(chǎng)管理系統(tǒng)競(jìng)相出現(xiàn)。許多現(xiàn)代控制領(lǐng)域及智能交通領(lǐng)域的前沿技術(shù)在停車場(chǎng)管理系統(tǒng)中得到廣泛應(yīng)用,使當(dāng)今停車場(chǎng)管理系統(tǒng)越來越具有智能化的特點(diǎn)。 目前,國外停車場(chǎng)管理系統(tǒng)經(jīng)過多年的發(fā)展,已基本進(jìn)入智能無人化收費(fèi)的階段。其使用的收費(fèi)介質(zhì)已由傳統(tǒng)接觸讀寫類型收費(fèi)介質(zhì)轉(zhuǎn)變?yōu)榉墙佑|的新型收費(fèi)介質(zhì)。國外停車場(chǎng)收費(fèi)系統(tǒng)一般采用高度
17、智能化專用設(shè)備,可以實(shí)現(xiàn)收費(fèi)系統(tǒng)的無人化操作。設(shè)備制造工藝精良,系統(tǒng)穩(wěn)定性和產(chǎn)品技術(shù)水平達(dá)到較高水平。 值得注意的是國外停車場(chǎng)管理系統(tǒng)在采用大量先進(jìn)技術(shù)的同時(shí),帶來的負(fù)面性影響是系統(tǒng)的造價(jià)非常高昂,技術(shù)實(shí)現(xiàn)難度大,維護(hù)成本高。國內(nèi)停車場(chǎng)管理系統(tǒng)是伴隨著國內(nèi)公用停車場(chǎng)的大量出現(xiàn)而出現(xiàn)的。最初的國內(nèi)停車場(chǎng)管理系統(tǒng)是引進(jìn)和消化吸收國外同類系統(tǒng)的基礎(chǔ)上研發(fā)成功的。由于有許多關(guān)鍵設(shè)備國內(nèi)沒有生產(chǎn),系統(tǒng)采用了較多國外產(chǎn)品,因此這一階段國內(nèi)
18、停車場(chǎng)管理系統(tǒng)帶有較多“集成”的意味。 </p><p> 1.2 項(xiàng)目發(fā)展趨勢(shì)</p><p> 收費(fèi)介質(zhì)是停車場(chǎng)管理系統(tǒng)用來標(biāo)識(shí)車輛的唯一標(biāo)志,是管理系統(tǒng)的重要技術(shù)特征。通過使用何種收費(fèi)介質(zhì)可以反映其系統(tǒng)的技術(shù)先進(jìn)程度。以停車場(chǎng)管理系統(tǒng)使用的收費(fèi)介質(zhì)為比較特征,停車場(chǎng)收費(fèi)系統(tǒng)經(jīng)歷了磁卡、紙質(zhì)磁卡、條形碼以及非接觸類型收費(fèi)介質(zhì)幾個(gè)發(fā)展階段。每個(gè)階段的停車場(chǎng)管理系統(tǒng)克服了其上一代系在
19、收費(fèi)介質(zhì)上的缺陷,進(jìn)一步提高了收費(fèi)系統(tǒng)的工作效率和準(zhǔn)確性,并豐富了管理系統(tǒng)的服務(wù)功能。目前使用以非接觸式IC卡、射頻電子標(biāo)識(shí)、車牌圖像識(shí)別技術(shù)為代表的非接觸類型收費(fèi)介質(zhì)已經(jīng)成為停車場(chǎng)管理系統(tǒng)最明顯的技術(shù)發(fā)展方向。 在使用更為先進(jìn)的收費(fèi)介質(zhì)的同時(shí),停車場(chǎng)管理系統(tǒng)的另一個(gè)技術(shù)發(fā)展方向是智能化管理。以智能化設(shè)備取代人的勞動(dòng),實(shí)現(xiàn)停車場(chǎng)車輛出入、場(chǎng)內(nèi)監(jiān)控以及收費(fèi)等所有過程的完全無人化,是停車場(chǎng)管理系統(tǒng)智能化的最終目標(biāo)。對(duì)用戶而言,停車
20、場(chǎng)管理系統(tǒng)技術(shù)進(jìn)步的明顯特征是停車交易支付手段的多樣化特點(diǎn)。先進(jìn)的停車場(chǎng)收費(fèi)系統(tǒng)不再以現(xiàn)金作為停車交易的唯一支付手段。用戶可以選擇在離開停車場(chǎng)時(shí)用信用卡、手機(jī)等E化貨幣支付自己的停車費(fèi)用,也可以通過互聯(lián)網(wǎng)預(yù)支費(fèi)用或進(jìn)行結(jié)算。</p><p> 停車場(chǎng)管理系統(tǒng)的一個(gè)顯著特點(diǎn)是停車交易支付手段的電子化程度非常高,基本上不存在現(xiàn)金交易的現(xiàn)象。許多國外管理系統(tǒng)配備停車車位引導(dǎo)系統(tǒng)、停車車位查詢系統(tǒng)等智能化設(shè)備,使停車場(chǎng)
21、管理系統(tǒng)的功能更加豐富。一些國外停車設(shè)備廠商正在研究能夠?qū)崿F(xiàn)‘網(wǎng)絡(luò)化存車’的停車場(chǎng)管理系統(tǒng)。這種收費(fèi)系統(tǒng)依靠INTERNET網(wǎng)絡(luò)連接,能夠?qū)崿F(xiàn)在一個(gè)相對(duì)廣闊的地域內(nèi)(例如一座城市甚至一個(gè)國家)的多個(gè)停車場(chǎng)的隨意停車。管理系統(tǒng)會(huì)統(tǒng)一調(diào)度車位資源,統(tǒng)一進(jìn)行交易結(jié)算。停車用戶在家中通過網(wǎng)絡(luò)就可以預(yù)定停車車位,交納停車費(fèi)用,查詢出行目的地的各類停車信息。這種新型停車場(chǎng)管理方式適應(yīng)了INTERNET網(wǎng)絡(luò)在人們?nèi)粘I钪性絹碓街匾默F(xiàn)狀,使停車場(chǎng)管
22、理系統(tǒng)的作用范圍和功能得到了極大的擴(kuò)展和延伸。</p><p> 1.3 項(xiàng)目研究的目的和意義</p><p> 隨著城市化的發(fā)展和車輛的普及, 汽車擁有量不斷增加, 城市停車難成為當(dāng)今世界各國面臨的共同難題, 無論是發(fā)達(dá)國家還是發(fā)展中國家, 都毫無例外地承受著停車場(chǎng)容量與汽車擁有量嚴(yán)重不對(duì)稱的現(xiàn)實(shí), 致使有車無處停, 以及停車場(chǎng)設(shè)備科技含量低的困擾。特別是商業(yè)區(qū)、城市旅游景點(diǎn)的停車比
23、例僅為1:10。停車問題是城市在發(fā)展過程中出現(xiàn)的靜態(tài)交通(車輛停放狀態(tài))問題,靜態(tài)交通是相對(duì)于動(dòng)態(tài)交通(車輛行駛狀態(tài))而存在的一種交通形態(tài),二者相互聯(lián)系,互相影響,停車設(shè)施是城市靜態(tài)交通的主要內(nèi)容,隨著城市的不斷發(fā)展,各種車輛的不斷增加,對(duì)停車設(shè)施的需求也在不斷增加,如果兩者之間失去平衡,城市里就會(huì)出現(xiàn)停車難的一系列問題。數(shù)據(jù)顯示,最近幾年我國城市機(jī)動(dòng)車輛平均增長(zhǎng)速度在15%-20%,而同時(shí)期城市停車基礎(chǔ)設(shè)施的平均增長(zhǎng)速度只有2%-3%
24、,特別是大城市的機(jī)動(dòng)車擁有量的增長(zhǎng)速度遠(yuǎn)遠(yuǎn)超過停車基礎(chǔ)設(shè)施的增長(zhǎng)速度,因此,我們必須重視城市停車難的問題,并積極探求解決的措施。</p><p> 停車設(shè)施建設(shè)嚴(yán)重落后于車輛的增長(zhǎng)情況, 導(dǎo)致停車矛盾愈加嚴(yán)重, 停車難、亂停車的惡性循環(huán)成為城市交通管理的難點(diǎn), 也直接導(dǎo)致交通堵塞、擦車追尾等交通事故, 不同程度阻礙了城市經(jīng)濟(jì)的發(fā)展。尤其在景區(qū)的旅游旺季, 舉辦大型展覽, 會(huì)議及大型社會(huì)活動(dòng)時(shí), 人多車多, 停車
25、更是一件非常不易之事, 因此解決停車難就成了所有開發(fā)商首先要考慮的一個(gè)問題。</p><p> 根據(jù)這一現(xiàn)狀,提出了一種以MCS-51系列單片機(jī)(89C51)為核心的停車場(chǎng)自動(dòng)收費(fèi)管理系統(tǒng)。該系統(tǒng)具有設(shè)置、移動(dòng)簡(jiǎn)便, 操作簡(jiǎn)單,價(jià)格低廉,能夠滿足管理臨時(shí)停車場(chǎng)的要求等特點(diǎn)。同時(shí)能夠大大節(jié)省停車場(chǎng)的管理費(fèi)用及人手,提高停車場(chǎng)的利用效率。特別適用于旅游旺季、大型活動(dòng)等所增設(shè)的各種停車場(chǎng)的現(xiàn)代化停車管理收費(fèi), 同時(shí)可
26、大大緩解因停車難而造成的停車場(chǎng)附近道路交通擁堵等相關(guān)問題。</p><p> 第二章 系統(tǒng)方案設(shè)計(jì)</p><p><b> 2.1 總體介紹</b></p><p> 本設(shè)計(jì)是一個(gè)以辦公室環(huán)境為對(duì)象的停車收費(fèi)系統(tǒng),系統(tǒng)能進(jìn)行各種停車場(chǎng)計(jì)費(fèi)管理系統(tǒng)操作演示、出入口控制器的設(shè)置、仿真模型車輛的仿真出入控制、停車場(chǎng)計(jì)費(fèi)管理軟件的仿真。<
27、;/p><p> 根據(jù)設(shè)計(jì)要求,設(shè)計(jì)了一個(gè)采用單片機(jī)計(jì)費(fèi)方式的自動(dòng)停車收費(fèi)管理系統(tǒng),為臨時(shí)停車場(chǎng)提供了一個(gè)操作簡(jiǎn)便、價(jià)格低廉,而且行之有效的管理辦法。本系統(tǒng)的實(shí)際開發(fā)使用將大大節(jié)省臨時(shí)停車場(chǎng)的管理費(fèi)用及人手,提高臨時(shí)停車場(chǎng)的利用效率。系統(tǒng)可以實(shí)現(xiàn)自動(dòng)開啟關(guān)閉大門功能、自動(dòng)計(jì)費(fèi)功能、顯示功能(顯示停車場(chǎng)狀況)、查詢功能,而且收費(fèi)方式、時(shí)鐘顯示均可調(diào)節(jié),使系統(tǒng)更具靈活性。</p><p> 設(shè)
28、計(jì)中采用單片機(jī)來控制系統(tǒng),因此要有時(shí)鐘電路,鍵盤電路,LCD顯示電路,報(bào)警電路等幾個(gè)部分。</p><p> 要實(shí)現(xiàn)系統(tǒng)的設(shè)計(jì)要用到的知識(shí)點(diǎn)有單片機(jī)的原理及其應(yīng)用,LCD的原理和應(yīng)用,及鍵盤和時(shí)鐘電路的設(shè)計(jì)等。</p><p><b> 2.1 系統(tǒng)框架</b></p><p> 圖2-1 停車場(chǎng)自動(dòng)停車收費(fèi)系統(tǒng)框圖</p>
29、<p> (1)出入模塊:安裝在停車場(chǎng)入口和出口,用于檢測(cè)汽車駛?cè)胪\噲?chǎng)大門、駛出停車場(chǎng)大門,并進(jìn)行相應(yīng)計(jì)費(fèi)。送單片機(jī)作相應(yīng)處理。</p><p> ?。?)大門控制模塊:在單片機(jī)的控制下與出入模塊協(xié)同作業(yè),自動(dòng)感應(yīng)執(zhí)行停車場(chǎng)大門的升閘降閘。保證了停車場(chǎng)的安全,減少了因搶占停車位發(fā)生意外的可能性。</p><p> ?。?)單片機(jī)控制中心:采用MCS-51系列單片機(jī)系統(tǒng),它是
30、本系統(tǒng)的核心部分。主要功能是:車輛出入信息記錄與顯示;停車收費(fèi)并進(jìn)行信息記錄與存儲(chǔ);監(jiān)控鍵盤狀態(tài),處理鍵盤輸入的操作信息;監(jiān)控停車場(chǎng)狀態(tài),控制大門升閘降閘;有汽車駛?cè)胪\囄缓筌囄粩?shù)減一,當(dāng)空車位數(shù)為零時(shí),紅燈亮,不再讓汽車進(jìn)入停車場(chǎng)。汽車駛出停車位后停車位數(shù)加一,大門開啟,讓其離開;將停車的數(shù)量換算為停車場(chǎng)的總費(fèi)用信息;控制顯示器,按要求顯示各種信息;如有非正常情況發(fā)生,觸發(fā)聲光報(bào)警。</p><p> ?。?)
31、停車廠場(chǎng)狀態(tài)顯示模塊:顯示停車場(chǎng)狀態(tài)信號(hào)其中不僅包括每停一輛車的價(jià)格還包括顯示實(shí)時(shí)時(shí)間,現(xiàn)在停了幾輛車,還有幾個(gè)空車位可以使用。這時(shí)大門的綠燈表示有車正在進(jìn)入空車位,還可以停車;紅燈表示場(chǎng)內(nèi)車位全滿,不允許汽車進(jìn)入。不僅方便了駕駛?cè)耍€便于管理者查看停車場(chǎng)的各種情況,可以及時(shí)的調(diào)整收費(fèi)標(biāo)準(zhǔn)和經(jīng)營策略。</p><p> ?。?)LCD顯示模塊:顯示停車場(chǎng)的各種信息,包括北京時(shí)間、停車位、空停車位數(shù)、停車的費(fèi)用、收
32、費(fèi)標(biāo)準(zhǔn)和操作提示等內(nèi)容。</p><p> ?。?)操作鍵盤模塊:通過鍵盤進(jìn)行多種人工操作,包括顯示、切換、查詢各類信息,修改收費(fèi)標(biāo)準(zhǔn),修改北京時(shí)間(北京時(shí)間可以精確到秒)等顯示內(nèi)容。</p><p><b> 2.2 工作流程</b></p><p> 當(dāng)汽車進(jìn)入或駛出停車場(chǎng)時(shí),模塊將通知單片機(jī)有汽車駛?cè)牖蝰偝鐾\噲?chǎng),單片機(jī)再根據(jù)停車場(chǎng)的
33、當(dāng)時(shí)的狀態(tài)控制停車場(chǎng)大門的開啟或關(guān)閉,根據(jù)設(shè)置好的停車費(fèi)用,及時(shí)間,做相應(yīng)處理。停車場(chǎng)未滿,車入庫時(shí),駕駛?cè)藛T按下SB2鍵,取卡,大門打開,車位減一,車入庫,并送相應(yīng)單元存儲(chǔ)數(shù)據(jù)。車出庫時(shí),處理人工鍵盤的操作,進(jìn)行數(shù)據(jù)調(diào)用,顯示相應(yīng)卡號(hào),結(jié)算相應(yīng)花費(fèi),然后按下SB4鍵,大門打開,車出庫,車位數(shù)加一。</p><p> 停車收費(fèi)標(biāo)準(zhǔn)可以調(diào)節(jié),方便停車場(chǎng)運(yùn)營,系統(tǒng)初始值設(shè)為3元/時(shí)??梢酝\嚂r(shí)交費(fèi)也可以離開時(shí)交費(fèi)經(jīng)
34、營者可以根據(jù)自己的情況來定。系統(tǒng)能夠自動(dòng)統(tǒng)計(jì)停車場(chǎng)總收入,并顯示。該系統(tǒng)還可以充當(dāng)時(shí)鐘來使用,時(shí)間的小時(shí)與分鐘都可以調(diào)節(jié)。</p><p> 用程序來說就是檢測(cè)有沒有空車位,有空位則允許車進(jìn)入,沒則不打開大門。如果有車進(jìn)來,等待汽車通過傳感器,打開進(jìn)車大門,已停車位數(shù)加1,停車總量加1,延時(shí)一段時(shí)間,讓汽車通過進(jìn)車門,關(guān)閉進(jìn)車門;沒空位時(shí),不打開大門,即紅燈亮。檢測(cè)有沒車出去,有則等待汽車通過出車門傳感器,打開
35、出大門,已停車位數(shù)減1,經(jīng)過一段時(shí)間,讓汽車通過出車門,關(guān)閉出車門。</p><p> 第三章 系統(tǒng)硬件設(shè)計(jì)</p><p> 3.1 單片機(jī)簡(jiǎn)介</p><p> 3.1.1 單片機(jī)的選擇</p><p> 美國Intel公司1980年推出了MCS-51系列高檔8位單片機(jī)。提高了芯片的集成度,性能上大為提高,增加了多種片內(nèi)
36、硬件功能,并擴(kuò)展了功能單元的種類和數(shù)量。</p><p> MCS-51單片機(jī)硬件結(jié)構(gòu)及其一些主要特點(diǎn):</p><p> 1.內(nèi)部程序存儲(chǔ)器和內(nèi)部數(shù)據(jù)存儲(chǔ)器</p><p><b> 2.輸入/輸出口</b></p><p> MCS-51單片機(jī)內(nèi)的I/O口的數(shù)量和種類較多且齊全,尤其是它有一個(gè)全雙工的串行口。
37、</p><p> 3.外部程序存儲(chǔ)器和外部數(shù)據(jù)存儲(chǔ)器尋址空間</p><p> MCS-51可對(duì)64KB的外部數(shù)據(jù)存儲(chǔ)器尋址且不受該系列中各種芯片型號(hào)的影響,而對(duì)程序存儲(chǔ)器是內(nèi)外總空間為64KB.</p><p><b> 4.中斷與堆棧</b></p><p> MCS-51有5個(gè)中斷源,分為2個(gè)優(yōu)先級(jí),每個(gè)
38、中斷源的優(yōu)先級(jí)是可編程的,它的堆棧位置也是可編程的,堆棧深度可達(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)多種中斷或子程序嵌套的要求。</p><p><b> 6.指令系統(tǒng)</b></p><p&g
39、t; MCS-51是一個(gè)功能很強(qiáng)的指令系統(tǒng),主要表現(xiàn)在MCS-51的指令系統(tǒng)中增添了減法、乘法、除法、比較、堆棧操作和多種位操作指令。[5]當(dāng)振蕩器頻率接最高12MHZ時(shí),大部分指令執(zhí)行時(shí)間為1µs,少部分為2µs,乘除指令的執(zhí)行時(shí)間也只有4µs。</p><p><b> 7.布爾處理器</b></p><p> 特別值得一提的是
40、MCS-51的布爾處理器。它實(shí)際上是一個(gè)完整的一個(gè)微計(jì)算機(jī),這個(gè)一位的微機(jī)有自己的CPU ,位寄存器、I/O口和指令集。把八位微機(jī)和一位微機(jī)結(jié)合在一起,是微機(jī)技術(shù)上的一個(gè)突破。一位機(jī)在開關(guān)決策、邏輯電路仿真和實(shí)時(shí)測(cè)控方面非常有效,而八位機(jī)在運(yùn)算處理、智能儀表常用的數(shù)據(jù)采集方面有明顯的長(zhǎng)處。在MCS-51系列單片機(jī)中八位機(jī)和一位機(jī)(布爾處理器)的硬件資源是復(fù)合在一起的,二者相輔相成,這是MCS-51在設(shè)計(jì)上的精美之處,也是一般微機(jī)所不具備
41、的。[1] </p><p> 3.1.2 89C51的引腳介紹</p><p> 圖3-1 單片機(jī)引腳圖</p><p> 掌握MCS-51單片機(jī),應(yīng)首先了解MCS-51的引腳,熟悉并牢記各引腳的功能。MCS-51系列中各種芯片的移交是互相兼容的。制造工藝為HMOS的MCS-51的單片機(jī)都采用40只引腳的雙列直插封裝(DIP方式,如圖所示。目前大多樹為此
42、類封裝方式。制造工藝為CHMOS的8031/89C51/87C51除采用DIP封裝方式以外,還采用方行封裝方式,為44只引腳(其中4只是無用的引腳)如圖上圖所示。</p><p> 40只引腳按其功能來分,可分為如下3類:</p><p> 1. 電源及時(shí)鐘引腳:Vcc、Vss;XTAL1、XTAL2。</p><p> 2. 控制引腳:/PSEN、ALE、/
43、EA、RESET</p><p> 3. I/O口引腳;P0、P1、P2、P3、為4個(gè)8位I/O口的外部引腳。</p><p> 下面來介紹各引腳的功能。</p><p><b> 電源及時(shí)鐘引腳</b></p><p><b> 1電源引腳</b></p><p>
44、 電源引腳接入單片機(jī)的工作電源</p><p> Vcc(40引腳):接+5V電源。</p><p> Vss(20引腳):接地</p><p><b> 2時(shí)鐘引腳</b></p><p> 2個(gè)時(shí)鐘引腳XTAL1,XTAL2外接晶體與片內(nèi)的反相放大器構(gòu)成了1個(gè)振蕩器,它為單片機(jī)提供了時(shí)鐘信號(hào)。2個(gè)時(shí)鐘引腳也
45、可以外接獨(dú)立的晶體振蕩器。XTAL1是片內(nèi)振蕩器的反相放大器輸入端,XTAL2則是輸出端,使用外部振蕩器時(shí),外部振蕩信號(hào)應(yīng)直接加到XTAL1,而XTAL2懸空。內(nèi)部方式時(shí),時(shí)鐘發(fā)生器對(duì)振蕩脈沖二分頻,如晶振為12MHz,時(shí)鐘頻率就為6MHz。[8]晶振的頻率可以在1MHz-24MHz內(nèi)選擇。電容取30PF左右。型號(hào)同樣為AT89C51的芯片,在其后面還有頻率編號(hào),有12,16,20,24MHz可選。大家在購買和選用時(shí)要注意了。如AT89
46、C51 24PC就是最高振蕩頻率為24MHz,40P6封裝的普通商用芯片。根據(jù)綜上分析,此次設(shè)計(jì)中的最小系統(tǒng)的設(shè)計(jì)采用89C51芯片作為最小系統(tǒng)芯片是最佳選擇。[1]</p><p> (1)XTAL1(19引腳):接外部晶體1個(gè)引腳。該引腳內(nèi)部是1個(gè)反相放大器的輸入端。這個(gè)反相放大器構(gòu)成了片內(nèi)振蕩器/如果采用外接晶體振蕩器時(shí),此引腳應(yīng)接地。</p><p> ?。?)XTAL2(18引
47、腳):接外部晶體的另一端,在該引腳內(nèi)部接至內(nèi)部反相放大器的輸出端。若采用外部時(shí)鐘振蕩器時(shí),該引腳接收時(shí)鐘振蕩器的信號(hào),即把此信號(hào)直接接到內(nèi)部時(shí)鐘發(fā)生器的輸入端。</p><p><b> 2控制引腳</b></p><p> 此類引腳提供控制信號(hào),有的引腳還具有復(fù)用功能。</p><p> ?。?)RST/Vpd(9引腳):RST(RESE
48、T)是復(fù)位信號(hào)輸入斷,高電平有效。當(dāng)單片機(jī)運(yùn)行時(shí),在此引腳加上持續(xù)時(shí)間大于2個(gè)機(jī)器周期的高電平時(shí)候,就可以完成復(fù)位操作。在單片機(jī)正常工作時(shí),此引腳應(yīng)為≦0.5V低電平。</p><p> Vpd為本引腳的第二功能,即備用電源的輸入斷。當(dāng)主電源Vcc發(fā)生故障,降低到某一規(guī)定值的低電平時(shí),將+5V電源自動(dòng)接入RST端,為內(nèi)部RAM提供備用電源,以保證片內(nèi)RAM中的信息不丟失,從而使單片機(jī)在復(fù)位后能繼續(xù)正常運(yùn)行。&l
49、t;/p><p> 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ī)基本上是完好的。</p><p> 應(yīng)該注意的是,每當(dāng)MCS-51訪問外
50、部數(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ù)載。</p><p> /PROG為本引腳的第二功能。在對(duì)片內(nèi)EPROM型單片機(jī)編程寫入時(shí),此引腳作為編程脈沖輸入端</p><p> ?。?)/PSEN:程序存儲(chǔ)器允許輸出控制端。在單片機(jī)訪問外部程序存儲(chǔ)器時(shí),此引腳輸出脈沖
51、負(fù)跳沿作為讀外部程序存儲(chǔ)器的選通信號(hào)。此引腳外接部程序存儲(chǔ)器的/OE端。/PSEN端可以驅(qū)動(dòng)8個(gè)LS型TTL負(fù)載。</p><p> 如果檢查一個(gè)MCS-51單片機(jī)應(yīng)用系統(tǒng)上電后,CPU能否正常到外部程序存儲(chǔ)器讀取指令碼,可用示波器查/PSEN端有無脈沖輸出。</p><p> ?。?)/EA/Vpp(Enable Address/Voltage Pulse of Programing,
52、31腳):/EA功能為內(nèi)外程序存儲(chǔ)器選擇控制端。</p><p> 當(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)的程序。</p><p> 當(dāng)/EA引腳為低電平時(shí),單片機(jī)則只訪問外部程序存儲(chǔ)器,不論是否有內(nèi)部程序存儲(chǔ)器。對(duì)于8031來說,因其無內(nèi)部程序存儲(chǔ)器,所以該引腳必
53、須接地,這樣只能選擇外部程序存儲(chǔ)器。</p><p> Vpp為本引腳的第二功能。在對(duì)EPROM型單片機(jī)8751內(nèi)EPROM固化編程時(shí),用于施加叫高的編程電壓。[10]對(duì)于89C51,則加在Vpp引腳的編程電壓為+12V或+5V。</p><p><b> I/O口引腳</b></p><p> ?。?)P0口:雙向8位三態(tài)I/O口,此口為
54、地址總線(低8位)及數(shù)據(jù)總線分時(shí)復(fù)用口,可驅(qū)動(dòng)8個(gè)LS型TTL負(fù)載。</p><p> ?。?)P1口:8位準(zhǔn)雙向I/O口,可驅(qū)動(dòng)4個(gè)LS型TTL負(fù)載。</p><p> ?。?)P2口:8位準(zhǔn)雙向I/O口,與地址總線(高8位)復(fù)用,可驅(qū)動(dòng)4個(gè)LS型TTL負(fù)載。</p><p> ?。?)P3口:8位準(zhǔn)雙星I/O口,雙功能復(fù)用口,可驅(qū)動(dòng)4個(gè)LS型TTL負(fù)載。<
55、/p><p> 這里要特別注意準(zhǔn)雙向與雙向三態(tài)口的差別。</p><p><b> P3口的第二功能</b></p><p> RST: 復(fù)位輸入。晶振工作時(shí),RST腳持續(xù)2個(gè)機(jī)器周期高電平將使單片機(jī)復(fù)位??撮T狗計(jì)時(shí)完成后,RST腳輸出96個(gè)晶振周期的高電平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能無效。DISRTO默認(rèn)
56、狀態(tài)下,復(fù)位高電平有效。</p><p> ALE/PROG:地址鎖存控制信號(hào)(ALE)是訪問外部程序存儲(chǔ)器時(shí),鎖存低8位地址的輸出脈沖。在flash編程時(shí),此引腳(PROG)也用作編程輸入脈沖。在一般情況下,ALE以晶振六分之一的固定頻率輸出脈沖,可用來作為外部定時(shí)器或時(shí)鐘使用。然而,特別強(qiáng)調(diào),在每次訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),ALE脈沖將會(huì)跳過。如果需要,通過將地址為8EH的SFR的第0位置“1”,ALE操作將無
57、效。這一位置“1”,ALE僅在執(zhí)行MOVX或MOVC指令時(shí)有效。否則,ALE將被微弱拉高。這個(gè)ALE 使能標(biāo)志位(地址為8EH的SFR的第0位)的設(shè)置對(duì)微控制器處于外部執(zhí)行模式下無效。</p><p> PSEN:外部程序存儲(chǔ)器選通信號(hào)(PSEN)是外部程序存儲(chǔ)器選通信號(hào)。當(dāng)AT89S52從外部程序存儲(chǔ)器執(zhí)行外部代碼時(shí),PSEN在每個(gè)機(jī)器周期被激活兩次,而在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),PSEN將不被激活。</p
58、><p> EA/VPP:訪問外部程序存儲(chǔ)器控制信號(hào)。為使能從0000H到FFFFH的外部程序存儲(chǔ)器讀取指令,EA必須接GND。為了執(zhí)行內(nèi)部程序指令,EA應(yīng)該接VCC。</p><p> 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口。[6]
59、</p><p> 3.1.3 89C51單片機(jī)的存儲(chǔ)器</p><p> MCS-51單片機(jī)的存儲(chǔ)器分為:</p><p> 1)程序存儲(chǔ)器(最大空間64K)</p><p> 2)片內(nèi)數(shù)據(jù)存儲(chǔ)器(00H-1FH:工作寄存器,只有R0、R1可作為指針使用、20H-2FH:</p><p> 位尋址區(qū)、3
60、0H-7FH:數(shù)據(jù)緩沖區(qū))</p><p> 3)特殊功能寄存器(21個(gè))</p><p> 4)位尋址空間(211位)</p><p> 5)外部數(shù)據(jù)寄存器(最大空間64K) </p><p> 但在邏輯上,即從用戶的角度上,8051單片機(jī)有三個(gè)存儲(chǔ)空間:</p><p> 1、片內(nèi)外統(tǒng)一編址的64K的程序
61、存儲(chǔ)器地址空間(MOVC)</p><p> 2、256B的片內(nèi)數(shù)據(jù)存儲(chǔ)器的地址空間(MOV)</p><p> 3、以及64K片外數(shù)據(jù)存儲(chǔ)器的地址空間(MOVX)</p><p> 在訪問三個(gè)不同的邏輯空間時(shí),應(yīng)采用不同形式的指令(具體我們?cè)诤竺娴闹噶钕到y(tǒng)學(xué)習(xí)時(shí)將會(huì)講解),以產(chǎn)生不同的存儲(chǔ)器空間的選通信號(hào)。</p><p><b
62、> 程序內(nèi)存ROM</b></p><p> 尋址范圍:0000H ~ FFFFH 容量64KB</p><p> EA = 1,尋址內(nèi)部ROM;EA = 0,尋址外部ROM</p><p><b> 地址長(zhǎng)度:16位</b></p><p> 作用: 存放程序及程序運(yùn)行時(shí)所需的常數(shù)。<
63、/p><p> 七個(gè)具有特殊含義的單元是:</p><p> 0000H —— 系統(tǒng)復(fù)位,PC指向此處;</p><p> 0003H —— 外部中斷0入口</p><p> 000BH —— T0溢出中斷入口</p><p> 0013H —— 外中斷1入口</p><p> 001B
64、H —— T1溢出中斷入口</p><p> 0023H —— 串口中斷入口</p><p> 002BH —— T2溢出中斷入口</p><p> 內(nèi)部數(shù)據(jù)存儲(chǔ)器RAM</p><p> 物理上分為兩大區(qū):00H ~ 7FH即128B內(nèi)RAM 和 SFR區(qū)。</p><p> 作用:作數(shù)據(jù)緩沖器用。<
65、/p><p> 圖3-2是8051單片機(jī)存儲(chǔ)器的空間結(jié)構(gòu)圖</p><p><b> 圖3-2</b></p><p><b> 程序存儲(chǔ)器</b></p><p> 一個(gè)微處理器能夠聰明地執(zhí)行某種任務(wù),除了它們強(qiáng)大的硬件外,還需要它們運(yùn)行的軟件,其實(shí)微處理器并不聰明,它們只是完全按照人們預(yù)先編
66、寫的程序而執(zhí)行之。那么設(shè)計(jì)人員編寫的程序就存放在微處理器的程序存儲(chǔ)器中,俗稱只讀程序存儲(chǔ)器(ROM)。程序相當(dāng)于給微處理器處理問題的一系列命令。其實(shí)程序和數(shù)據(jù)一樣,都是由機(jī)器碼組成的代碼串。只是程序代碼則存放于程序存儲(chǔ)器中。[1]</p><p> MCS-51具有64kB程序存儲(chǔ)器尋址空間,它是用于存放用戶程序、數(shù)據(jù)和表格等信息。對(duì)于內(nèi)部無ROM的8031單片機(jī),它的程序存儲(chǔ)器必須外接,空間地址為64kB,此
67、時(shí)單片機(jī)的端必須接地。強(qiáng)制CPU從外部程序存儲(chǔ)器讀取程序。對(duì)于內(nèi)部有ROM的8051等單片機(jī),正常運(yùn)行時(shí),則需接高電平,使CPU先從內(nèi)部的程序存儲(chǔ)中讀取程序,當(dāng)PC值超過內(nèi)部ROM的容量時(shí),才會(huì)轉(zhuǎn)向外部的程序存儲(chǔ)器讀取程序。</p><p> 當(dāng)=1時(shí),程序從片內(nèi)ROM開始執(zhí)行,當(dāng)PC值超過片內(nèi)ROM容量時(shí)會(huì)自動(dòng)轉(zhuǎn)向外部ROM空間。</p><p> 當(dāng)=0時(shí),程序從外部存儲(chǔ)器開始執(zhí)行
68、,例如前面提到的片內(nèi)無ROM的8031單片機(jī),在實(shí)際應(yīng)用中就要把8031的引腳接為低電平。[11]</p><p> 8051片內(nèi)有4kB的程序存儲(chǔ)單元,其地址為0000H—0FFFH,單片機(jī)啟動(dòng)復(fù)位后,程序計(jì)數(shù)器的內(nèi)容為0000H,所以系統(tǒng)將從0000H單元開始執(zhí)行程序。但在程序存儲(chǔ)中有些特殊的單元,這在使用中應(yīng)加以注意:</p><p> 其中一組特殊是0000H—0002H單元,
69、系統(tǒng)復(fù)位后,PC為0000H,單片機(jī)從0000H單元開始執(zhí)行程序,如果程序不是從0000H單元開始,則應(yīng)在這三個(gè)單元中存放一條無條件轉(zhuǎn)移指令,讓CPU直接去執(zhí)行用戶指定的程序。</p><p> 另一組特殊單元是0003H—002AH,這40個(gè)單元各有用途,它們被均勻地分為五段,它們的定義如下:</p><p> 0003H—000AH 外部中斷0中斷地址區(qū)。</p>&
70、lt;p> 000BH—0012H 定時(shí)/計(jì)數(shù)器0中斷地址區(qū)。</p><p> 0013H—001AH 外部中斷1中斷地址區(qū)。</p><p> 001BH—0022H 定時(shí)/計(jì)數(shù)器1中斷地址區(qū)。</p><p> 0023H—002AH 串行中斷地址區(qū)。</p><p> 可見以上的40個(gè)單元是專門用于存放中斷處理程序的地
71、址單元,中斷響應(yīng)后,按中斷的類型,自動(dòng)轉(zhuǎn)到各自的中斷區(qū)去執(zhí)行程序。從上面可以看出,每個(gè)中斷服務(wù)程序只有8個(gè)字節(jié)單元,用8個(gè)字節(jié)來存放一個(gè)中斷服務(wù)程序顯然是不可能的。因此以上地址單元不能用于存放程序的其他內(nèi)容,只能存放中斷服務(wù)程序。但是通常情況下,我們是在中斷響應(yīng)的地址區(qū)安放一條無條件轉(zhuǎn)移指令,指向程序存儲(chǔ)器的其它真正存放中斷服務(wù)程序的空間去執(zhí)行,這樣中斷響應(yīng)后,CPU讀到這條轉(zhuǎn)移指令,便轉(zhuǎn)向其他地方去繼續(xù)執(zhí)行中斷服務(wù)程序。[15]<
72、;/p><p> 圖3-3是ROM的地址分配圖:</p><p><b> 圖3-3</b></p><p> 從上圖中大家可以看到,0000H-0002H,只有三個(gè)存儲(chǔ)單元,3個(gè)存儲(chǔ)單元在我們的程序存放時(shí)是存放不了實(shí)際意義的程序的,通常我們?cè)趯?shí)際編寫程序時(shí)是在這里安排一條ORG指令,通過ORG指令跳轉(zhuǎn)到從0033H開始的用戶ROM區(qū)域,再來
73、安排我們的程序語言。從0033開始的用戶ROM區(qū)域用戶可以通過ORG指令任意安排,但在應(yīng)用中應(yīng)注意,不要超過了實(shí)際的存儲(chǔ)空間,不然程序就會(huì)找不到。[15]</p><p><b> 數(shù)據(jù)存儲(chǔ)器</b></p><p> 數(shù)據(jù)存儲(chǔ)器也稱為隨機(jī)存取數(shù)據(jù)存儲(chǔ)器。數(shù)據(jù)存儲(chǔ)器分為內(nèi)部數(shù)據(jù)存儲(chǔ)和外部數(shù)據(jù)存儲(chǔ)。MCS-51內(nèi)部RAM有128或256個(gè)字節(jié)的用戶數(shù)據(jù)存儲(chǔ)(不同的型
74、號(hào)有分別),片外最多可擴(kuò)展64KB的RAM,構(gòu)成兩個(gè)地址空間,訪問片內(nèi)RAM用“MOV”指令,訪問片外RAM用“MOVX”指令。它們是用于存放執(zhí)行的中間結(jié)果和過程數(shù)據(jù)的。MCS-51的數(shù)據(jù)存儲(chǔ)器均可讀寫,部分單元還可以位尋址。</p><p> MCS-51單片機(jī)的內(nèi)部數(shù)據(jù)存儲(chǔ)器在物理上和邏輯上都分為兩個(gè)地址空間,即:</p><p> 數(shù)據(jù)存儲(chǔ)器空間(低128單元);</p&g
75、t;<p> 特殊功能寄存器空間(高128單元);</p><p> 這兩個(gè)空間是相連的,從用戶角度而言,低128單元才是真正的數(shù)據(jù)存儲(chǔ)器。下面我們就來詳細(xì)的與大家講解一下:</p><p><b> 低128單元:</b></p><p> 片內(nèi)數(shù)據(jù)存儲(chǔ)器為8位地址,所以最大可尋址的范圍為256個(gè)單元地址,對(duì)片外數(shù)據(jù)存儲(chǔ)
76、器采用間接尋址方式,R0、R1和DPTR都可以做為間接尋址寄存器,R0、R1是8位的寄存器,即R0、R1的尋址范圍最大為256個(gè)單元,而DPTR是16位地址指針,尋址范圍就可達(dá)到64KB。也就是說在尋址片外數(shù)據(jù)存儲(chǔ)器時(shí),尋址范圍超過了256B,就不能用R0、R1做為間接尋址寄存器,而必須用DPTR寄存器做為間接尋址寄存器。</p><p><b> 圖3-4</b></p>
77、<p> 從圖3-4中我們可以看到,8051單片機(jī)片內(nèi)RAM共有256個(gè)單元(00H-FFH),這256個(gè)單元共分為兩部分。其一是地址從00H—7FH單元(共128個(gè)字節(jié))為用戶數(shù)據(jù)RAM。從80H—FFH地址單元(也是128個(gè)字節(jié))為特殊寄存器(SFR)單元。從圖1中可清楚地看出它們的結(jié)構(gòu)分布。[1]</p><p> 1、通用寄存器區(qū)(00H-1FH)</p><p>
78、 在00H—1FH共32個(gè)單元中被均勻地分為四塊,每塊包含八個(gè)8位寄存器,均以R0—R7來命名,我們常稱這些寄存器為通用寄存器。這四塊中的寄存器都稱為R0—R7,那么在程序中怎么區(qū)分和使用它們呢?聰明的INTEL工程師們又安排了一個(gè)寄存器——程序狀態(tài)字寄存器(PSW)來管理它們,CPU只要定義這個(gè)寄存的PSW的D3和D4位(RS0和RS1),即可選中這四組通用寄存器。對(duì)應(yīng)的編碼關(guān)系如下表所示。惹程序中并不需要用4組,那么其余的可用做一般
79、的數(shù)據(jù)緩沖器,CPU在復(fù)位后,選中第0組工作寄存器。</p><p><b> 圖3-4</b></p><p> 2、位尋址區(qū)(20H-2FH)</p><p> 片內(nèi)RAM的20H—2FH單元為位尋址區(qū),既可作為一般單元用字節(jié)尋址,也可對(duì)它們的位進(jìn)行尋址。位尋址區(qū)共有16個(gè)字節(jié),128個(gè)位,位地址為00H—7FH。</p>
80、<p> CPU能直接尋址這些位,執(zhí)行例如置“1”、清“0”、求“反”、轉(zhuǎn)移,傳送和邏輯等操作。我們常稱MCS-51具有布爾處理功能,布爾處理的存儲(chǔ)空間指的就是這些為尋址區(qū)。[1]</p><p> 3、用戶RAM區(qū)(30H-7FH)</p><p> 在片內(nèi)RAM低128單元中,通用寄存器占去32個(gè)單元,位尋址區(qū)占去16個(gè)單元,剩下的80個(gè)單元就是供用戶使用的一般RA
81、M區(qū)了,地址單元為30H-7FH。對(duì)這部份區(qū)域的使用不作任何規(guī)定和限制,但應(yīng)說明的是,堆棧一般開辟在這個(gè)區(qū)域。[1]</p><p> 3.2 顯示器介紹</p><p> 在日常生活中,我們對(duì)液晶顯示器并不陌生。液晶顯示模塊已作為很多電子產(chǎn)品的通過器件,如在計(jì)算器、萬用表、電子表及很多家用電子產(chǎn)品中都可以看到,顯示的主要是數(shù)字、專用符號(hào)和圖形。在單片機(jī)的人機(jī)交流界面中,一般的輸出
82、方式有以下幾種:發(fā)光管、LED數(shù)碼管、液晶顯示器。</p><p> 3.2.1 顯示器的選擇</p><p> 數(shù)碼管顯示內(nèi)容單一,一般就是一個(gè)7段的8字,當(dāng)然多的有16段的中間米字型的,液晶則比較豐富,可以顯示各種內(nèi)容。且數(shù)碼管比液晶耗電。 綜上所述,在單片機(jī)系統(tǒng)中應(yīng)用晶液顯示器作為輸出器件有以下幾個(gè)優(yōu)點(diǎn):顯示質(zhì)量高、數(shù)字式接口、體積小、重量輕、功耗低。相對(duì)而言,液晶
83、顯示器的功耗主要消耗在其內(nèi)部的電極和驅(qū)動(dòng)IC上,因而耗電量比其它顯示器要少得多。故本設(shè)計(jì)采用1602字符型液晶顯示。</p><p> 3.2.2 液晶顯示原理</p><p> 液晶顯示器各種圖形的顯示原理:</p><p> 線段的顯示:點(diǎn)陣圖形式液晶由M×N個(gè)顯示單元組成,假設(shè)LCD顯示屏有64行,每行有128列,每8列對(duì)應(yīng)1字節(jié)的8位,即每
84、行由16字節(jié),共16×8=128個(gè)點(diǎn)組成,屏上64×16個(gè)顯示單元與顯示RAM區(qū)1024字節(jié)相對(duì)應(yīng),每一字節(jié)的內(nèi)容和顯示屏上相應(yīng)位置的亮暗對(duì)應(yīng)。例如屏的第一行的亮暗由RAM區(qū)的000H——00FH的16字節(jié)的內(nèi)容決定,當(dāng)(000H)=FFH時(shí),則屏幕的左上角顯示一條短亮線,長(zhǎng)度為8個(gè)點(diǎn);當(dāng)(3FFH)=FFH時(shí),則屏幕的右下角顯示一條短亮線;當(dāng)(000H)=FFH,(001H)=00H,(002H)=00H,……(0
85、0EH)=00H,(00FH)=00H時(shí),則在屏幕的頂部顯示一條由8段亮線和8條暗線組成的虛線。這就是LCD顯示的基本原理。[7]</p><p> 字符的顯示:用LCD顯示一個(gè)字符時(shí)比較復(fù)雜,因?yàn)橐粋€(gè)字符由6×8或8×8點(diǎn)陣組成,既要找到和顯示屏幕上某幾個(gè)位置對(duì)應(yīng)的顯示RAM區(qū)的8字節(jié),還要使每字節(jié)的不同位為“1”,其它的為“0”,為“1”的點(diǎn)亮,為“0”的不亮。這樣一來就組成某個(gè)字符。但
86、由于內(nèi)帶字符發(fā)生器的控制器來說,顯示字符就比較簡(jiǎn)單了,可以讓控制器工作在文本方式,根據(jù)在LCD上開始顯示的行列號(hào)及每行的列數(shù)找出顯示RAM對(duì)應(yīng)的地址,設(shè)立光標(biāo),在此送上該字符對(duì)應(yīng)的代碼即可。</p><p> 3.2.3 1602LCD的使用說明</p><p> 1602LCD主要技術(shù)參數(shù):</p><p> 顯示容量:16×2個(gè)字符</p
87、><p> 芯片工作電壓:4.5—5.5V</p><p> 工作電流:2.0mA(5.0V)</p><p> 模塊最佳工作電壓:5.0V</p><p> 字符尺寸:2.95×4.35(W×H)mm</p><p><b> 圖3-5</b></p>&
88、lt;p><b> 引腳功能說明:</b></p><p> 1602LCD采用標(biāo)準(zhǔn)的14腳(無背光)或16腳(帶背光)接口,各引腳接口說明如圖3-6所示:</p><p><b> 圖3-6</b></p><p> 1602液晶模塊的讀寫操作、屏幕和光標(biāo)的操作都是通過指令編程來實(shí)現(xiàn)的。(說明:1為高電平、
89、0為低電平)</p><p><b> 指令說明:</b></p><p> 與HD44780相兼容的芯片時(shí)序表如圖3-8:</p><p><b> 圖3-8</b></p><p> 1602液晶模塊內(nèi)部的控制器共有11條控制指令,如表圖3-7所示:</p><p&g
90、t; 圖3-7:控制命令表</p><p> 1602LCD的RAM地址映射及標(biāo)準(zhǔn)字庫表:</p><p> 液晶顯示模塊是一個(gè)慢顯示器件,所以在執(zhí)行每條指令之前一定要確認(rèn)模塊的忙標(biāo)志為低電平,表示不忙,否則此指令失效。要顯示字符時(shí)要先輸入顯示字符地址,也就是告訴模塊在哪里顯示字符,圖3-9是1602的內(nèi)部顯示地址。</p><p> 圖3-9 1602LC
91、D內(nèi)部顯示地址</p><p> 例如第二行第一個(gè)字符的地址是40H,那么是否直接寫入40H就可以將光標(biāo)定位在第二行第一個(gè)字符的位置呢?這樣不行,因?yàn)閷懭腼@示地址時(shí)要求最高位D7恒定為高電平1所以實(shí)際寫入的數(shù)據(jù)應(yīng)該是01000000B(40H)+10000000B(80H)=11000000B(C0H)。</p><p> 在對(duì)液晶模塊的初始化中要先設(shè)置其顯示模式,在液晶模塊顯示字符時(shí)
92、光標(biāo)是自動(dòng)右移的,無需人工干預(yù)。每次輸入指令前都要判斷液晶模塊是否處于忙的狀態(tài)。</p><p> 1602液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器(CGROM)已經(jīng)存儲(chǔ)了160個(gè)不同的點(diǎn)陣字符圖形,如圖10-58所示,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號(hào)、和日文假名等,每一個(gè)字符都有一個(gè)固定的代碼,比如大寫的英文字母“A”的代碼是01000001B(41H),顯示時(shí)模塊把地址41H中的點(diǎn)陣字符圖形顯示出來
93、,我們就能看到字母“A”</p><p> 圖3-10 字符代碼與圖形對(duì)應(yīng)圖</p><p> 1602LCD的一般初始化(復(fù)位)過程</p><p><b> 延時(shí)15mS</b></p><p> 寫指令38H(不檢測(cè)忙信號(hào))</p><p><b> 延時(shí)5mS</
94、b></p><p> 寫指令38H(不檢測(cè)忙信號(hào))</p><p><b> 延時(shí)5mS</b></p><p> 寫指令38H(不檢測(cè)忙信號(hào))</p><p> 以后每次寫指令、讀/寫數(shù)據(jù)操作均需要檢測(cè)忙信號(hào)</p><p> 寫指令38H:顯示模式設(shè)置</p>
95、<p> 寫指令08H:顯示關(guān)閉</p><p> 寫指令01H:顯示清屏</p><p> 寫指令06H:顯示光標(biāo)移動(dòng)設(shè)置</p><p> 寫指令0CH:顯示開及光標(biāo)設(shè)置</p><p> 3.3 鍵盤電路的設(shè)計(jì)</p><p> 3.3.1 獨(dú)立式按鍵</p><p&g
96、t; 鍵盤是由若干獨(dú)立的鍵組成,鍵的按下與釋放是通過機(jī)械觸點(diǎn)的閉合與斷開來實(shí)現(xiàn)的,因機(jī)械觸點(diǎn)的彈性作用,在閉合與斷開的瞬間均有一個(gè)抖動(dòng)過程 。抖動(dòng)必須消除,去抖動(dòng)的方法主要有以下兩種:硬件去抖動(dòng)、軟件去抖動(dòng)。[3]</p><p><b> 圖3-11</b></p><p> 每一個(gè)按鍵的電路是獨(dú)立的,占用一條數(shù)據(jù)線 。這種鍵盤占用硬件資源多,適合少量按鍵的情
97、況。編程時(shí)常采用查詢方式。</p><p><b> 圖3-12</b></p><p> K1:按下時(shí),時(shí)自動(dòng)加一,加到24點(diǎn)時(shí)自動(dòng)從零開始。</p><p> K2:按下時(shí),分鐘自動(dòng)加一,加到60分時(shí)自動(dòng)從零開始。</p><p> K3:按下時(shí),價(jià)格自動(dòng)加一,加到9元時(shí)自動(dòng)從零開始。</p>
98、<p> SB2:按下時(shí),車位數(shù)減一,大門打開,自動(dòng)存儲(chǔ)相應(yīng)數(shù)據(jù)。</p><p> SB4:按下時(shí),車位數(shù)加一,大門打開。</p><p> 3.3.2 行列式鍵盤接口</p><p> 行列式(也稱矩陣式)鍵盤用于按鍵數(shù)目較多的場(chǎng)合,它由行線和列線組成,按鍵位于行、列的交叉點(diǎn)上。1個(gè)3×3的行、列結(jié)構(gòu)可以構(gòu)成1個(gè)具有9個(gè)按鍵的鍵盤。
99、同理1個(gè)4×4的行、列結(jié)構(gòu)可以構(gòu)成1個(gè)16個(gè)按鍵的鍵盤等等。如圖所示。很明顯,在按鍵數(shù)目較多的場(chǎng)合,行列式鍵盤與獨(dú)立式鍵盤相比,要節(jié)省很多的I/O口線。 [4]</p><p> 3.3.3 行列式鍵盤工作原理</p><p> 按鍵設(shè)置在行、列線交點(diǎn)上,行、列分別連接到按鍵開關(guān)的兩端。行線通過上拉電阻接到+5V上。無按鍵按下時(shí),行線處于高電平狀態(tài),而當(dāng)有按鍵按下時(shí),行線電
100、平狀態(tài)將由與此行線相連的列線的電平?jīng)Q定。列線的電平如果為低,則行線電平為低;列線的電平如果為高,則行線電平亦為高。這一點(diǎn)是識(shí)別行列式鍵盤是否按下的關(guān)鍵所在。由于行列式鍵盤中行、列線為多鍵共用,各按鍵均影響該鍵所在的行和列的電平。因此各按鍵彼此將相互發(fā)生影響,所以必須將行、列線信號(hào)配合起來并作是的處理,才能確定閉合鍵的位置。[1]</p><p><b> 掃描法</b></p>
101、<p> 下面以圖中3號(hào)鍵被按下為例,來說明此鍵是如何被識(shí)別出來的。</p><p> 當(dāng)3號(hào)鍵被按下時(shí),與3號(hào)鍵相兩的行線電平將由與此鍵相連的列線電平?jīng)Q定,而行線電平在無按鍵按下時(shí)處于高電平狀態(tài)。如果讓所有的列線處于低電平,很明顯,按鍵所在的行電平將被接成低電平,根據(jù)此行電平的變化,便能判定此行一定有按鍵被按下。但還不能確定是鍵3被按下,以為如果鍵3不被按下,而同一行的鍵2、1或0之一被按下,
102、均回產(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)
103、換到第4列所處的低電平,據(jù)此可以判斷第1行第4列的交叉點(diǎn)處的按鍵,即3號(hào)鍵被按下。[1]</p><p> 識(shí)別鍵盤有無鍵盤被按下的方法,此方法分2步進(jìn)行:第1步,識(shí)別鍵盤有無鍵被按下;第2步,如有鍵盤被按下,識(shí)別出具體的按鍵。分別介紹如下:</p><p> 首先把所有的列線均置為低電平,檢查各行線是否有變化,如果有變化,則說明有鍵被按下,如果沒有變化,則說明無鍵被按下。</p
104、><p> ?。?)鍵盤的工作方式</p><p> 單片機(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í)掃描、中斷掃描。[1]</p>
105、<p><b> 1).編程掃描方式</b></p><p> 這種方式就是只有當(dāng)單片機(jī)空閑時(shí),才調(diào)用鍵盤掃描子程序,反復(fù)的掃描鍵盤,等待用戶從鍵盤上輸入命令或數(shù)據(jù),來響應(yīng)鍵盤的輸入請(qǐng)求。圖為1個(gè)4×8矩陣鍵盤通過8255A擴(kuò)展I/O口與8031的借口電路原理圖,鍵盤采用編程掃描方式工作,8255A的PC口低4位輸出逐行掃描信號(hào),PA口輸入8位列信號(hào),均為低電有效。
106、8255A的A0,A1端分別接于地址線A0,A1上,/CS與P2.7相接,/WR、/RD分別與8031的/WR和/RD相連。[1]</p><p> PC口低4位狀態(tài),若PC0~PC3全1,則說明鍵盤無鍵按下;若不完全為1,則說明鍵盤有可能有鍵按下。</p><p> 2) 用軟件延時(shí)10ms來消除按鍵抖動(dòng)的影響。確實(shí)有按鍵按下時(shí),進(jìn)行下一步。</p><p>
107、 3)在鍵盤掃描子程序中,首先判斷鍵盤上有無鍵按下。其方法為PA口8位輸出全0,讀求</p><p> 按下鍵的鍵號(hào)。根據(jù)前面的介紹的掃描法,逐列置0掃描,讀入行線的狀態(tài),最后確定按鍵位置。</p><p> 4) 等待按鍵釋放后,在進(jìn)行按鍵功能的處理操作。[1]</p><p> ?。?)定時(shí)掃描的工作方式</p><p> 單片機(jī)
108、對(duì)鍵盤的掃描也可以采用定時(shí)掃描方式,即每隔一定的時(shí)間對(duì)鍵盤掃描一次。</p><p> 在這種掃描方式中,通常利用單片機(jī)內(nèi)的定時(shí)器,產(chǎn)生10ms的定時(shí)中斷,CPU響應(yīng)定時(shí)器溢出中斷請(qǐng)求,對(duì)鍵盤進(jìn)行掃描,在有鍵按下時(shí)識(shí)別出該鍵,并執(zhí)行相應(yīng)鍵的處理功能程序。</p><p><b> (3)中斷工作方式</b></p><p> 為了進(jìn)一步提
109、高單片機(jī)掃描鍵盤的工作效率,可采用中斷掃描方式,即只有在鍵盤有按鍵按下時(shí),才執(zhí)行鍵盤掃描程序并執(zhí)行該按鍵功能程序,如果無按鍵按下,單片機(jī)將不理睬鍵盤。[11]</p><p><b> 圖3-13</b></p><p> 本次采用掃描法實(shí)現(xiàn)相應(yīng)功能。</p><p> 數(shù)字鍵為車輛卡號(hào)的輸入,調(diào)用相應(yīng)存儲(chǔ)單元,</p>&
110、lt;p> #號(hào)鍵按下時(shí),系統(tǒng)進(jìn)行相應(yīng)卡號(hào)的結(jié)算。</p><p> *號(hào)鍵按下時(shí),系統(tǒng)將自動(dòng)結(jié)算的總收入顯示出來。</p><p><b> 3.4 時(shí)鐘電路</b></p><p> 時(shí)鐘電路采用內(nèi)部時(shí)鐘方式。</p><p> 定時(shí)器是一個(gè)16位定時(shí)/計(jì)數(shù)器,它既可以做定時(shí)器,又可以做事件計(jì)數(shù)器。
111、其工作方式由特殊寄存器T2CON中的C/T2位選擇。定時(shí)器2有三種工作模式:捕捉方式、自動(dòng)重載(向下或向上計(jì)數(shù))和波特率發(fā)生器。工作模式由T2CON中的相關(guān)位選擇。定時(shí)器2有2個(gè)8位寄存器:TH2和TL2。在定時(shí)工作方式中,每個(gè)機(jī)器周期,TL2寄存器都會(huì)加1。由于一個(gè)機(jī)器周期由12個(gè)晶振周期構(gòu)成,因此,計(jì)數(shù)頻率就是晶振頻率的1/12。在計(jì)數(shù)工作方式下,寄存器在相關(guān)外部輸入角T2發(fā)生1至0下降沿時(shí)增加1。在這種方式下,每個(gè)機(jī)器周期的S5P
112、2期間采樣外部輸入。一個(gè)機(jī)器周期采樣到高電平,而下一個(gè)周期采樣到低電平,計(jì)數(shù)器將加1。在檢測(cè)到跳變的這個(gè)周期的S3P1期間,新的計(jì)數(shù)值出現(xiàn)在寄存器中。因?yàn)樽R(shí)別1-0的跳變需要2個(gè)機(jī)器周期(24個(gè)晶振周期),所以,最大的計(jì)數(shù)頻率不高于晶振頻率的1/24。為了確保給定的電平在改變前采樣到一次,電平應(yīng)該至少在一個(gè)完整的機(jī)器周期內(nèi)保持不變。</p><p> 時(shí)鐘電路采用中斷方式實(shí)現(xiàn)。</p><p
113、> MCS-51有6個(gè)中斷源:兩個(gè)外部中斷(INT0和INT1),三個(gè)定時(shí)中斷(定時(shí)器0、1、2)和一個(gè)串行中斷。這些中斷如圖9所示每個(gè)中斷源都可以通過置位或清除特殊寄存器IE中的相關(guān)中斷允許控制位分別使得中斷源有效或無效。IE還包括一個(gè)中斷允許總控制位EA,它能一次禁止所有中斷。對(duì)于MCS-51,IE.5位也是不能用的。用戶軟件不應(yīng)給這些位寫1。它們?yōu)锳T89系列新產(chǎn)品預(yù)留。定時(shí)器2可以被寄存器T2CON中的TF2和EXF2的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設(shè)計(jì)(論文)-基于單片機(jī)的自動(dòng)停車收費(fèi)系統(tǒng)
- 基于單片機(jī)的自動(dòng)停車收費(fèi)系統(tǒng)完整論文
- 基于單片機(jī)的自動(dòng)窗簾系統(tǒng)畢業(yè)設(shè)計(jì)
- 基于單片機(jī)的停車場(chǎng)計(jì)數(shù)系統(tǒng)設(shè)計(jì)【畢業(yè)設(shè)計(jì)】
- 基于單片機(jī)的停車場(chǎng)計(jì)數(shù)系統(tǒng)設(shè)計(jì)【畢業(yè)設(shè)計(jì)】
- 基于單片機(jī)的自動(dòng)灌溉系統(tǒng)設(shè)計(jì)【畢業(yè)設(shè)計(jì)】
- 畢業(yè)設(shè)計(jì)---單片機(jī)患者自動(dòng)呼救系統(tǒng)
- 畢業(yè)設(shè)計(jì)(論文)基于51單片機(jī)的自動(dòng)窗簾系統(tǒng)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)基于單片機(jī)的自動(dòng)往返小車
- 畢業(yè)設(shè)計(jì)---基于單片機(jī)的自動(dòng)尋跡小車
- 基于單片機(jī)全自動(dòng)洗衣機(jī)畢業(yè)設(shè)計(jì)
- 基于單片機(jī)全自動(dòng)洗衣機(jī)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--基于單片機(jī)的公交車自動(dòng)報(bào)站系統(tǒng)
- 畢業(yè)設(shè)計(jì)---基于單片機(jī)的銀行自動(dòng)門系統(tǒng)的設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--基于單片機(jī)的公交車自動(dòng)報(bào)站系統(tǒng)
- 畢業(yè)設(shè)計(jì)基于單片機(jī)的公交車自動(dòng)報(bào)站系統(tǒng)
- 單片機(jī)畢業(yè)設(shè)計(jì)--基于單片機(jī)的恒壓供水系統(tǒng)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)--單片機(jī)自動(dòng)打鈴系統(tǒng)論文
- 基于單片機(jī)的自動(dòng)打鈴器的設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 基于單片機(jī)的畢業(yè)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論