電子稱設(shè)計 畢業(yè)設(shè)計說明書
《電子稱設(shè)計 畢業(yè)設(shè)計說明書》由會員分享,可在線閱讀,更多相關(guān)《電子稱設(shè)計 畢業(yè)設(shè)計說明書(36頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、電子稱設(shè)計 摘要: 隨著微電子技術(shù)的應(yīng)用,市場上使用的傳統(tǒng)稱重工具已經(jīng)滿足不了人們的要求。為了改變傳統(tǒng)稱重工具在使用上存在的問題,在本設(shè)計中將智能化、自動化、人性化用在了電子秤重的控制系統(tǒng)中。本設(shè)計系統(tǒng)以單片機AT89S52為控制核心,實現(xiàn)電子秤的基本控制功能。在設(shè)計系統(tǒng)時,為了更好地采用模塊化設(shè)計法,分步設(shè)計了各個單元功能模塊。本系統(tǒng)設(shè)計結(jié)構(gòu)簡單,使用方便,功能齊全,精度高,具有一定的開發(fā)價值。 關(guān)鍵詞:數(shù)據(jù)采集、單片機、A/D轉(zhuǎn)換、液晶顯示。 1. 引言 1.1前 言 隨著微電子技術(shù)的應(yīng)用,市場上使用的傳統(tǒng)稱重工具已經(jīng)滿足不了人們的要求。為了改變傳統(tǒng)稱重工具在使用上存在的問題
2、,在本設(shè)計中將智能化、自動化、人性化用在了電子秤重的控制系統(tǒng)中。本系統(tǒng)主要由單片機來控制,測量物體重量部分由稱重傳感器及A/D轉(zhuǎn)換器組成,加上顯示單元,此電子秤俱備了功能多、性能價格比高、功耗低、系統(tǒng)設(shè)計簡單、使用方便直觀、速度快、測量準確、自動化程度高等特點。 本系統(tǒng)以AT89S52單片機為主控芯片,外圍附以稱重電路、顯示電路、報警電路、鍵盤電路等構(gòu)成智能稱重系統(tǒng)電路板,從而實現(xiàn)自動稱重系統(tǒng)的各種控制功能。可以說,此設(shè)計所完成的電子秤很大程度上滿足了應(yīng)用需求。 1.2 選題背景與意義 隨著第二次世界大戰(zhàn)后的經(jīng)濟繁榮,為了把稱重技術(shù)引入生產(chǎn)工藝過程中去,對稱重技術(shù)提出了新的要求,希望稱重
3、過程自動化,為此電子技術(shù)不斷滲入衡器制造業(yè)。在1960年開發(fā)出了與衡器相聯(lián)的專門稱重值打印機。當時的帶電子裝置的衡器其稱量工作是機械式的,但與稱量有關(guān)的顯示、記錄、遠傳式控制器等功能是電子方式的。 電子秤的發(fā)展過程與其它事物一樣,也經(jīng)歷了由簡單到復(fù)雜、由粗糙到精密、由機械到機電結(jié)合再到全電子化、由單一功能到多功能的過程。近年來,電子秤已愈來愈多地參與到數(shù)據(jù)處理和過程控制中?,F(xiàn)代稱重技術(shù)和數(shù)據(jù)系統(tǒng)已經(jīng)成為工藝技術(shù)、儲運技術(shù)、預(yù)包裝技術(shù)、收貨業(yè)務(wù)及商業(yè)銷售領(lǐng)域中不可缺少的組成部分。隨著稱重傳感器各項性能的不斷突破,為電子秤的發(fā)展奠定了其礎(chǔ),國外如美國、西歐等一些國家在20世紀60年代就出現(xiàn)了0
4、.1 %稱量準確度的電子秤,并在70年代中期約對75 %的機械秤進行了機電結(jié)合式的電子化改造。 隨著生活水平的提高,商品的種類和樣式越來越來多,我們出門買東西無論是在超市還是在市場都經(jīng)常會用到電子稱,電子稱在我們的日常生活中已經(jīng)成為必不可少的工具,因此,有針對性地開發(fā)出一套有實用價值的電子秤系統(tǒng),從技術(shù)上克服上述諸多缺點,改善電子秤系統(tǒng)在應(yīng)用中的不足之處,具有現(xiàn)實意義。 1.3 電子衡器的發(fā)展動態(tài) 電子衡器產(chǎn)品量大面廣、種類繁多,從通用的各種規(guī)格的電子秤到大型的電子稱重系統(tǒng),從單純的稱重、計價到生產(chǎn)過程檢測系統(tǒng)的一個測量控制單元,其應(yīng)用領(lǐng)域在不斷地擴大。根據(jù)近年來電子稱重技術(shù)和電子衡器的
5、發(fā)展情況及電子衡器市場的需求,電子衡器總的發(fā)展動向為:小型化、模塊化、智能化、集成化;其技術(shù)性能趨向于速率高、準確度高、穩(wěn)定性高、可靠性高;其應(yīng)用性趨向于綜合性、組合性。 小型化:體積小、高度低、重量輕,即小薄輕。為使電子衡器的承載器達到小、薄、輕,開始采用重量輕且剛度大的空心波紋銅板和方形閉合截面的薄壁型材。 模塊化:電子衡器的承載器采用模塊式一體組合或分體組合,產(chǎn)生新的品種和規(guī)格。這種模塊化組合不但提高了產(chǎn)品的通用性和可靠性,而且也大大提高了生產(chǎn)效率,降低了成本。 智能化:與電子計算機組合或開發(fā)稱重用計算機,利用計算機的智能來增加稱重顯示控制的功能,使其在原有功能的基礎(chǔ)上增加推理
6、、判斷、自診斷、自適應(yīng)、自組織等功能。 集成化:對于某些品種和結(jié)構(gòu)的電子衡器,可以實現(xiàn)承載器與稱重傳感器一體化或承載器、稱重傳感器與稱重顯示控制器一體化。 綜合性:電子稱重技術(shù)和電子衡器產(chǎn)品的應(yīng)用范圍不斷擴大,它已滲透到一些學科和工業(yè)自動控制領(lǐng)域。對某些商用電子計價秤而言,只具備稱重、計價、顯示、打印功能還遠遠不夠,現(xiàn)代商業(yè)系統(tǒng)還要求它能提供各種銷售信息,把稱重與管理自動化緊密結(jié)合,使稱重、計價、進庫、銷售管理一體化,實現(xiàn)管理自動化。這就要求電子計價秤能與電子 計算機聯(lián)網(wǎng),把稱重系統(tǒng)與計算機系統(tǒng)組成一個完整的綜合控制系統(tǒng)。 組合性:在工業(yè)生產(chǎn)過程或工藝流程中,不少稱重系統(tǒng)還應(yīng)具有可組
7、合性,即:測量范圍可以任意設(shè)定;硬件能夠依據(jù)不定的程序進行修改和擴展;輸入輸出數(shù)據(jù)與指令可使用不同的語言,并能與外部的控制和數(shù)據(jù)處理設(shè)備進行通信。 2.電子秤的組成結(jié)構(gòu) 2.1.1電子稱的基本結(jié)構(gòu) 電子秤是利用物體的重力作用來確定物體質(zhì)量(重量)的測量儀器,也可用來確定與質(zhì)量相關(guān)的其它量大小、參數(shù)、或特性。不管根據(jù)什么原理制成的電子秤均由以下三部分組成: (1)承重、傳力復(fù)位系統(tǒng) 它是被稱物體與轉(zhuǎn)換元件之間的機械、傳力復(fù)位系統(tǒng),又稱電子秤的秤體,一般包括接受被稱物體載荷的承載器、秤橋結(jié)構(gòu)、吊掛連接部件和限位減振機構(gòu)等。 (2)稱重傳感器 即由非電量(質(zhì)量或重量)轉(zhuǎn)
8、換成電量的轉(zhuǎn)換元件,它是把支承力變換成電的或其它形式的適合于計量求值的信號所用的一種輔助手段。 按照稱重傳感器的結(jié)構(gòu)型式不同,可以分直接位移傳感器(電容式、電感式、電位計式、振弦式、空腔諧振器式等)和應(yīng)變傳感器(電阻應(yīng)變式、聲表面諧振式)或是利用磁彈性、壓電和壓阻等物理效應(yīng)的傳感器。 對稱重傳感器的基本要求是:輸出電量與輸入重量保持單值對應(yīng),并有良好的線性關(guān)系;有較高的靈敏度;對被稱物體的狀態(tài)的影響要??;能在較差的工作條件下工作;有較好的頻響特性;穩(wěn)定可靠。 (3)測量顯示和數(shù)據(jù)輸出的載荷測量裝置 即處理稱重傳感器信號的電子線路(包括放大器、模數(shù)轉(zhuǎn)換、電流源或電壓源、調(diào)節(jié)器、補嘗元件、
9、保護線路等)和指示部件(如顯示、打印、數(shù)據(jù)傳輸和存貯器件等)。這部分習慣上稱載荷測量裝置或二次儀表。在數(shù)字式的測量電路中,通常包括前置放大、濾濾、運算、變換、計數(shù)、寄存、控制和驅(qū)動顯示等環(huán)節(jié)。 2.1.2電子稱的基本工作原理 當被稱物體放置在秤體的秤臺上時,其重量便通過秤體傳遞到稱重傳感器,傳感器隨之產(chǎn)生力-電效應(yīng),將物體的重量轉(zhuǎn)換成與被稱物體重量成一定函數(shù)關(guān)系(一般成正比關(guān)系)的電信號(電壓或電流等)。此信號由放大電路進行放大、經(jīng)濾波后再由模/數(shù)(A/D)器進行轉(zhuǎn)換,數(shù)字信號再送到微處器的CPU處理,CPU不斷掃描鍵盤和各種功能開關(guān),根據(jù)鍵盤輸入內(nèi)容和各種功能開關(guān)的狀態(tài)進行必要的判斷、分
10、析、由儀表的軟件來控制各種運算。運算結(jié)果送到內(nèi)存貯器,需要顯示時,CPU發(fā)出指令,從內(nèi)存貯器中讀出送到顯示器顯示,或送打印機打印。一般地信號的放大、濾波、A/D轉(zhuǎn)換以及信號各種運算處理都在儀表中完成。 2.2 課題設(shè)計方案分析 2.2.2 電子秤設(shè)計的基本思路 將電子秤大致能劃分為三大部分,數(shù)據(jù)采集模塊、控制器模塊和人機交互界面模塊。其中數(shù)據(jù)采集模塊由壓力傳感器、信號的前級處理和A/D轉(zhuǎn)換部分組成。轉(zhuǎn)換后的數(shù)字信號送給控制器處理,由控制器完成對該數(shù)字量的處理,驅(qū)動顯示模塊完成人機間的信息交換。此外添加了一個過載、欠量報警提示的特殊功能。
11、 如圖2-1(上圖為本系統(tǒng)的設(shè)計圖) 2.3 單片機的選型 AT89S52單片機是AT89S系列中的增強型高檔機產(chǎn)品,它片內(nèi)存儲器容量是AT89S51的一倍,即片內(nèi)8KB的Flash程序存儲器和256B的RAM。另外,它還增加了一個功能極強的、具有獨特應(yīng)用的16位定時/計數(shù)器2等多種功能。在工程應(yīng)用中AT89S52有一顯著的優(yōu)勢:不需要燒寫器,只借助PC 機的并口輸出和極為簡單的下載電路,便可將程序通過串行方式寫入單片機。并且下載電路可設(shè)計在系統(tǒng)中,可以隨時修改單片機的軟件而不對硬件做任何改動。 由此,通過對目前主流型號的比較,我們最終選擇了AT89S52通用的普通單片機
12、來實現(xiàn)系統(tǒng)設(shè)計。AT89S52是一種兼容MCS51微控制器,工作電壓4.0V到5.5V,全靜態(tài)時鐘0 Hz 到33 MHz,三級程序加密,32個可編程I/O口,2/3個16位定時/計數(shù)器,6/8個中斷源,全雙工串行通訊口,低功耗支持Idle和Power-down模式,Power down模式支持中斷喚醒, 看門狗定時器,雙數(shù)據(jù)指針,上電復(fù)位標志。另外在外擴展了32K數(shù)據(jù)存儲器,以滿足系統(tǒng)要求。 2.4 數(shù)據(jù)采集模塊 2.4.1 傳感器 傳感器下的定義是:“能感受規(guī)定的被測量并按照一定的規(guī)律轉(zhuǎn)換成可用信號的器件或裝置,通常由敏感元件和轉(zhuǎn)換元件組成”。其中敏感元件指傳感器中能直接感受被測量的
13、部分,轉(zhuǎn)換元件指傳感器中能將敏感元件輸出量轉(zhuǎn)換為適于傳輸和測量的電信號部分。此外傳感器是一種檢測裝置,能感受到被測量的信息,并能將檢測感受到的信息,按一定規(guī)律變換成為電信號或其他所需形式的信息輸出,以滿足信息的傳輸、處理、存儲、顯示、記錄和控制等要求。它是實現(xiàn)自動檢測和自動控制的首要環(huán)節(jié)。 稱重傳感器在電子秤中占有十分重要的位置,被喻為電子秤的心臟部件,它的性能好壞很大程度上決定了電子秤的精確度和穩(wěn)定性。通常稱重傳感器產(chǎn)生的誤差約占電子秤整機誤差的50%~70%。若在環(huán)境惡劣的條件下(如高低溫、濕熱),傳感器所占的誤差比例就更大,因此,在人們設(shè)計電子秤時,正確地選用稱重傳感器非常重要。 稱
14、重傳感器的種類很多,根據(jù)工作原理來分常用的有以下幾種: 電阻應(yīng)變式、電容式、壓磁式、壓電式、諧振式等。(本設(shè)計采用的是電阻應(yīng)變式) 電阻應(yīng)變式稱重傳感器包括兩個主要部分,一個是彈性敏感元件:利用它將被測的重量轉(zhuǎn)換為彈性體的應(yīng)變值;另一個是電阻應(yīng)變計:它作為傳感元件將彈性體的應(yīng)變,同步地轉(zhuǎn)換為電阻值的變化。電阻應(yīng)變片所感受的機械應(yīng)變量一般為10 - 6~10 - 2,隨之而產(chǎn)生的電阻變化率也大約在10 - 6~10 - 2數(shù)量級之間。這樣小的電阻變化用一般測量電阻的儀表很難測出,必須采用一定形式的測量電路將微小的電阻變化率轉(zhuǎn)變成電壓或電流的變化,才能用二次儀表顯示出來。在電阻應(yīng)變式稱重傳感器中
15、通過橋式電路將電阻的變化轉(zhuǎn)換為電壓變化。電阻應(yīng)變式稱重傳感器工作原理框圖如圖2-1所示: 載荷P 應(yīng)變 電阻變化R 輸出電壓 敏感元件 應(yīng)變片 測量電橋 如圖2-2電阻應(yīng)變式稱重傳感器工作原理框圖 當傳感器不受載荷時,彈性敏感元件不產(chǎn)生應(yīng)變,粘貼在其上的應(yīng)變片不發(fā)生變形,阻值不變,電橋平衡,輸出電壓為零;當傳感器受力時,即彈性敏感元件受載荷P時,應(yīng)變片就會發(fā)生變形,阻值發(fā)生變化,電橋失去平衡,有輸出電壓。 如圖2-3 橋式測量電路 R1、R2、R3、R4為4個應(yīng)變片電阻,
16、組成了橋式測量電路,Rm為溫度補償電阻,e為激勵電壓,V為輸出電壓。 若不考慮Rm,在應(yīng)變片電阻變化以前,電橋的輸出電壓為: V= 由于橋臂的起始電阻全等,即R1 = R2 = R3 = R4 = R,所以V=0 。 當應(yīng)變片的電阻R1、R2、R3、R4變成R+△R1、R+△R2、R+△R3、R+△R4時,電橋的輸出電壓變?yōu)椋? V=
17、 通過化簡,上式則變?yōu)椋? V= 也就是說,電橋輸出電壓的變化與各臂電阻變化率的代數(shù)和成正比。 如果四個橋臂應(yīng)變片的靈敏系數(shù)相同,且 = Kε,則上式又可寫成: V=ε1 - ε2 + ε3 - ε4 ) 式中K為應(yīng)變片靈敏系數(shù),ε為應(yīng)變量。 上式表明,電橋的輸出電壓和四個轎臂的應(yīng)變片所感受的應(yīng)變量的代數(shù)和成正比。在電阻應(yīng)變式稱重傳感器中,4個應(yīng)變片分別貼在彈性梁的4個敏感部位,傳感器受力作用后發(fā)生變形。在力的作用下,R1、R3被拉伸,阻值增大,△R1、△R3正值,R2、R4被壓縮,阻值減小,△R2、△R4為負值。再加之應(yīng)變片阻值變化的絕對值相同,即 △R1 = △R3 =
18、 + △R或ε1 = ε3 = +ε △R2 = △R4= - △R或ε2 = ε4 = - ε 因此,V=4ε = e Kε。若考慮 Rm,則電橋的輸出電壓變成: V= = = K εe 令SU = ,則SU = K ε SU稱為傳感器系數(shù)或傳感器輸出靈敏度。 對于一個高精度的應(yīng)變傳感器來說,僅僅靠4個應(yīng)變片組成橋式測量電路還是遠遠不夠的。由于彈性梁材料金相組織的不均勻性及熱處理工藝、應(yīng)變片性能及粘貼工藝、溫度變化等因素的影響,傳感器勢必產(chǎn)生一定的誤差。為了減少傳感器隨溫度變化產(chǎn)生的誤差,提高其精度和穩(wěn)定性,需要在橋路兩端和橋臂中串入一些補償元件。如:
19、初始不平衡值的補償、零載輸出溫度補償、輸出靈敏度溫度補償?shù)取? 2.4.2 前級放大器 由傳感器或敏感元件轉(zhuǎn)換后輸出的信號一般電平較低而由電橋等電路變換后的信號亦難以直接用來顯示、記錄、控制或進行A/D轉(zhuǎn)換。為此,測量電路中常設(shè)有模擬放大環(huán)節(jié)。這一環(huán)節(jié)目前主要依靠由集成運算放大器的基本元件構(gòu)成具有各種特性的放大器來完成。 放大器的輸入信號一般是由傳感器輸出的。傳感器的輸出信號不僅電平低,內(nèi)阻高,還常伴有較高的共模電壓。因此,一般對放大器有如下一些要求: 1) 輸入阻抗應(yīng)遠大于信號源內(nèi)阻。否則,放大器的負載效應(yīng)會使所測電壓造成偏差。 2) 抗共模電壓干擾能力強。 3) 在預(yù)定的頻帶
20、寬度內(nèi)有穩(wěn)定準確的增益、良好的線性,輸入漂移和噪聲應(yīng)足夠小以保證要求的信噪比。從而保證放大器輸出性能穩(wěn)定。 4) 能附加一些適應(yīng)特定要求的電路。如放大器增益的外接電阻調(diào)整、方便準確的量程切換、極性自動變換等。 基于以上分析,我們最終決定采用制作方便而且精度很好的專用儀表放大器AD620。 AD620具有體積小、功耗低、精度高、噪聲低和輸入偏置電流低的特點。其最大輸入偏置電流為20nA,這一參數(shù)反映了它的高輸入阻抗。AD620在外接電阻Rg時,可實現(xiàn)1~1000范圍內(nèi)的任意增益;工作電源范圍為2.3~18V;最大電源電流為1.3mA;最大輸入失調(diào)電壓為125 V;頻帶寬度為120kHz(在
21、G=100時)。AD620的內(nèi)部結(jié)構(gòu)如下圖所示: 如圖2-4 AD620的內(nèi)部等效圖 AD620的接口如下圖所示: 如圖2-5 AD620的接口圖 電路的工作原理:A1、A2工作在負反饋狀態(tài),其反向輸入端的電壓與同相輸入端的電壓相等。即Rg兩端的電壓分別為Vin+、Vin-。因此 設(shè)圖(2-4)中電阻R1=R2=R,則A1、A2兩輸出端的電壓差U12為 將上式代入第一個式子得 放大器的
22、增益Av為 可見,僅需調(diào)整一個電阻Rg,就能方便的調(diào)整放大器的增益。由于整個電路對稱,調(diào)整時不會造成共模抑制比的降低。 在接口圖(2-5)中,通過改變可變電阻R3的阻值大小來改變放大器的增益,放大器增益計算公式如下: 2.4.3 A/D轉(zhuǎn)換器 A/D轉(zhuǎn)換器是一種能把輸入模擬電壓或電流-成與它成正比的數(shù)字量,也就是說能把被控對象的各種模擬信息變成計算機可以識別的數(shù)字信息。A/D轉(zhuǎn)換器種類較多,從原理上可分為四種:雙積分式A/D轉(zhuǎn)換器,逐次逼近式A/D轉(zhuǎn)換器、并行A/D轉(zhuǎn)換器、計數(shù)器式A/D轉(zhuǎn)換器及△-∑型A/D轉(zhuǎn)換器。在電子秤的
23、設(shè)計中用的比較多的是雙積分式A/D轉(zhuǎn)換器和△-∑型A/D轉(zhuǎn)換器。 雙積分ADC的基本原理是對輸入模擬電壓和參考電壓分別進行兩次積分,將輸入電壓平均值變成與之成正比的時間間隔,然后利用時鐘脈沖和計數(shù)器測出此時間間隔,進而得到相應(yīng)的數(shù)字量輸出。如圖2-6所示是電子秤中常用的雙積分式A/D轉(zhuǎn)換電路,它由積分器、比較器、模擬電子開關(guān),積分電阻、積分電容、自動回零電阻、電容組成。其中VG是模擬地,VFR是基準電壓(相對于VG為負值),VX是檢測電壓。 如圖2-6 雙積分A/D轉(zhuǎn)換電路 其次雙積分型A/D轉(zhuǎn)換器具有很強的抗干擾能力。對正負對稱的工頻干擾信號積分為零,所以對50HZ的工頻干擾抑制能
24、力特強,對高于工頻干擾(例如噪聲電壓)也具有良好的濾波作用。只要干擾電壓的平均值為零,對輸出就不產(chǎn)生影響。尤其對本系統(tǒng),緩慢變化的壓力信號,很容易受到工頻信號的影響。故而采用雙積分型A/D轉(zhuǎn)換器可大大降低對濾波電路的要求。 作為電子秤,系統(tǒng)對AD的轉(zhuǎn)換速度要求并不高,精度上14位的AD足以滿足要求。另外雙積分型A/D轉(zhuǎn)換器較強的抗干擾能力,和精確的差分輸入,低廉的價格。最終選擇了精度為10Kg/ 20000= 0.5g的ICL7135。 2.5 人機交互界面模塊 2.5.1 鍵盤輸入 鍵盤輸入是人機交互界面中重要的組成部分,它是系統(tǒng)接受用戶指令的直接途徑。鍵盤是
25、由若干個按鍵開關(guān)組成,鍵的多少根據(jù)單片機應(yīng)用系統(tǒng)的用途而定。鍵盤由許多鍵組成,每一個鍵相當于一個機械開關(guān)觸點,當鍵按下時,觸點閉合,當鍵松開時,觸點斷開。單片機接收到按鍵的觸點信號后作相應(yīng)的功能處理。因此,相對于單片機系統(tǒng)來說鍵盤接口信號是輸入信號。 ZLG7289是周立功單片機公司設(shè)計的串行輸入輸出可編程鍵盤顯示芯片,有強大的鍵盤顯示功能,支持64鍵控制,可以比較方便地擴展系統(tǒng)。另外ZLG7289內(nèi)部有譯碼電路,大大簡化了程序。最終選擇ZLG7289作為鍵盤掃描顯示芯片。 2.5.2 輸出顯示 采用可以設(shè)置顯示單價,金額,中文,購物日期等的LCD,它具有低功耗、可視面大、畫面友好及抗干
26、擾能力強等功能,其顯示技術(shù)已得到廣泛應(yīng)用。 LCD 顯示器的工作原理:液晶顯示器的主要材料是液態(tài)晶體。它在特定的溫度范圍內(nèi),既具有液體的流動性,又具有晶體的某些光學特性,其透明度和顏色隨電場、磁場、光照度等外界條件變化而變化。因此,用液晶做成顯示器件,就可以把上訴外界條件的變化反映出來從而形成現(xiàn)實的效果。 雖然ZLG7289具有控制數(shù)碼管顯示的功能,但考慮到本題目要求中文顯示,數(shù)碼管無法滿足,只能考慮用帶有中文字庫的液晶顯示器。由于可以分頁顯示,無需太大屏幕,最終選擇點陣式12864型LCD—OCM4x8C。 3.AT89S52的主控電路 3.1.1 AT89S52芯片 AT89S5
27、2單片機是ATMEL公司新近推出的高檔型AT89S系列單片機中的增強型產(chǎn)品。ATMEL公司是美國20世紀80年代中期成立并發(fā)展起來的半導(dǎo)體公司。該公司的技術(shù)優(yōu)勢在于推出Flash存儲器技術(shù)和高質(zhì)量、高可靠性的生產(chǎn)技術(shù),它率先將獨特的Flash存儲技術(shù)注入于單片機產(chǎn)品中。其推出的AT89系列單片機,在世界電子技術(shù)行業(yè)中引起了極大的反響,在國內(nèi)也受到廣大用戶歡迎。 AT89S52是一個低功耗,高性能CMOS 8位單片機,片內(nèi)含8k Bytes ISP(In-system programmable)的可反復(fù)擦寫1000次的Flash只讀程序存儲器。器件采用ATMEL公司的高密度、非易失性存儲技術(shù)制
28、造,兼容標準MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu)。芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲單元,功能強大的微型計算機的AT89S52可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價比的解決方案。 AT89S52具有如下特點:40個引腳,8k Bytes Flash片內(nèi)程序存儲器,256 bytes的隨機存取數(shù)據(jù)存儲器(RAM),32個外部雙向輸入/輸出(I/O)口,5個中斷優(yōu)先級2層中斷嵌套中斷,3個16位可編程定時計數(shù)器,2個全雙工串行通信口,看門狗(WDT)電路,片內(nèi)時鐘振蕩器。 此外,AT89S52設(shè)計和配置了振蕩頻率可為0Hz,并可通過軟件設(shè)置省電模式??臻e模式下,CP
29、U暫停工作,而RAM定時計數(shù)器、串行口、外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。同時該芯片還具有PDIP、TQFP和PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。 主要功能特性見下表: 兼容MCS-51指令系統(tǒng) 8k可反復(fù)擦寫(>1000次)ISP Flash ROM 32個雙向I/O口 4.5-5.5V工作電壓 3個16位可編程定時/計數(shù)器 時鐘頻率0-33MHz 全雙工UART串行中斷口線 256x8bit內(nèi)部RAM 2個外部中斷源 低功耗空閑和省電模式 中斷喚醒省電模式 3
30、級加密位 看門狗(WDT)電路 軟件設(shè)置空閑和省電功能 靈活的ISP字節(jié)和分頁編程 雙數(shù)據(jù)寄存器指針 如表3-1 AT89S52功能 引腳封裝如下圖所示: 如圖3-1 AT89S52的引腳圖 3.1.2 主控電路的設(shè)計 P1口和P2.0~P2.6口作為地址總線,其中P1口作為低地址線和數(shù)據(jù)總線復(fù)用,P2.0~P2.6口做高地址線。P2.7作為62256的片選控制總線,ALE接鎖存器74LS373的使能端。P3.6和P3.7作為外部數(shù)據(jù)存儲器寫/讀選通信號輸出端分別接62256的/WE和/OE端。 主控電路圖如下:
31、 如圖3-2 主控電路設(shè)計圖 3.2 電子秤的信號處理流程 3.2.1 稱重數(shù)據(jù)處理 測量精度和可靠性是電子秤設(shè)計的關(guān)鍵,引入軟件數(shù)據(jù)處理技術(shù),可以克服或彌補包括傳感器在內(nèi)的各測量環(huán)節(jié)硬件本身的缺陷或弱點,使原來靠硬件電路難以實現(xiàn)的信號處理可以得到解決,提高電子秤的綜合性能。在電子稱重系統(tǒng)中,主要的數(shù)據(jù)處理技術(shù)有:無效物理量的消除、零漂處理、標度變換技術(shù)、非線性補償技術(shù)、數(shù)字濾波技術(shù)等。 (1)無效物理量的消除 在稱重系統(tǒng)中,稱重傳感器輸出的信號是秤臺、支架和被測物之和的轉(zhuǎn)換信號,實際所要測的是被測物的重量,因此,秤臺、支架等是無
32、效的物理量,在信號處理過程中要用軟件方法來消除。 (2)零漂處理 零位穩(wěn)定是影響電子秤精度非常重要的因素,因受溫度或其它因素影響將引起零位不穩(wěn)定,這種現(xiàn)象稱為零漂。由于零漂的影響,零輸入信號時,輸出可能不為零,為消除這個零位漂移值,采用零位補償技術(shù),零位補償就是把這個零位漂移值儲存起來,每一數(shù)據(jù)采集時減去這個數(shù)值,得到的數(shù)值就是消除零漂的有效信號。 (3)標度變換 在實際測量中,被測模擬信號被檢測出來并轉(zhuǎn)換成數(shù)字量后,需要轉(zhuǎn)換成操作人員所熟悉的工程量。因為,被測對象經(jīng)傳感器、A/D轉(zhuǎn)換后得到的數(shù)字量是一系列的數(shù)碼,這些數(shù)碼值并不等于原來帶有量綱的參數(shù)值,它僅僅對應(yīng)于參數(shù)的大小,因此,必
33、須把它轉(zhuǎn)換成帶有量綱的數(shù)值后才能顯示或打印輸出,這種轉(zhuǎn)換就是工程量變換,又稱標度變換。 對一般的線性系統(tǒng),其標度變換公式如下: Ax = A0 +(Am —A0)(Nx — N0)/(Nm —N0 ) A0 :測量范圍最小值 A m:測量范圍最大值 N0:A0所對應(yīng)的數(shù)字量 Nm:Am所對應(yīng)的數(shù)字量 Nx:Ax所對應(yīng)的數(shù)字量 其中,A0 、Am 、N0 和Nm對于某一固定的被測參數(shù)來說它們是常數(shù),不同的參數(shù)有著不同的值。 對于測重系統(tǒng)而言,標度變換實質(zhì)是建立重量W與A/D轉(zhuǎn)換數(shù)據(jù)N關(guān)系的數(shù)學模型。 假設(shè)秤臺和支架重量為
34、W0 相應(yīng)的A/D為N0 ,稱量物體時,物體、秤臺和支架總重為W,相應(yīng)的A/D為N,最大量程范圍為Wm,相應(yīng)的A/D為Nm,物體凈重為Wc = W- W0 ,它們之間的數(shù)學關(guān)系如下: Wc = W- W0 =(N - N0)(Wm - W0 )/(Nm - N0 ) 上式標度變換中,只考慮了凈重與A/D轉(zhuǎn)換之間的數(shù)學量的關(guān)系,還沒考慮儀器儀表的精確度等級和分辨率問題。在實際的稱重系統(tǒng)中,根據(jù)國家計量法規(guī)要求,系統(tǒng)的分辨率、精確度等級都有明確要求,在硬件配置條件滿足的情況下,分辨率、精確度等級通常通過軟件設(shè)置分度值d、分度數(shù)n來解決。它們與上式的關(guān)系為:
35、 Wm - W0 = n d =(Nm - N0 )K d n=(Nm - N0 )K K = n /(Nm - N0 ) K稱為標準系數(shù)(倍率),在軟件設(shè)計中通常通過一個調(diào)校子程序來確定,然后存放在一個能長期保存的存儲器中。 測量時物體的凈重 Wc = W- W0 =(N - N0)K d (4)非線性補償 在檢測中,由于檢測傳感器的輸入輸出特性往往只在一定范圍內(nèi)近似呈線性,而在某些范圍內(nèi)則明顯呈非線性,同時,傳感器具有離散性,還可能有溫漂、滯后等。在信號處理過程中也常用軟件處理方法來補償和校正以上誤差。常用的非線性
36、補償處理的方法有三種:分段線性插值法、曲線擬合法、查表法。對于不太彎曲的輸入輸出曲線,可采用線性插值法,對于很彎曲的輸入輸出曲線,可采用二次拋物線插值法,對于不規(guī)則的輸入輸出曲線,可采用分段曲線擬合法。對于用應(yīng)變稱重傳感器的稱重系統(tǒng)來說,由于其非線性度不是很大,所以常采用分段線性插值法。 3.2.2 信號處理電路 以下為濾波放大電路圖: 如圖3-3 信號濾波放大圖 上圖中電容C5、C6用來濾除采樣信號電壓中的高頻噪聲,選用0.1uF的普通獨石電容;電容C7、C84用來濾除采樣信號電壓中的低頻噪聲,選用22uF的普通獨石電容。電阻R3、R4選用較小的阻值,因為采樣信
37、號電壓值只有毫伏級,所以其阻值不宜太大,否則導(dǎo)致放大器由于輸入電流太小而放大效果不明顯。 微弱信號Vi1和Vi2被分別放大后從AD620的第6腳輸出。A/D轉(zhuǎn)換器ICL7135的輸入電壓變化范圍是-2V~+2V,傳感器的輸出電壓信號在0~20mv左右,因此放大器的放大倍數(shù)在200~300左右,可將R9接成1K的滑動變阻器。由于ICL7135對高頻干擾不敏感,所以濾波電路主要針對工頻及其低次諧波引入的干擾。因為壓力信號變化十分緩慢,所以濾波電路可以把頻率做得很低。 圖中的LM741的輸出端與AD620的地端相連,LM741的2腳與6腳相連構(gòu)成電壓跟隨器,R15與正負電源相接,通過改變R15的
38、阻值可使VO與 RET之間的壓差變化,從而實現(xiàn)調(diào)零、去皮的功能。 ICL7135與單片機的接口 在讀取A/D轉(zhuǎn)換后的結(jié)果時,選用數(shù)據(jù)選擇器作為數(shù)據(jù)讀取的控制器,這樣簡化了ICL7135與單片機的接口電路,便于硬件設(shè)計與軟件編程的實現(xiàn)。 在ICL7135進行A/D轉(zhuǎn)換結(jié)束后輸出的/STRB負脈沖引起AT89S52中斷。同時在第一個/STB負脈沖時由軟件將P1.7口置0,因而使S=0,使74LS157的Y (1Y,2Y,3Y,4Y)=A(4A,3A,2A,1A)。AT89S52讀P1.0~P1.3口便讀得BCD碼,此時D5=1。此后, D4,D3,D2,D1輪流為“1”,即可讀得千位、百位
39、、十位和個位的BCD碼。 前端信號處理電路設(shè)計如下圖: 如圖3-4 信號數(shù)模轉(zhuǎn)換圖 ICL7135的輸出時序圖: 如圖3-5 輸出時序圖 在A/D轉(zhuǎn)換結(jié)束后立即更新輸出鎖存器并不斷地掃描輸出BCD碼。在A/D轉(zhuǎn)換期間BUSY為低電平,轉(zhuǎn)換完畢后BUSY變?yōu)楦唠娖?。A/D轉(zhuǎn)換結(jié)束后立刻順序并連續(xù)不斷地輸出位驅(qū)動信號D5、D4、D3、D2、D1(均為正脈沖)。當D5為高電平時,B8、B4、B2、B1是萬位BCD碼。同樣當D4為高電平時,B8、B4、B
40、2、B1是千位BCD碼。同理D3、D2、D1 為正脈沖時各對應(yīng)百、十、個位的BCD碼。在A/D轉(zhuǎn)換完畢后,還連續(xù)輸出5個/STB負脈沖,它們分別位于D5、D4、D3、D2、D1正脈沖的中間,脈沖寬度為T/2。 在設(shè)計時,還考慮過使用另一種接口電路,它巧妙地運用了ICL7135 地“Busy”端功能,只要一個I/O口和單片機內(nèi)部的一個定時器就可把ICL7135的數(shù)據(jù)送人單片機,可以節(jié)省大量的單片機資源,減小系統(tǒng)的體積。原理如下: “Busy”輸出端(ICL7135的21腳)高電平的寬度等于積分和反積分時間之和。ICL7135內(nèi)部規(guī)定積分時間固定為10001個時鐘脈沖時間,反積分時間長度與被測
41、電壓的大小成比例。如果利用單片機內(nèi)部的計數(shù)器對ICL7135的時鐘脈沖計數(shù),利用"Busy"作為計數(shù)器門控信號,控制計數(shù)器只要在Busy為高電平時計數(shù),將這段Busy高電平時間內(nèi)計數(shù)器計的內(nèi)容減去10001,其余數(shù)等于被測電壓的數(shù)值。 3.3 人機交互界面模塊設(shè)計 3.3.1 鍵盤輸入控制電路 如表3-2 ZLG7289引腳說明 引 腳 號 名 稱 說 明 1,2 VDD 正電源 3,5 NC 懸空 4 VSS 接地 6 /CS 片選輸入端此引腳為低電平時可向芯片發(fā)送指令及讀取鍵盤數(shù)據(jù) 7 CLK 同步
42、時鐘輸入端向芯片發(fā)送數(shù)據(jù)及讀取鍵盤數(shù)據(jù)時此引腳電平上升沿表示數(shù)據(jù)有效 8 DATA 串行數(shù)據(jù)輸入/輸出端當芯片接收指令時此引腳為輸入端當讀取鍵盤數(shù)據(jù)時此引腳在讀指令最后一個時鐘的下降沿變?yōu)檩敵龆? 9 /KEY 按鍵有效輸出端平時為高電平當檢測到有效按鍵時此引腳變?yōu)榈碗娖? 10~16 SG~SA 段g~段a 驅(qū)動輸出 17 DP 小數(shù)點驅(qū)動輸出 18~25 DIG0~DIG7 數(shù)字0 數(shù)字7 驅(qū)動輸出 26 OSC2 振蕩器輸出端 27 OSC1 振蕩器輸入端 28 /RESET 復(fù)位端低電平有效 SPI串
43、行接口工作方式介紹: ZLG7289 采用串行方式與微處理器通訊,串行數(shù)據(jù)從DATA 引腳送入芯片,并由CLK 端同步。當片選信號變?yōu)榈碗娖胶螅珼ATA 引腳上的數(shù)據(jù)在CLK 引腳的上升沿被寫入ZLG7289 的緩沖寄存器。 ZLG7289 的指令結(jié)構(gòu)有三種類型: 1、不帶數(shù)據(jù)的純指令,指令的寬度為8 個BIT 即微處理器需發(fā)送8個CLK 脈沖; 如圖3-6 純指令時序圖 2、帶有數(shù)據(jù)的指令寬度為16 個BIT 即微處理器需發(fā)送16 個CLK 脈沖; 如圖3-7 帶數(shù)據(jù)指令時序圖 3、讀取鍵盤數(shù)據(jù)指令寬度
44、為16個BIT,前8個為微處理器發(fā)送到ZLG7289的指令,后8 個BIT為ZLG7289返回的鍵盤代碼,執(zhí)行此指令時ZLG7289的DATA端在第9個CLK 脈沖的上升沿變?yōu)檩敵鰻顟B(tài)并與第16個脈沖的下降沿恢復(fù)為輸入狀態(tài),等待接收下一個指令。 下圖為電路圖: 圖3-9 鍵盤接口圖 圖中P1.5口接/CS;P1.6口接CLK;P1.0口接DIO;P3.2口接/KEY,利用中斷0通知AT89S52讀數(shù)。 鍵盤控制芯片ZLG7289 控制鍵盤的掃描,當監(jiān)測到有鍵按下后ZLG7289 的9腳便產(chǎn)生一個低電平通知單片機,單片機可以采用查詢或者中斷方式將數(shù)據(jù)通過
45、P3.0口以串行方式讀入。因為查詢方式會浪費大量的時間,所以本系統(tǒng)采用的是中斷方式。 2、 參數(shù)選擇參考如下 8只下拉電阻和8 只鍵盤連接位選線DIG0~DIG7 的8 只位選電阻應(yīng)遵從一定的比例關(guān)系,下拉電阻應(yīng)大于位選電阻的5 倍而小于其50 倍,典型值為10 倍,下拉電阻的取值范圍是10K~100K, 位選電阻的取值范圍是1K~10K。所以取上拉電阻為10K,下拉電阻為100K。 ZLG7289需要一外接晶體振蕩電路供系統(tǒng)工作,其典型值分別為F=16MHz C=15pF。實際使用時取F=12MHz,C=15pF。 3.3.2 LCD顯示電路 OCM4x8C是具有串/并
46、接口,其內(nèi)部含有中文字庫的圖形點陣液晶顯示模塊。該模塊的控制/驅(qū)動器采用臺灣矽創(chuàng)電子公司的ST7920,因而具有較強的控制顯示功能。OCM4x8C的液晶顯示屏為12864點陣,可顯示4行、每行8個漢字。為了便于簡單、方便地顯示漢字,該模塊具2Mb的中文字型CGROM,該字型ROM中含有8192個1616點陣中文字庫;同時,為了便于英文和其它常用字符的顯示,具有16Kb的168點陣的ASCII字符庫;為便于構(gòu)造用戶圖形,提供了一個64256點陣的GDRAM繪圖區(qū)域,且為了便于構(gòu)造用戶所需字型,提供了4組1616點陣的造字空間。利用上述功能,OCM4x8C可實現(xiàn)漢字、ASCII碼、點陣圖形、自造字
47、體的同屏顯示。為便于和多種微處理器、單片機接口,模塊提供了4位并行、8位并行、2線串行、3線串行多種接口方式。 該模塊具有2.7V~5.5V的寬工作電壓范圍,且具有睡眠、正常及低功耗工作模式,可滿足系統(tǒng)各種工作電壓及便攜式儀器低功耗的要求。液晶模塊顯示負電壓,也由模塊提供,從而簡化了系統(tǒng)電源設(shè)計。模塊同時還提供LED背光顯示功能。除此之外,模塊還提供了畫面清除、游標顯示/隱藏、游標歸位、顯示打開/關(guān)閉、顯示字符閃爍、游標移位、顯示移位、垂直畫面旋轉(zhuǎn)、反白顯示、液晶睡眠/喚醒、關(guān)閉顯示等操作指令。 如表3-3引腳功能說明 引 腳 號 名 稱 說 明 1 VSS GND(0V
48、) 2 VDD 邏輯電源(+5V) 3 V0 LCD電源(懸空) 4 RS(CS) H:數(shù)據(jù),L:指令 5 R/W(SID) H:讀,L:寫 6 E(SCLK) 使能 7 DB0 數(shù)據(jù)0 8 DB1 數(shù)據(jù)1 9 DB2 數(shù)據(jù)2 10 DB3 數(shù)據(jù)3 11 DB4 數(shù)據(jù)4 12 DB5 數(shù)據(jù)5 13 DB6 數(shù)據(jù)6 14 DB7 數(shù)據(jù)7 15 PSB H:并行,L:串行 16 NC 空腳 17 RST 復(fù)位(低電平有效) 18 NC 空腳 19 LEDA 背光源正極(LED+5V) 20
49、 LEDK 背光源負極(LED-0V) 電路圖中PSB接低電平,進入串行接口模式;串行數(shù)據(jù)線SID接P3.1口;串行時鐘線SCLK接P1.6;RS固定接高電平。此為典型二線串行模式。 字符顯示RAM地址與字符顯示位置關(guān)系: 如表3-4 RAM地址與字符顯示位置關(guān)系 80H 81H 82H 83H 84H 85H 86H 87H 90H 91H 92H 93H 94H 95H 96H 97H 88H 89H 8AH 8BH 8CH 8DH 8EH 8FH 98H 99H 9AH 9BH 9CH 9DH 9
50、EH 9FH 2/3線串行接口方式: 當模塊的PSB腳接低電平時,模塊即進入串行接口模式。串行模式使用串行數(shù)據(jù)線SID與串行時鐘線SCLK來傳送數(shù)據(jù),即構(gòu)成2線串行模式。 OCM4x8C還允許同時接入多個液晶顯示模塊以完成多路信息顯示功能。此時,要利用片選端“CS”構(gòu)成3線串行接口方式,當“CS”接高電位時,模塊可正常接收并顯示數(shù)據(jù),否則模塊顯示將被禁止。通常情況下,當系統(tǒng)僅使用一個液晶顯示模塊時,“CS”可連接固定的高電平。 模塊2線串行工作操作時序如下圖所示: 如圖3-10 2線串行時序圖 由圖3.12可以看出,單片機與液晶模塊之間傳送1字節(jié)的數(shù)據(jù)共
51、需24個時鐘脈沖。首先,單片機要給出數(shù)據(jù)傳輸起始位,這里是以5個連續(xù)的“1”作數(shù)據(jù)起始位,如模塊接收到連續(xù)的5個“1”,則內(nèi)部傳輸被重置并且串行傳輸將被同步。緊接著,“RW”位用于選擇數(shù)據(jù)的傳輸方向(讀或?qū)懀?,“RS”位用于選擇內(nèi)部數(shù)據(jù)寄存器或指令寄存器,最后的第8位固定為“0”。在接收到起始位及“RW”和“RW”的第1個字節(jié)后,下一個字節(jié)的數(shù)據(jù)或指令將被分為2個字節(jié)來串行傳送或接收。數(shù)據(jù)或指令的高4位,被放在第2個字節(jié)串行數(shù)據(jù)的高4位,其低4位則置為“0”;數(shù)據(jù)或指令的低4位被放在第3個字節(jié)的高4位,其低4位也置為“0”,如此完成一個字節(jié)指令或數(shù)據(jù)的傳送。需要注意的是,當有多個數(shù)據(jù)或指令要傳
52、送時,必須要等到一個指令完成執(zhí)行完畢后再傳送下一個指令或數(shù)據(jù),否則,會造成指令或數(shù)據(jù)的丟失。這是因為液晶模塊內(nèi)部沒有發(fā)送/接收緩沖區(qū)。 3.4 報警電路的設(shè)計 下圖為系統(tǒng)報警電路原理圖,用于超載和欠量程提示。系統(tǒng)設(shè)計了兩個發(fā)光二極管作為超載和欠量程指示燈,使系統(tǒng)更加完善。當系統(tǒng)判斷為超載或欠量程時,ICL7135給輸出一個高電平信號OR(超載)或UR(欠量程),經(jīng)非門后形成低電平從而驅(qū)動發(fā)光二極管發(fā)光提示。 如圖3-11 報警電路原理圖 4.1 軟件流程圖及程序設(shè)計 為了方便程序調(diào)試和提高可靠性,程序設(shè)計采用自上而下、模塊化、結(jié)構(gòu)化的程序設(shè)計方法,把總的編程過程逐步細分,
53、分解成一個個功能模塊,每個功能模塊相互獨立,每個模塊都能完成一個明確的任務(wù),實現(xiàn)某個具體的功能。本設(shè)計按任務(wù)模塊劃分的程序主要有初始化程序、主程序, A/D轉(zhuǎn)換子程序、顯示子程序、鍵盤處理子程序。 4.1.1 初始化程序設(shè)計流程圖 單片機系統(tǒng)上電后,進入初始化程序,完成單片機片內(nèi)各模塊的設(shè)置和A/D轉(zhuǎn)換器的功能設(shè)置初始化,然后進入主程序。 如圖 4-1 初始化程序設(shè)計流程圖 4.1.2 主程序設(shè)計流程圖 單片機完成初始化程序后進入主程序,主程序主要完成對存儲參數(shù)的讀取,對檢測到的數(shù)據(jù)進行數(shù)據(jù)處理,鍵處理,顯示處理等。
54、 如圖4-2 主程序設(shè)計流程圖 4.2 主程序設(shè)計及其相關(guān)程序設(shè)計 4.2.1 主程序設(shè)計 uint max_weight;//最大稱量 uchar dsel;//分度值 uchar dp;//小數(shù)點 float beilv;//倍率 ulong zero_save;//傳感器零位值 }bdf; uint code num_ten[4]={1,10,100,1000}; uchar code adcount2[4]={2,4,5};//數(shù)據(jù)處理進平均次數(shù) uchar code
55、tab_dsel[4]={1,2,5,10};//分度值表 //0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 uchar code tab[]={0xB7,0x03,0xD6,0xC7,0x63,0xE5,0xF5,0x83,0xF7,0xE7, //A , b , C , d , E , F , 暗, - , t , P 0xF3,0x75,0xB4,0x57,0xF4,0xF0,0x00,0x40,0x74,0xF2, //H , L , o , J , r , n , U, =, -
56、 i 0x73,0x34,0x55,0x07,0x50,0x51,0x37,0x44,0x04,0x01}; //顯示位碼表 //0, 1, 2, 3, 4, 5, 6 uchar code digit[]={0xfe,0xdf,0xef,0xfd,0xfb,0xbf,0xF7};//顯示位碼表 sbit P_OE =P2^1;//顯示控制 sbit P_LE =P2^0; sbit buz0 =P3^6;//蜂鳴器 sbit buz1 =P3^7; /********************************
57、**********************/ bit b_follow;//啟動零位跟蹤標記 bit b_serial;//串口發(fā)送完標記 bit b_followdelay;//第一次不進行零位跟蹤 bit b_steady;//穩(wěn)定標記 /******************************************************/ void (* data task)(void);//函數(shù)指針變量,接受下一步要做的任務(wù) uint idata fendushu;//分度數(shù) uchar weight_led[6] ;//重量窗顯示緩存 uchar
58、idata temp_var; uchar weight_dp;//小數(shù)點位數(shù) uchar fu_number;//負號顯示位置 uchar wdcount;//穩(wěn)定計數(shù) uchar adup_count;//異常值計數(shù) uchar addcount3;//累加次數(shù) /******************************************************/ extern void key_scan(void);//按鍵掃描 extern void weight_disp(void);//重量計算,超載報警 extern void start_set(vo
59、id);//單片機初始化設(shè)置 extern void adc (void);//讀取AD值 extern void ad_processor(void);//AD數(shù)據(jù)濾波處理 extern void fun_weight(void);//正常稱重狀態(tài) extern void bd_start(void);//重量或電壓標定選擇 extern void dy_disp(void);//電壓顯示 extern void led_disp(ulong temp,uchar num); extern uchar get_jiaoyan(uchar *address,uchar num);
60、//計算校驗字 extern void neima(void); void delay60ms(uchar time);//40ms延時 void fendu_val(void);//分度數(shù)運算 void check_canshu(void);//讀參數(shù),并校驗是否正確 void ver_disp(void);//顯示版本號 void seg_check(void);//筆畫檢測 /******************************************/ void main (void) { start_set(); //單片機初始
61、化 beep_time=3; //開機鳴叫 flash_num=6; //沒有閃爍位 spi_sys(); //ad芯片初始化 check_canshu(); //讀參數(shù),并校驗是否正確 if(bdf.shuduval>2) //若是異常值,用默認值 bdf.shuduval=1; addcount3=4; bdf_dp_temp=bdf.dp; //保存小數(shù)點(標定修改參數(shù)時用) bdf_dsel_temp=bdf.dsel;//保存分度值(標定修改參數(shù)時用) key_scan()
62、; //標定按鍵掃描 switch(key_temp) //功能鍵處理函數(shù) { case 0xc0:b_biaoding=1;task=bd_start ; break;// default: bdf.dp=0; ver_disp();//顯示版本號 seg_check();//筆畫檢測 fendu_val();//分度數(shù)運算 zero_current=ad_steady;//保存當前零位值 task=fun_weight; break; } do { //主循環(huán)程序 adc(); //A/D采樣
63、ad_processor();//數(shù)據(jù)處理 zero_follow(); //零位跟蹤程序 neima(); //內(nèi)碼計算 weight_disp(); //重量顯示 key_scan(); //按鍵掃描 (* task)(); //任務(wù)切換函數(shù) } while(1); } /*****************************************************************/ void fendu_val(void)//分度數(shù)運算 { uchar i; ulong temp; temp
64、=(ulong)bdf.max_weight*num_ten[bdf_dp_temp]; fendushu=temp/bdf.dsel; i=fendushu/3000; if (i==0) i=1; half_sel_bound=5/bdf.beilv;//半個分度的原始碼 follow_bound=i*half_sel_bound;//計算零位跟蹤時的原始碼,按3000分度 time_weight=200; } /*****************************************************************/ void ver
65、_disp(void)//顯示版本號及最大量程 { weight_led[0]=7;// 7 weight_led[1]=1;// 1 weight_led[2]=2;// 2 weight_led[3]=17;// - weight_led[4]=0;// 0 weight_led[5]=5;// 5 fun_led=0xff; delay60ms(15);//40ms延時 beep_time=3; led_disp(bdf.max_weight,5);//顯示最大量程 weight_led[0]=15;// F delay60ms(20);//40ms延
66、時 4.2.2 信號采樣與A/D轉(zhuǎn)換子程序的設(shè)計 如圖 4-3 信號采樣與A/D轉(zhuǎn)換子程序的設(shè)計 extern uchar code adcount2[3]; extern bit bAd;//已產(chǎn)生AD值 extern bit b_warnled; extern bit b_steady; extern bit b_up_last; extern uchar adup_count; extern ulong idata ad_steady;//AD數(shù)據(jù)處理后的穩(wěn)定值 extern uchar add_count;//AD累加計數(shù)器 extern ulong idata add_val;//AD累加值 extern uchar wdcount; extern uchar adup_count;//AD異常值計數(shù) extern uchar addcount3; extern ulong idata up_val; extern ulong idata adval;//AD芯片采樣
- 溫馨提示:
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)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023年六年級數(shù)學下冊6整理和復(fù)習2圖形與幾何第7課時圖形的位置練習課件新人教版
- 2023年六年級數(shù)學下冊6整理和復(fù)習2圖形與幾何第1課時圖形的認識與測量1平面圖形的認識練習課件新人教版
- 2023年六年級數(shù)學下冊6整理和復(fù)習1數(shù)與代數(shù)第10課時比和比例2作業(yè)課件新人教版
- 2023年六年級數(shù)學下冊4比例1比例的意義和基本性質(zhì)第3課時解比例練習課件新人教版
- 2023年六年級數(shù)學下冊3圓柱與圓錐1圓柱第7課時圓柱的體積3作業(yè)課件新人教版
- 2023年六年級數(shù)學下冊3圓柱與圓錐1圓柱第1節(jié)圓柱的認識作業(yè)課件新人教版
- 2023年六年級數(shù)學下冊2百分數(shù)(二)第1節(jié)折扣和成數(shù)作業(yè)課件新人教版
- 2023年六年級數(shù)學下冊1負數(shù)第1課時負數(shù)的初步認識作業(yè)課件新人教版
- 2023年六年級數(shù)學上冊期末復(fù)習考前模擬期末模擬訓(xùn)練二作業(yè)課件蘇教版
- 2023年六年級數(shù)學上冊期末豐收園作業(yè)課件蘇教版
- 2023年六年級數(shù)學上冊易錯清單十二課件新人教版
- 標準工時講義
- 2021年一年級語文上冊第六單元知識要點習題課件新人教版
- 2022春一年級語文下冊課文5識字測評習題課件新人教版
- 2023年六年級數(shù)學下冊6整理和復(fù)習4數(shù)學思考第1課時數(shù)學思考1練習課件新人教版