基于AT89C51單片機的電子計價秤的設(shè)計與實現(xiàn)
1、引言
隨著電子技術(shù)的發(fā)展,衡器技術(shù)也在不斷進步和提高。從世界水平看,衡器技術(shù)已經(jīng)經(jīng)歷了四個階段,從傳統(tǒng)的全部由機械元器件組成的機械秤到用電子線路代替部分機械元器件的機電結(jié)合秤,再從集成電路式到目前的單片機系統(tǒng)設(shè)計的電子計價秤。
2、電子計價秤實現(xiàn)的基本功能
本次設(shè)計的電子計價秤最大稱重6kg,精確并顯示到0.1g,適用于商業(yè)零售小重量稱重部門,亦可以作為電子天平測微重量使用。它能夠快速準確地時時地顯示單重、單價,并自動計算總價(總價=單價×單重),并帶有費用累計功能,最多累計次數(shù)50次。該電子計價秤帶有16位液晶顯示和14個按鍵功能,并附帶越限(超出6kg)報警電路和看門狗自動復(fù)位電路。
3、電子計價秤的硬件電路設(shè)計與實現(xiàn)
3.1應(yīng)變片式傳感器及其測量放大電路
導(dǎo)體或半導(dǎo)體在外界作用下產(chǎn)生機械形變時,其阻值將發(fā)生相應(yīng)的變化,這種現(xiàn)象稱為“應(yīng)變效應(yīng)”。根據(jù)應(yīng)變效應(yīng)將應(yīng)變片粘貼于被測材料上,使其在受到外界應(yīng)力作用時,引起應(yīng)變片的變形,并使其阻值發(fā)生變化。通過測量雙差動全橋電路將應(yīng)變片阻值的變化轉(zhuǎn)換成電壓的輸出,就可確定被測材料機械量的變化。
我們根據(jù)傳感器理論可知,設(shè)一長為L、截面積為S、電阻率為ρ的電阻絲,已知其阻值為R=ρ 當電阻絲L方向兩端有機械應(yīng)力F時,ρ,l,s都會發(fā)生變化,從而導(dǎo)致電阻發(fā)生變化,其金屬絲的應(yīng)變靈敏系數(shù)K為K= =1+2μ+c(1-2μ) 比例系數(shù)μ稱為泊松比,c為金屬晶格結(jié)構(gòu)的比例系數(shù),一般在-12(鎳)~+6(鉑)范圍。在彈性形變范圍內(nèi),K決定于泊松比μ和比例系數(shù)c;在塑性形變范圍內(nèi),因μ=0.5,所以K=2。
在電子計價秤的實際應(yīng)用中,應(yīng)變式傳感器包括兩個主要部分,一個是彈性敏感元件亦稱彈性體,利用它把被測物理量重量轉(zhuǎn)換為彈性體的應(yīng)變值。我們采用鋁合金作為彈性體的材值。另一個是應(yīng)變片,由于金屬材料的應(yīng)變片的穩(wěn)度穩(wěn)定性好,在很大范圍內(nèi)保持常數(shù),所以一般采用金屬電阻應(yīng)變片。并且電子計價秤在秤臺結(jié)構(gòu)上一個顯著的特點是一個相當大的秤臺只在中間裝置一塊專門設(shè)計的傳感器組來感應(yīng)物料重量。當秤臺上放置物料時,應(yīng)變片產(chǎn)生電阻應(yīng)變△R(應(yīng)變片受拉時為R+△R,應(yīng)變片受壓時為R-△R),為了顯示和記錄,通常將應(yīng)變片組成雙差動全橋電路.雙差動全橋電路具有較高的靈敏度,良好的線性關(guān)系和適應(yīng)溫度變化的補償能力。如圖3.1所示即采用兩片受壓,兩 片受拉的四片應(yīng)變片,且使相同受力狀態(tài)的兩應(yīng)變片接入電橋的相對臂上。設(shè)R1=R2=R3=R4,且△R1=△R2=△R3=△R4,則此時輸出電壓為U=US•△R1/R1。電橋的電壓靈敏度S= = US 可見,全橋雙差動電路的電壓靈敏度為US。同時完全線性。在全橋電路后面加了一級由AD521測量放大器單芯片集成電路。放大倍數(shù)的調(diào)節(jié)范圍為0.1-1000,,并且具有高精度,高速度,高共模抑制比,防止低噪聲漂移等優(yōu)點。經(jīng)過全橋雙差動和放大電路處理后,我們得到U=kW的線性比例關(guān)系,K=1v/kg,即1g輸出為1mv,1kg輸出為 1v,滿量移6v。
3.2信號預(yù)處理電路:
信號預(yù)處理電路的系統(tǒng)框圖如圖3.2,說明如下:LM331芯片組成的v/f變換電路具有價格低,精度高,編程簡單的特點。
在電子計價秤設(shè)計中可作為 A/D轉(zhuǎn)換電路(由于較多文章及書籍介紹此電路,在此不多介紹。其突出的特點是把模擬電壓轉(zhuǎn)換成抗干擾能力強的脈沖串。V/F轉(zhuǎn)換過程是對輸入信號的不斷積分,它需要被測信號提供適當?shù)尿?qū)動電流,因干擾信號不能提供電流而被濾掉。另外,V/F變換與計算機接口很容易采用光耦隔離。信號頻率輸出范圍為 1Hz→10KHz,最大非線性誤差為 0.01%,由于在軟件中,單片機 AT89C51一秒鐘采樣脈沖信號,由于采樣信號范圍較寬(1Hz→6KHz),為了提高低頻區(qū)的測量準確度,我們決定采用10倍倍頻電路擴頻10倍,其中10倍倍頻電路由鎖相環(huán)芯片CC4046和一個10分頻器CC4518芯片組成。為了減少通道及電源的干擾,在其中加了整形和光耦隔離(由4N28組成)電路,至此經(jīng)過信號預(yù)處理電路我們得到了 F=10W關(guān)系的脈沖串送入AT89C51的T0定時/計數(shù)進行計數(shù)。比例關(guān)系為(1g→1mv→10Hz),滿量程(6kg→6v→60kHz)。
3.3、AT89C51液晶驅(qū)動芯片7211AM及 16位LCD液晶顯示
在電子計價秤中正常顯示情況下,須時時顯示單價、單重、總價,例:6.7元/千克*4.1259千克=27.6 元,此時單價顯示6.7元/千克.單重顯示4.1259千克、總價顯示27.6 元 ,在累計費用情況下,須顯示ADD標志累計字符、費用總價、費用累計次數(shù)。例:累計到第四次,總金額為701.9元. 此時單價顯示4表示第四次累計.單重顯示ADD累計符、總價顯示701.9元。
本次設(shè)計采用AT89C51單片機16位液晶LCD靜態(tài)顯示方式,(液晶顯示器(LCD)具有功耗低、體積小、重量輕、超薄,無閃爍等許多其它顯示器無法比擬的優(yōu)點)驅(qū)動芯片為4片INTERSIL公司的ICM7211AM芯片,占用AT89C51單片機的P0口和P2口的部分I/O。如圖3.3原理圖所示。四片ICM7211AM的BP連在一起,
接到LCD的背極BP,一片7211AM芯片的OSC端接16kHz的晶振信號,以產(chǎn)生125Hz的BP信號,其余芯片的OSC端接地。各片的段輸出信號對應(yīng)接到LCD各位的7個段。各片CS(—)1端作為本芯片的片選端對應(yīng)P2.4-P2.7數(shù)據(jù)線,CS(—)2作為寫有效信號端,連到AT89C51的WR(—)上。各片的數(shù)據(jù)輸入B0-B3和位選輸入DS1和DS2 分別連到數(shù)據(jù)總線P0口。編程也較簡單,
只要向口地址中寫入二位位選碼和4位BCD碼,即可實現(xiàn)相應(yīng)位的顯示 。
3.4、鍵盤專用芯片74C922及12個按鍵矩陣組設(shè)置。
在電子計價秤中,帶有12個按鍵矩陣組設(shè)置,其中0—9數(shù)字鍵用于輸入單價,DEL用于單價清空,累計鍵用于費用累計,鑒于此,我們采用專用鍵盤管理芯片74C922。74C922為CMOS工藝技術(shù)制造,工作電壓為3—15V,“二鍵鎖定”功能,編碼輸出為三芯輸出,可直接與微處理器數(shù)據(jù)線相連,內(nèi)部振蕩器完成4×4矩形鍵盤掃描,有 按鍵時,DA變高,通過非門接到AT89C51的INT0口,并且設(shè)INT0為邊沿觸發(fā)方式,當DA變高時,經(jīng)過非門變?yōu)榈碗娖教儺a(chǎn)生INT0外部中斷,通知AT89C51從數(shù)據(jù)總線讀鍵值,判斷鍵值從而完成相應(yīng)的散轉(zhuǎn)程序功能。根據(jù)接線圖及74C922芯片真值表,我們知道,鍵0—9對應(yīng)ABCD 輸出(0000—1001),鍵DEL對應(yīng)ABCD輸出(1010),鍵累計對應(yīng)ABCD輸出(1011),接線圖見圖3.4另外在電子計價秤的面盤上有電源開關(guān)POWER和手動復(fù)位按鍵RESET,此外不多述。
3.5 越限(超出6kg)報警電路和看門狗自動復(fù)位電路。
當承重越限(超出6kg)時,全橋放大電路輸出電壓大于6V,報警電路由電壓比較電路和三級管驅(qū)動蜂鳴器電路組成,此處不多贅述。看門狗自動復(fù)位電路由可重觸發(fā)單穩(wěn)觸發(fā)器4538設(shè)計而成,4538內(nèi)部有兩個單穩(wěn)觸發(fā)器功能部件,采用軟件置位AT89C51的P1.7管腳定時喂狗,如軟件跑飛,則軟件不能及時喂狗,第一個單穩(wěn)觸發(fā)器不能及時觸發(fā),延時τ=RC秒后,其達穩(wěn)態(tài),利用此下降沿觸發(fā)另外一個單穩(wěn)觸發(fā)器(其輸出接AT89C51的RESET 端),只要有10秒的暫穩(wěn)態(tài)高電平,即可復(fù)位單片機??梢姡敬卧O(shè)計的電子計價秤除設(shè)手動復(fù)位鍵外,還配備看門狗自動復(fù)位電路, 防止軟件跑飛,雙重保險,抗干擾性能強.
4、電子計價秤的軟件設(shè)計與實現(xiàn)
電子計價秤軟件設(shè)計均采用模塊化設(shè)計,整個程序包括主程序、定時中斷程序、INT0中斷程序按鍵散轉(zhuǎn)程序、數(shù)據(jù)處理子程序(雙字節(jié)乘法、二—十進制轉(zhuǎn)換程序及逆轉(zhuǎn)換程序)、LCD十六位液晶靜態(tài)顯示子程序等模塊。所有程序均采用匯編語言編寫。電子計價秤的軟件設(shè)計思路說明如下:主程序的作用為程序初始化,計算單價*單重(單價和單重分別在定時中斷程序和INT0外部中斷程序中獲得),并時時顯示十進制的單重,單價,總價。設(shè)定T0為計數(shù)工作方式,T1為定時工作方式。其中R0為標志位寄存器當為00H時為正常顯示方式,當為01H時為累計顯示方式,在T1定時中斷程序中,一秒鐘采樣物料重量(已轉(zhuǎn)成脈沖頻率),并賦值重量計算RAM區(qū)和顯示 RAM區(qū)。在INT0外部中斷程序中,采樣單價并賦值單價計算RAM區(qū)和顯示RAM區(qū)。其中設(shè)R1為標志位寄存器,表示單價最大為99.9元,最多只能送三位,若再按鍵,則無效。設(shè)R2為標志位寄存器,表示累計金額時為最多50次,超過50次最后的顯示為第50次累計金額。內(nèi)部30H-5FHRAM分配為單價,單重,總價,累計總價的計算和顯示RAM區(qū),此處不多贅述。由于篇幅所限,此處只給出主程序流程圖如圖4.1所示:
5、結(jié)束語
根據(jù)以上所述的電子計價秤的軟硬件設(shè)計方法,我們開發(fā)出了樣機,經(jīng)實驗證明,該儀器能讀數(shù)精確、穩(wěn)定、可靠地進行測試重量,時時顯示單重、單價、總價及具有金額累計功能,達到了預(yù)期要求。
參考文獻:
[1]何立民主編。MCS-51單片機應(yīng)用系統(tǒng)設(shè)計技術(shù)。北京:北京航天航空大學,1999年
[2] 李華主編 MCS-51系列單片機 實用接口技術(shù) 北京:北京航天航空大學,2003年
[3] 陳潤泰主編 檢測技術(shù)與智能儀表
中南工業(yè)大學出版社 1999年
[4] 王云章編 電阻應(yīng)變式傳感器應(yīng)用技術(shù) 北京 中國計量出版社 1999年
[5] 趙亞軍編 電子天平的使用與調(diào)修200問 北京 中國計量出版社 2003年
[6] 孫育才、蘇字成主編。 微型計算機應(yīng)用系統(tǒng)設(shè)計與實現(xiàn)。南京:東南大學,1990年