欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 單片機全自動存包控制系統設計論文 [打印本頁]

作者: xjj54474598    時間: 2018-5-1 11:52
標題: 單片機全自動存包控制系統設計論文
全自動存包柜的設計
XXX
電子信息工程  信工0706班  學號070201149
指導教師
摘    要
本文詳細介紹了國內自動存包控制系統的發展現狀,發展中所面臨的問題。并詳細介紹了本系統采用的單片機做控制器,可以同時管理N個存包柜。柜門鎖由電磁閥控制,當顧客需要存包的時候,可以自行到存包柜前按“開門”鍵,單片機接收到一脈沖信號,并通過系統I/O口發出相應的信號,控制鎖柜門的電磁閥將一空箱打開,顧客即可存包,并將柜門關上。當顧客需要取包時,要將只要將條碼放置到條形碼閱讀器前方,條形碼閱讀器采集到條碼信息輸出相應的高低電平信號傳給單片機,系統比較密碼一致后,發出開箱信號至電磁閥是柜門打開,顧客即可將包取出。
關鍵詞:自動存包 單片機 光電傳感器 條形碼閱讀器
Design of Automatic Package of Counter
Abstract
This paper describes the control system of the domestic auto-save package development status of the problems faceing the development. And details of the system microcontroller to do with the controller, can manage a package of counter N. Controlled by a solenoid valve cabinet locks, when customers need to save the package, they can keep their own bag to the counter before the press the "open" button, the microcontroller receives a pulse signal, and the system I / O port to issue the appropriate signal, control lock door of the solenoid valve will be an empty box is opened, the customer can deposit bags, and cabinet door. When the customer needs to take when the package is to simply place the barcode in front of bar code readers, bar code readers bar code information collected by the high-low output signals to the appropriate microcontroller, the password system is relatively consistent, the issue out of the box signal to the solenoid valve is the door open, the customer can remove the package.

Keywords: Automatic Storage Bag Microcontroller Photoelectric Sensors  Bar Code Reader
目    錄
前    言        1
第1章  自動存包柜        2
第1.1節  自動存包柜的發展概述        2
第1.2節  總體方案確定        3
第2章  系統硬件設計        4
第2.1節  MCS—51單片機主要應用特性        4
第2.2節  自動存包系統面板設計及控制原理圖        6
第2.3節  微型處理器        9
第2.4節  系統擴展        12
第2.5節  輸入/輸出接口系統設計        20
第2.6節  條形碼閱讀器設計        25
第2.7節  電機控制電路設計        26
第2.8節  電源        27
第3章  系統流程圖        29
第3.1節  控制主程序流程圖        29
第3.2節  顯示子程序程圖        31
第3.3節  輸入給定值中斷服務程序        32
結    論        33
附    錄        34
參考文獻        39
致    謝        40


前    言
隨著我國的不斷發展,產品呈現出種類數目不斷增多、豐富的局面。尤其是生產質量的不斷提高,對技術服務提出了更高的要求,特別是對物品的自動存儲提出了更新更高的要求。在當前各種多功能全自動存包機逐漸進入各超市的情況下,我們有必要對國產自動存包控制的應用現狀及發展作進一步探討。
在超市、綜合商店、個人商店等人流量大的地方,常常需要對顧客隨帶物品進行存儲。如果用人工完成不但麻煩,而且效率低,勞動強度大。隨著微型計算機控制的普及,特別是單片機的應用,給該類系統的設計帶來了極大的便利,在本次設計中,將主要介紹單片機控制自動存包控制系統的設計方法。
第1章  自動存包柜
第1.1節  自動存包柜的發展概述
電子存包柜又名自動存包柜、電子寄存柜,是20世紀嵌入式計算機快速發展后在傳統寄存行業的一大應用。從外觀和用途來看,電子存包柜屬于家具類別中的鋼制家具。從實現方式和功能上來看,電子存包柜屬于電子專用設備。電子存包柜主要由以下幾種類型:
(1)機設條碼式電子存包柜   
存物時:按“存”鍵,寄存柜自動打印一張密碼條,機器語音提示:“請取密碼條”。使用者抽出密碼紙,對應的箱門自動打開,存好后關上箱門。取物時:直接將條碼紙在掃描口掃描,對應的箱門會自動打開。語音提示:“請取完物品后關好箱門。”
(2)指紋式電子存包柜   
    以使用者指紋作為寄存的憑證;當使用者進行存物操作時,須先按一下操作鍵盤中的“存”鍵,然后在指紋采集窗里采集指紋,機器會把該指紋與分配給使用者使用的寄存箱的箱號結合起來,并將信息自動記錄下,同時自動打開該箱,供使用者存物,存完后使用者自己關好箱門;取物時,只需須先按一下操作鍵盤中的“取”鍵,然后在指紋采集窗里采集指紋,寄存柜將指紋數據與先前記錄下的進行比對,正確后才會打開該箱供使用者取物(同時機器會自動記錄當時的時間、指紋以備查詢)。 
(3)非接觸IC卡電子存包柜   
    以使用者所持IC卡(即射頻卡)作為寄存的憑證;當使用者進行存物操作時,須先按一下操作鍵盤中的“存”鍵再刷卡(即讓寄存柜讀取卡號),寄存柜先識別是否為該場所的IC卡,若不是則拒絕存物;若是,機器會把該卡號與分配給使用者使用的寄存箱的箱號結合起來,并將信息自動記錄下,同時自動打開該箱,供使用者存物,存完后自己關好箱門;取物時,只需須先按一下操作鍵盤中的“取”鍵再刷卡,寄存柜將讀取的卡號與先前記錄下的進行比對,正確后才會打開該箱供使用者取物(同時機器會自動記錄當時的時間、卡號以備查詢)。   
(4)聯網型非接觸IC卡電子存包柜   
聯網型非接觸IC卡電子存包柜基本功能與非接觸IC卡電子存包柜一致,另外增加了網絡通訊模塊,上位機管理軟件等,以實現寄存狀態聯網監控,分段收費,報表打印等功能。   
現在公共場所應用比較廣泛。因此,研制出一種能自動存包的裝置有很重大的意義,我所研究的就是這方面的課題。
第1.2節  總體方案確定
根據“自動存包”這一目的要求,做如下設計安排:
第一部分:CPU核心控制部分,由單片機8031、復位電路、時鐘電路等構成,是整個系統的核心。
第二部分:鍵盤顯示控制部分。對3個數碼管和2個按鍵進行管理,3個數碼管用于顯示兩位柜號和3位密碼,12個按鍵分別為10個數字鍵和2個功能鍵。通過這些鍵盤,用戶就可以完成所有的操作。
第三部分:執行機構部分。它是通過8051的并行口擴展一片8255A芯片,并通過8255A控制20個燈的狀態(亮滅)來模擬柜子的存包取包的過程。
軟件部分主要采用我們自己設定的一種與柜號相關聯的算法來產生一組3位的隨機密碼,而密碼的產生、核對過程就對應存包、取包的過程。
第2章  系統硬件設計
第2.1節  MCS—51單片機主要應用特性
MCS-51單片機是美國Intel公司于1980年推出的產品,與MCS-48單片機相比,它的結構更先進,功能更強,在原來的基礎上增加了更多的電路單元和指令,指令數達111條,MCS-51單片機可以算是相當成功的產品,一直到現在,MCS-51系列或其兼容的單片機仍是應用的主流產品,各高校及專業學校的培訓教材仍用MCS-51單片機作為代表進行理論基礎學習。我們也以這一代表性的機型進行系統的設計。
MCS-51系列單片機主要包括8031、8051和8751等通用產品,其主要功能如下:
8位CPU
4kbytes 程序存儲器(ROM)
128bytes的數據存儲器(RAM)
32條I/O口線
111條指令,大部分為單字節指令
21個專用寄存器
2個可編程定時/計數器
5個中斷源,2個優先級
一個全雙工串行通信口
外部數據存儲器尋址空間為64kB
外部程序存儲器尋址空間為64kB
邏輯操作位尋址功能
雙列直插40PinDIP封裝
單一+5V電源供電
MCS-51以其典型的結構和完善的總線專用寄存器的集中管理,眾多的邏輯位操作功能及面向控制的豐富的指令系統,堪稱為一代“名機”,為以后的其它單片機的發展奠定了基礎。正因為其優越的性能和完善的結構,導致后來的許多廠商多沿用或參考了其體系結構,有許多世界大的電氣商豐富和發展了MCS-51單片機,像PHILIPS、Dallas、ATMEL等著名的半導體公司都推出了兼容MCS-51的單片機產品,就連我國的臺灣WINBOND公司也發展了兼容MCS-51的單片機品種。
近年來MCS-51獲得了飛速的發展,MCS-51的發源公司Intel由于忙于開發PC及高端微處理器而無精力繼續發展自己的單片機,而由其它廠商將其發展,最典型的是PHILIPS和ATMEL公司,PHILIPS公司主要是改善其性能,在原來的基礎上發展了高速I/O口,A/D轉換器,PWM(脈寬調制)、WDT等增強功能,并在低電壓、微功耗、擴展串行總線(I2C)和控制網絡總線(CAN)等功能加以完善。
ATMEL公司推出的AT89Cxx系列兼容MCS-51的單片機,完美地將Flash(非易失閃存技術)EPROM與80C51內核結合起來,仍采用MCS-51的總體結構和指令系統,Flash的可反擦寫程序存儲器能有效地降低開發費用,并能使單片機作多次重復使用。
8051是MCS-51系列單片機中的代表產品,它內部集成了功能強大的中央處理器,包含了硬件乘除法器、21個專用控制寄存器、4kB的程序存儲器、128字節的數據存儲器、4組8位的并行口、兩個16位的可編程定時/計數器、一個全雙工的串行口以及布爾處理器。
MCS-51采用模塊式結構,MCS-51系列中各種加強型單片機都是以8051為核心加上一定的新的功能部件后組成的,從而使它們完全兼容。表2.1為MCS-

MCS-51具有比較大的尋址空間,地址線寬達16條,即外部數據存儲器和程序存儲器的尋址范圍達216=64kB,這作為單片機控制來說已是比較大的,這同時具備對口的訪問能力。此外,MCS-51采用模塊化結構,可方便地增刪一個模塊就可使引腳和指令兼容的新產品,從而容易使產品形成系列化。
由于MCS-51集成了幾乎完善的8位中央處理單元,處理功能強,中央處理單元中集成了方便靈活的專用寄存器,硬件的加、減、乘、除法器和布爾處理機及各種邏輯運算和轉移指令,這給應用提供了極大的便利。
MCS-51的指令系統近乎完善,指令系統中包含了全面的數據傳送指令、完善的算術和邏輯運算指令、方便的邏輯操作和控制指令、對于編程來說,是相當靈活和方便的。
MCS-51單片機的工作頻率為2-12MHz,當振蕩頻率為12MHz時,一個機器周期為1us,這個速度應該說是比較快的。
MCS-51把微型計算機的主要部件都集成在一塊芯片上,使得數據傳送距離大大縮短,可靠性更高,運行速度更塊。由于屬于芯片化的微型計算機,各功能部件在芯片中的布局和結構達最優化,抗干擾能力加強,工作亦相對穩定。因此,在工業測控系統中,使用單片機是最理想的選擇。單片機屬于典型的嵌入式系統,所以它是低端控制系統最佳器件。
鑒于MCS-51的以上特點,本文的設計就是基于MCS-51的8031型號單片機來設計的自動存包系統。
第2.2節  自動存包系統面板設計及控制原理圖
2.2.1  面板設計
自動存包控制系統面板如圖2.1所示



   
圖2.1  控制面板
下圖為實物圖的展示:
圖2.1  實物圖展示
2.2.2  系統控制原理圖
圖2.3  自動存包系統控制原理圖
在本系統設計的自動存包系統中,采用8031單片機設計一個最小系統,為了讀鍵盤給定值及完成檢測和控制,系統中擴展一片8255A可編程接口及程序存儲器EPROM 2764其原理圖如圖2.3所示。
在圖2.3中所示,8031、74LS373、2764組成最小系統。
第2.3節  微型處理器
8031單片機是Intel公司生產的MCS-51系列單片機中的一種,除無片內ROM外,其余特性與MCS-51單片機基本一樣。
2.3.1  8031性能特點
8031的主要性能包括:
(1)與MCS-51位控制器產品系列兼容。
(2)寬工作電壓范圍,VCC可為2.7V~6V。
(3)全靜態工作,可從0Hz 至16Hz。
(4)128×8位內部RAM。
(5)32條可編程I/O線。
(6)兩個16位定時器/計數器。
(7)中斷結構具有5個中斷源和2個優先級。
2.3.2  8031硬件結構及引腳功能
8031的內部硬件結構如圖2.4所示:



   
   8031具有很強的擴展功能,允許擴展各種外圍電路以補充片內資源不足,適應特定應用的需要,擴展內容包括數據存儲器、程序存儲器、I/O接口等擴展結構如圖2.5所示:
圖2.5  8031系統擴展結構圖
    2.4.1  I/O接口的擴展
    由于我們采集的數據量較多,因此CPU的I/O口線不夠用,所以我們使用8255A來擴展I/O口,以滿足系統的要求。
8255A是Intel公司生產的通用可編程并行I/O接口芯片。8031和8255A相連可為外設提供三個8位I/O端口,允許采用同步、異步和中斷方式傳送I/O數據。
(1)8255A內部結構和引腳功能
①內部結構
8255A內部由四部分電路組成。它們是A口、B口和C口,A組控制器和B控制器,數據緩沖器及讀寫控制邏輯,如圖2-6所示。
1 A口、B口和C口。A口、B口和C口均為8位I/O數據口,但結構上略有差別。A口由一個8位的數據輸出緩沖/鎖存器和一個8位的數據輸入緩沖/鎖存器組成。B口由一個8位的數據輸出緩沖/鎖存器和一個8位的數據輸入緩沖器組成。三個端口都可以和外設相連,分別傳送外設的輸入/輸出數據或控制信息。
2 A、B組控制電路。這是兩組根據CPU的命令字控制8255工作方式的電路。A組控制A口及C口的高4位,B組控制B口及C口的低4位。
3 數據總線緩沖器。它是一個8位的雙向三態驅動器,用于與單片機的數據總線相連,傳送數據或控制信息。
4 讀/寫控制邏輯。這部分電路接收MCS-51送來的讀/寫命令和選口地址,用于控制對8255A的讀/寫。
圖2.6  8255A芯片的內部結構圖
②  引腳功能
8255A有40條引腳,采用雙列直插式封裝。如圖2.7所示。
圖2.7  8255A引腳圖
1數據總線(8條):
D0~D7:三態雙向數據總線,8255A與CPU數據傳送的通道,當CPU 執行輸入輸出指令時,通過它實現8位數據的讀/寫操作,控制字和狀態信息也通過數據總線傳送。
2控制總線(6條):
RESET: 復位信號,輸入高電平有效。一般和單片機的復位相連,復位后,8255A所有內部寄存器清0,所有口都為輸入方式。
:片選信號線,當這個輸入引腳為低電平時有效,表示芯片被選中,允許8255A與CPU進行通訊。
:讀信號線,當這個輸入引腳為低電平時,允許8255A通過數據總線向CPU發送數據或狀態字。
:寫入信號,當這個輸入引腳為低電平時,允許CPU將數據或控制字寫入8255A。
A0、A1:地址輸入線。當=0,芯片被選中時,這兩位的4種組合00、01、10、11分別用于選擇A、B、C口和控制寄存器。其組合如表2.3。
表2.3  8255A控制信號功能表
總線高阻
3并行I/O總線(24條):這些總線用于和外設相連,分別與A、B、C口相對應,用于8255A和外設之間傳送數據,共分三組:
PA0~PA7:端口A輸入輸出線,一個8位的數據輸出鎖存器/緩沖器,一個8位的數據輸入鎖存器。
PB0~PB7:端口B輸入輸出線,一個8位的I/O鎖存器,一個8位的輸入輸出緩沖器。
PC0~PC7:端口C輸入輸出線,一個8位的數據輸出鎖存器/緩沖器,一個8位的數據輸入緩沖器。
4電源線(2條):VCC為+5V電源線,允許變化±10%;GND為地線。
    (2)8255A方式控制字
8255A有兩個控制字:方式控制字和C口單一置復位控制字。用戶通過程序可以把這兩個控制字送到8255A的控制寄存器(A1A0=11B),以設定8255A的工作方式和C口各位狀態。這兩個控制字以D7位狀態作為標志。8255A各端口工作于什么方式和是輸入還是輸出方式,是由方式控制字決定的。方式控制字格式如圖2.7所示。
D7為控制字標志位,若D7=1,則本控制字為方式控制字,若D7=0,則本控制字為C口單一置復位控制字。
D6~D3為A組控制位。其中,D6和D5位A組方式選擇位:若D6D5=00,則A組設定為方式0;若D6D5=01,則A組設定為方式1:若D6D5=1×(×為任意),則A組設定為方式2。D4為A口輸入/輸出控制位:若D4=0,則PA0~PA7,用于輸出數據;若D4=0,則PA0~PA7用于輸入數據。D3位C口高4位輸入/輸出控制位:若D3=0,則PC4~PC7為輸出數據方式;若D3=1,則PC4~PC7為輸入方式。
圖2.8  方式控制字
D2~D0為B組控制位,其作用和D6~D3類似。其中,D2為方式選擇位,若D2=0,則B組設定為方式0,若D2=1,則B組設定為方式1。D1為B口輸入/輸出控制位,D1=0,則PB0~PB7用于輸出數據,若D1=1,則PB0~PB7用于輸入數據。D0為C口低4位輸入/輸出控制位,若D0=0,則PC0~PC3用于輸出數據,若D0=1,則PC0~PC3用于輸入數據。如圖2.9所示:
圖2.9  置位控制字
    (3)8255A的工作方式
8255A有三種工作方式:方式0(Mode0)、方式1(Mode1)和方式2(Mode2)。正確的選用方式控制字,并把它通過程序送給8255A的控制字寄存器就可設定8255A的工作方式。
方式0(基本輸入/輸出方式):
這種方式不需要任何選通信號。A口、B口及C口的兩個4位口中的任何一個端口都可以被設定為輸入或輸出。輸出鎖存,輸入不鎖存。根據控制字D4、D3、D1、D0位的變化,方式0有16種不同的輸入、輸出組合方式。
方式1(選通輸入/輸出方式):
這種方式下,A口、B口、C口分為兩組。A組包括A口和C口的高4位,A口可由編程設定為輸入口或輸出口,C口的高四位則用來作為輸入/輸出操作的控制和同步信號;B組包括B口和C口的低4位,B口可由編程設定為輸入口或輸出口,C口的低四位則用來作為輸入/輸出操作的控制和同步信號。A口和B口的輸入輸出數據都被鎖存。
方式2(雙向總線方式):
這種方式下,A口為8位雙向總線口,C口的PC3~PC7用來作為輸入/輸出操作的控制和同步信號;B口和C口的PC0~PC2則可編程為方式0或方式1工作。
    (4)8255A與CPU 8031的接口
8255A與CPU 8031的接口連線如圖2.10所示。
圖2.10 8255A與CPU8031的接線圖
8255A與單片機間有3組連線:D7~D8根數據線依次與P0口的P0.7~P0.0一一對應連接:RD、WR、RESET等3根控制線與單片機的同名引腳互連;片選端CS則與P2口相連;A1、A0兩根地址線與單片機的兩個I/O引腳連接。
    2.4.2  存儲功能擴展
由于我們需要保存一定的數據,而8031片內沒有程序存儲功能,因此,EA管腳總是接低電平。根據保存的數據量需要,我們選用了EPROM 2764為外擴的數據存儲器。
(1)態緩沖輸出的8D鎖存器,由于單片機的三總線結構中,數據線與地址線的低8位共用P0口,因此必須用地址鎖存器將地址信號和數據信號區分開。74LS373的鎖存控制端直接與單片機的鎖存控制信號ALE相連,在ALE的下降沿鎖存低8位地址。其中,D0~D7為數據輸入端;Q0~Q7為數據輸出端;OE為三態允許控制端(低電平有效);LE為鎖存允許端。
圖2.11  74LS373 引腳
該片如何工作由功能表2.4決定,表中L為低電平、H為高電平、Z為高阻抗(相當開路)X為任意電平,一般將OE接低電平,LE接ALE就能正常工作。
表2.4  74LS373真值表
   
LE
   
Dn
   
Qn
L
   
H
   
H
   
H
L
   
H
   
L
   
L
L
   
L
   
L
   
L
L
   
L
   
H
   
H
H
   
X
   
X
   
Z
   
    (2)2764 EPROM紫外線擦除電可編程只讀存儲器EPROM是國內用得較多的程序存儲器。EPROM芯片上有一個玻璃窗口,在紫外線照射下,存儲器中的各位信息均變1,即處于擦除狀態。擦除干凈的EPROM可以通過編程器將應用程序固化到芯片中。本次設計所選用的是2764 EPROM。
    ①2764的概述
這是一種可以擦去重寫的只讀存儲器。通常用紫外線對其窗口進行照射,即可把它所存儲的內容擦去。之后,又可以對其重新進行編程,寫入新的內容。一旦寫入,其存儲的內容可以長期(幾十年)地保存,即使去掉電源電壓,也不會影響它所存儲的內容。圖2.11為通用的EPROM 2764的引腳圖,它的容量為8 K×8bit。8 K表示有8×1024個存儲單元,8位表示每個單元存儲數據的寬度是8位。前者確定了地址線的位數是12位(A0~A12),后者確定了數據線的位數是8位(D0~D7)。目前,除了串行存儲器之外,一般情況下,我們使用的都是8位數據存儲器。單一+5 V供電,工作電流為75 mA,維持電流為35 mA,讀出時間最大為250 ns,DIP28封裝。



   
圖2.12 2764引腳圖
②引腳功能
其中,A0~A12為地址線;D0~D7為數據線; 為片選線;是讀線;是編程輸入;Vpp為編程電源。
除了12條地址線和8條數據線之外, 為片選線,低電平有效。也就是說,只有當為低電平時,2764才被選中,否則,2764不工作。  
    ③EPROM 2764和鎖存器74LS373與8031組成最小系統
8031單片機擴展一片2764程序存儲器電路如圖2.12所示。
1地址線。單片機擴展片外存儲器時,地址是由P0和P2口提供的。圖2.12中,2764的13條地址線(A0~A12)中,低8位A0~A7通過鎖存器74LS373與P0口連接,高4位A8~A12直接與P2口的P2.0~P2.3連接,P2口本身有鎖存功能。注意,鎖存器的鎖存使能端LE必須和單片機的ALE管腳相連。



   
圖2.13  8031擴展2764 EPROM硬件接線圖
2數據線。2764的8位數據線直接與單片機的P0口相連。因此,P0口是一個分時復用的地址/數據線。
3控制線。CPU執行2764中存放的程序指令時,取指階段就是對2764行讀操作。注意,CPU對EPROM只能進行讀操作,不能進行寫操作。CPU對2764的讀操作控制都是通過控制線實現的。2764控制線的連接有以下幾條:
CE:直接P2.5。
OE:接8031的讀選通信號端。在訪問片外程序存儲器時,只要端出現負脈沖,即可從2764中讀出程序。
第2.5節  輸入/輸出接口系統設計
輸入/輸出接口系統就是指人與計算機之間建立聯系、交換信息的輸入/輸出設備接口,就是人機交互接口。這些輸入/輸出設備主要有鍵盤和顯示器等。它們是系統中必不可少的輸入、輸出設備,是控制系統與操作人員之間交互的窗口。
2.5.1  鍵盤系統設計
鍵盤是若干按鍵的集合,是向系統提供操作人員干預命令及數據的接口設備。鍵盤可以分為編碼鍵盤和非編碼鍵盤兩種類型。前者能自動識別按下的按鍵并且能產生相應的代碼,以并行或串行的方式發送給CPU。它使用方便,接口簡單,響應速度快,但是需要專用的硬件電路。本次設計中所采用的就是編碼鍵盤。



   
如圖2.3中所示,8255A為給定值輸入接口。為了使系統簡單,設計了一個由二極管矩陣組成的編碼鍵盤,如圖2.14所示:
圖2.14 編碼鍵盤原理圖
鍵盤輸出信號D,C,B,A(BCD碼)分別接到8255A的A口PA3-PA0,鍵選通信號KEYSTROBE(高電平有效),經反向器接到8031的INT0管腳。當按下某一個按鍵時,KEYSTROBE為高電平,經過反相后的下降沿向8031申請中斷。8031響應后,讀入BCD碼值,作為定值,并送顯示。本次設計只有3位顯示,所以最多只能給定999。輸入順序為從最高位(百位數)開始。
當按鍵未按下時,所有輸出端口均為高電平。當有按鍵按下以后該按鍵的BCD碼將會出現在輸出線上。
2.5.2  顯示系統設計
為了使操作人員及時掌握生產情況,在一般的微型計算機控制系統或者智能儀器當中,都配有顯示程序。本次設計采用LED數碼顯示。
(1)LED數碼管的結構及顯示原理
常用的顯示器件有:①顯示和記錄儀表,②CRT顯示終端,③LED或者LCD顯示器,④大屏幕顯示器。本次設計所采用的是LED數碼管。LED數碼管具有結構簡單,體積小,功耗低,響應速度快,易于匹配,壽命長,可靠性高等優點。
LED數碼管是由發光二極管組成,由于材料的不同,可以發出各種單色光線。發光二極管可以有多種組成形式,其中7段數碼管應用最多,根據發光二極管內部的連接方式不同,又有共陰極或共陽極兩種形式。如圖2.15所示



   
圖2.15  LED數碼管結構
    (2)74LS138結構及功能
圖2.16  74LS138結構
A1、A2、A3分別為輸入端,G1為使能端的高電平,0、Y1、Y2、Y3、Y4、Y5、Y6、Y7分別為輸出端。在講38譯碼器的時候,老師還講了38譯碼器的邏輯真值表,而且,38譯碼器就是根據邏輯真值表研制出的,如下圖:
圖2.17  74LS138 真值表
注:表中的藍色區域為輸入使能端,黃色區域為輸入選擇端,綠色區域表示該譯碼器不工作。其引腳功能為:A、B、C為譯碼地址輸入端;G1為選通端;2A、2B為選通端(低電平有效);Y0~Y7為譯碼輸出端(低電平有效)。
(3) 74LS377結構及功能
簡單輸出接口通常用74LS377芯片。該芯片是一個種8D鎖存器,該芯片的引腳排列如下圖所示:
                                圖2.18  74LS377引腳及功能
圖中相關引腳的功能如下:
D0-D7:8位數據端輸入端。
Q0-Q7:8位數據輸出端。
G:使能控制端。
CLK:時鐘信號,上升沿鎖存數據。
       表2.5 74LS377真值表
   
CLK
   
D
   
Q
1
   
X
   
X
   
Q
0
   
1
   
1
   
1
0
   
1
   
0
   
0
X
   
0
   
X
   
Q
   
    下圖是利用74LS377進行簡單輸出接口的擴展的電路,圖中,由于74LS的G端與P2.7口連接,所以他的地址是:0XXX XXXX XXXX XXXXB。如果把“X”全置1的話,就是0111 1111 1111 1111B即7FFH
  
圖2.19 74LS377輸出接口的擴展電路
   
    由于51的與74LS的CLK端相連,當信號由低電平變高時,數據總線上的數據證實輸出的數據。而此時P2.7也正輸出低電平,有效,因此,數據就被鎖存,有關程序如下:
MOV  DPTR, #7FFH  : 地址
MOV   A,   #DATA  :  DATA為要送出的數據
MOV  @DPTR, A      :   P0口數據被74LS377鎖存
第2.6節  條形碼閱讀器設計
條形碼閱讀器是傳感器大家族中的成員,它把發射端和接收端之間光的強弱變化轉化為電流的變化以達到探測的目的。條形碼閱讀器具有如下特點:輸出回路和輸入回路是電隔離的(即電絕緣),體積小、精度高、檢測距離遠,防水、防腐蝕、防震動,抗光、電、磁等干擾。所以它可以在冶金、紡織、煙草、造紙、化工、電力、保安等各種行業得到應用。條形碼閱讀器(光電傳感器)利用被檢測物對光束的遮擋或反射,由同步回路選通電路,從而檢測物體有無。物體不限于金屬,所有能反射光線的物體均可被檢測。條形碼閱讀器將輸入電流在發射器上轉換為光信號射出,接收器再根據接收到的光線的強弱或有無對目標物體進行探測。工作原理如圖2.20所示。
圖2.20 光電傳感器工作原理
條形碼閱讀器在一般情況下由三部分構成,它們分別為發送器、接收器和檢測電路。條形碼閱讀器的重要功能是能夠處理光的強度變化,利用光學元件,在傳播媒介中間使光束發生變化,利用光束來反射物體,使光束發射經過長距離后瞬間返回。發射器對準目標發射光束,發射的光束一般來源于發光二極管(LED)和激光二極管。光束不間斷地發射,或者改變脈沖寬度。受脈沖調制的光束輻射強度在發射中經過多次選擇,朝著目標不間斷地運行。接收器由光電二極管或光電三極管組成。在接收器的前面,裝有光學元件如透鏡和光欄等。在其后面的是檢測電路,它能濾出有效信號和應用該信號。此外,條形碼閱讀器的結構元件中還有發射板和光導纖維。
條形碼閱讀器的種類也很多,根據條形碼閱讀器在檢測物體時發射器所發出的光線被折回到接收器的途徑的同,可分為漫反射式、鏡反射式、對射式等。
第2.7節  電機控制電路設計
為了提高抗干擾能力,系統采用了光電隔離技術。電機可以采用多種方法控制,如固態繼電器(SSR)、可控硅(SCR)及大功率場效應管等,本設計采用固態繼電器(SSR)。采用電機控制是為了提高效率,當條形碼確認后,由電磁閥帶動電機,拉動柜門打開,代替手工,方便顧客取包。
2.7.1  固態繼電器介紹
固態繼電器(Solid State Relay)簡稱SSR,它是用晶體管或可控硅代替常規繼電器的觸點開關,而在前級中與光電隔離器融為一體,因此固態繼電器實際上是一種帶光電隔離器的無觸點開關。根據結構形式,固態繼電器有直流型固態繼電器和交流型固態繼電器。本設計采用的是交流型固態繼電器。
(1)直流型SSR。
直流型SSR的原理電路如圖2.21所示:
圖2.21  直流型SSR的原理電路
直流型SSR主要用于帶直流負載的場合,如直流電機控制。直流步進電機控制和電磁閥等。
(2)交流型SSR。
交流型SSR又可分為過零型和移向型兩類。它采用雙向可控硅作為開關器件,用于交流大功率場合,如交流電機、交流電磁閥控制等。其原理電路,如圖2.21所示。
圖2.22  交流型SSR的原理電路
過零型必須在負載電源電壓接近零且輸入控制信號有效時。輸入端負載電源才導通,只在流過雙向可控硅負載電流為零時才關斷。
2.7.2  電機控制電路原理
    電機控制電路如圖2.23所示:
圖2.23  電機控制電路
第2.8節  電源
除了220V的電源,我們還選擇了LM7805三端穩壓器產生一個+5V的電源。其電路如圖2.24所示。
圖2.24  +5V電源電路
三端固定輸出集成穩壓器,它是一種串連調整式穩壓器。它將全部電路集成在單塊硅片上,整個集成穩壓電路只有輸入、輸出和公共三個引出端,使用非常方便。典型的有78××正電壓輸出系列,79××負電壓輸出系列。
當輸入的電壓VI、輸出電流IO或溫度變化時,輸出電壓VO可保持不變;另外,當輸出短路。可使輸出電流IO限制為一定值;若穩壓器過熱,則它就停止工作,以免穩壓器遭到損壞。
三端固定輸出電壓集成穩壓器,因內部有過熱、過流保護電路,因此它的性能優
良、可靠性高。有因這種穩壓器具有體積小、使用方便、價格低廉等優點,所以我們選用了這種芯片。
第3章  系統流程圖
第3.1節  控制主程序流程圖
根據硬件設計要求,控制主程序流程圖如圖3.1所示。存儲柜通上電以后,單片機上電,首先進行程序的初始化,包括定時器,外部中斷等初始化,以及各參數初始值的設定。默認存儲柜為初始狀態,根據存包指令,掃面計數器的存儲包狀態。然后根據鍵盤才做的狀態。確定強度確定存儲狀態。用數碼管顯示存儲柜號和密碼。當啟動鍵按下以后,存儲柜進入待命狀態,完成存包——取密——掃描——取包的循環過程。當存儲出現錯誤,發出控制蜂鳴器發聲。
                                   
圖3.1  控制主程序流程圖
第3.2節  顯示子程序程圖
    子程序的顯示,顯示緩沖區的首地址并指向最左邊的一位,8255A口地址。當存包時,輸出一密碼條,取出顯示的條碼。取包的時候,在掃描口掃描密碼條,等待顯示的數據,送顯示碼到8255A。進行密碼核對并執行開柜或者密碼錯誤返回重新執行掃描。



   
圖3.2  子程序流程圖
第3.3節  輸入給定值中斷服務程序
工作過程中所需的各種計時均有定時器0定時中斷服務程序提供。單片機晶振頻率12MHZ,定時器0選擇工作方式1,設置時間常數,每0,1秒中斷一次。中斷處理流程如下:



   
圖3.3  中斷服務程序
結    論
為期一學期的畢業設計結束了,在這短短的幾個月當中,我們不僅鞏固了以前學到的專業知識,更重要的是我們學到了許多新知識,學會了設計一個系統的步驟、方法和設計思想,還學到了作為一個設計人員應該具備的素質。
在畢業設計之初,我們首先拿到了畢業設計的題目《自動存包控制系統設計》,從中我們知道了這次設計的目的、要求以及要完成的工作。開題之后我們進入了資料檢索階段,通過在網上及圖書館查找資料,了解了自動存包控制系統的發展狀況以及現狀,從中得到了許多對我們設計有用的東西,并最終確定一套方案。
我們的方案是利用單片機來實現的,所以翻閱了大量的單片機書籍。我們以前的學習是圍繞MCS—51系列的單片機,故在我們的系統中我們選擇了8031為CPU。我們在圖書館和和網站上查到了好多的單片機和傳感器方面的知識,這對我們的設計是很有必要的,它也會對我們以后的工作有很大的幫助。
設計總是在不斷的改進和完善中完成的,每一個器件的選擇都要有很多的考慮。我們在設計中不斷的更換新的器件和設計方法,最后做成了本次設計。基本實現了畢業設計任務書中的要求
在設計中我們盡量做到完善。但在這次畢業設計中還存在很多不能令人滿意的地方,這些地方也暴露了我們在以前學習過程中的疏漏之處。我一定會在以后的工作中逐步的改正。
附    錄
程序
ORG 0000H
AJMP MAIN
ORG 0003H
AJMP INT0
LED1                           EQU  22H              ;
IED2                            EQU  23H             ;
LED3                           EQU  24H             ;
BOX1                           EQU  25H             ;
BOX2                           EQU  26H             ;
BOX3                           EQU  27H             ;
BOXES                          EQU  28H             ;
PARTS:                        EQU  2BH             ;
PRECNT                         EQU  2EH             ;
LEDADD1                       EQU   8400H          ;
LEDADD2                       EQU   8800H          ;
LEDADD3                       EQU   8C00H          ;
BUFF                           EQU   2FH            ;
                                ORG    0100H  
MAIN:                         MOV         SP, #50H  
MOV         R0, #22H
MOV         A,  #00H
MOV         R1, #0DH
CLRZERO:                     MOV         @R0, A     ;
INC          R0
DJNZ       R1,CLRZERO
MOV         20H, #00H     ;
MOV         21H, #00H
MOV      DPTR, #8003H     ;
MOV         A,    #98H  
MOVX      @DPTR ,  A
SETB      IT0                ;
SETB           EX0          ;
SETB          EA ;
MOV        R0,#BOXES
MOV    DPTR, #LEDADD1   ;
PUSH    DPH
PUSH    DOL
MOV     DPTR,  #8002H
WAIT:                         MOV       A,  PRECNT    ;
                                CJNE     A,  #06H, WAIT   ;
WORK:                       SETB      00H            ;
SETB      03H        ;
MOV    A, 20H        ;
MOV      DPTR, #8002H
MOVX   @DPTR, A
LOOP1:                        MOVX   A,    @DPTR
JNB      ACC.7,  LOOP1  ;
MOV     LED1,  #00H    ;
MOV     LED2,  #00H
MOV     LED3,  #00H
LCALL    DISPLAY        ;
CLR       00H            ;
SETB      01H         ;
MOV       A,20H     ;
MOV      DPTR, #8002H
MOVX    @DPTR , A
LOOP2:                        MOV    DPTR, #8002H
MOVX     A,@DPTR
JNB      ACC.6, LOOP2   ;
JNB      ACC.4,  STOP   ;
LCALL   PARTADD1      
  ; LCALL   DISPLAY          ;
LCALL   PARTCOMP        ;
JB       08H,STOPM        ;
AJMP     LOOP2         ;
STOPM:                       LCALL   BOXADD1        ;
LCALL   BOXCOMP       ;
JB       09H,  FINISH  ;
LJMP     WORK       ;
FINISH:                        CLR      00H    ;
CLR      01H
MOV    A, 20H
MOVX   @DPTR, A
MOV     BOX1,  #00H
MOV     BOX2,  #00H
MOV     BOX3,  #00H
LOOP3 MOV                    DPTR,#8002H           ;
MOVX   A, @DPTR
JB      ACC.5, LOOP3
LJMP   WORK          ;
STOP:
CLR         00H        ;
CLR         01H
MOV      A,  20H
MOVX     @DPTR,A
LJMP      MAIN         ;
INTO:                         MOV   @DPTR, #8000H      ;
MOVX     A,@DPTR
MOV     @RO,  A
MOV   DPTR, #8001H        ;
MOVX    @DPTR, A
POP         DPL             ;
POP         DPH            
MOVX     @DPTR, A       ;
MOV         A ,DPH
ADD        A  , #04H    ;
MOV        DPH,   A
PUSH        DPH       ;
PUSH        DPL
INC          R0          ;
INC      PRECNT        ;
REST
DISPLAY:                      MOV    A,LED1            ;
MOV   DPTR,#SEGTBL
MOVC   A,@A+DPTR        ;
MOV    DPTR, #8001H      ;
MOVX    @DPTR,A
MOV   DPTR,#LEDADD1     ;
MOVX   @DPTR,A
MOV      A, LED2          ;
MOV    DPTR,#SEGTBL
MOVC  A,@A+DPTR
MOV     DPTR,  A
MOVX  @DPTR,A
MOV    DPTR,#LEDADD2    ;
MOVX    @DPTR, A
MOV     A, LED3           ;
MOV   DPTR#SEGTBL
MOVC   A,A+DPTR
MOV   DPTR,8001H
MOVX   @DPTR,A
MOV   DPTR, #LEDADD3    ;
MOVX  @DPTR, A
RET
SEGTBL  DB    3FH,06H, 5BH, 4FH, 66H,6DH,7DH,07H,7FH,67H
PARTADD1:                    MOV   R0, #LED3   ;
MOV     A,@R0
ADD       A, 01H
DA        A
JB         24H,ADD2
RET
ADD2:                        CLR       24H
DEC       R0
MOV       A, @R0
ADD       A, #01H
DA      A
JB      1CH,ADD3
RET
ADD3:                         CLR     1CH
DEC      R0
MOV     A,@R0
ADD     A,#01H
DA       A
JB        14H,ADD4
RET
ADD4:                         CLR      14H
MOV     R0,#00H
RET
PARTCOMP:                    MOV     R0,#PARTS        ;
MOV     R1,#LED1        ;
MOV     R2,#03H
COMP1:                       MOV     A, @R0
MOV     BUFF,@R1
CJNE     A,CUFF,COMP2
INC        R0
INC        R1
DINZ       R2, COMP1
SETB       08H          ;
RET
COMP3:                       CLR       08H
RET
COMP2:                       JNC        COMP3
LJMP       ALARM
BOXCOMP:       RET
BOXADD1:       RET
ALARM:                       SETB        02H
CLR         00H
CLR         01H
CLR         03H
MOV         A, 20H
MOV       DPTR,#8002H
MOVX    @DPTR, A
LJMP      MAIN
參考文獻
[1]劉德營,張志霞,李志偉.單片機原理及接口技術[M].北京: 中國水利水電出版社,2006.1~54,90~121.
[2]潘新民,王燕芳.微型計算機控制技術[M].北京:電子工業出版社,2003.71~99,360~364.
[3]宋浩,田豐.單片機原理及應用[M].北京:清華大學出版社,2005.1~39,134~179.
[4]薛棟梁.MCS-51/151/251單片機原理與應用[M].北京:中國水利水電出版社,2001,111~112,125~126.
[5]薛棟梁.MCS-51/151/251單片機原理與應用[M].北京:中國水利水電出版社,2001,1~5,254~261.
[6]王路茜.電子設計技術[J]. 維普中文期刊.2006年02期.
[7]方佩敏.新編傳感器原理•應用•電路詳解[J].北京:電子工業出版社,1994,112~117.
[8]何立民.單片機應用系統設計[M].北京:北京航空航天大學出版社,2002,97~104,149~156.
[9]姜德譚,范茂軍.新編電子電路大全[M].北京:計量出版社,1985. 90~121.
[10]丁元杰.單片微機原理及應用[M].北京:機械工業出版社,2003,40~77.
[11]何立民.單片機應用技術選編[M].北京:北京航空航天大學出版社.1997.10.
[12]李廣第.單片機基礎[M].北京:北京航空航天大學,1999.90~148.
[13]Adel S.Sedra and Kenneth.Smith[M]:Microelectronic Circuits,4rd ed,Oxford University Press.Inc,1998.20~58.
[14]Adel S.Sedra and Kenneth.Smith[M]:Microelectronic Circuits,4rd ed,Oxford University Press.Inc,1998.31~98.
[15]P.R.Gray and R.G.Meyer,Analysis and Design of Analog Integrated circuits 3rd Edition,John Wiley&Sons,New York,1993. 97~104.
致    謝
緊張、充實而又難忘的大學學習生涯即將結束,在大學四年和撰寫論文期間得到了許多人的幫助,使我終身難以忘懷。在這里我首先要感謝這四年來為我授課的各位老師,真心地說一句:你們辛苦了!感謝魯小利老師在我的論文選題、定稿以及中期檢查等方面都給了我精心的指導。您提出的寶貴意見使我在論文選題、撰寫以及修改的過程中,不再像當初那樣茫然無措,而是知道自己論文的不足和修改的方向。您正直、嚴謹的治學態度對我影響頗深,受益匪淺,無論在今后的學習還是工作當中,我都銘記于心。
最后,感謝電子信息工程系和同組的各位同學以及所有支持我關心我的人。在你們的幫助和協助下共同完成了本次設計。謝謝你們!





歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1