自動裝箱系統(tǒng)設(shè)計
《自動裝箱系統(tǒng)設(shè)計》由會員分享,可在線閱讀,更多相關(guān)《自動裝箱系統(tǒng)設(shè)計(22頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、摘要: 在工業(yè)生產(chǎn)中,常常需要對產(chǎn)品進行計數(shù)、裝箱。如果用人工操作不但麻煩,而且效率低、勞動強度大。隨著微機控制的普及,特別是單片機的應(yīng)用,給該系統(tǒng)的設(shè)計帶來了極大的方便。 本論文設(shè)計了一種以8051單片機為核心的流水線產(chǎn)品計數(shù)及裝箱控制系統(tǒng),可以對工業(yè)自動化生產(chǎn)流水線上的產(chǎn)品進行精確的計數(shù)和裝箱。為了讀鍵盤給定值及檢測和控制,專門擴展一個8255A可編程接口及程序存儲器EPROM2732(4K*8 200ns可用紫外線擦除標(biāo)準(zhǔn)EPROM)。擴展的8255A的B口用于給定值或產(chǎn)品計數(shù)顯示。 關(guān)鍵詞:裝箱;自動控制;單片機 正文: 1、自動裝箱控制系統(tǒng)設(shè)計方案 1.1 控制方案列舉
2、分析 自動裝箱的關(guān)鍵在于依據(jù)裝箱過程,設(shè)計出一個能夠得以實現(xiàn)自動控制的結(jié)構(gòu)方案。顯然,自動裝置的選擇取決于這一過程的需求及特性。依據(jù)定義,一個自動裝置即能通過自動控制或遙控方法完成任務(wù)的一臺機器或一個機構(gòu)。它可以是簡單的,例如,從一個位置移向另一位置的一種單軸結(jié)構(gòu)的氣動壓力聯(lián)動裝置,也可以是復(fù)雜的,例如,具有六軸結(jié)構(gòu)的能動外科手術(shù)的機器人。而包裝過程的各個項目選擇以及各類工業(yè)自動化機構(gòu),可以在一個具體工作場所的空間范圍內(nèi),使每一個設(shè)計方案完成一項任務(wù)。 檢測器2 檢測器1 傳送帶1 傳送帶2 由系統(tǒng)功能要求、方案選擇和設(shè)備配置,可以設(shè)計出一個自動裝箱系統(tǒng),其原理圖如
3、圖1.1所示。 圖1.1 產(chǎn)品自動裝箱系統(tǒng)原理圖 在圖1.1中,該系統(tǒng)帶有兩個傳送帶,即包裝箱傳送帶和產(chǎn)品傳送帶。包裝箱傳送帶用來傳送產(chǎn)品包裝箱,其功能是把已經(jīng)裝滿的包裝箱運走,并用一只空箱來代替。為使空箱恰好對準(zhǔn)產(chǎn)品傳送帶的末端,以便使產(chǎn)品剛好落入箱中,在空包裝箱傳送帶的中間裝一檢測控制器1,用以檢測包裝箱是否到位。產(chǎn)品傳送帶將產(chǎn)品從車間傳送到包裝箱。當(dāng)某一產(chǎn)品被送到傳送帶的末端,會自動落入包裝箱內(nèi),并由檢測器2轉(zhuǎn)換成計數(shù)脈沖。 產(chǎn)品計數(shù)可以由硬件完成(如MCS-51系列單片機中的定時器/計數(shù)器),也可以用軟件來完成。本系統(tǒng)采用軟件計數(shù)方法。 系統(tǒng)工作步驟
4、如下: (1)用鍵盤設(shè)置每個包裝箱所裝的產(chǎn)品數(shù)量以及包裝箱數(shù),并分別存放在PARTS和BOXES單元中。 (2)接通電源,使傳送帶1的驅(qū)動電機轉(zhuǎn)動。由控制程序控制傳送帶1的驅(qū)動電機持續(xù)運動,當(dāng)包裝箱運行到檢測器1的光源和傳感器的中間時,通過檢測光電傳感器的狀態(tài),判斷傳送帶1上的包裝箱是否到位。 (3)當(dāng)包裝箱到位時,關(guān)斷電機電源,使傳送帶1停止運動。 (4)啟動傳送帶2電機,使產(chǎn)品沿傳送帶向前運動,并轉(zhuǎn)入箱內(nèi)。 (5)當(dāng)產(chǎn)品一個一個落下時,通過檢測器2的檢測,將產(chǎn)生一系列脈沖信號。 (6)從檢測器2來的輸出脈沖,由計算機進行計數(shù),并不斷地與存在PRESET單元中的給定值進行比較。
5、 (7)當(dāng)產(chǎn)品數(shù)與給定值不等時,將繼續(xù)控制傳送帶2運動,以便繼續(xù)裝入產(chǎn)品,直到零件數(shù)與給定值相等,停止傳送帶2電機,不再轉(zhuǎn)入產(chǎn)品。 (8)再次啟動傳送帶1的電機,使裝滿產(chǎn)品的箱子繼續(xù)向前運動,并把存放箱子數(shù)的內(nèi)存單元加1,然后再與給定的箱子數(shù)進行比較。如果不夠,則帶動下一個空箱到達指定位置,繼續(xù)上述過程。直到產(chǎn)品數(shù)與給定值相等,停止包裝,等待下面操作命令。 當(dāng)傳送帶2上的產(chǎn)品和傳送帶1上的箱子足夠多時,這個過程可以繼續(xù)不斷進行下去,這就是產(chǎn)品自動包裝生產(chǎn)線的流程。 必要時操作人員可以隨時通過停止(STOP)鍵停止傳送帶運動,并通過鍵盤重新設(shè)置給定值,然后再起動。 1.2 用單片機實
6、現(xiàn)順序控制 單片機具有下面一些特性: 體積?。河捎趩纹瑱C內(nèi)部集成了計算機的基本功能部件,能滿足很多領(lǐng)域?qū)τ布墓δ芤?,因此由單片機組成的應(yīng)用系統(tǒng)結(jié)構(gòu)簡單、體積特別小。 可靠性高:單片機內(nèi)CPU范圍存儲器、I/O接口的信息傳輸線(即總線—地址總線、數(shù)據(jù)總線和控制總線)大多數(shù)在內(nèi)部,因此不易受外界的干擾;另一方面,由于單片機微機體積小,在應(yīng)用環(huán)境比較差的情況下,容易采取對系統(tǒng)進行電磁屏蔽等措施。所以單片機應(yīng)用系統(tǒng)的可靠性比一般的微機系統(tǒng)高得多。 性價比高:由于單片機的大批量生產(chǎn),及其已非常成熟的制造工藝,所以成本很低,加上單片機的功能性能不斷的完善,種類型號的增加,其應(yīng)用系統(tǒng)的印版小、接
7、插件少、安裝調(diào)試簡單等一系列原因,使單片機應(yīng)用系統(tǒng)的性能價格比高于一般的微機系統(tǒng)。 控制功能強:單片機像計算機一樣是面向控制,它的實時控制功能特別強`,CPU可以直接對I/O口進行各種操作(輸入/輸出、位操作以及算術(shù)邏輯操作等),運算速度高,最高可達16MHZ。而且單片機對實時事件的響應(yīng)和處理速度快。 使用方便:由于單片機內(nèi)部功能強,系統(tǒng)擴展方便,因此應(yīng)用系統(tǒng)的硬件設(shè)計非常簡單,又因為市場上提供多種多樣的單片機開發(fā)工具,它們具有很強的軟硬件調(diào)試功能和輔助設(shè)計的手段。這樣使單片機的應(yīng)用極為方便,大大的縮短了系統(tǒng)研制的周期。 功耗低:由于單片機集成度高,相應(yīng)其功耗相對于同功能的其他設(shè)備功耗低
8、了很多。 單片機以上的特性,縮短了單片機應(yīng)用系統(tǒng)研制到真實產(chǎn)品的過渡過程,使科研成果迅速轉(zhuǎn)化成生產(chǎn)力。 綜上所述可以看出,采用單片機實現(xiàn)控制的方案將容易實現(xiàn),且系統(tǒng)功能強大、精度高、性能穩(wěn)定可靠、使用方便、性價比高。所以采用單片機控制系統(tǒng)來實現(xiàn)產(chǎn)品的自動裝箱。 2 控制系統(tǒng)硬件設(shè)計 2.1系統(tǒng)硬件設(shè)計 為了完成上述任務(wù),采用8051單片機設(shè)計一個最小系統(tǒng)。為了讀鍵盤給定值及檢測和控制,專門擴展一個8255A可編程接口及程序存儲器EPROM2732(4K*8 200ns可用紫外線擦除標(biāo)準(zhǔn)EPROM)。74LS373(8位I/O鎖存器)、2732組成最小系統(tǒng),擴展的8
9、255A的B口用于給定值或產(chǎn)品計數(shù)顯示。 硬件圖說明為達到本系統(tǒng)功能,采用8031單片機設(shè)計一個最小系統(tǒng),為讀鍵盤給定值,同時實行檢測和控制,專門擴展一個8255A可編程接口,其系統(tǒng)原理圖如附錄一所示。 8051、74LS373(8位I/O鎖存器)、2732組成最小系統(tǒng)。其中各芯片及引腳說明如下: (1)8051: 系統(tǒng)的微控制器選用Intel公司生產(chǎn)的8位單片機8031。下面對8031作一個基本的介紹: ①一個面向控制的8位CPU; ②128字節(jié)RAM數(shù)據(jù)存貯器; ③兩個16位定時器/計數(shù)器; ④可尋址64K外部數(shù)據(jù)存貯器和64K外部程序存貯空間的控制電路; ⑤32條可編
10、程的I/O線(四個8位并行I/O端口); ⑥一個可編程全雙工串行口; ⑦具有五個中斷源,兩個優(yōu)先級嵌套中斷結(jié)構(gòu); (2)8255A: 8255A基本特性: ①8255A是一個具有兩個8位(A口和B口)和兩個4位(C口高/低4位)并行I/O端口的接口芯片,它是Intel系列CPU與外部設(shè)備之間提供TTL電平兼容的接口,如A/D、D/A轉(zhuǎn)換器、鍵盤、步進電機以及需要同時兩位以上信息傳遞的一切形式的并行接口; ②8255A能適應(yīng)CPU與I/O接口之間的多種數(shù)據(jù)傳送方式的要求; ③8255A可執(zhí)行功能很強,內(nèi)容豐富的兩條命令(方式字和控制字)為用戶根 據(jù)外界條件來使用8255A構(gòu)成
11、多種接口電路提供了靈活方便的編程環(huán)境; ④8255A的PC口的使用比較特殊,除作數(shù)據(jù)口外,還可作狀態(tài)口,進行按位控制等; (3)74LS373: 8位輸入8位輸出鎖存器,引腳功能如下: VCC:接電源端; G:存儲器允許信號; (4)2732: 4K*8 200ns紫外線可擦除電可編程的半導(dǎo)體只讀存儲器,標(biāo)準(zhǔn)EPROM; A11-A0:地址輸入線; D7-D0:三態(tài)數(shù)據(jù)總線; (5)74LS377: 同向電流驅(qū)動器,為LED提供足夠驅(qū)動電流。說明:鍵盤和顯示器接口芯片還有8279可使用,而8279對鍵盤還有硬件消抖功能,但這樣會和8255A形成硬件浪費,況且8279由于接
12、口不夠不能代替8255A。 包裝系統(tǒng)控制電路主要有兩部分:一是信號檢測,光電檢測器1判斷包裝箱是否到位和光電檢測器2用于產(chǎn)品計數(shù);二是傳送帶電機控制。 (6)開關(guān)電源: 開關(guān)電源選用+12V ATX電源。在整個開關(guān)接通期間,電源向負載提供能量;當(dāng)開關(guān)斷開時,輸入電源便中斷了能量的控制,輸入電源向負載提供的能量是斷續(xù)的。 (7)光電傳感器: 光電傳感器選用CH3系列。光電傳感器的敏感范圍遠遠超過了電感、電容、磁力、超聲波傳感器的范圍,此外光電傳感器的體積很小,而敏感范圍很寬,加上機殼有很多樣式,幾乎都可以使用。 2.2 顯示電路設(shè)計 為了使系統(tǒng)簡單,設(shè)計的一個由二極管矩陣組
13、成的編碼鍵盤,如圖2.1所示。 圖3.6 編碼鍵盤原理圖 圖2.1編碼鍵盤原理圖 鍵盤輸出信號D、C、B、A (BCD碼)接到8255A的A口PA3-PA0,鍵選通信號KEYSTROBE(高電平有效),經(jīng)反向器接到8051的中斷管腳。當(dāng)某一個鍵按下去時,KEYSTROBE為高電平,經(jīng)反相后的下降沿向8051申請中斷。8051響應(yīng)后,讀入BCD碼,作為給定值,并送顯示。由于系統(tǒng)設(shè)計只有三位顯示,所以最多只能給定999,輸入順序為從高位(百位數(shù))開始。 當(dāng)按鍵未按下時,所有輸出端均為高電平。當(dāng)按鍵按下后該鍵的BCD碼將出現(xiàn)在輸
14、出線上。例如,按下“6”鍵時,與鍵6相連的兩個二極管導(dǎo)通,所以D、A線上為低電平,因此輸出編碼為0110,其余以此類推。 當(dāng)任何一個鍵按下去時,四輸入或非門7420產(chǎn)生一個高電平選通信號經(jīng)反相器后向8051申請中斷。 3 軟件設(shè)計 3.1 主程序的設(shè)計及其流程圖 通過上述分析可知,本系統(tǒng)鍵盤的作用主要是給定值的輸入。當(dāng)給定值設(shè)定后,在包裝過程中就沒什么作用了。因此為了提高系統(tǒng)的實時性,系統(tǒng)采用中斷方式作鍵盤處理,對裝箱是否到位及產(chǎn)品數(shù)計數(shù),則采用查詢方法。整個系統(tǒng)流程圖,如圖3.1所示。 中斷程序主要用來設(shè)定給定值,當(dāng)給定鍵盤有鍵按下時,KEYSTROBE輸出高電
15、平,經(jīng)反相器后向8051申請中斷。在中斷服務(wù)程序中,讀入該鍵盤給定值,一方面存入相應(yīng)的給定單元(PARTS和BOXES),另一方面送去顯示,以便操作者檢查輸入的給定值是否正確。本程序輸入的順序是先輸入包裝箱數(shù)(3位,最大為999,按百、十、個位順序輸入),然后再輸入每箱的零件數(shù)(3位,最大值為999,輸入順序同包裝箱)。完成上述任務(wù)的中斷服務(wù)程序流程圖如圖3.1所示。 為了設(shè)計主程序和子程序的流程圖,首先必須設(shè)置有關(guān)內(nèi)存單元。這里用8051內(nèi)部RAM的20H單元的00H至03H四位分別代表電機1、電機2、報警和正常運行標(biāo)志單元;用21H單元的08H和09H兩位作為零件及包裝箱計數(shù)標(biāo)志單元。當(dāng)
16、計數(shù)值等于給定值時,則此兩位標(biāo)志單元置1,否則為0。一旦此標(biāo)志單元為1,則停止計數(shù),把裝滿的包裝箱運走并重新運來一個空箱;若包裝箱數(shù)已夠,則重新開始下一輪包裝生產(chǎn)控制過程。如果計數(shù)單元超過給定值,將產(chǎn)生報警,告知操作人員計數(shù)有誤,此時系統(tǒng)自動停下來,等待操作人員處理。 圖3.1 包裝控制系統(tǒng)主程序框圖 3.1.1動態(tài)顯示子程序流程圖 論文采用的是以軟件為主的LED接口電路,用軟件進行譯碼,其流程圖如圖3.2所示。為了實現(xiàn)LED顯示
17、器的動態(tài)掃描顯示,除了要給顯示器提供顯示碼段之外,還要對顯示器進行位控制,即通常所說的“段控”和“位控”。在這里8255A的A口用來輸出要顯示的數(shù)據(jù),將其送到B口,然后再送出相應(yīng)的位選碼,此時只有選通的那一位顯示,其他的熄滅。同樣在下一時刻,送出第二位的顯示數(shù)據(jù),則第二位顯示,其他熄滅,由于在顯示過程中,有1ms的延遲,造成人視覺上的停滯現(xiàn)象,看起來就如同時點亮顯示一般。 圖3.2 動態(tài)顯示子程序流程圖 3.1.2 中斷子程序流程圖 中斷服務(wù)程序主要用來設(shè)定給定值,當(dāng)給定鍵盤按下時,KEYSTROB
18、E輸出高電平,經(jīng)反相器后向8051申請中斷。在中斷服務(wù)程序中,讀入該鍵盤給定值,一方面存入相應(yīng)的給定單元(PARTS或BOXES),另一方面送顯示器,以便操作者檢查輸入的給定值是否正確。本程序輸入的順序是先輸入包裝箱數(shù)(三位,最大999,按百位、十位、個位順序輸入),然后再輸入每箱裝的產(chǎn)品數(shù)(三位,最大999,輸入順序同包裝箱),完成上述任務(wù)的中斷服務(wù)程序框圖如圖3.3所示。 圖3.3 輸入給定值中斷服務(wù)程序圖 3.1.3 報警子程序設(shè)計 報警系統(tǒng)根據(jù)報警參數(shù)及傳感器的具體情況又可分為硬件直接報警和全軟件程序報警,前者的報警
19、信號是直接通過硬件對被測參數(shù)和給定值進行比較而產(chǎn)生的,是在傳感器中進行的,當(dāng)這種硬件直接報警的信號產(chǎn)生之后再由軟件進行處理,而后者則通過程序比較而得到信號并由軟件完成報警處理系統(tǒng)主要是針對誤操作做出報警,如當(dāng)無給定值時就按STRART鍵等,而無需進行上下限參數(shù)的比較,故只需在微機中進行即可,故可采用全軟件報警。其報警程序的設(shè)計可對計數(shù)單元進行比較而形成。 3.2系統(tǒng)內(nèi)存單元分配 為了進行微機系統(tǒng)程序設(shè)計,首先需設(shè)置一些有關(guān)內(nèi)存單元。這里用8051內(nèi)部RAM的20H單位的00H~03H四位分別代表電機1、電機2、報警和正常運行標(biāo)志單元;用21H單元的08H和09H兩位作為產(chǎn)品及包裝計數(shù)標(biāo)志
20、單元,當(dāng)計數(shù)值超過給定值時,則此二位標(biāo)志置1,否則為0。一旦標(biāo)志單元為1,則產(chǎn)生報警,告知操作人員計數(shù)有誤,此時系統(tǒng)會自動停止,等待操作人員處理。該系統(tǒng)內(nèi)存單元分配如圖4.4所示。 圖3.4 系統(tǒng)內(nèi)存單元分配 結(jié)論 系統(tǒng)采用8031單片機,擴展了8255A接口,另外還采用2732進行程序存儲器擴展,實現(xiàn)了流水線產(chǎn)品的自動計數(shù)和自動裝箱。 系統(tǒng)優(yōu)點是控制過程簡單,操作方便。起動裝箱電機1,使裝箱沿著傳送帶向前移動。通過光電傳感器1檢測裝箱是否到位,裝箱到位后,停止電機1。起動電機2,使產(chǎn)品沿著傳送
21、帶向前移動,產(chǎn)品一個一個下落時,通過光電傳感器2的檢測,將產(chǎn)生一系列脈沖信號,從檢測器2輸出的脈沖,由計算機計數(shù),并不斷地與存在給定值單元中的給定值進行比較。如果產(chǎn)品數(shù)與給定值相等,則停止電機2。重復(fù)上述過程,直至包裝箱數(shù)與給定值相等。 系統(tǒng)充分考慮了系統(tǒng)的性能和匹配問題,力求提高系統(tǒng)的可靠性,同時使其成本盡量低廉。缺點是產(chǎn)品和裝箱的計數(shù)不能超過999,控制過程為順序控制,電機的啟動和停止不能實現(xiàn)自動起動和停止,需要人工操作電機開關(guān)。其實際的操作可行性有待進一步的驗證。 參考文獻 [1]計算機控制技術(shù),范立南,機械工業(yè)出版社,2008 [2]單片機原理及應(yīng)用,李建忠,西安電子科技大學(xué)出
22、版社,2008 [3]傳感器與檢測技術(shù),吳松林,北京理工大學(xué)出版社,2009 [4]可編程控制器原理及應(yīng)用,朱紹祥,上海交通大學(xué)出版社,1988 [5]可編程控制器原理及應(yīng)用,楊長能,重慶大學(xué)出版社,1992 [6].Prokin M. Ext remely Wide range Speed Measurement Using a Double2buffered Method. IEEE Trans. Ind. Electron. , 1994 ,41 [7]單片機原理及制作,吳微,武漢大學(xué)出版社,1991 [8]夏辛明.可編程控制器技術(shù)及應(yīng)用.北京理工大學(xué)出版社,1999,12~
23、30 [9]吳麒,自動控制原理. 北京:清華大學(xué)出版社,1990 [10].童梅 電路的計算機輔助分析--Pspice和MATLAB,機械工業(yè)出版社,2008 [11].張曉江,黃云志.自動控制系統(tǒng)計算機仿真.機械工業(yè)出版社,2011 附錄一 硬件連接圖 附錄二 程序清單 該系統(tǒng)控制程序如下: ORG 0000H AJMP MAIN ORG 0003H AJMP INT0
24、LED1 EQU 22H ;產(chǎn)品計數(shù)單元(百位) LED2 EQU 23H ;(十位) LED3 EQU 24H ;(個位) BOX1 EQU 25H ;包裝箱計數(shù)單元(百位) BOX2 EQU 26H ;(十位) BOX3 EQU 27H ;(個位) BOXES EQU 28H
25、 ;包裝箱給定值首地址 PARTS EQU 2BH ;產(chǎn)品給定值首地址 PRECNT EQU 2EH ;給定值次數(shù)計數(shù)單元 LEDADD1 EQU 4000H ;百位數(shù)顯示地址 LEDADD2 EQU 2000H ;十位數(shù)顯示地址 LEDADD3 EQU 1000H ;個位數(shù)顯示地址 BUFF EQU 2FH ;緩沖單元
26、 ORG 0100H 控制主程序: MAIN: MOV SP,#50H MOV R0,#22H MOV A,#00H MOV R1,#0DH CIRZERO: MOV @R0,A ;清計數(shù)、給定值單元 INC R0 DJNZ R1,CIRZERO MOV 20H
27、,#00H MOV 21H,#00H MOV DPTR,#8003H MOV A,#98H MOVX @DPTR,A SETB IT0 ;設(shè)置邊沿觸發(fā)方式 SETB EX0 ;設(shè)置中斷方式0 SETB EA ;開總中斷
28、 MOV R0,#BOXES MOV DPTR,#LEDADD1 ;保護顯示位地址 PUSH DPH PUSH DPL MOV DPTR,#8002H WAIT:: MOV A,PRECNT ;等待設(shè)置給定參數(shù) CJNE A,#06H,WAIT ;判斷是否輸入完給定值 WORK: SETB 00H
29、 ;啟動傳送帶電機1 SETB 03H ;工作正常指示燈 MOV A,20H ;啟動電機1和正常指示 MOV DPTR, #8002H MOV @DPTR, A LOOP1: MOV A,@DPTR JNB ACC.7,LOOP1 ;判斷包裝箱是否到位 MOV LED1,#0
30、0H ;清產(chǎn)品計數(shù)單元 MOV LED2,#00H MOV LED3,#00H LCALL DISPLAY ;顯示產(chǎn)品數(shù) CLR 00H ;停箱子傳送帶電機 SETB 01H ;啟動產(chǎn)品傳送電機 MOV A,20H MOV
31、 DPTR,#8002H MOVX @DPTR,A LOOP2: MOV DPTR,#8002H MOVX A,@DPTR JNB ACC.6,LOOP2 ;判斷是否有產(chǎn)品 JNB ACC.4,STOP ;判斷是否按下停止鍵 LCALL PORTADD1 ;產(chǎn)品加1 LCALL DISPLAY ;顯示已裝入的產(chǎn)品數(shù) LCAAL PORTCOMP
32、 ;與給定值比較 JB 08H,STOPM ;已裝滿 AJMP LOOP2 ;未裝滿,繼續(xù)裝入 STOPM: LCALL BOXADD1 ;包裝箱數(shù)加1 LCALL BOXCOMP ;看是否已裝夠箱數(shù) JB 09H,FINISH ;如果箱數(shù)已裝夠則結(jié)束 LJMP WORK ;否則將
33、繼續(xù)換新箱包裝 FINISH: CLR 00H ;全部裝完即可繼續(xù)包裝 CLR 01H MOV A,20H MOVX @DPTR,A MOV BOX1,#00H MOV BOX2,#00H MOV BOX3,#00H LOOP3: MOV DPTR,#8002H ;判斷是否重新啟
34、動 MOVX A,@DPTR JB ACC.5,LOOP3 LJMP WORK ;在進行下一輪包裝 停止鍵處理程序: STOP: CLR 00H ;停止傳送電機 CLR 01H MOV A,20H MOVX @DPTR,A LJMP M
35、AIN ;轉(zhuǎn)主程序,等待輸入新的給定值 中斷服務(wù)子程序,設(shè)置給定值: INTO: MOV DPTR,#8000H MOVX A,@DPTR MOV 30H,A MOV DPTR,#SEGTBL MOVC A,@A+DPTR ;取顯示碼 MOV DPTR,#8001H MOVX @DPTR,A POP
36、 DPL ;取出顯示位地址 POP DPH MOVX @DPTR,A ;顯示給定值 LCALL DELAY MOV DPTR,#8000H MOV A,DPTR CMP A,30H JNZ MAIN MOV @R0,A
37、 ;存貯 INC R0 INC PRECNT MOV A,DPH RR A ;求下一個顯示位地址 MOV DPH,A PUSH DPH ;保護下一位顯示地址 PUSH DPL RE
38、TI ;中斷返回 顯示產(chǎn)品數(shù)字程序: DISPLAY: MOV A,LED1 ;取要顯示的數(shù) MOV DPTR,#SEGTBL MOVC A,@A+DPTR ;取顯示碼 MOVX @DPTR,A MOV DPTR,#LEDADD1 ;顯示百位 MOVX @DPTR,A
39、 MOV A,LED2 MOV DPTR,#SEGTBL MOVC A,@A+DPTR MOV DPTR,#8001H MOVX @DPTR,A MOV DPTR,#LEDADD2 ;顯示十位 MOV @DPTR,A MOV A,LED3 MOV DPTR,#SEGTBL MO
40、VC 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 ; 產(chǎn)品加1子程序: PORTADD1: MOV R0,#LED3 MOV
41、 A,@R0 ;顯示個位數(shù) ADD A,#01H ;個位加1 DA A ;BCD碼調(diào)整 JB 24H,ADD5 ;不等于個位所表示的最大數(shù)則轉(zhuǎn) RET ;返回主程序 ADD5: CLR 14H ;個位的進位清零
42、 DEC R0 ;顯示十位數(shù) MOV A, @R0 ADD A,#01H ;十位加1 DA A ;BCD碼調(diào)整 JB 1CH,ADD6 ;不等于十位所表示的最大數(shù)則跳轉(zhuǎn) RET ;返回主
43、程序 ADD3: CLR 1CH ;十位的進位清零 DEC R0 ;顯示百位數(shù) MOV A,@R0 ADD A,#01H ;百位加1 DA A ;BCD碼調(diào)整 JB 14H,ADD4 ;不等于百
44、位所表示最大數(shù)則轉(zhuǎn)移 RET ADD4: CLR 24H ;清百位進位 MOV R0,#00 RET 產(chǎn)品數(shù)比較子程序: PORTCOMP: MOV R0,#PARTS MOV R1,#LED1 ;百位數(shù)送R1 CJNE R2,#03H ;比較3次 COM MOV A
45、,@R0 MOV BUFF,@R1 ;保存給定值 CJNE A,BUFF,COMP2 ;兩者不相同則跳轉(zhuǎn) INC R0 ;產(chǎn)品數(shù)十位 INC R1 ;給定值十位 DJNZ R2,COMP1 SETB 08H
46、 ;產(chǎn)品標(biāo)志單元 RET COMP3: CLR 08H ;清產(chǎn)品標(biāo)志單元 RET COMP2: JNC COMP3 ;判斷有無進位標(biāo)志 LJMP ALARM ;有進位則報警 產(chǎn)品加1子程序: BOXADD1: MOV R0,#BOX3
47、 MOV A,@R0 ADD A,#01H ;包裝箱個位加1 DA A ;BCD碼調(diào)整 JB 3CH,ADD2 ;不大于個位顯示最大值則跳轉(zhuǎn) RET ADD2: CLR 14H DEC R0 ;十位數(shù)加1 MOV A, @R0
48、 ADD A,#00H DA A ;BCD碼調(diào)整 JB 34H,ADD3 RET ADD3: CLR 2CH ;清百位進位 DEC R0 ;百位比較 MOV A,@R0 ADD A,#00H DA
49、 A ;BCD碼調(diào)整 JB 2CH,ADD4 RET ADD4: CLR 2CH ;清進位標(biāo)志 MOV R0,#00H RET 包裝箱數(shù)比較子程序: BOXCOMP: MOV R0,#PARTS MOV R1,#LED1 ;百位數(shù)送R1 CJNE R2,#03H
50、 ;比較3次 COMP4: MOV A,@R0 MOV BUFF,@R1 CJNE A,BUFF,COMP5 INC R0 ;給定值十位數(shù) INC R1 ;包裝箱十位數(shù) DJNZ R2,COMP4 SETB 09H ;包裝箱計數(shù)單元置1
51、 RET COMP6: CLR 09H ;清包裝箱計數(shù)單元 RET COMP5: JNC COMP6 LJMP ALARM ;超過給定值,則報警 報警處理子程序: ALARM: SETB 02H ;報警標(biāo)志單元置1 CLR 00H ;停電機1 CLR 01H
52、 ;停電機2 CLR 03H ;清正常運行標(biāo)志單元 MOV A,20H ;將標(biāo)志單元存入A中 MOV DPTR,#8002H MOVX @DPTR,A ;將標(biāo)志單元送8255A的C口 LJMP MAIN 延時子程序: DELAY: MOV R3,B9H ;延時的次數(shù) DEC R3 ;自減 NOP ;空操作 NOP CMP R3,#00H ;是否達到延時次數(shù) JNZ DELAY ;沒有則繼續(xù)延時 RET ;返回主程序 .
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023年六年級數(shù)學(xué)下冊6整理和復(fù)習(xí)2圖形與幾何第7課時圖形的位置練習(xí)課件新人教版
- 2023年六年級數(shù)學(xué)下冊6整理和復(fù)習(xí)2圖形與幾何第1課時圖形的認識與測量1平面圖形的認識練習(xí)課件新人教版
- 2023年六年級數(shù)學(xué)下冊6整理和復(fù)習(xí)1數(shù)與代數(shù)第10課時比和比例2作業(yè)課件新人教版
- 2023年六年級數(shù)學(xué)下冊4比例1比例的意義和基本性質(zhì)第3課時解比例練習(xí)課件新人教版
- 2023年六年級數(shù)學(xué)下冊3圓柱與圓錐1圓柱第7課時圓柱的體積3作業(yè)課件新人教版
- 2023年六年級數(shù)學(xué)下冊3圓柱與圓錐1圓柱第1節(jié)圓柱的認識作業(yè)課件新人教版
- 2023年六年級數(shù)學(xué)下冊2百分數(shù)(二)第1節(jié)折扣和成數(shù)作業(yè)課件新人教版
- 2023年六年級數(shù)學(xué)下冊1負數(shù)第1課時負數(shù)的初步認識作業(yè)課件新人教版
- 2023年六年級數(shù)學(xué)上冊期末復(fù)習(xí)考前模擬期末模擬訓(xùn)練二作業(yè)課件蘇教版
- 2023年六年級數(shù)學(xué)上冊期末豐收園作業(yè)課件蘇教版
- 2023年六年級數(shù)學(xué)上冊易錯清單十二課件新人教版
- 標(biāo)準(zhǔn)工時講義
- 2021年一年級語文上冊第六單元知識要點習(xí)題課件新人教版
- 2022春一年級語文下冊課文5識字測評習(xí)題課件新人教版
- 2023年六年級數(shù)學(xué)下冊6整理和復(fù)習(xí)4數(shù)學(xué)思考第1課時數(shù)學(xué)思考1練習(xí)課件新人教版