馬巍
【摘 要】本系統(tǒng)利用單片機實現(xiàn)飲料自動裝瓶和加蓋,特殊情況下可按下緊急停止按鈕關(guān)閉整個系統(tǒng)。該裝置結(jié)構(gòu)簡單,操作方便,可靠性高,實用性強。
【關(guān)鍵詞】單片機;裝瓶;加蓋
1 工作原理
單片機飲料裝瓶系統(tǒng)工作時,由單片機P1.1口輸出低電平信號,打開飲料罐下方的一個閥門,飲料罐10s后把一個空瓶子裝滿,壓瓶蓋機向下沖壓,完成一個飲料瓶的加蓋,然后通過“壓蓋完成信號”向單片機的T0(P3.4口)輸出一個完成計數(shù)信號,表明一瓶飲料已經(jīng)灌裝完成,單片機控制兩位共陽數(shù)碼管顯示裝瓶數(shù)。接著單片機P1.0口輸出低電平信號使傳送帶運送下一個空瓶子到飲料罐下方,準備下一個空瓶子的裝瓶和壓蓋。如果有緊急情況發(fā)生,可以按下“緊急停止”按鈕關(guān)閉整個系統(tǒng)。
2 硬件電路
本設(shè)計要用的元器件有:芯片AT89S51、芯片7447、按鍵及兩個共陽極七段數(shù)碼管,其它硬件設(shè)備有壓瓶蓋機、傳送帶、飲料罐、閥門等。
圖1
單片機P1.1口是飲料罐閥門控制信號,低電平時飲料罐閥門打開,開始灌裝飲料,高電平時閥門關(guān)閉停止工作。當壓蓋完成后向單片機內(nèi)部計數(shù)器T0輸出一個信號表明一瓶飲料瓶已經(jīng)灌裝完成,單片機驅(qū)動用于顯示裝瓶數(shù)的七段數(shù)碼管的顯示數(shù)字加1。同時向P1.0輸出低電平信號,使傳送帶轉(zhuǎn)動。當出現(xiàn)意外情況時,通過按下“緊急停止”按鈕向單片機的外部中斷1申請中斷請求,使系統(tǒng)停止。
飲料瓶個數(shù)顯示方式采用靜態(tài)顯示,其各位相互獨立,各自的亮段控制端由一個獨立的譯碼器7447控制,只要單片機的I/O口輸出不變,則受其控制的七段數(shù)碼管顯示數(shù)值也不變。7447是一塊BCD碼轉(zhuǎn)換成7段LED數(shù)碼管的譯碼驅(qū)動芯片,7447的主要功能是輸出低電平驅(qū)動的顯示碼,用以推動共陽極7段LED數(shù)碼管顯示相應(yīng)的數(shù)字。由于只使用了兩位七段數(shù)碼管,所以顯示的最大十進制值為99。兩位共陽極七段數(shù)碼管通過譯碼器7447與單片機的P0口相連,P0口的每一位對七段數(shù)碼管的顯示有直接的作用。例如,當(P0)=00H,兩位七段數(shù)碼管顯示00,如果此時壓蓋完成信號線輸入一個計數(shù)信號表明,一個飲料瓶壓蓋完成,顯示數(shù)據(jù)加加1,P0.0的狀態(tài)由0變1,即(P0)=01H,顯示變?yōu)?1。在這種靜態(tài)顯示方式中,其優(yōu)點是控制直觀,程序?qū)崿F(xiàn)比較容易,各位七段數(shù)碼管可獨立顯示,互不影響。在每一個數(shù)字的顯示過程中,每一位七段數(shù)碼管從單片機的I/O口經(jīng)過譯碼器7447得到一個恒定的亮段控制信號,這是一個恒定的電平信號,所以亮段控制端的電流恒定,七段數(shù)碼管的亮段較高。
3 軟件設(shè)計
飲料罐的下方有一個閥門,用于控制飲料的流量,這個閥門由單片機的P1.1口控制,低電平使能, 假設(shè)閥門打開10s就能把一個空瓶子裝滿,則每一次P1.1口輸出一個持續(xù)10s的低電平。與此同時,壓瓶蓋機向下沖壓,完成一個飲料瓶蓋的安裝,然后通過“壓蓋完成信號”向單片機的T0口輸出一個完成計數(shù)信號,表明一瓶飲料已經(jīng)灌裝完成。此時,單片機用于顯示裝瓶數(shù)的七段數(shù)碼管的顯示數(shù)字加1,同時,P1.0口輸出一個低電平觸發(fā)信號,讓傳送帶帶動下一個空瓶子準備裝瓶和壓蓋。如果有緊急情況發(fā)生,可以按下“緊急停止”按鈕關(guān)閉整個系統(tǒng)。
在程序中首先定義了外部中斷服務(wù)子程序的入口為EXT1段程序,并由指令“MOV IE,#84H”打開外部 中斷1。當緊急開關(guān)按下后,單片機轉(zhuǎn)向EXT1段程序執(zhí)行七段數(shù)碼管顯示00,停止傳送帶和關(guān)閉閥門等操作。
在該系統(tǒng)中,使用單片機定時器/計數(shù)器0的計數(shù)器的功能,每當壓蓋完成信號線輸入一個計數(shù)信號時,表明已經(jīng)裝完一個飲料瓶,單片機使能傳送帶帶動瓶子移動,并打開閥門口開始裝的空瓶子。一旦出現(xiàn)意外,使系統(tǒng)中斷。
通過指令“MOV TMOD,#05H”設(shè)置定時器/計數(shù)器0工作在計數(shù)器模式1下,并裝載計數(shù)初始值FFFFH,即只需要計一個數(shù),定時器/計數(shù)器0就溢出(通過指令“CHECK: JNB TF0,CHECK”檢查)。隨后通過指令將顯示數(shù)據(jù)更新,并驅(qū)動傳送帶和閥門工作。
閥門打開10s的時間裝滿一瓶飲料,在該系統(tǒng)中,使用單片機時器/計數(shù)器1的定時器的功能,把定時器設(shè)為工作方式1,定時時間為50ms,則計數(shù)溢出20次即得到時鐘計時最小單位—1s,那么1s循環(huán)10次即得到10s定時。本次設(shè)計中單片機的晶振為12MHz,則機器周期T為1μs,選擇工作方式1,利用公式(216-X)T=定時時間(X為TH1,TL1的定時初值),計算得出TH1=3CH,TL1=0B0H。
程序通過指令“CLR P1.1” 給P1.1口輸出一個低電平觸發(fā)信號,讓傳送帶帶動下一個空瓶子準備裝瓶和壓蓋。低電平觸發(fā)時間1s可利用延時子程序完成。延時1s后,P1.1口置1。
[責任編輯:楊玉潔]