微型計(jì)算機(jī)控制的自動(dòng)裝箱系統(tǒng)_第1頁
微型計(jì)算機(jī)控制的自動(dòng)裝箱系統(tǒng)_第2頁
微型計(jì)算機(jī)控制的自動(dòng)裝箱系統(tǒng)_第3頁
微型計(jì)算機(jī)控制的自動(dòng)裝箱系統(tǒng)_第4頁
微型計(jì)算機(jī)控制的自動(dòng)裝箱系統(tǒng)_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第一章 微型計(jì)算機(jī)控制自動(dòng)裝箱系統(tǒng)概述在工業(yè)生產(chǎn)中,常常需要對(duì)產(chǎn)品進(jìn)行計(jì)數(shù)、包裝。如果用人工完成不但麻煩,而且效率低、勞動(dòng)強(qiáng)度大。隨著微型機(jī)控制的普及,特別是單片機(jī)的應(yīng)用,給該系統(tǒng)的設(shè)計(jì)帶來了極大的方便。在這一節(jié)里,我將介紹單片機(jī)控制包裝系統(tǒng)的設(shè)計(jì)方法。 該系統(tǒng)有兩個(gè)傳送帶,即包裝箱傳送帶和產(chǎn)品傳送帶。包裝箱傳送帶用來傳送產(chǎn)品包裝箱,其功能是把已經(jīng)裝滿的包裝箱運(yùn)走,并用一只空箱來代替。為使空箱恰好對(duì)準(zhǔn)產(chǎn)品傳送帶的末端,以便使產(chǎn)品剛好落入包裝箱中,在包裝箱傳送帶的中間裝一光電控制器1,用以檢測(cè)包裝箱是否到位。產(chǎn)品傳送帶將產(chǎn)品從生產(chǎn)車間傳送到包裝箱,當(dāng)某一產(chǎn)品被送到傳送帶的末端,會(huì)自動(dòng)落入包裝箱內(nèi)

2、,并由檢測(cè)器2轉(zhuǎn)換成計(jì)數(shù)脈沖。 產(chǎn)品計(jì)數(shù)可以由硬件完成(如MCS-51系列單片機(jī)中的定時(shí)/計(jì)數(shù)器),也可以用軟件來完成。本系統(tǒng)用軟件計(jì)數(shù)方法。系統(tǒng)工作步驟如下:用鍵盤設(shè)置每個(gè)包裝箱所裝的零件數(shù)量以及包裝箱數(shù),并分別存放在PORTS和BOXES單元中。接通電源,使傳送帶1馬達(dá)轉(zhuǎn)動(dòng)。由程序控制傳送帶1馬達(dá)持續(xù)運(yùn)動(dòng),當(dāng)包裝箱運(yùn)行到檢測(cè)器1的光源和光傳感器的中間時(shí),通過檢測(cè)光電傳感器的狀態(tài),判斷傳送帶1上的包裝箱是否到位。當(dāng)包裝箱到位時(shí),關(guān)斷馬達(dá)電源,使傳送帶1停止運(yùn)動(dòng)。啟動(dòng)傳送帶2馬達(dá),使產(chǎn)品沿傳送帶向前運(yùn)動(dòng),并裝入箱內(nèi)。當(dāng)產(chǎn)品一個(gè)一個(gè)地落入時(shí),將產(chǎn)品一系列脈沖信號(hào),用檢測(cè)器2進(jìn)行檢測(cè)。從檢測(cè)器2來

3、的輸出脈沖,由計(jì)算機(jī)進(jìn)行計(jì)數(shù),并不斷地與存在PRESET單元中的給定值進(jìn)行比較。當(dāng)零件數(shù)值與給定值不相等時(shí),將繼續(xù)控制傳送帶2運(yùn)動(dòng),以便繼續(xù)裝入零件;當(dāng)零件個(gè)數(shù)與給定值相等時(shí),停止傳送帶2馬達(dá),不再裝入零件。再次啟動(dòng)傳送帶1的馬達(dá),使裝滿零件的箱子繼續(xù)向前運(yùn)動(dòng),并把存放箱子數(shù)的內(nèi)存單元加1,然后再與給定的箱子數(shù)進(jìn)行比較。如果不夠,則帶動(dòng)下一個(gè)空箱到達(dá)指定位置,繼續(xù)上述過程。如果箱子數(shù)量與給定值相等,將停止包裝,等待新的操作命令。當(dāng)傳送帶2上的零件和傳送帶1上的箱子足夠多時(shí),這個(gè)過程可以繼續(xù)不斷地進(jìn)行下去。這就是產(chǎn)品自動(dòng)包裝生產(chǎn)線的流程。必要時(shí),操作人員可以隨時(shí)通過停止鍵(STOP)鍵停止傳送帶

4、運(yùn)動(dòng),并通過鍵盤重新設(shè)置給定值,然后再啟動(dòng)。第二章系統(tǒng)的總體方案2.1系統(tǒng)硬件方案的確定包裝箱傳送帶和產(chǎn)品傳送帶包裝箱傳送帶用于傳送包裝箱,將已經(jīng)裝滿的包裝箱運(yùn)走。并隨后傳送來一個(gè)空箱,繼續(xù)將產(chǎn)品裝箱,如此循環(huán)生產(chǎn)下去。產(chǎn)品傳送帶用于輸送產(chǎn)品。當(dāng)某一產(chǎn)品從生產(chǎn)車間傳送出來,會(huì)一直送到傳送帶的末端,自動(dòng)落入包裝箱。2.2系統(tǒng)軟件方案的確定生產(chǎn)線的控制順序 (1) 預(yù)置設(shè)定:用鍵盤分別設(shè)置每個(gè)包裝箱所裝的產(chǎn)品數(shù)和包裝箱數(shù),并分別存放在PORTS和BOXES單元中。(2) 箱體檢測(cè):接通電源,使傳送帶1的傳動(dòng)電機(jī)啟動(dòng),傳送帶上的包裝箱隨之位移。當(dāng)包裝箱隨著傳送帶移動(dòng)到傳感器1(光電傳感器)的檢測(cè)位置

5、時(shí),傳感器有輸出信號(hào),由它可以判斷出包裝箱是否到位。(3) 箱體到位:當(dāng)傳感器判斷出包裝箱到位并輸出控制信號(hào)時(shí),系統(tǒng)立即關(guān)斷包裝箱傳送帶電機(jī)電源,使傳送帶1停止運(yùn)動(dòng),實(shí)現(xiàn)了箱體到為控制。(4) 產(chǎn)品裝箱:?jiǎn)?dòng)傳送帶2的傳動(dòng)電機(jī),使產(chǎn)品隨傳送帶2運(yùn)動(dòng),并裝入箱內(nèi)。(5) 產(chǎn)品計(jì)數(shù):在產(chǎn)品裝箱的同時(shí),隨產(chǎn)品一個(gè)個(gè)地落入箱內(nèi),傳感器2便輸出一系列反映產(chǎn)品數(shù)量的脈沖信號(hào),供計(jì)數(shù)器個(gè)、和控制器用。(6) 計(jì)數(shù)比照:產(chǎn)品計(jì)數(shù)脈沖輸入到單片機(jī)系統(tǒng)之后,由單片機(jī)記數(shù),并不斷與存儲(chǔ)器在PRESET單元中的給定值進(jìn)行比較和對(duì)照。(7) 滿箱控制: 當(dāng)裝箱的產(chǎn)品數(shù)量小于已經(jīng)設(shè)定的產(chǎn)品給定值時(shí),傳送帶2 繼續(xù)運(yùn)轉(zhuǎn),產(chǎn)

6、品繼續(xù)裝如包裝箱;當(dāng)產(chǎn)品數(shù)量等于給定值時(shí),表明產(chǎn)品滿箱,傳送帶2停止運(yùn)行,產(chǎn)品裝箱停止。(8) 箱數(shù)比較:控制系統(tǒng)再次啟動(dòng)傳送帶1的傳動(dòng)電機(jī),使裝滿產(chǎn)品的箱子向前移動(dòng),并把存放箱子數(shù)(即滿箱數(shù)的預(yù)置數(shù))的內(nèi)存單元中加1 ,然后再不斷的與存放箱子的數(shù)量進(jìn)行比較。(9) 箱數(shù)控制:如果單片機(jī)控制系統(tǒng)內(nèi)存單元的箱子數(shù)值小于預(yù)置數(shù)量,則傳送帶1帶動(dòng)下一個(gè)空箱到達(dá)指定位置,繼續(xù)重復(fù)上述過程;如果箱子數(shù)與預(yù)置數(shù)相等,將停止包裝,等待新命令。第三章 微型計(jì)算機(jī)硬件電路及其設(shè)計(jì)3.1 微型計(jì)算機(jī)主要芯片簡(jiǎn)介3.1.1主機(jī)(CPU) 微型計(jì)算機(jī)控制系統(tǒng)的主機(jī)是指中央處理器(CPU),它是整個(gè)控制系統(tǒng)的核心。主機(jī)

7、根據(jù)輸入設(shè)備送來的反映生產(chǎn)過程工作狀況的各種信號(hào),以預(yù)定的控制算法,自動(dòng)地進(jìn)行信息處理和運(yùn)算,選定相應(yīng)的控制策略,并通過輸出設(shè)備向生產(chǎn)過程發(fā)送控制命令。對(duì)被測(cè)參數(shù)進(jìn)行巡回檢測(cè)、數(shù)據(jù)處理、控制計(jì)算、報(bào)警處理以及邏輯判斷等是主機(jī)的幾個(gè)主要職能。顯然,主機(jī)是微型計(jì)算機(jī)控制系統(tǒng)最重要的組成部分,它的選用將直接影響到系統(tǒng)的功能及接口電路的設(shè)計(jì)。目前最常用的主機(jī)有Intel pentium及單片機(jī)MSC-51、MSC-96系列等。由于單片機(jī)種類繁多、功能各異,因此,在選用單片機(jī)做為主控芯片時(shí),接口電路的設(shè)計(jì)成為十分重要的課題。 3.1.2 I/O接口與輸入輸出通道 I/O接口是主機(jī)與被控制對(duì)象或外設(shè)進(jìn)行信

8、息交換的橋梁。目前,微機(jī)和單片機(jī)的大部分I/O接口電路都是通用的可編程標(biāo)準(zhǔn)I/O接口,其工作方式可由程序進(jìn)行控制。常用的可編程標(biāo)準(zhǔn)I/O接口有:并行接口8155或8255,串行接口8251,DMA控制器8237,中斷控制器8259,定時(shí)/計(jì)數(shù)器8253等。由于計(jì)算機(jī)只能處理數(shù)字量,而一般的生產(chǎn)過程被測(cè)參數(shù)大都為模擬量。因此,為了實(shí)現(xiàn)計(jì)算機(jī)控制,還必須把模擬量轉(zhuǎn)化成數(shù)字量,這由A/D轉(zhuǎn)換即模擬量輸入通道實(shí)現(xiàn);同樣,執(zhí)行機(jī)構(gòu)不少為模擬量控制,所以計(jì)算機(jī)輸出的數(shù)字量必須變換成模擬量,這由D/A轉(zhuǎn)換即模擬量輸出通道實(shí)現(xiàn)。 3.1.3 通用外部設(shè)備 通用外部設(shè)備主要是為了擴(kuò)大主機(jī)的功能,它們用來顯示、打

9、印、存儲(chǔ)及傳送數(shù)據(jù)。常用的外部設(shè)備按功能可分為三類:輸入設(shè)備,輸出設(shè)備和輔助存儲(chǔ)設(shè)備(外存)。常用的輸入設(shè)備是鍵盤、終端和掃描儀,用來輸入程序、數(shù)據(jù)和操作命令。常用的輸出設(shè)備是打印機(jī)、各種顯示器、繪圖機(jī),它們以字符、曲線、表格和圖形等不同方式顯示和反映生產(chǎn)過程狀況和控制信息。常用的輔助存儲(chǔ)器是磁盤和磁帶,它們兼有輸入和輸出兩種功能,用來存放程序和數(shù)據(jù),作為主存儲(chǔ)器的后備輔助存儲(chǔ)設(shè)備。這些外設(shè)從各方面擴(kuò)充了主機(jī)的功能。 3.1.4傳感器及執(zhí)行機(jī)構(gòu) 為了對(duì)生產(chǎn)過程進(jìn)行控制,首先必須對(duì)溫度、壓力、流量、液位等各種現(xiàn)場(chǎng)數(shù)據(jù)進(jìn)行采集,并把非電參量轉(zhuǎn)換成電參量,這個(gè)任務(wù)由檢測(cè)元件,即傳感器完成。如利用熱電

10、偶把溫度轉(zhuǎn)換成毫伏級(jí)電壓信號(hào);用壓力傳感器把壓力變成電信號(hào)。這些信號(hào)經(jīng)變送器轉(zhuǎn)換成統(tǒng)一的標(biāo)準(zhǔn)電信號(hào)(05V電壓或420mA電流)之后,再送入A/D通道進(jìn)行模/數(shù)轉(zhuǎn)換后送入計(jì)算機(jī)。因此,檢測(cè)元件精度的高低,直接影響控制系統(tǒng)的精度。執(zhí)行機(jī)構(gòu)的作用是控制生產(chǎn)要素的輸入量。例如,在溫度控制系統(tǒng)中,控制進(jìn)入加熱爐的煤氣(或油)量;在水位控制系統(tǒng)中控制進(jìn)入容器的水的流量。執(zhí)行機(jī)構(gòu)有電動(dòng)、氣動(dòng)、液壓傳動(dòng)等形式,有的采用交直流電機(jī)、步進(jìn)電機(jī)或可控硅等。 3.1.5操作臺(tái) 操作臺(tái)是人-機(jī)對(duì)話的紐帶。操作員通過它可以向計(jì)算機(jī)輸入程序,修改內(nèi)存的數(shù)據(jù),顯示被測(cè)參數(shù)以及發(fā)出各種操作命令等。操作臺(tái)一般由以下四個(gè)部分組成

11、: (1)作用開關(guān)。諸如電源開關(guān)、數(shù)據(jù)及地址選擇開關(guān)以及操作方式選擇開關(guān)(如自動(dòng)/手動(dòng))等。作用開關(guān)通過接口與主機(jī)相連,通過這些開關(guān),人們可以對(duì)主機(jī)進(jìn)行啟動(dòng)、設(shè)置和修改數(shù)據(jù)以及修改控制方式等。(2)功能鍵。用以向主機(jī)申請(qǐng)中斷服務(wù),常用的有復(fù)位鍵、啟動(dòng)鍵、打印鍵、顯示鍵、工作方式選擇鍵(如連續(xù)/單步)等。(3)LED數(shù)碼管及CRT顯示。用來顯示被測(cè)參數(shù)及操作人員感興趣的其他內(nèi)容。目前,CRT顯示的應(yīng)用越來越普遍,因?yàn)樗坏梢燥@示數(shù)據(jù)表格,而且能夠顯示被控系統(tǒng)的流程總圖、棒狀指示圖、開關(guān)狀態(tài)圖、時(shí)序圖、變量變化趨勢(shì)圖、調(diào)節(jié)回路指示圖,還能報(bào)警、索引,功能比LED顯示強(qiáng)大的多。(4)數(shù)字鍵。用來送

12、入數(shù)據(jù)或修改參數(shù)。 3.2 MCS-51內(nèi)部結(jié)構(gòu)及其引腳功能MCS-51系列單片機(jī)芯片均為 40個(gè)引腳,HMOS工藝制造的芯片采用雙列直插式封裝(DIP),目前大多采用此類封裝方式。圖2-1是MCS-51系列芯片的引腳圖。圖3-1 8031管腳圖3.2.1 MCS-51單片機(jī)內(nèi)部結(jié)構(gòu)Intel公司在80年代初推出了MCS-51系列高性能的8位單片機(jī)。具有集成度高,系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,系統(tǒng)擴(kuò)展方便,可靠性高,處理功能強(qiáng),速度高,容易產(chǎn)品化等等特點(diǎn)。MCS-51系列單片機(jī)的三個(gè)基本產(chǎn)品為8031,8051,8071。他們的引角與指令系統(tǒng)完全兼容,僅在內(nèi)部結(jié)構(gòu)及應(yīng)用方面存在一些差異。1、中央處理單元(8位

13、)數(shù)據(jù)處理、測(cè)試位,置位,復(fù)位 位操作2、只讀存儲(chǔ)器(4KB或8KB)永久性存儲(chǔ)應(yīng)用程序,掩模ROM、EPROM、EEPROM3、隨機(jī)存取內(nèi)存(128B、128B SFR)在程序運(yùn)行時(shí)存儲(chǔ)工作變量和資料4、并行輸入/輸出口(I / O)(32條)作系統(tǒng)總線、擴(kuò)展外存、I / O接口芯片5、串行輸入/輸出口(2條)串行通信、擴(kuò)展I / O接口芯片6、定時(shí)/計(jì)數(shù)器(16位、加1計(jì)數(shù))計(jì)滿溢出、中斷標(biāo)志置位、向CPU提出中斷請(qǐng)求,與CPU之間獨(dú)立工作7、時(shí)鐘電路內(nèi)振、外振。8、中斷系統(tǒng)五源中斷、2級(jí)優(yōu)先。3.3 結(jié)構(gòu)特點(diǎn)MCS-51系列單片機(jī)為哈佛結(jié)構(gòu)(而非普林斯頓結(jié)構(gòu))1)內(nèi)ROM:4KB2)內(nèi)R

14、AM:128B3)外ROM:64KB4)外RAM:64KB5)I / O線: 32根(4埠,每埠8根)6)定時(shí)/計(jì)數(shù)器:2個(gè)16位可編程定時(shí)/計(jì)數(shù)器7)串行口:全雙工,2 根8)寄存器區(qū):工作寄存器區(qū)、在內(nèi)128B RAM中,分4個(gè)區(qū),9)中斷源:5源中斷,2級(jí)優(yōu)先10)堆棧:最深128B11)布爾處理機(jī):位處理機(jī),某位單獨(dú)處理12)指令系統(tǒng):五大類,111條按其功能來分,可分為三個(gè)部分:電源及時(shí)鐘引腳:(1)電源Vcc(40腳)接 5V電源端。Vss(20腳)接地。(2)時(shí)鐘引腳XTALl(19腳)接外部晶體。XTAL2(18腳)接外部晶體。XTAL1和XTAL2是外接晶體引線端。 MCS-

15、51單片機(jī)有4個(gè)雙向的8位并I/O口:P0P3,每個(gè)口都有一個(gè)8位的鎖存器,復(fù)位后它們的初態(tài)全為“1”。P0端口是總線I/O端口,三態(tài),雙向,數(shù)據(jù)地址分時(shí)復(fù)用。是由鎖存器,輸入緩沖器,切換開關(guān)與相應(yīng)控制電路構(gòu)成。因?yàn)橹挥性摽谀苤苯佑糜谕獠看鎯?chǔ)器的讀/寫數(shù)據(jù)操作。P0口還用于以輸出外部存儲(chǔ)器的低8位地址。由于是分時(shí)使用,先輸出外部存儲(chǔ)器的低8位地址,故應(yīng)在外部加鎖存器將此地址數(shù)據(jù)鎖存,地址鎖存信號(hào)用ALE。然后,P0口才作為數(shù)據(jù)口使用。P0端口是使用最廣泛的I/O端口。P1端口是專門供用戶使用的,是準(zhǔn)雙向靜態(tài)口。與P0端口相比P1端口用內(nèi)部上拉電阻代替了P0端口的場(chǎng)效應(yīng)管。且輸出的信息僅來自內(nèi)部

16、總線。由內(nèi)部總線輸出的數(shù)據(jù)經(jīng)鎖存器反向和場(chǎng)效應(yīng)慣反向后,鎖存在端口線上。所以,P1端口是具有輸出鎖存的靜態(tài)口。P2端口也是準(zhǔn)雙向口。主要特點(diǎn)包括:1.不能輸出靜態(tài)的數(shù)據(jù)。2.自身輸出外部程序存儲(chǔ)器的高8位地址。3.執(zhí)行指令時(shí),還輸出外部的高位地址,故稱P2端口為動(dòng)態(tài)地止端口。P3端口是雙功能口,也是準(zhǔn)雙向口。該口的每一位均可獨(dú)立地定義為第一I/O口功能或第二I/O口功能。作為第一功能使用時(shí),口的結(jié)構(gòu)與操作與P1口相同。表2-3中表示了P3口為第二功能是各位的定義。故稱P3端口為靜態(tài)雙功能端口。引腳信號(hào)的第二功能芯片的引腳數(shù)目受到工藝及標(biāo)準(zhǔn)化等因素的限制。例如,MCS-51系列把芯片引腳數(shù)目限定

17、為40條,但單片機(jī)為實(shí)現(xiàn)其功能所需要的信號(hào)數(shù)目卻超過此數(shù),因此就出現(xiàn)了需要與可能的矛盾。為解決這個(gè)矛盾,給一些信號(hào)引腳賦以雙重功能。前面介紹了信號(hào)引腳的第一功能,下面介紹某些信號(hào)引腳的第二功能。表3.1 引腳的第二功能口引腳第 二 功 能信號(hào)名稱P3.0RXD串行數(shù)據(jù)接收P3.1TXD串行數(shù)據(jù)發(fā)送P3.2外部中斷0申請(qǐng)P3.3外部中斷1申請(qǐng)P3.4T0定時(shí)器/計(jì)數(shù)器0計(jì)時(shí)輸入P3.5T1定時(shí)器1外部中斷P3.6外部數(shù)據(jù)鎖存器寫選通P3.7外部數(shù)據(jù)鎖存器讀選通3.4 I/O口的寫操作及負(fù)載能力執(zhí)行改變鎖存器數(shù)據(jù)的指令時(shí),在該指令的最后一個(gè)時(shí)鐘周期S6P2里將數(shù)據(jù)寫入鎖存器。然而輸出緩沖器僅僅在每

18、個(gè)狀態(tài)周期的相位1(P1)期間采樣口鎖存器,因而鎖存器中的新數(shù)據(jù)在下一個(gè)狀態(tài)周期的P1出現(xiàn)之前是不會(huì)出現(xiàn)在輸出線上的。P1、P2、P3口的輸出緩沖器可驅(qū)動(dòng)4個(gè)LSTTL電路。對(duì)于HMOS芯片單片機(jī)的I/O口,在正常情況下,可任意由TTL或NMOS電路驅(qū)動(dòng),HMOS及CHMOS型單片機(jī)的I/O口由集電極開路或漏極開路的輸出來驅(qū)動(dòng)時(shí),不必外加上拉電阻。P0口輸出緩沖器能驅(qū)動(dòng)8個(gè)LSTTL電路,驅(qū)動(dòng)MOS電路須外接上拉電阻,但P0口用作地址/數(shù)據(jù)總線時(shí),可直接驅(qū)動(dòng)MOS的輸入而不必外加上拉電阻。當(dāng)使用芯片內(nèi)部時(shí)鐘時(shí),此二引線用于外接石英晶體振 蕩器和電容;當(dāng)使用外部時(shí)鐘時(shí),用于接外部時(shí)鐘脈沖信號(hào)。3

19、.5硬件電路中各部分的作用本圖有8031 74LS373 2764 組成了一個(gè)單片機(jī)最小系統(tǒng)。為了讀鍵盤給定植,及完成檢測(cè)和控制,該設(shè)計(jì)專門擴(kuò)展一個(gè)8255A可編程接口及程序存儲(chǔ)器EPROM 2764。8255A的B口用于給定值或產(chǎn)品計(jì)數(shù)顯示,PA口讀鍵盤的給定值,C口高4位為輸入方式,用于檢測(cè)光電管和STAR,STOP兩個(gè)鍵的狀態(tài)。C口低4位為輸出位,其中PC0控制傳送帶1的電機(jī),PC1控制傳送帶2的電機(jī)。PC2,PC3是兩個(gè)I/O口的兩個(gè)指示燈。D1,D2分別為紅色,綠色指示燈,當(dāng)系統(tǒng)沒有設(shè)定給定值時(shí),啟動(dòng)START鍵,則D1燈亮,提醒操作者設(shè)定參數(shù)后再啟動(dòng);如果操作正常,則D2燈亮。3.

20、6 傳感器件的設(shè)置為了使空箱正好對(duì)準(zhǔn)傳送帶的末端,以便產(chǎn)品準(zhǔn)確的落入箱內(nèi),于是在包裝箱傳送帶的中間安裝傳感器1,用來檢測(cè)包裝箱是否到位,為了檢測(cè)產(chǎn)品數(shù)量,在產(chǎn)品即將落入包裝箱的位置處設(shè)置傳感器2,由它檢測(cè)和輸出產(chǎn)品記數(shù)脈沖。本設(shè)計(jì)采用的光電傳感器。圖3-2 產(chǎn)品裝箱系統(tǒng)圖3.7自動(dòng)裝箱生產(chǎn)線的計(jì)數(shù)產(chǎn)品的計(jì)數(shù)可有硬件和軟件兩種方式完成。利用硬件完成可以方便的使用單片機(jī)內(nèi)的定時(shí)/計(jì)數(shù)器。本設(shè)計(jì)采用軟件的方式來進(jìn)行。3.8對(duì)外信號(hào)的連接以及通過編碼鍵盤完成給定值的設(shè)定下圖是由二極管矩陣組成的編碼鍵盤電路。鍵盤輸出信號(hào)D,C,B,A(BCD碼)接到8255A的A口PA3-PA0,鍵選通信號(hào)KEYSTR

21、OBE(高電平有效)經(jīng)反向器接到8031的/INT腳。當(dāng)任何一個(gè)鍵按下時(shí),與非門7420會(huì)產(chǎn)生一個(gè)高電平選通信號(hào)KEYSTROBE,經(jīng)反相后的其下降沿向8031申請(qǐng)中斷。同時(shí),該鍵的BCD碼將出現(xiàn)在輸出線上。8031響應(yīng)后,讀入該鍵BCD碼的數(shù)值,作為給定值并顯示。該顯示的設(shè)計(jì)位數(shù) 為三位,最多設(shè)定值為999,輸入順序從最高位開始當(dāng)按鍵未按下時(shí),所有輸出端均為1。圖3-3 編碼鍵盤電路3.9 復(fù)位電路MCS-51的復(fù)位輸入引腳RST(即RESET)為MCS-51提供了初始化的手段。有了它可以使程序從指定處開始執(zhí)行,即從程序存儲(chǔ)器的0000H地址單元開始執(zhí)行程序。在MCS-51的時(shí)鐘電路工作后,

22、只要在RST引腳上出現(xiàn)10mS以上的高電平時(shí)單片機(jī)內(nèi)部則初始復(fù)位。只要RST保持高電平,則MCS-51循環(huán)復(fù)位。只有當(dāng)RST由高電平變低電平以后,MCS-51才從0000H地址開始執(zhí)行程序。MCS-51的復(fù)位是由外部的復(fù)位電路來實(shí)現(xiàn)的。最簡(jiǎn)單的上電復(fù)位電路如圖3-2所示。工作原理為:上電瞬間,RC電路充電,RST引腳端出現(xiàn)正脈沖,只要RST端保持10mS以上高電平,就能使單片機(jī)有效地復(fù)位。除了上電復(fù)位外,有時(shí)還需要人工按鈕復(fù)位。在實(shí)際的應(yīng)用系統(tǒng)設(shè)計(jì)中,若有外部擴(kuò)展的I/O接口電路也需初始復(fù)位,如果它們的復(fù)位端和MCS-51的復(fù)位端相連,復(fù)位電路中的R、C參數(shù)要受到影響,這時(shí)復(fù)位電路中的R、C要

23、統(tǒng)一考慮以保證可靠的復(fù)位。如果單片機(jī)MCS-51與外圍I/O接口電路的復(fù)位電路和復(fù)位時(shí)間不完全一致,使單片機(jī)初始化程序不能正常運(yùn)行,外圍I/O接口電路的復(fù)位也可以不和MCS-51復(fù)位端相連,僅采用獨(dú)立的上電復(fù)位電路。若R、C上電復(fù)位電路接斯密特電路輸入端,斯密特電路輸出接MCS-51和外圍電路復(fù)位端,則能使系統(tǒng)可靠地同步復(fù)位。一般來說,單片機(jī)的復(fù)位速度比外圍I/O快些。為保證系統(tǒng)可靠復(fù)位,在初始化程序中應(yīng)安排一定的延遲時(shí)間。3.9.1 地址鎖存器74LS37374LS373是一個(gè)帶三態(tài)門的8D鎖存器,有8個(gè)D輸入端,8個(gè)Q輸出端,一個(gè)時(shí)鐘輸入端CP,一個(gè)鎖存允許信號(hào),當(dāng)=0時(shí)CP端上的上跳變,

24、把8位D輸入端的數(shù)據(jù)打入8位鎖存器。3.9.2 MCS-51的串行口MCS-51單片機(jī)內(nèi)部有一個(gè)功能很強(qiáng)的全雙工的串行口,該串行口有四種工作方式,波特率可用軟件設(shè)置,由片內(nèi)的定時(shí)器/計(jì)數(shù)器產(chǎn)生。串行口接收,發(fā)送數(shù)據(jù)均可觸發(fā)中斷系統(tǒng),使用非常方便。MCS-51的串行接口除了可以用于數(shù)據(jù)通訊之外,還可以非常方便的用來驅(qū)動(dòng)單片機(jī)應(yīng)用系統(tǒng)中的鍵盤和顯示器。3.9.3串行口的結(jié)構(gòu)MCS-51單片機(jī)內(nèi)部的串行口,有兩個(gè)物理上獨(dú)立地接收,發(fā)送緩沖器SBUF,可同時(shí)發(fā)送,接收數(shù)據(jù),發(fā)送緩沖器只能寫入不能讀出,接收緩沖器只能讀出不能寫入,兩個(gè)緩沖器共用一個(gè)字節(jié)地址(99H)??刂芃CS-51單片機(jī)串行口的控制寄

25、存器共有兩個(gè):特殊功能寄存器SCON和PCON。串行口控制寄存器SCON(字節(jié)地址98 H)的格式為:D7 D6 D5 D4 D3 D2 D1 D0SM0SM1SM2RENTB8RB8TIRI位地址9FH9EH9DH9CH9BH9AH99H98HSM0,SM1:串行口4種工作方式的選擇位。SM2:允許方式2和3的多機(jī)通訊控制位。3.9.4譯碼器74LS13874LS138就是用TTL與非門組成的3線-8線譯碼器,它的邏輯圖如下圖3-4 8031邏輯圖當(dāng)附加控制門Gs的輸出為高電平(S=1)時(shí),可由邏輯圖寫出 由上式可以看出,Y0-Y7,同時(shí)又是A2、A;、Ao這三個(gè)變量的全部最小項(xiàng)的譯碼輸出,

26、所以也把這種譯碼器叫做最小項(xiàng)譯碼器。帶控制輸人端的譯碼器又是一個(gè)完整的數(shù)據(jù)分配器。在圖33。8電路中如嚴(yán)把Sl作為“數(shù)據(jù)”輸入端(同時(shí)令S2=S3=0),而將A:A,Ao作為“地址”輸人端,那么從Sl送來的數(shù)據(jù)只能通過由A2A1A0所指定的一根輸出線送出去。這就不難理解為什么把A2A1A0叫地址輸入了。例如當(dāng)A2A1A010-101時(shí),門G5的輸入端除了接至Gs輸出端的一個(gè)以外全是高電平,因此S1的數(shù)據(jù)以反碼的形式從Y5輸出,而不會(huì)被送到其他任何一個(gè)輸出端上。 ,3.9.5 可編程并行I/O芯片8255A8255A是Intel公司生產(chǎn)的可編程輸入輸出接口芯片,它具有3個(gè)8位并行I/O口,允許采

27、用同步、異步和中斷方式傳送I/O數(shù)據(jù)。分別稱為PA口、PB口和PC口,其中PC口又分為高4位口(PC7PC4)和低4位口(PC3PC0),它們都可以通過軟件編程來改變I/O口的工作方式。8255A內(nèi)部有四部分電路組成。它們是A口、B口和C口,A組控制器和B組控制器,數(shù)據(jù)緩沖器及讀寫控制邏輯,如圖3-5圖3-5 8255A內(nèi)部結(jié)構(gòu)8255A有三種基本工作方式,即方式0基本輸入輸出方式;方式1選通輸入輸出方式;方式2雙向傳送(僅PA口)。8255A的工作方式可由CPU送出一個(gè)控制字到8255A的控制字寄存器來選擇??煞謩e選擇端口A和端口B的工作方式,端口C分成兩部分,上半部分隨端口A,下半部分隨端

28、口B。端口A的工作方式有方式0、1和2三種,而端口B只能工作于方式0和1。(1).方式0的功能方式0是一種基本輸入輸出方式。輸出是鎖存的,輸入是不鎖存的。在這種工作方式下,三個(gè)端口的每一個(gè)都可由程序選定作為輸入或輸出,這種方式適用于無條件地傳送數(shù)據(jù)的設(shè)備。例如,讀一組開關(guān)的狀態(tài),控制一組指示燈的亮與滅,并不需要聯(lián)絡(luò)信號(hào),CPU可隨時(shí)讀入開關(guān)的狀態(tài),隨時(shí)可把一組數(shù)據(jù)送到指示燈顯示。在方式0下工作,由于是無條件的傳送,所以不需要狀態(tài)端口,三個(gè)端口都可以作為數(shù)據(jù)端口,當(dāng)然方式0也可以作為查詢式輸入或輸出的接口電路,此時(shí)口A和口B分別可作為這兩個(gè)端口的控制和狀態(tài)信息。(2).方式1的功能這是一種選通的

29、I/O方式。在這種工作方式時(shí),端口A和端口B作為數(shù)據(jù)的輸入/輸出,但同時(shí)規(guī)定端口C的某些位作為控制或狀態(tài)信息。(3).方式2的功能這種工作方式,使外設(shè)可在單一的8位總線上,即能發(fā)送也能接收數(shù)據(jù)。工作時(shí)可用程序查詢方式,也可工作于中斷方式。由于本設(shè)計(jì)采用的是方式0工作方式,所以,對(duì)方式1和方式2只作簡(jiǎn)單介紹。表3.2 8255A控制信號(hào)表CS(110000B)A1A0RDWR端口地址端口功能00001C0HA讀A口00010C0HA寫A口00101C1HB讀B口00110C1HB寫B(tài)口01001C2HC讀C口01010C2HC寫C口01110C3H控制口寫控制1×××

30、;××不工作在8031單片機(jī)上擴(kuò)展一片8255A芯片,無需外加任何邏輯電路,其接口電路如圖3-6所示。圖中8255A的PA口地址為7CH,PB口的地址為7DH,PC口的地址為7EH,控制字寄存器的地址為7FH。這里8031單片機(jī)對(duì)8255A采用了線性選址法。下面給出一個(gè)8255A接口應(yīng)用實(shí)例:8255A的端口方式設(shè)置,設(shè)端口A為方式0輸入,端口B為方式1輸出,端口C(上半部)PC7PC4輸出,端口C(下半部)PC3PC0輸入。8255A相應(yīng)的控制字為10010101B=95H,接口電路見圖3-6。初始化程序如下:MOVR0,#7FH;控制口地址送入R0MOVA,#95H;方

31、式控制字送入AMOVXR0,A;方式控制字送8255A控制口圖3-6 8031與8255接口電路圖第四章 控制電路及其設(shè)計(jì)4.1對(duì)自動(dòng)裝箱控制系統(tǒng)電機(jī)的控制電機(jī)的控制有多種辦法,如磁力啟動(dòng)器控制,固態(tài)繼電器控制,可控硅控制,以及大功率場(chǎng)效應(yīng)管控制。本設(shè)計(jì)采用固態(tài)繼電器控制,固態(tài)繼電器內(nèi)部含有光電隔離元件,可以提高抗干擾能力。自動(dòng)裝箱控制系統(tǒng)的電機(jī)控制電路如下圖4-1 自動(dòng)裝箱控制系統(tǒng)電機(jī)控制電路上圖所示的自動(dòng)裝箱控制系統(tǒng)中的控制原理:8255單片機(jī)的PC0控制傳送帶1的傳動(dòng)電機(jī),PC1的控制傳送帶2電機(jī),當(dāng)按下啟動(dòng)鍵后,使PC0輸出高電子,經(jīng)反相后變?yōu)榈碗娖?,固態(tài)繼電器SSR1發(fā)光二

32、極管,由它觸發(fā)SSR1導(dǎo)通,交流電機(jī)通電,傳送帶1運(yùn)動(dòng),帶動(dòng)包裝箱前移。當(dāng)包裝箱運(yùn)動(dòng)到傳感器1可以檢測(cè)到信號(hào)的位置時(shí),傳感器1輸出高電平,單片機(jī)檢測(cè)到這一高電平后,PC0輸出為0,傳動(dòng)電機(jī)1停止傳動(dòng) 。同時(shí),傳動(dòng)電機(jī)2因PC1輸出為1而通電運(yùn)動(dòng),帶動(dòng)產(chǎn)品運(yùn)動(dòng),并落入包裝箱內(nèi)。當(dāng)零件經(jīng)過傳感器2的檢測(cè)范圍時(shí),傳感器2輸出高電平。單片機(jī)檢測(cè)到該信號(hào)時(shí),在計(jì)數(shù)器加1,并送往顯示,然后再與產(chǎn)品給定值比較。如果計(jì)數(shù)值小于給定值,則繼續(xù)計(jì)數(shù);如果計(jì)數(shù)值等于給定值,則停止計(jì)數(shù),關(guān)斷傳送帶2電機(jī)的電源,接通傳送帶1電機(jī)的電源,讓裝滿產(chǎn)品的箱子移開,同時(shí)帶動(dòng)下一個(gè)空箱到位,并自動(dòng)重復(fù)以上作業(yè) 。4.2本系統(tǒng)采用

33、交流SSR4.2.1交流型SSR原理圖圖4-2 交流SSR原理圖4.2.2輸入輸出特性在輸入控制信號(hào)時(shí),非過零型的SSR不論其負(fù)載電流相位如何,會(huì)立即導(dǎo)通;過零型則必須在負(fù)載電源電壓接近零而且輸入控制信號(hào)有效時(shí),負(fù)載的電源回路才導(dǎo)通。當(dāng)輸入的控制信號(hào)消失后,不論哪一種類型的SSR,它們都是在雙向可控硅負(fù)載電流為零時(shí)才會(huì)截止關(guān)斷。4.2.3使用中應(yīng)該注意的特特性參數(shù)驅(qū)動(dòng)交流型SSR元件時(shí),它的輸入電壓為432V,開關(guān)時(shí)間小于200ps,輸入電流小于500mA,可以加接一個(gè)晶體管直接驅(qū)動(dòng);交流SSR元件輸出時(shí),可用于AC220V或380V市電負(fù)載場(chǎng)合,輸出斷態(tài)電流小于10mA。因?yàn)镾SR的輸出開關(guān)

34、器件是可控硅,所以依舊存在通態(tài)壓降和斷態(tài)漏電流的問題。SSR的通態(tài)壓降一般小于2V,斷態(tài)漏電流通常為510mA。在應(yīng)用系統(tǒng)中,一定要注意這兩個(gè)參數(shù)的值,特別在控制小功率外設(shè)時(shí),不要發(fā)生誤動(dòng)作。4.2.4交流型SSR用于小負(fù)載時(shí)的接線設(shè)計(jì)時(shí),應(yīng)當(dāng)讓SSR的開關(guān)電流至少為斷態(tài)電流的10倍。若負(fù)載電流低于該數(shù)值,則應(yīng)在負(fù)載兩端并聯(lián)一個(gè)電阻R,以提高開關(guān)電流,如圖所示圖4-3 交流型SSR用于小負(fù)載的接線電路圖當(dāng)負(fù)載為感性時(shí),也可在負(fù)載兩端并聯(lián)電阻,以防誤動(dòng)作。4.2.5 SSR的輸出端加接阻容吸收回路和壓敏電阻的電路圖為了保護(hù)SSR元件不受損壞,在驅(qū)動(dòng)感性負(fù)載時(shí)可在SSR輸出端并聯(lián)RC吸收回路和壓敏

35、電阻。其他連接方法如圖圖4-4 SSR輸出端加接阻容吸收回路和壓敏電阻電路圖其工作原理是:當(dāng)單片機(jī)的控制端PI0輸出為低電平時(shí),信號(hào)經(jīng)過反相器后,使上邊的SSR導(dǎo)通,而下邊的SSR截止,交流電通過A相繞組構(gòu)成閉合回路,電機(jī)正轉(zhuǎn);當(dāng)PIO端輸出高電平時(shí),則上邊的SSR截止,下邊的SSR導(dǎo)通,交流電經(jīng)過B相繞組,電機(jī)反轉(zhuǎn)。4.2.6 SSR的驅(qū)動(dòng)電流不能滿足負(fù)載的處理當(dāng)其驅(qū)動(dòng)能力不能滿足負(fù)載要求時(shí),可由SSR先驅(qū)動(dòng)功率擴(kuò)展器,再由擴(kuò)展器驅(qū)動(dòng)負(fù)載,即可解決驅(qū)動(dòng)電流不能滿足負(fù)載要求的問題。比如:當(dāng)直流SSR的驅(qū)動(dòng)電流不夠大時(shí),可外接大功率晶體管、單向可控硅等;當(dāng)交流SSR的驅(qū)動(dòng)電流不夠大時(shí),可采用大功

36、率雙向可控硅來直接驅(qū)動(dòng)負(fù)載。4.2.7當(dāng)SSR的輸出端加接阻容吸收回路和壓敏電阻時(shí),各元件的選擇RP、CP組成浪涌電壓吸收回路,RP取100Q左右,CP取011uF。RM為壓敏電阻,它的電壓取值范圍通常為電源電壓有效值的1619倍,可以選用市售的交流220V、380V專用壓敏電阻。浪涌電壓吸收回路和壓敏電阻均對(duì)控制系統(tǒng)起保護(hù)作用。第五章 軟件設(shè)計(jì)軟件設(shè)計(jì),就是按照實(shí)際問題的要求和單片機(jī)的特點(diǎn),決定所采用的計(jì)算方法和計(jì)算公式,也就是一般所說的算法。然后根據(jù)單片機(jī)的指令系統(tǒng),按照盡可能節(jié)省數(shù)據(jù)存放單元、縮短程序長(zhǎng)度和加快運(yùn)算時(shí)間三個(gè)原則來編制程序。以下就是自動(dòng)裝箱控制系統(tǒng)的主程序流程框圖圖5-1

37、自動(dòng)裝箱控制系統(tǒng)主流程圖5.1對(duì)鍵盤和各計(jì)數(shù)控制的設(shè)計(jì)各系統(tǒng)中,鍵盤的作用主要是輸入給定值,當(dāng)給定值設(shè)計(jì)完畢后,鍵盤在包裝過程中就無用了,軟件設(shè)計(jì)時(shí),采用中斷方式0作鍵盤處理;對(duì)包裝箱是否到位及產(chǎn)品計(jì)數(shù),則采用查詢的方法進(jìn)行。5.2軟件設(shè)計(jì)的中斷服務(wù)程序的作用在主程序流程框圖中,中斷服務(wù)程序的主要作用是用來設(shè)定“預(yù)置數(shù)”。當(dāng)鍵盤有鍵按下時(shí),KEYSTROBL輸出高電平,該電平經(jīng)反相后,向8031申請(qǐng)中斷。在中斷服務(wù)程序中,讀入的鍵盤預(yù)置數(shù),一方面存入相應(yīng)給定的單元,另一方面送顯示,供操作者監(jiān)視。在主程序流程框圖中,鍵盤輸入預(yù)置數(shù)的順序是:先輸入包裝箱數(shù)(三位數(shù),最大數(shù)999,按順序依次鍵入百位

38、,十位,個(gè)位),然后再輸入每箱裝入的產(chǎn)品數(shù)(數(shù)字特點(diǎn)同上),由此可完成中斷程序。輸入預(yù)置數(shù)的中斷服務(wù)程序框圖如圖所示圖5-2 輸入預(yù)置數(shù)的中斷服務(wù)程序框圖 5.3對(duì)內(nèi)存單元的設(shè)置為了將主程序和輸入設(shè)置數(shù)中的程序設(shè)計(jì)出,首先需要設(shè)置一些有關(guān)的內(nèi)存單元。設(shè)置時(shí),可將8031內(nèi)部RAM的20H的單位的00H-03H四位分別代表傳動(dòng)電機(jī)1,傳動(dòng)電機(jī)2,報(bào)警和正常運(yùn)行標(biāo)志單元:用21H單位的08H和09H兩位作為產(chǎn)品及包裝計(jì)數(shù)標(biāo)志單元,當(dāng)計(jì)數(shù)值超過給定預(yù)置數(shù)時(shí),則這兩位標(biāo)志單元置1,否則為0。一旦該標(biāo)志單元為1,則立即產(chǎn)生報(bào)警信號(hào),系統(tǒng)會(huì)自動(dòng)停止運(yùn)行。下圖為自動(dòng)裝箱控制系統(tǒng)內(nèi)存單元的分配圖圖5-3 自動(dòng)

39、裝箱控制系統(tǒng)內(nèi)存單元的分配圖致謝天下沒有不散的宴席,雖然大三的生活多半時(shí)間還是呆在學(xué)校里,但是論文致謝語寫的那一刻也真正標(biāo)志著我與這所學(xué)校就此別離了,沒有傷感,更多的是遺憾,過去的不能挽回,人應(yīng)該大膽向前看,所以這段文字應(yīng)該像它的標(biāo)題一樣充滿感恩和致謝,感謝三年來在我的成長(zhǎng)道路上扶持過我,指點(diǎn)過我的人。這篇論文在前期的學(xué)習(xí)積累經(jīng)驗(yàn),到中期的修改和討論,及最后的反復(fù)斟酌,我希望能盡自己最大的努力,寫出一篇具有現(xiàn)實(shí)意義的論文。但是在具體實(shí)施的過程中,我還是遇到了相當(dāng)多當(dāng)初沒有預(yù)料的困難,也曾經(jīng)令我迷茫和彷徨,設(shè)計(jì)最終的定稿,也沒有我當(dāng)初設(shè)想的那么完美,但是總歸是自己盡力完成的著作,都是自己心血的累

40、積。論文得以順利完成,首先要衷心地感謝我的指導(dǎo)老師韓老師,您嚴(yán)謹(jǐn)?shù)慕虒W(xué)態(tài)度,開闊的思維,您的指導(dǎo)給我很大的幫助。當(dāng)我對(duì)論文的思路感到迷茫時(shí),您為我理清思路,指導(dǎo)我往一條比較清晰的思路上進(jìn)行修改。在論文的不斷修改中,我也努力做到及時(shí)積極地跟韓老師交流。論文的最終完成,也是一波三折。在不斷完善和修改的過程中,也讓我更加懂得“一分耕耘才有一分收獲”的道理。再次對(duì)您表示感謝,師恩偉大,無以回報(bào)。參考文獻(xiàn)1張秀國,單片機(jī)C語言程序設(shè)計(jì)教程與實(shí)訓(xùn),北京大學(xué)出版社,2010.22潘新民,王燕芳,微型計(jì)算機(jī)控制技術(shù),電子工業(yè)出版社2011.13戴佳,戴衛(wèi)恒,51 單片機(jī) C 語言應(yīng)用程序設(shè)計(jì)實(shí)例精講,電子工業(yè)

41、出版社,2006.44余錫存 曹國華,單片機(jī)原理及接口技術(shù),西安電子科技大學(xué)出版社,2007.125周月霞,孫傳友, DS18B20 硬件連接及軟件編程,機(jī)械工業(yè)出版社,2001 6王幸之,鐘愛琴,王雷,王閃, AT89 系列單片機(jī)原理與接口技術(shù),北京航空航天大學(xué)出版社,19997沈衛(wèi)紅,基于單片機(jī)的智能系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn),電子工業(yè)出版社,2010 8梁森,自動(dòng)檢測(cè)與轉(zhuǎn)換技術(shù),機(jī)械工業(yè)出版社,20109邱世安, 機(jī)電一體化技術(shù).1版. 電子科技大學(xué)出版社,200410潘新民, 王燕芳,微型計(jì)算機(jī)控制技術(shù).北京. 電子工業(yè)出版社,200311劉瑞新, 單片機(jī)原理及應(yīng)用教程.北京. 機(jī)械工業(yè)出版社,2

42、00512龍一鳴, 單片機(jī)總線擴(kuò)展技術(shù).北京. 北京航空航天大學(xué)出版社,199313宋戈等, 51單片機(jī)應(yīng)用開發(fā)范例大全.北京. 人民郵電出版社,2010附錄一ORG 0000HAJMP MAINORG 00003HAJMP INT0LED1: EQU 22H 零件計(jì)數(shù)單元(百位)LED: EQU 23H 零件計(jì)數(shù)單元(十位)LED3: EQU 24H 零件計(jì)數(shù)單元(個(gè)位)BOX1: EQU 25H 包裝箱計(jì)數(shù)單元(百位)BOX2: EQU 26H 包裝箱計(jì)數(shù)單元(十位)BOX3: EQU 27H 包裝箱計(jì)數(shù)單元(個(gè)位)BOXES: EQU 28H 包裝箱給定值地址PARTS: EQU 2BH

43、 零件給定值地址PRECNT: EQU 2EH 給定值次數(shù)計(jì)數(shù)單元LEDADD1: EQU 8400H 百位數(shù)顯示地址LEDADD2: EQU 8800H 十位數(shù)顯示地址LEGADD3: EQU 8C00H 個(gè)位數(shù)顯示地址BUFF: EQU 2FH 緩沖單元 ORG 0100H以下為控制主程序MAIN: MOV SP,#50HMOV R0,#22HMOV A,#00HMOV R1,#0DHCLRZERO: MOV R0,A 清計(jì)數(shù),給定值單元INC R0DJNZ R1,CLRZEROMOV 20H,#00H 清控制單元MOV 21H,#00HMOV DPTR,#8003H 8255初始化MOV

44、 A,#98HMOVX DPTR,ASETB IT0 設(shè)置邊沿觸發(fā)方式SETB EX0 設(shè)置中斷方式0SETB EA 開中斷MOV R0,#BOXESMOV DPTR,#LEDADD1 保護(hù)顯示位地址BUSH DPHBUSH DPLMOV DPTR,#8002HWAIT: MOX A,PRECNT 等待設(shè)值給定參數(shù)CJNE A,#06H,WAIT 判是否輸入完給定值WORK: SETB 00H 啟動(dòng)傳送帶機(jī)SETB 03H 工作正常指示燈MOV A,20H 啟動(dòng)電機(jī)1和正常指示燈MOV DPTR,#8002HMOVX DPTR,ALOOP1: MOVX A,DPTRJNB ACC.7,LOOP

45、1 判斷包裝箱是否到位MOV LED1,#00H 清零件計(jì)數(shù)單元MOV LED2,#00HMOV LED3,#00HLCALL DISPLAY 顯示零件數(shù)CLR 00H 停箱子傳送帶電機(jī)SETB 01H 啟動(dòng)零件傳送電機(jī)MOV A,20HMOV DPTR,#8002HMOVX DPTR,AMOV DPTR,#8002HMOVX A,DPTRJNB ACC.6,LOOP2 判斷是否有零件JNB ACC.4,STOP 判斷是否按下停止鍵LCALL PORTADD1 零件加1LCALL DISPLAY 顯示已經(jīng)裝入的零件數(shù)LCALL PORTCOMP 與給定的預(yù)置數(shù)進(jìn)行比較JB 08H,STOPM

46、已裝滿AJMP LOOP2 未裝滿,繼續(xù)等待裝入STOPM: LCALL BOXADD1 包裝箱數(shù)加1LCALL BOXCOMP 看是否已經(jīng)裝夠箱子數(shù)JB 09H,F(xiàn)INISH 若箱數(shù)已裝夠,則結(jié)束LJMP WORK 否則繼續(xù)換新箱子包裝FINISH: CLR 00H 全部裝完,不用重新設(shè)置參數(shù),可以繼續(xù)包裝CLR 01HMOV A,20HMOVX DPTR,AMOV BOX1,#00H 包裝箱計(jì)數(shù)單元清零MOV BOX2,#00HMOV BOX3,#00HLOOP3: MOV DPTR,#8002H 判斷是否重新啟動(dòng)MOVX A,DPTRJB ACC.5,LOOP3LJMP WORK 再進(jìn)行

47、下一輪包裝以下為停止鍵處理程序STOP: CLR 00H 停傳送帶電機(jī)CLR 01HMOV A,20HMOVX DPTR,ALJMP WAIN 轉(zhuǎn)到主程序,等待重新輸入新的給定值以下為中斷服務(wù)子程序,設(shè)置給定值INT0: MOV DPTR,#8000H 讀入給定預(yù)置數(shù)MOVX A,DPTRMOV R0,AMOV DPTR,#8002HMOVX DPTR,APOP DPL 取出顯示位地址POP DRHMOVX DPTR,A 顯出給定預(yù)置值MOV A,DPHADD A,#04H 求下一個(gè)顯示位地址MOV DPH,APUSH DPH 保護(hù)下一位顯示位地址PUSH DPLINC R0 計(jì)算下一個(gè)給定值地址INC PRECNT 設(shè)置參數(shù)計(jì)數(shù)RETI以下為顯示零件數(shù)子程序DISPLAY: MOV A,LED1 取要顯示的數(shù)MOV DPTR,#SEG

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論