2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩35頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  自動存包柜的設計與仿真</p><p><b>  摘 要</b></p><p>  本課題是基于單片機的自動存包柜設計。自動存包柜是新一代的存包柜,具有功能實用、操作簡單、管理方便、安全可靠等特點,能夠更好的服務于不同市場的廣大群眾,使用者可以根據(jù)簡明清晰的操作說明自行完成存包取包工作。本系統(tǒng)由MCS-51單片機構成核心控制系統(tǒng),整個系統(tǒng)由

2、主控部分、鍵盤顯示控制部分、執(zhí)行部分三部分組成,通過隨機密碼的產(chǎn)生和核對完成自動存包取包過程。本設計中各元器件便于安裝且操作簡單,能基本實現(xiàn)存包取包功能。</p><p>  關鍵詞:自動存包柜;單片機;隨機密碼</p><p>  Design and Simulation of Automatic Lockers </p><p><b>  ABST

3、RACT</b></p><p>  This topic is microcontroller-based automatic lockers.Automatic lockers is a new generation of lockers, with a practical, simple operation, easy management, safe and reliable, able to

4、 better serve the broad masses of the different markets, users are based on a clear and concise instructions to complete the deposit bags to take the package. The system consists of MCS-51 microcontroller core control sy

5、stem, the entire system from the main section, the keyboard display control part of the implement</p><p>  Key words :Automatic lockers; microcontroller; random password</p><p><b>  目 錄&l

6、t;/b></p><p><b>  1 緒 論1</b></p><p>  1.1 自動存包柜的種類1</p><p>  1.2 自動存包柜控制系統(tǒng)的基本原理及技術要求2</p><p>  1.3 系統(tǒng)總體設計目標功能3</p><p>  2 系統(tǒng)方案概述及硬件設計3

7、</p><p>  2.1自動存包柜系統(tǒng)框圖3</p><p>  2.2主機電路核心器件的選擇3</p><p>  2.3 8031的系統(tǒng)擴展8</p><p>  3 輸入輸出電路12</p><p>  3.1鍵盤設計12</p><p>  3.2顯示系統(tǒng)設計13<

8、/p><p>  3.3 輸出系統(tǒng)功能擴展14</p><p>  4 系統(tǒng)程序設計及仿真15</p><p>  4.1 主程序模塊設計15</p><p>  4.2 鍵輸入子程序模塊16</p><p>  4.3 系統(tǒng)仿真18</p><p><b>  結 束 語21

9、</b></p><p>  參 考 文 獻22</p><p><b>  附 錄23</b></p><p><b>  致 謝32</b></p><p>  自動存包柜的設計與仿真</p><p><b>  1 緒 論</b&

10、gt;</p><p>  近年來,隨著生活水平的提高,人們對于社會消費品的質(zhì)量要求在不斷增加,對技術服務也提出了更高的要求。在超市、綜合商店、個人商店等人流量大的地方,常常需要對顧客隨帶物品進行存儲。為了更好的為廣大顧客服務,在一些商場、影院尤其是超市等公共場合通常有電腦控制的自動存包柜,顧客進入商場購物時可寄存一些隨身攜帶的較重物件或多余的現(xiàn)金,十分便利。顧客可以根據(jù)簡明清晰的操作說明自行的完成存取物品的工作

11、,自助式存取可以避免開放式存取帶來的不必要的糾紛,又可以節(jié)約人員開支,達到減員增效的目的。</p><p>  自動存包系統(tǒng)的設計要求有高的可靠性,包括系統(tǒng)結構、硬件電路和運行軟件的可靠性。安全性是設計自動存包柜時必須考慮的另一個重要因素。安全性是指系統(tǒng)能夠保證人和財物的安全,電子存包柜要有緊急情況保護等措施。友好的人機界面對于系統(tǒng)來說也是相當重要的。可視化的人機接口操作起來比較方便,用戶可以直觀的了解到存包柜的

12、各種信息,通過圖形進行各種操作并清楚地顯示電子存包柜的各種信息。電腦控制的存包柜無需專職的管理人員且安全可靠,頗受顧客的信任[1]。</p><p>  1.1 自動存包柜的種類</p><p>  自動存包柜又名電子存包柜,電子寄存柜。主要由以下幾種類型:</p><p> ?。?)機設條碼式電子存包柜:存物時,先按“存”鍵,寄存柜自動打印一張密碼條,使用者抽出密

13、碼紙,對應的箱門自動打開,存好后關上箱門;取物時,直接將條碼紙在掃描口掃描,對應的箱門會自動打開,取物完成后關上箱門。</p><p> ?。?)指紋式電子存包柜:以使用者指紋作為寄存的憑證;存物時,先按一下“存”鍵,然后在指紋采集窗里采集指紋,機器會把該指紋與分配給使用者使用的寄存箱的箱號結合起來,并將信息自動記錄下來,同時自動打開該箱,供使用者存物,存完后使用者自己關好箱門;取物時,先按一下“取”鍵,然后在指

14、紋采集窗里采集指紋,寄存柜將指紋數(shù)據(jù)與先前記錄下的進行比對,正確后才會打開該箱供使用者取物。</p><p>  (3)非接觸IC卡電子存包柜:以使用者所持IC卡(即射頻卡)作為寄存的憑證;存物時,先按一下“存”鍵再刷卡(即讓存包柜讀取卡號),存包柜應先識別是否為該場所的IC卡,若不是則拒絕存物;若是,機器會把該卡號與分配給使用者使用的寄存箱的箱號結合起來,并將信息自動記錄下來,同時自動打開該箱,供使用者存物,存

15、完后自己關好箱門;取物時,先按一下“取”鍵再刷卡,寄存柜將讀取的卡號與先前記錄下的進行比對,正確后打開該箱供使用者取物(同時機器會自動記錄當時的時間、卡號以備查詢)。</p><p> ?。?)聯(lián)網(wǎng)型非接觸IC卡電子存包柜:聯(lián)網(wǎng)型非接觸IC卡電子存包柜基本功能與非接觸IC卡電子存包柜一致,另外增加了網(wǎng)絡通訊模塊,上位管理軟件等,以實現(xiàn)寄存狀態(tài)聯(lián)網(wǎng)監(jiān)控,分段收費,報表打印等功能[2]。</p><

16、;p>  1.2 自動存包柜控制系統(tǒng)的基本原理及技術要求</p><p>  本系統(tǒng)采用MCS-51單片機做控制器,具有較高的自動化程度,當顧客需要存包的時候,可以自行到存包柜前按“ON/C”鍵,單片機接收到一個脈沖信號,并通過系統(tǒng)I/O口發(fā)出相應的信號,數(shù)碼管顯示8位隨機密碼,然后一發(fā)光二極管亮,顧客即可存包。當顧客需要取包時,先按“=”鍵,系統(tǒng)進入取包狀態(tài),然后輸入密碼,輸入完畢后按“+”鍵表示確定,系

17、統(tǒng)比較密碼一致后,對應二極管滅,顧客即可將包取出。</p><p>  根據(jù)“自動存包”這一目的要求,做如下設計安排:</p><p>  第一部分:CPU核心控制部分,由單片機8031、復位電路、時鐘電路等構成,是整個系統(tǒng)的核心。</p><p>  第二部分:鍵盤顯示控制部分。對8個數(shù)碼管和2個按鍵進行管理,8個數(shù)碼管用于顯示2位柜號兒和8位密碼,14個按鍵分別

18、為10個數(shù)字鍵和4個功能鍵。通過這些鍵盤,用戶就可以完成所有的操作。</p><p>  第三部分:執(zhí)行機構部分。它是通過8031的并行口擴展一片8255A芯片,并通過8255A控制8個燈的狀態(tài)(亮滅)來模擬柜子的存包取包的過程。</p><p>  軟件部分主要采用我們自己設定的一種與柜號兒相關聯(lián)的算法來產(chǎn)生一組8位的隨機密碼,而密碼的產(chǎn)生、核對過程就對應存包、取包的過程。</p&

19、gt;<p>  本系統(tǒng)具有如下特色:(1)經(jīng)濟實用、操作簡單且便于安裝。</p><p> ?。?)能產(chǎn)生一組8位隨機密碼,密碼使用一次有效;有三次容錯功能和解鎖功能,因此系統(tǒng)安全可靠。</p><p>  (3)利用軟件產(chǎn)生隨機密碼而不是硬件,使得硬件更為簡潔、可靠、穩(wěn)定。</p><p>  1.3 系統(tǒng)總體設計目標功能</p>&

20、lt;p> ?。?)完成矩陣鍵盤輸入命令進行取包的任務;(2)存包時系統(tǒng)能產(chǎn)生隨機密碼;(3)隨機數(shù)在單片機中的保存及刪除;(4)液晶數(shù)碼管的選擇及與單片機的接口電路設計;(5)發(fā)光二極管模擬柜子的實現(xiàn)。</p><p>  2 系統(tǒng)方案概述及硬件設計</p><p>  2.1自動存包柜系統(tǒng)框圖</p><p>  自動存包柜由電子電路和機械兩部分組成,本設

21、計的存包柜主要實現(xiàn)電子電路方面的功能,它可以通過單片機完成密碼的隨機產(chǎn)生、密碼的確認和顯示以及用發(fā)光二極管模擬柜子的開閉狀態(tài)等功能。系統(tǒng)框圖如圖2-1所示:</p><p>  圖2-1 自動存包柜的系統(tǒng)框圖</p><p>  從硬件上看,它的部分組成分別是:發(fā)光二極管,通過亮滅來模擬柜子的開閉狀態(tài);電源,為電路提供一個5V 的工作電壓;單片機,整個電路的核心部分;LED 數(shù)碼管,用于顯

22、示柜號和密碼;還有鍵盤部分,鍵盤有14個按鍵,其中的十個分別 為 0-9的數(shù)字鍵,其他四個分別為存包鍵(隨機產(chǎn)生密碼)、取包鍵(確認密碼)、確定鍵、取消鍵。</p><p>  2.2主機電路核心器件的選擇</p><p>  單片機是在一塊硅片上集成了微處理器,存儲器和各種輸入、輸出接口,這樣的一塊芯片具有一臺計算機的屬性,因而被稱為單片微型計算機,簡稱單片機。單片機的優(yōu)點是體積小,重量

23、輕,抗干擾能力強,對環(huán)境要求不高,價格低廉,可靠性高,靈活性好,開發(fā)也較為容易[3]。</p><p>  MCS-51單片機是美國Intel公司于1980年推出的產(chǎn)品,與MCS-48單片機相比,它的結構更先進,功能更強,在原來的基礎上增加了更多的電路單元和指令,指令數(shù)達111條,MCS-51單片機可以算是相當成功的產(chǎn)品,一直到現(xiàn)在,MCS-51系列或其兼容的單片機仍是應用的主流產(chǎn)品,我們也以這一代表性的機型進行

24、系統(tǒng)的設計。MCS-51系列單片機主要包括8031、8051和8751等通用產(chǎn)品。</p><p>  8031內(nèi)部包括一個8位CPU、128個字節(jié)RAM,21個特殊功能寄存器、4個8位并行I/O口,1個全雙工串行口,2個16位定時器/計數(shù)器,需要外部EPROM芯片。</p><p>  8051是在8031的基礎上,片內(nèi)又集成有4K ROM,作為程序存儲器,是一個程序不超過4K字節(jié)的小系

25、統(tǒng)。</p><p>  8751是在8031的基礎上,增加4K字節(jié)的EPROM,它構成了一個程序小于4KB的系統(tǒng)。用戶可以將程序固化在EPROM內(nèi),可以反復修改程序。但是它的價格比較昂貴。8031外擴一片4KB EPROM就相當于8751,它的最大優(yōu)點是價格便宜。</p><p>  經(jīng)過計算和考慮,我們這里所設計的自動存包柜是一個比較簡單的控制系統(tǒng),用8031就完全可以達到我們設計的要

26、求,實現(xiàn)存包柜的各項功能,所以我們選用8031作為我們的主機電路核心器件。</p><p>  8031單片機是Intel公司生產(chǎn)的MCS-51系列單片機中的一種,除無片內(nèi)ROM外,其余特性與MCS-51單片機基本一樣。</p><p>  8031的主要性能包括:(1)與MCS-51位控制器產(chǎn)品系列兼容。(2)寬工作電壓范圍,VCC可為2.7V~6V。(3)全靜態(tài)工作,可從0Hz至16H

27、z。(4)128×8位內(nèi)部RAM。(5)32條可編程I/O線。(6)兩個16位定時器/計數(shù)器。(7)中斷結構具有5個中斷源和2個優(yōu)先級[4]。</p><p>  2.2.1 8031內(nèi)部結構</p><p>  8031內(nèi)部有8個部件組成,即CPU、時鐘電路、數(shù)據(jù)存儲器、串行口、并行口(P0~P3)、定時計數(shù)器和中斷系統(tǒng),它們均由單一總線連接并被集成在一塊半導體芯片上,即組成了

28、單片微型計算機[5]。內(nèi)部結構如圖2-2所示:</p><p>  圖2-2 8031的內(nèi)部結構</p><p> ?。?)CPU中央處理器</p><p>  中央處理器是8031的核心,它決定了單片機的主要功能特性。中央處理器主要由運算部件和控制部件組成。它的功能是產(chǎn)生控制信號,把數(shù)據(jù)從存儲器或輸入口送到CPU,或?qū)PU數(shù)據(jù)寫入存儲器或送到輸出端口。還可以對數(shù)

29、據(jù)進行邏輯和算術的運算。</p><p><b> ?。?)時鐘電路</b></p><p>  8031內(nèi)部有一個頻率最大為12MHz的時鐘電路,它為單片機產(chǎn)生時鐘序列,但需要外接石英晶體做振蕩器和微調(diào)電容調(diào)整頻率。</p><p><b>  (3)內(nèi)存</b></p><p>  內(nèi)部存儲器可

30、分做程序存儲器和數(shù)據(jù)存儲器,但在8031中無片內(nèi)程序存儲器。</p><p><b> ?。?)定時/計數(shù)器</b></p><p>  8031有兩個16位的定時計數(shù)器,每個定時器和計數(shù)器都可以設置成定時的方式和計數(shù)的方式,但只能用其中的一個功能,以定時或計數(shù)結果對計算機進行控制。</p><p><b> ?。?)并行I/O口&l

31、t;/b></p><p>  MCS-51有四個8位的并行I/O口,P0,P1,P2,P3,以實現(xiàn)數(shù)據(jù)的并行輸入輸出。</p><p><b> ?。?)串行口</b></p><p>  它有一個全雙工的串行口,它可以實現(xiàn)計算機間或單片機同其它外設之間的通信,該串行口功能較強,可以作為全雙工異步通訊的收發(fā)器,也可以作為同步移位器用。&

32、lt;/p><p><b>  (7)中斷控制系統(tǒng)</b></p><p>  8031有五個中斷源,既外部中斷兩個,定時計數(shù)器中斷兩個,串行中斷一個,全部的中斷分為高和低的兩個輸出級[6]。</p><p>  2.2.2 8031引腳介紹</p><p>  采用40管腳雙列直插式DIP封裝,引腳如圖2-3所示:<

33、/p><p>  圖2-3 8031引腳圖</p><p><b>  引腳功能說明:</b></p><p>  Vcc 40引腳 主電源引腳接+5V電壓;</p><p>  Vss 20引腳 接地;</p><p>  XTAL1 19腳 接外部晶體的一個引腳。在單片機內(nèi)部,它是一個反相放

34、大器的輸入端,這個放大器構成了片內(nèi)振蕩器。當采用外部振蕩器時,對HMOS單片機,此引腳應接地;對CHMOS單片機,此引腳作為驅(qū)動端。 XTAL2(18腳)接外晶體的另一端。在單片機內(nèi)部,接至上述振蕩器的反相放大器的輸出端。采用外部振蕩器時,對HMOS單片機,該引腳接外部振蕩器的信號,即把外部振蕩器的信號直接接到內(nèi)部時鐘發(fā)生器的輸入端;對XHMOS,此引腳應懸浮。</p><p>  RST/VPD 9腳

35、 當振蕩器運行時,在此腳上出現(xiàn)兩個機器周期的高電平將使單片機復位。推薦在此引腳與VSS引腳之間連接一個約8.2k的下拉電阻,與VCC引腳之間連接一個約10μF的電容,以保證可靠地復位。VCC掉電期間,此引腳可接上備用電源,以保證內(nèi)部RAM的數(shù)據(jù)不丟失。當VCC主電源下掉到低于規(guī)定的電平,而VPD在其規(guī)定的電壓范圍(5±0.5V)內(nèi),VPD就向內(nèi)部RAM提供備用電源。 ALE/PROG 30腳 當訪問外部存貯器時,AL

36、E(允許地址鎖存)的輸出用于鎖存地址的低位字節(jié)。即使不訪問外部存儲器,ALE端仍以不變的頻率周期性地出現(xiàn)正脈沖信號,此頻率為振蕩器頻率的1/6。因此,它可用作對外輸出的時鐘,或用于定時目的。然而要注意的是,每當訪問外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。ALE端可以驅(qū)動(吸收或輸出電流)8個LS型的TTL輸入電路。</p><p>  PSEN 29腳 此腳的輸出是外部程序存儲器的讀選通信號。在從外部程序存儲器

37、取指令(或常數(shù))期間,每個機器周期兩次PSEN有效。但在此期間,每當訪問外部數(shù)據(jù)存儲器時,這兩次有效的PSEN信號將不出現(xiàn)。PSEN同樣可以驅(qū)動(吸收或輸出)8個LS型的TTL輸入。 </p><p>  EA/VPP 31引腳 當EA端保持高電平時,訪問內(nèi)部程序存儲器。當EA保持低電平時,則只訪問外部程序存儲器,不管是否有內(nèi)部程序存儲器。對于常用的8031來說,無內(nèi)部程序存儲器,所以EA腳必須常接地,這樣才能

38、只選擇外部程序存儲器。 P0口 39腳32腳 是雙向8位三態(tài)I/O口,在外接存儲器時,與地址總線的低8位及數(shù)據(jù)總線復用,能以吸收電流的方式驅(qū)動8個LS型的TTL負載。 P1口 腳至8腳 是準雙向8位I/O口。由于這種接口輸出沒有高阻狀態(tài),輸入也不能鎖存,故不是真正的雙向I/O口。P1口能驅(qū)動(吸收或輸出電流)4個LS型的TTL負載。</p><p>  P2口 21腳至28腳 是準雙向8位I

39、/O口。在訪問外部存儲器時,它可以作為擴展電路高8位地址總線送出高8位地址。在對EPROM編程和程序驗證期間,它接收高8位地址。P2可以驅(qū)動(吸收或輸出電流)4個LS型的TTL負載。 P3口 10腳至17腳 是準雙向8位I/O口,在MCS-51中,這8個引腳還用于專門功能,是復用雙功能口。P3能驅(qū)動(吸收或輸出電流)4個LS型的TTL負載[7]。 作為第一功能使用時,就作為普通I/O口用,功能和操作方法與P1口相同。第二

40、功能如表1所示:</p><p>  表1 P3口各引腳的第二功能</p><p>  2.3 8031的系統(tǒng)擴展</p><p>  8031具有很強的擴展功能,允許擴展各種外圍電路以補充片內(nèi)資源不足,適應特定應用的需要,擴展內(nèi)容包括數(shù)據(jù)存儲器、程序存儲器、I/O接口等擴展結構。系統(tǒng)擴展圖如圖2-4所示:</p><p>  圖2-4 80

41、31系統(tǒng)擴展結構圖</p><p>  在這里我們介紹外部地址鎖存器74LS373擴展芯片8255A。 </p><p><b>  74LS373介紹</b></p><p>  MCS-51單片機由于受引腳數(shù)的限制,數(shù)據(jù)線和地址線是復用的,由P0口兼用。為了將它們分離出來,以便同單片機片外的擴展芯片正確的連接,需要在單片機外部增加地址鎖存器

42、。我們這本設計中使用74LS373。74LS373是一種帶有三態(tài)門的8D鎖存器,其引腳如圖2-5所示:</p><p>  圖2-5 鎖存器74LS373的引腳</p><p><b>  其引腳的功能如下:</b></p><p>  D7~D0:8位數(shù)據(jù)輸入線</p><p>  Q7~Q0:8位數(shù)據(jù)輸出線</

43、p><p>  LE:數(shù)據(jù)輸入鎖存選通信號,高電平有效。當該信號為高電平的時候,外部數(shù)據(jù)選通到內(nèi)部鎖存器,負跳變時,數(shù)據(jù)鎖存到鎖存器中。</p><p>  OE:數(shù)據(jù)輸出允許信號,低電平有效。當該信號為低電平的時候,三態(tài)門打開,鎖存器中數(shù)據(jù)輸出到數(shù)據(jù)輸出線。當該信號為高電平的時候,輸出線為高阻態(tài)[8]。</p><p><b>  系統(tǒng)I/O接口擴展<

44、/b></p><p>  由于我們采集的數(shù)據(jù)量較多,因此CPU的I/O口線不夠用,所以我們使用8255A擴展I/O口,以滿足系統(tǒng)的要求。8255A是Intel公司生產(chǎn)的通用可編程并行I/O接口芯片。</p><p>  1 8255A內(nèi)部結構 </p><p>  8255A內(nèi)部由四部分電路組成。它們是A口、B口和C口,A組控制器和B組控制器,數(shù)據(jù)緩總線沖

45、器及讀寫控制邏輯,如圖2-6所示:</p><p>  圖2-6 8255A的內(nèi)部結構</p><p> ?。?) A口、B口和C口。A口、B口和C口均為8位I/O數(shù)據(jù)口,但結構上略有差別。A口由一個8位的數(shù)據(jù)輸出緩沖/鎖存器和一個8位的數(shù)據(jù)輸入緩沖/鎖存器組成。B口由一個8位的數(shù)據(jù)輸出緩沖/鎖存器和一個8位的數(shù)據(jù)輸入緩沖器組成。三個端口都可以和外設相連,分別傳送外設的輸入/輸出數(shù)據(jù)或控制

46、信息。</p><p> ?。?) A、B組控制電路。這是兩組根據(jù)CPU的命令字控制8255工作方式的電路。A組控制A口及C口的高4位,B組控制B口及C口的低4位。</p><p> ?。?) 數(shù)據(jù)總線緩沖器。它是一個8位的雙向三態(tài)驅(qū)動器,用于與單片機的數(shù)據(jù)總線相連,傳送數(shù)據(jù)或控制信息。</p><p> ?。?) 讀/寫控制邏輯。這部分電路接收MCS-51送來的讀

47、/寫命令和選口地址,用于控制對8255A的讀/寫[9]。</p><p>  2 8255A的引腳功能</p><p>  8255A有40條引腳,采用雙列直插式封裝。引腳如圖2-7所示:</p><p>  圖2-7 8255A引腳圖</p><p> ?。?)數(shù)據(jù)總線(8條):</p><p>  D0~D7:三

48、態(tài)雙向數(shù)據(jù)總線,8255A與CPU數(shù)據(jù)傳送的通道,當CPU執(zhí)行輸入輸出指令時,通過它實現(xiàn)8位數(shù)據(jù)的讀/寫操作,控制字和狀態(tài)信息也通過數(shù)據(jù)總線傳送。</p><p> ?。?)控制總線(6條):</p><p>  RESET:復位信號,輸入高電平有效。一般和單片機的復位相連,復位后,8255A所有內(nèi)部寄存器清0,所有口都為輸入方式。</p><p>  CS:片選信

49、號線,當這個輸入引腳為低電平時有效,表示芯片被選中,允許8255A與CPU進行通訊。</p><p>  RD:讀信號線,當這個輸入引腳為低電平時,允許8255A通過數(shù)據(jù)總線向CPU發(fā)送數(shù)據(jù)或狀態(tài)字。</p><p>  WR:寫入信號,當這個輸入引腳為低電平時,允許CPU將數(shù)據(jù)或控制字寫入8255A。</p><p>  A0、A1:地址輸入線。這兩位的4種組合0

50、0、01、10、11分別用于選擇A、B、C口和控制寄存器。</p><p> ?。?)并行I/O總線(24條):這些總線用于和外設相連,分別與A、B、C口相對應,用于8255A和外設之間傳送數(shù)據(jù),共分三組:</p><p>  PA0~PA7:端口A輸入輸出線,一個8位的數(shù)據(jù)輸出鎖存器/緩沖器,一個8位的數(shù)據(jù)輸入鎖存器。</p><p>  PB0~PB7:端口B輸

51、入輸出線,一個8位的I/O鎖存器,一個8位的輸入輸出緩沖器。</p><p>  PC0~PC7:端口C輸入輸出線,一個8位的數(shù)據(jù)輸出鎖存器/緩沖器,一個8位的數(shù)據(jù)輸入緩沖器。</p><p> ?。?)電源線(2條):VCC為+5V電源線,允許變化±10%;GND為地線。</p><p><b>  3 輸入輸出電路</b><

52、/p><p>  自動存包柜的設計中輸入輸出部分是十分重要的一個環(huán)節(jié),輸入輸出系統(tǒng)就是人與計算機之間建立聯(lián)系,交換信息的設備,即人機交互設備。在這里我們需要輸入存包取包命令,檢測箱內(nèi)是否有物體,在顧客需要的時候檢測密碼,并自動打開柜門,還需要顯示是否有空箱以及空箱的位置,來為顧客提供選擇。</p><p><b>  3.1鍵盤設計</b></p><

53、p>  鍵盤在單片機應用系統(tǒng)中能實現(xiàn)向單片機輸入數(shù)據(jù)、命令等功能,是人工干預單片機的主要手段。該系統(tǒng)中鍵盤的主要功能是用于顧客選擇適當?shù)陌翊姘冒存I來控制柜門的打開,鍵盤是用8031單片機經(jīng)74LS373擴展一片8255A構成鍵盤借口電路的。</p><p>  鍵盤的閉合與否,映在行線輸出電壓上就是呈現(xiàn)出高電平或低電平,相反如果高電平表示斷開的話,那么低電平就表示鍵閉合,所以通過對行線電平的高低狀態(tài)的

54、檢測,便可以確認按鍵按下與否。常用的鍵盤接口分為獨立式按鍵接口和矩陣式鍵盤接口。我們在這里選用矩陣式鍵盤接口,如圖3-1所示:</p><p>  圖3-1 矩陣式鍵盤</p><p>  矩陣式鍵盤工作原理:按鍵設置在行、列線交點上,行列線分別連接到按鍵開關的兩端,行線通過上拉電阻接到+5V電源上。平時無按鍵按下時,行線處于高電平狀態(tài),而當有按鍵按下時,行線電平狀態(tài)將由與此行線相連的列線

55、電平?jīng)Q定。列線電平如果為低電平,則行線電平為低電平;列線電平如果為高,則行線電平也為高電平。這是識別矩陣鍵盤按鍵是否被按下的關鍵所在。由于矩陣鍵盤中行、列 線為多鍵共用,各按鍵均影響該鍵在行和列的電平,因此各按鍵彼此將互相發(fā)生影響,所以必須將行、列線信號配合起來并作適當?shù)奶幚?,才能確定閉合鍵的位置[10]。</p><p>  鍵盤實際是一組按鍵開關的集合,是向系統(tǒng)提供操作人員干預命令和數(shù)據(jù)的接口設備這里我們選用

56、4*4矩陣鍵盤接口,用14個按鍵控制箱門的打開,其中,數(shù)字鍵10個,分別為0~9,功能鍵4個,“ON/C”表示存包鍵,“=”表示取包鍵,“+”表示確定鍵,“—”表示取消鍵。如圖3-2所示:</p><p>  圖3-2 4*4矩陣鍵盤</p><p>  該鍵盤工作方式采用的是外部中斷掃描,中斷式鍵盤掃描原理是:當有鍵按下將會觸發(fā)一個中斷源,提醒處理器進行鍵值掃描查詢。鍵盤的中斷方式一般有

57、定時中斷和外部中斷兩種,本系統(tǒng)采用的是外部中斷INT0。單片機先讓行線輸出低電平,當有鍵按下時列線電平不全為高,將觸發(fā)外部中斷 INT0,單片機進入中斷后先延時去抖動,再掃描查尋鍵盤,讀出鍵值,然后處理相應的鍵值處理子程序,無鍵按下則不進入中斷,單片機不掃描,從而節(jié)約了大量的資源[11]。</p><p><b>  3.2顯示系統(tǒng)設計</b></p><p>  為

58、了使操作人員及時掌握生產(chǎn)情況,在一般的微型計算機控制系統(tǒng)或者智能儀器當中,都配有顯示程序。常用的顯示器件有:①顯示和記錄儀表,②CRT顯示終端,③LED或者LCD顯示器,④大屏幕顯示器。本次設計所采用的是LED數(shù)碼管。</p><p>  LED數(shù)碼管是由發(fā)光二極管組成,由于材料的不同,可以發(fā)出各種單色光線。根據(jù)發(fā)光二極管內(nèi)部的連接方式不同,又有共陰極或共陽極兩種形式。如圖3-3所示:</p>&l

59、t;p>  共陰極 共陽極</p><p>  圖3-3 LED顯示器</p><p>  LED數(shù)碼管具有結構簡單,體積小,功耗低,響應速度快,易于匹配,壽命長,可靠性高等優(yōu)點。本次設計我們使用兩個4位數(shù)碼管來顯示8位密碼,數(shù)碼管如圖3-4所示:</p><p>  圖3-4 4位數(shù)碼顯示管</p&

60、gt;<p>  3.3 輸出系統(tǒng)功能擴展</p><p>  由于本人能力有限,考慮不周,此次設計的存包柜與實際應用的自動存包柜相差甚遠,功能不全,而且還存在一些問題。按實際應用中,根據(jù)各種需要,可以在此設計基礎上進行擴展。如:</p><p> ?。?)限位開關:利用電磁鐵或可控硅、電磁耦合器,再加上一些機械裝置,就能實現(xiàn)柜門的自動開關。</p><p

61、> ?。?)光電開關:對存包柜進行檢測,實時顯示無物的箱號。</p><p> ?。?)打印機:將產(chǎn)生的隨機密碼打印出來。</p><p> ?。?)語音服務:用戶存取包時,語音致詞“歡迎使用”、“請關門”、“謝謝使用”等。</p><p> ?。?)報警服務:用戶忘記關門時,提醒顧客關門。</p><p>  4 系統(tǒng)程序設計及仿真&

62、lt;/p><p>  為了使本系統(tǒng)的整個程序清晰明白,便于調(diào)試和修改,程序設計時把系統(tǒng)的各種功能分為若干部分,于每一部分功能編制相對獨立的程序塊,對各程序在運行的時候各負其責。</p><p>  4.1 主程序模塊設計</p><p>  該模塊的功能包括顯示的初始化,判斷是否有空箱,鍵盤掃描,密碼掃描等功能。存儲柜通上電以后,單片機上電,首先進行程序的初始化,包括

63、定時器,外部中斷等初始化,以及各參數(shù)初始值的設定。默認存儲柜為初始狀態(tài),根據(jù)存包指令,掃面計數(shù)器的存儲包狀態(tài),用數(shù)碼管顯示存儲柜號和密碼。主流程圖如圖4-1所示:</p><p>  4-1 主程序流程圖</p><p>  4.2鍵輸入子程序模塊</p><p>  鍵盤采用掃描工作方式,輸入程序功能有以下4個方面:</p><p>  

64、(1) 判斷鍵盤上有無鍵閉合,其方法為掃描口PA0~7輸出全“0”,讀PC口的狀態(tài),若PC0~3為全“1”(鍵盤上行線全為高電平)則鍵盤上沒有閉合鍵,若PC0~3不全為“1”,則有鍵處于閉合狀態(tài)。</p><p>  (2) 去除鍵的機械抖動,其方法為判斷出鍵盤上有鍵閉合后,延遲一段時間再判別鍵盤的狀態(tài),若仍有鍵閉合,則認為鍵上有一個鍵處于穩(wěn)定的閉合期,否則認為是鍵的抖動。</p><p>

65、;  (3) 判別鍵閉合的鍵號,方法對鍵盤的列線進行掃描,掃描口PA0~7依次輸出:</p><p>  相應的依次讀PC口的狀態(tài),若PC0~3為全“1”則列線為“0”的這一列上沒有鍵閉合。閉合鍵的鍵號等于為低電平的列號加上為低電平的行的首鍵號。</p><p>  (4) 使CPU對鍵的一次閉合僅做一次處理,采用的方法為等待閉合鍵釋放后在作處理。</p><p>

66、  流程圖如圖4-2所示:</p><p>  圖4-2 鍵輸入子程序流程圖</p><p><b>  4.3 系統(tǒng)仿真</b></p><p>  本設計我們采用Proteus仿真,軟件調(diào)試先將事先編寫好的各模塊部分程序?qū)懭敕抡孳浖锏膯纹瑱C中,然后通過Proteus仿真軟件進行仿真。如有錯誤或?qū)崿F(xiàn)不了預想的功能,則需要對程序進行修改以達到

67、設計的最終要求。此次設計中,燈亮表示柜中存有物品,燈滅表示柜空。</p><p>  (1)各元器件的連接圖,如圖4-3所示</p><p>  圖4-3 各元器件的連接</p><p> ?。?)按“ON/C”鍵(即存包鍵),數(shù)碼管顯示8位隨機密碼,作為取包時的核對密碼,然后密碼消失,對應的發(fā)光二極管亮,即可存包。仿真結果如圖4-4,4-5所示:</p>

68、;<p>  圖4-4 產(chǎn)生8位隨機密碼</p><p>  圖4-5 燈亮,對應柜子可存包</p><p> ?。?)按“=”鍵(即取包鍵),顯示取包狀態(tài),輸入密碼后,按“+”確定,系統(tǒng)需要對密碼與原先保存的密碼進行比較,如果密碼正確,對應的發(fā)光二級管熄滅,即可取包。如圖4-6所示:</p><p>  圖4-6 密碼正確,燈滅,即可取包</p

69、><p><b>  結 束 語</b></p><p>  在做畢業(yè)設計這短短的幾個月當中,我不僅鞏固了以前學到的專業(yè)知識,更重要的是也學到了許多新知識,在本系統(tǒng)中,基本模擬了超市存包的功能,以8031為核心CPU進行系統(tǒng)任務調(diào)度,內(nèi)部的隨機數(shù)模塊、發(fā)光二極管模塊、箱子模擬模塊和鍵盤輸入模塊,通過系統(tǒng)主程序來調(diào)度實現(xiàn)系統(tǒng)所需要的功能。從而了解了51系列單片機的具體使用,

70、加深了對 LED數(shù)碼管、發(fā)光二極管、矩陣鍵盤等常規(guī)元件的使用。也學會了設計一個系統(tǒng)的步驟、方法和設計思想。在畢業(yè)設計之初,首先尋找素材,確定選題,從中知道這次設計的目的、要求以及要完成的工作。開題之后進入資料 檢索階段,通過在網(wǎng)上及圖書館查找資料,了解了自動存包控制系統(tǒng)的發(fā)展狀況以及現(xiàn)狀,從中得到了許多對我們設計有用的東西,并最終確定一套方案。此方案是利用單片機來實現(xiàn)的,所以翻閱了大量的單片機書籍。因為以前的學習是圍繞51系列的單片機,

71、所以此次設計我選擇8031為CPU。在圖書館和和網(wǎng)站上查到了好多的單片機和傳感器方面的知識,這對設計是很有必要的,它對后面的工作有很大的幫助。當然設計總是在不斷的改進和完善中完成的,每一個器件的選擇都要有很多的考慮。在本次設計中也不斷的更換新的器件</p><p><b>  參 考 文 獻</b></p><p>  [1]劉德營,張志霞,李志偉.單片機原理及接口技

72、術[M].北京:中國水利水電出版社,2006:1~ 54,90~121. </p><p>  [2]潘新民,王燕芳.微型計算機控制技術[M].北京:電子工業(yè)出版社,2003:71~99,360~364.</p><p>  [3]宋浩,田豐.單片機原理及應用[M].北京:清華大學出版社,2005:1~39,134~179.</p><p>  [4]薛棟梁.MCS

73、-51/151/251單片機原理與應用[M].北京:中國水利水電出版社,2001: 254~ 261. </p><p>  [5]王路茜.電子設計技術[J].維普中文期刊.2006年02期. </p><p>  [6]方佩敏.新編傳感器原理應用電路詳解[J].北京:電子工業(yè)出版社,1994:112~117.</p><p>  [7]何立民.單片機應用系統(tǒng)設計[

74、M].北京:北京航空航天大學出版社,2002:97~104,149~156.</p><p>  [8]姜德譚,范茂軍.新編電子電路大全[M].北京:計量出版社,1985:90~121. </p><p>  [9]丁元杰.單片微機原理及應用[M].北京:機械工業(yè)出版社,2003:40~77. </p><p>  [10]何立民.單片機應用技術選編[M].北京:北

75、京航空航天大學出版社,1997:100~103.</p><p>  [11]李廣第.單片機基礎[M].北京:北京航空航天大學,1999:90~148. </p><p><b>  附 錄</b></p><p><b>  主程序清單</b></p><p><b>  ORG 0

76、0H</b></p><p>  JMP MAIN</p><p><b>  ORG 23H</b></p><p>  JMP COM-INT</p><p><b>  主程序開始</b></p><p><b>  ORG 30H&

77、lt;/b></p><p>  MAIN: MOV SP,#30H</p><p>  LCALL REST</p><p>  LCALL COMM</p><p><b>  JMP $</b></p><p><b>  初始化</b><

78、;/p><p>  REST: MOV P0,#00H</p><p>  MOV P2,#255</p><p>  CLR BEEP</p><p>  MOV P1,#255</p><p><b>  RET</b></p><p>&l

79、t;b>  串口初始化</b></p><p>  設置串行口工作方式1,定時器1作為波特率發(fā)生器</p><p>  波特率設置為 2400 ;</p><p>  COMM: MOV TMOD,#20H</p><p>  MOV TL1,#0F3H</p><p>  MOV T

80、H1,#0F3H</p><p><b>  SETB EA</b></p><p><b>  SETB ES</b></p><p>  MOV PCON,#00H</p><p>  MOV SCON,#50H</p><p>  SETB TR1&

81、lt;/p><p><b>  RET</b></p><p><b>  串口中斷服務程序</b></p><p>  COM_INT: CLR ES</p><p><b>  CLR RI</b></p><p>  MOV A,SBUF<

82、;/p><p><b>  MOV P1,A</b></p><p>  MOV DPTR,#TAB</p><p>  CJNE A,#0FFH,IN-1</p><p>  MOV SBUF,#255</p><p>  JNB TI,$</p><p>

83、;<b>  CLR TI</b></p><p><b>  SETB ES</b></p><p><b>  RETI</b></p><p>  IN-2: CJNE A,#2,IN-3</p><p>  MOVC A,@A+DPTR</

84、p><p>  MOV SBUF,A</p><p>  JNB TI,$</p><p><b>  CLR TI</b></p><p><b>  SETB ES</b></p><p><b>  RETI</b></p>

85、<p>  IN-3: MOV A,#03H</p><p>  MOVC A,@A+DPTR</p><p>  MOV SBUF,A</p><p>  JNB TI,$</p><p><b>  CLR TI</b></p><p><b&g

86、t;  SETB ES</b></p><p><b>  RETI</b></p><p>  TAB: DB '2','H','E','J'</p><p><b>  END</b></p><p>

87、<b>  鍵輸入字程序清單:</b></p><p>  KEYI: ACALL KS1</p><p>  JNZ LK1</p><p>  NI: ACALL DIR</p><p>  AJMP KEYI</p><p>  LK1:

88、 ACALL DIR</p><p>  ACALL DIR</p><p>  ACALL KS1</p><p>  JNZ LK2</p><p>  ACALL DIR</p><p>  AJMP KEYI</p><p>  LK

89、2: MOV R2,#0FEH</p><p>  MOV R4,#00H</p><p>  LK4: MOV DPTR,#7F01H</p><p>  MOV A,R2</p><p>  MOVX @DPTR,A </p><p>  INC

90、 DPTR</p><p>  INC DPTR</p><p>  MOVX A,@DPTR</p><p>  JB ACC.0,LONE</p><p>  MOV A,#00H</p><p>  AJMP LKP</p><p

91、>  LONE: JB ACC.1,LTWO</p><p>  MOV A,#08H</p><p>  AJMP LKP</p><p>  LTWO: JB ACC.2,LTHR</p><p>  MOV A,#08H</p>

92、<p>  AJMP LKP</p><p>  LTHR: JB ACC.3,NEXT</p><p>  MOV A,#18H</p><p>  LKP: ADD A,R4</p><p>  PUSH A</p>&l

93、t;p>  LK3: ACALL DIR</p><p>  ACALL KS1</p><p>  JNZ LK3</p><p>  POP A</p><p><b>  RET</b></p><p>  NEXT:

94、 INC R4</p><p>  MOV A,R2</p><p>  JNB ACC.7,KND</p><p>  RL A</p><p>  MOV R2,A</p><p>  AJMP LK4</p><p>

95、  KND: AJMP KEYI</p><p>  KS1: MOV DPTR,#7F01H</p><p>  MOV A,#00H</p><p>  MOVX @DPTR,A</p><p>  INC DPTR</p><p&g

96、t;  INC DPTR</p><p>  MOVX A,@DPTR</p><p>  CPL A</p><p>  ANL A,#0FH</p><p><b>  RET</b></p><p><b>  8255A工作

97、:</b></p><p>  MOV A,#90H</p><p>  MOV DPTR,#0FF7H</p><p>  MOVX @DPTR,A</p><p>  MOV DPTR,#0FF7CH</p><p>  MOVX A,@DPTR</p>

98、<p>  MOV DPTR,#0FF7DH</p><p>  MOV A,#DATA1</p><p>  MOVX @DPTR,A</p><p>  MOV DPTR,#0FF7EH</p><p>  MOV A,#DATA2</p><p>  MOVX

99、 @DPTR,A</p><p><b>  顯示子程序:</b></p><p>  MOV DPTR,#8000H</p><p>  MOV A,#01H</p><p>  MOVX @DPTR,A</p><p>  ACALL F-BUSY</

100、p><p>  MOV A,#30H</p><p>  MOVX @DPTR,A</p><p>  ACALL F-BUSY</p><p>  MOV A,#0EH</p><p>  MOV @DPTR,A</p><p>  ACALL

101、 F-BUSY</p><p>  MOV A,#4AH</p><p>  MOV @DPTR,A</p><p>  ACALL F-BUSY</p><p>  STORE: SETB VSDA;</p><p>  SETB VSCL;&

102、lt;/p><p><b>  NOP;</b></p><p><b>  NOP;</b></p><p><b>  NOP;</b></p><p><b>  NOP;</b></p><p>  CLR VSDA;

103、</p><p><b>  NOP;</b></p><p>  CLR VSDA;</p><p><b>  NOP;</b></p><p><b>  NOP;</b></p><p><b>  NOP;</b&g

104、t;</p><p><b>  NOP;</b></p><p>  CLR VSCL;</p><p><b>  RET;</b></p><p>  STOP: CLR VSDA;</p><p>  SETB

105、 VSCL;</p><p><b>  NOP;</b></p><p><b>  NOP;</b></p><p><b>  NOP;</b></p><p><b>  NOP;</b></p><p>  SETB

106、 VSDA;</p><p><b>  NOP;</b></p><p><b>  NOP;</b></p><p><b>  NOP;</b></p><p><b>  NOP;</b></p><p>  CL

107、R VSDA;</p><p>  CLR VSCL;</p><p><b>  RET;</b></p><p>  MACK: CLR VSDA;</p><p>  SETB VSCL;</p><p>&

108、lt;b>  NOP;</b></p><p><b>  NOP;</b></p><p><b>  NOP;</b></p><p><b>  NOP;</b></p><p>  CLR VSCL;</p><p&

109、gt;  SETB VSDA;</p><p><b>  RET;</b></p><p>  MNACK: SETB VSDA;</p><p>  SETB VSCL;</p><p><b>  NOP;</b></p><p>

110、;<b>  NOP;</b></p><p><b>  NOP;</b></p><p><b>  NOP;</b></p><p>  CLR VSCL;</p><p>  CLR VSDA;</p><p><b> 

111、 RET;</b></p><p>  CACK: SETB VSDA;</p><p>  SETB VSCL;</p><p>  CLR F0;</p><p>  MOV C,VSDA;</p><p>  JNC CEND;<

112、;/p><p>  SETB F0;</p><p>  CEND: CLR VSCL;</p><p><b>  RET;</b></p><p>  WRBYT: MOV R0,#08H;</p><p>  WLP:

113、RLC,A;</p><p>  JC WR1;</p><p>  AJMP WR0;</p><p>  WLP1: DJNZ R0,WLP;</p><p><b>  RET;</b></p><p>  WR1: SETB

114、 VSDA;</p><p>  SETB VSCL;</p><p><b>  NOP;</b></p><p><b>  NOP;</b></p><p><b>  NOP;</b></p><p><b>  NOP;&l

115、t;/b></p><p>  CLR VSCL;</p><p>  CLR VSDA;</p><p>  AJMP WLP1;</p><p>  WR0: CLR VSDA;</p><p>  SETB VSCL;</p>&l

116、t;p><b>  NOP;</b></p><p><b>  NOP;</b></p><p><b>  NOP;</b></p><p><b>  NOP;</b></p><p>  CLR VSCL;</p>&

117、lt;p>  AJMP WLP1;</p><p>  RDBYT: MOV R0,#08H;</p><p>  RLP: SETB VSDA;</p><p>  SETB VSCL;</p><p>  MOV C,VSDA;</p><p>

118、;  MOV A,R2;</p><p>  RLC A;</p><p>  MOV R2,A;</p><p>  CLR VSCL;</p><p>  DJNZ R0,RLP;</p><p><b>  RET;</b></p

119、><p>  WRNBYT: MOV R3,NUMBYT;</p><p>  LCALL STA;</p><p>  MOV A,SLA;</p><p>  LCALL WRBYT;</p><p>  LCALL CACK;</p><

120、p>  JB F0,WRNBYT;</p><p>  MOV R1,#MTD;</p><p>  WRDA: MOV A,@R1;</p><p>  LCALL WRBYT;</p><p>  LCALL CACK;</p><p>  JB

121、 F0,WRNBYT;</p><p>  INC R1;</p><p>  DJNZ R3,WRDA;</p><p>  LCALL STOP;</p><p><b>  RET;</b></p><p>  RDNBYT: MOV

122、R3,NUMBYT;</p><p>  LCALL STA;</p><p>  MOV A,SLA;</p><p>  LCALL WRBYT;</p><p>  LCALL CACK;</p><p>  JB F0,RDNBYT;</p>&l

溫馨提示

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

評論

0/150

提交評論