簡易電子稱設(shè)計(jì)—51、動態(tài)數(shù)碼管_第1頁
簡易電子稱設(shè)計(jì)—51、動態(tài)數(shù)碼管_第2頁
簡易電子稱設(shè)計(jì)—51、動態(tài)數(shù)碼管_第3頁
簡易電子稱設(shè)計(jì)—51、動態(tài)數(shù)碼管_第4頁
簡易電子稱設(shè)計(jì)—51、動態(tài)數(shù)碼管_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 簡易電子稱課程設(shè)計(jì) 姓 名: 學(xué) 號: 班 級: 摘 要本設(shè)計(jì)系統(tǒng)以單片機(jī)AT89S52為控制核心,實(shí)現(xiàn)電子秤和計(jì)時(shí)的基本控制功能。在設(shè)計(jì)系統(tǒng)時(shí),為了更好地采用模塊化設(shè)計(jì)法,分步設(shè)計(jì)了各個(gè)單元功能模塊。系統(tǒng)的硬件部分包括最小系統(tǒng)部分、數(shù)據(jù)采集部分、數(shù)據(jù)處理部分、按鍵中斷調(diào)時(shí)和系統(tǒng)電源四大部分。最小系統(tǒng)部分主要包括AT89S52部分;數(shù)據(jù)采集部分由稱重傳感器、A/D轉(zhuǎn)換、低通濾波部分組成,包括運(yùn)算放大器INA128、NE532和A/D轉(zhuǎn)換器ADS8344(大材小用一下);按鍵中斷,四位動態(tài)LED數(shù)碼顯示器,可以直觀的顯示重量的具體數(shù)字以及時(shí)間,使用方便;系統(tǒng)電源以MAX3232為核心設(shè)計(jì)電路以

2、提供系統(tǒng)正常工作電源。系統(tǒng)的軟件部分應(yīng)用單片機(jī)C語言進(jìn)行編程,實(shí)現(xiàn)了該設(shè)計(jì)的全部控制功能。該電子秤可以實(shí)現(xiàn)基本的稱重功能(稱重范圍為04.999Kg,重量誤差不大于±0.010Kg),并附帶有顯示時(shí)間的功能,可以設(shè)置時(shí)間和顯示時(shí)間。本系統(tǒng)設(shè)計(jì)結(jié)構(gòu)簡單,使用方便,功能齊全,精度較高,具有一定的開發(fā)價(jià)值。關(guān)鍵詞: 電阻應(yīng)變式傳感器 A/D 單片機(jī) 數(shù)碼管顯示2系統(tǒng)方案設(shè)計(jì)2.1電子秤的組成結(jié)構(gòu)2.1.1電子秤的基本結(jié)構(gòu)電子秤是利用物體的重力作用來確定物體質(zhì)量(重量)的測量儀器,也可用來確定與質(zhì)量相關(guān)的其它量大小、參數(shù)、或特性。不管根據(jù)什么原理制成的電子秤均由以下三部分組成:(1)承重、傳

3、力復(fù)位系統(tǒng) 它是被稱物體與轉(zhuǎn)換元件之間的機(jī)械、傳力復(fù)位系統(tǒng),又稱電子秤的秤體,一般包括接受被稱物體載荷的承載器、秤橋結(jié)構(gòu)、吊掛連接部件和限位減振機(jī)構(gòu)等。(2)稱重傳感器即由非電量(質(zhì)量或重量)轉(zhuǎn)換成電量的轉(zhuǎn)換元件,它是把支承力變換成電的或其它形式的適合于計(jì)量求值的信號所用的一種輔助手段。按照稱重傳感器的結(jié)構(gòu)型式不同,可以分直接位移傳感器(電容式、電感式、電位計(jì)式、振弦式、空腔諧振器式等)和應(yīng)變傳感器(電阻應(yīng)變式、聲表面諧振式)或是利用磁彈性、壓電和壓阻等物理效應(yīng)的傳感器。對稱重傳感器的基本要求是:輸出電量與輸入重量保持單值對應(yīng),并有良好的線性關(guān)系;有較高的靈敏度;對被稱物體的狀態(tài)的影響要?。荒?/p>

4、在較差的工作條件下工作;有較好的頻響特性;穩(wěn)定可靠。(3)測量顯示和數(shù)據(jù)輸出的載荷測量裝置即處理稱重傳感器信號的電子線路(包括放大器、模數(shù)轉(zhuǎn)換、電流源或電壓源、調(diào)節(jié)器、補(bǔ)嘗元件、保護(hù)線路等)和指示部件(如顯示、打印、數(shù)據(jù)傳輸和存貯器件等)。這部分習(xí)慣上稱載荷測量裝置或二次儀表。在數(shù)字式的測量電路中,通常包括前置放大、濾濾、運(yùn)算、變換、計(jì)數(shù)、寄存、控制和驅(qū)動顯示等環(huán)節(jié)。2.1.2電子秤的工作原理當(dāng)被稱物體放置在秤體的秤臺上時(shí),其重量便通過秤體傳遞到稱重傳感器,傳感器隨之產(chǎn)生力電效應(yīng),將物體的重量轉(zhuǎn)換成與被稱物體重量成一定函數(shù)關(guān)系(一般成正比關(guān)系)的電信號(電壓或電流等)。此信號由放大電路進(jìn)行放大

5、、經(jīng)濾波后再由模/數(shù)(A/D)器進(jìn)行轉(zhuǎn)換,數(shù)字信號再送到微處器的CPU處理,CPU不斷掃描鍵盤和各種功能開關(guān),根據(jù)鍵盤輸入內(nèi)容和各種功能開關(guān)的狀態(tài)進(jìn)行必要的判斷、分析、由儀表的軟件來控制各種運(yùn)算。運(yùn)算結(jié)果送到內(nèi)存貯器,需要顯示時(shí),CPU發(fā)出指令,從內(nèi)存貯器中讀出送到顯示器顯示,或送打印機(jī)打印。一般地信號的放大、濾波、A/D轉(zhuǎn)換以及信號各種運(yùn)算處理都在儀表中完成。2.2電子秤設(shè)計(jì)的要求及基本思路2.2.1電子秤設(shè)計(jì)的要求1) 稱重范圍:不超過5.000KG2) 測量精度: 0.010Kg3) 顯示方式:4位數(shù)碼管動態(tài)掃描4) 使用操作:操作簡單方便。5) 特殊功能:當(dāng)沒有放物品時(shí)顯示時(shí)間,有物品

6、放上則顯示重量2.2.2電子秤設(shè)計(jì)的基本思路將電子秤大致能劃分為兩大部分,數(shù)據(jù)采集及處理模塊、控制顯示模塊模塊。其中數(shù)據(jù)采集模塊由壓力傳感器、信號的前級處理和A/D轉(zhuǎn)換部分組成。轉(zhuǎn)換后的數(shù)字信號送給控制器處理,由控制器完成對該數(shù)字量的處理,驅(qū)動顯示模塊。此外添加了顯示時(shí)間的特殊功能。壓力傳感器4位動態(tài)數(shù)碼管顯示51單片機(jī)控制ADS8344J進(jìn)行AD轉(zhuǎn)換信號放大及濾波處理2.351單片機(jī)AT89S52單片機(jī)是AT89S系列中的增強(qiáng)型高檔機(jī)產(chǎn)品,它片內(nèi)存儲器容量是AT89S51的一倍,即片內(nèi)8KB的Flash程序存儲器和256B的RAM。另外,它還增加了一個(gè)功能極強(qiáng)的、具有獨(dú)特應(yīng)用的16位定時(shí)計(jì)數(shù)

7、器2等多種功能。在工程應(yīng)用中AT89S52有一顯著的優(yōu)勢:不需要燒寫器,只借助PC 機(jī)的并口輸出和極為簡單的下載電路,便可將程序通過串行方式寫入單片機(jī)。并且下載電路可設(shè)計(jì)在系統(tǒng)中,可以隨時(shí)修改單片機(jī)的軟件而不對硬件做任何改動。由此,通過對目前主流型號的比較,我們最終選擇了AT89S52通用的普通單片機(jī)來實(shí)現(xiàn)系統(tǒng)設(shè)計(jì)。AT89S52是一種兼容MCS51微控制器,工作電壓4.0V到5.5V,全靜態(tài)時(shí)鐘0 Hz 到33 MHz,三級程序加密,32個(gè)可編程I/O口,2/3個(gè)16位定時(shí)/計(jì)數(shù)器,6/8個(gè)中斷源,全雙工串行通訊口,低功耗支持Idle和Power-down模式,Power down模式支持中

8、斷喚醒, 看門狗定時(shí)器,雙數(shù)據(jù)指針,上電復(fù)位標(biāo)志。另外在外擴(kuò)展了32K數(shù)據(jù)存儲器,以滿足系統(tǒng)要求。 89C52單片機(jī)最下系統(tǒng)2.4數(shù)據(jù)采集模塊2.4.1傳感器傳感器下的定義是:“能感受規(guī)定的被測量并按照一定的規(guī)律轉(zhuǎn)換成可用信號的器件或裝置,通常由敏感元件和轉(zhuǎn)換元件組成”。其中敏感元件指傳感器中能直接感受被測量的部分,轉(zhuǎn)換元件指傳感器中能將敏感元件輸出量轉(zhuǎn)換為適于傳輸和測量的電信號部分。此外傳感器是一種檢測裝置,能感受到被測量的信息,并能將檢測感受到的信息,按一定規(guī)律變換成為電信號或其他所需形式的信息輸出,以滿足信息的傳輸、處理、存儲、顯示、記錄和控制等要求。它是實(shí)現(xiàn)自動檢測和自動控制的首要環(huán)節(jié)

9、。稱重傳感器在電子秤中占有十分重要的位置,被喻為電子秤的心臟部件,它的性能好壞很大程度上決定了電子秤的精確度和穩(wěn)定性。通常稱重傳感器產(chǎn)生的誤差約占電子秤整機(jī)誤差的50%70%。若在環(huán)境惡劣的條件下(如高低溫、濕熱),傳感器所占的誤差比例就更大,因此,在人們設(shè)計(jì)電子秤時(shí),正確地選用稱重傳感器非常重要。稱重傳感器的種類很多,根據(jù)工作原理來分常用的有以下幾種: 電阻應(yīng)變式、電容式、壓磁式、壓電式、諧振式等。(本設(shè)計(jì)采用的是電阻應(yīng)變式)電阻應(yīng)變式稱重傳感器包括兩個(gè)主要部分,一個(gè)是彈性敏感元件:利用它將被測的重量轉(zhuǎn)換為彈性體的應(yīng)變值;另一個(gè)是電阻應(yīng)變計(jì):它作為傳感元件將彈性體的應(yīng)變,同步地轉(zhuǎn)換為電阻值的

10、變化。電阻應(yīng)變片所感受的機(jī)械應(yīng)變量一般為10 - 610 - 2,隨之而產(chǎn)生的電阻變化率也大約在10 - 610 - 2數(shù)量級之間。這樣小的電阻變化用一般測量電阻的儀表很難測出,必須采用一定形式的測量電路將微小的電阻變化率轉(zhuǎn)變成電壓或電流的變化,才能用二次儀表顯示出來。在電阻應(yīng)變式稱重傳感器中通過橋式電路將電阻的變化轉(zhuǎn)換為電壓變化。電阻應(yīng)變式稱重傳感器工作原理框圖如圖2-1所示: 載荷P 應(yīng)變 電阻變化R 輸出電壓敏感元件應(yīng)變片測量電橋圖2-2當(dāng)傳感器不受載荷時(shí),彈性敏感元件不產(chǎn)生應(yīng)變,粘貼在其上的應(yīng)變片不發(fā)生變形,阻值不變,電橋平衡,輸出電壓為零;當(dāng)傳感器受力時(shí),即彈性敏感元件受載荷P時(shí),應(yīng)

11、變片就會發(fā)生變形,阻值發(fā)生變化,電橋失去平衡,有輸出電壓。圖2-3R1、R2、R3、R4為4個(gè)應(yīng)變片電阻,組成了橋式測量電路,Rm為溫度補(bǔ)償電阻,e為激勵(lì)電壓,V為輸出電壓。 若不考慮Rm,在應(yīng)變片電阻變化以前,電橋的輸出電壓為:V= 由于橋臂的起始電阻全等,即R1 = R2 = R3 = R4 = R,所以V=0 。當(dāng)應(yīng)變片的電阻R1、R2、R3、R4變成R+R1、R+R2、R+R3、R+R4時(shí),電橋的輸出電壓變?yōu)椋篤=通過化簡,上式則變?yōu)椋篤=也就是說,電橋輸出電壓的變化與各臂電阻變化率的代數(shù)和成正比。如果四個(gè)橋臂應(yīng)變片的靈敏系數(shù)相同,且 = K,則上式又可寫成:V=1 - 2 + 3 -

12、 4 )式中K為應(yīng)變片靈敏系數(shù),為應(yīng)變量。上式表明,電橋的輸出電壓和四個(gè)轎臂的應(yīng)變片所感受的應(yīng)變量的代數(shù)和成正比。在電阻應(yīng)變式稱重傳感器中,4個(gè)應(yīng)變片分別貼在彈性梁的4個(gè)敏感部位,傳感器受力作用后發(fā)生變形。在力的作用下,R1、R3被拉伸,阻值增大,R1、R3正值,R2、R4被壓縮,阻值減小,R2、R4為負(fù)值。再加之應(yīng)變片阻值變化的絕對值相同,即R1 = R3 = + R或1 = 3 = +R2 = R4= - R或2 = 4 = - 因此,V=×4 = e K。若考慮 Rm,則電橋的輸出電壓變成:V= = K e令SU = ,則SU = K SU稱為傳感器系數(shù)或傳感器輸出靈敏度。對于

13、一個(gè)高精度的應(yīng)變傳感器來說,僅僅靠4個(gè)應(yīng)變片組成橋式測量電路還是遠(yuǎn)遠(yuǎn)不夠的。由于彈性梁材料金相組織的不均勻性及熱處理工藝、應(yīng)變片性能及粘貼工藝、溫度變化等因素的影響,傳感器勢必產(chǎn)生一定的誤差。為了減少傳感器隨溫度變化產(chǎn)生的誤差,提高其精度和穩(wěn)定性,需要在橋路兩端和橋臂中串入一些補(bǔ)償元件。如:初始不平衡值的補(bǔ)償、零載輸出溫度補(bǔ)償、輸出靈敏度溫度補(bǔ)償?shù)取?.4.2前級放大器及二階低通濾波器由傳感器或敏感元件轉(zhuǎn)換后輸出的信號一般電平較低而由電橋等電路變換后的信號亦難以直接用來顯示、記錄、控制或進(jìn)行A/D轉(zhuǎn)換。為此,測量電路中常設(shè)有模擬放大和濾波環(huán)節(jié)。這一環(huán)節(jié)目前主要依靠由集成運(yùn)算放大器的基本元件構(gòu)成

14、具有各種特性的放大器來完成。放大器的輸入信號一般是由傳感器輸出的。傳感器的輸出信號不僅電平低,內(nèi)阻高,還常伴有較高的共模電壓。因此,一般對放大器有如下一些要求:1) 輸入阻抗應(yīng)遠(yuǎn)大于信號源內(nèi)阻。否則,放大器的負(fù)載效應(yīng)會使所測電壓造成偏差。2) 抗共模電壓干擾能力強(qiáng)。3) 在預(yù)定的頻帶寬度內(nèi)有穩(wěn)定準(zhǔn)確的增益、良好的線性,輸入漂移和噪聲應(yīng)足夠小以保證要求的信噪比。從而保證放大器輸出性能穩(wěn)定。4) 能附加一些適應(yīng)特定要求的電路。如放大器增益的外接電阻調(diào)整、方便準(zhǔn)確的量程切換、極性自動變換等。我們考慮了以下幾種方案:方案一 利用普通低溫漂運(yùn)算放大器構(gòu)成多級放大器。普通低溫漂運(yùn)算放大器構(gòu)成多級放大器會引

15、入大量噪聲。由于信號轉(zhuǎn)換器需要很高的精度,所以幾毫伏的干擾信號就會直接影響最后的測量精度。所以,此種方案不宜采用。方案二 由高精度低漂移運(yùn)算放大器構(gòu)成差動放大器。差動放大器具有高輸入阻抗,增益高的特點(diǎn),可以利用普通運(yùn)放(如OP07)做成一個(gè)差動放大器,如下圖所示: 圖2.6 利用普通運(yùn)放構(gòu)成的放大器電阻R1、R2和電容C1、C2、C3、C4用于濾除前級的噪聲,C1、C2為普通小電容,可以濾除高頻干擾,C3、C4為大的電解電容,主要用于濾除低頻噪聲。優(yōu)點(diǎn):輸入級加入射隨放大器,增大了輸入阻抗,中間級為差動放大電路,滑動變阻器R6可以調(diào)節(jié)輸出零點(diǎn),最后一級可以用于微調(diào)放大倍數(shù),使輸出滿足滿量程要求

16、。輸出級為反向放大器,所以輸出電阻不是很大,比較符合應(yīng)用要求。缺點(diǎn):此電路要求R3、R4相等,誤差將會影響輸出精度,難度較大。實(shí)際測量,每一級運(yùn)放都會引入較大噪聲,對精度影響較大12。方案三 采用專用儀表放大器,如:AD620,INA128等。此類芯片內(nèi)部采用差動輸入,共模抑制比高,差模輸入阻抗大,增益高,精度也非常好,且外部接口簡單。以 INA128為例,接口如下圖所示:圖2.7 INA128儀表放大結(jié)構(gòu)圖放大器增益 ,通過改變RG的大小來改變放大器的增益。INA128 具有體積小、功耗低、精度高、噪聲低和輸入偏置電流低的特點(diǎn)。其最大輸入偏置電流為20nA,這一參數(shù)反映了

17、它的高輸入阻抗。INA128在外接電阻RG時(shí),可實(shí)現(xiàn)11000范圍內(nèi)的任意增益;工作電源范圍為±2.3±18V;最大電源電流為1.3mA;最大輸入失調(diào)電壓為125V;頻帶寬度為120kHz(在G=100時(shí))?;谝陨戏治?,我決定采用制作方便而且精度很好的專用儀表放大器INA128。低通濾波是為了是濾去信號中的高頻干擾,使ADS采到更穩(wěn)定的信號,采用二階抵用濾波可以有效的提高系統(tǒng)的穩(wěn)定性。 前級放大及二階低通濾波電路2.4.3A/D轉(zhuǎn)換器 AD轉(zhuǎn)換原理1、逐次逼近法逐次逼近式A/D是比較常見的一種A/D轉(zhuǎn)換電路,轉(zhuǎn)換的時(shí)間為微秒級。采用逐次逼近法的A/D轉(zhuǎn)換器是由一個(gè)比較器、

18、D/A轉(zhuǎn)換器、緩沖寄存器及控制邏輯電路組成?;驹硎菑母呶坏降臀恢鹞辉囂奖容^,好像用天平稱物體,從重到輕逐級增減砝碼進(jìn)行試探。逐次逼近法轉(zhuǎn)換過程是:初始化時(shí)將逐次逼近寄存器各位清零;轉(zhuǎn)換開始時(shí),先將逐次逼近寄存器最高位置1,送入D/A轉(zhuǎn)換器,經(jīng)D/A轉(zhuǎn)換后生成的模擬量送入比較器,稱為    o,與送入比較器的待轉(zhuǎn)換的模擬量i進(jìn)行比較,若o<i,該位1被保留,否則被清除。然后再置逐次逼近寄存器次高位為1,將寄存器中新的數(shù)字量送D/A轉(zhuǎn)換器,輸出的    o再與i比較,若o<i,該位1被保留,否則被清除。重復(fù)此過程,直至逼近

19、寄存器最低位。轉(zhuǎn)換結(jié)束后,將逐次逼近寄存器中的數(shù)字量送入緩沖寄存器,得到數(shù)字量的輸出。逐次逼近的操作過程是在一個(gè)控制電路的控制下進(jìn)行的。2、雙積分法采用雙積分法的A/D轉(zhuǎn)換器由電子開關(guān)、積分器、比較器和控制邏輯等部件組成?;驹硎菍⑤斎腚妷鹤儞Q成與其平均值成正比的時(shí)間間隔,再把此時(shí)間間隔轉(zhuǎn)換成數(shù)字量,屬于間接轉(zhuǎn)換。雙積分法A/D轉(zhuǎn)換的過程是:先將開關(guān)接通待轉(zhuǎn)換的模擬量i,i采樣輸入到積分器,積分器從零開始進(jìn)行固定時(shí)間的正向積分,時(shí)間到后,開關(guān)再接通與i極性相反的基準(zhǔn)電壓F,將F輸入到積分器,進(jìn)行反向積分,直到輸出為0V時(shí)停止積分。i越大,積分器輸出電壓越大,反向積分時(shí)間也越長。計(jì)數(shù)器在反向積

20、分時(shí)間內(nèi)所計(jì)的數(shù)值,就是輸入模擬電壓i所對應(yīng)的數(shù)字量,實(shí)現(xiàn)了A/D轉(zhuǎn)換。A/D轉(zhuǎn)換器選用的原則:1、A/D 轉(zhuǎn)換器的位數(shù)。A/D 轉(zhuǎn)換器決定分辨率的高低。在系統(tǒng)中,A/D 轉(zhuǎn)換器的分辨率應(yīng)比系統(tǒng)允許引用誤差高一倍以上。2、A/D 轉(zhuǎn)換器的轉(zhuǎn)換速率。不同類型的A/D 轉(zhuǎn)換器的轉(zhuǎn)換速率大不相同。積分型的轉(zhuǎn)換速率低,轉(zhuǎn)換時(shí)間從幾豪秒到幾十毫秒,只能構(gòu)成低速A/D 轉(zhuǎn)換器,一般用于壓力、溫度及流量等緩慢變化的參數(shù)測試。逐次逼近型屬于中速A/D 轉(zhuǎn)換器,轉(zhuǎn)換時(shí)間為納秒級,用于個(gè)通道過程控制和聲頻數(shù)字轉(zhuǎn)換系統(tǒng)。3、是否加采樣/保持器。4、A/D 轉(zhuǎn)換器的有關(guān)量程引腳。有的A/D 轉(zhuǎn)換器提供兩個(gè)輸入引腳,不

21、同量程范圍內(nèi)的模擬量可從不同引腳輸入。5、A/D 轉(zhuǎn)換器的啟動轉(zhuǎn)換和轉(zhuǎn)換結(jié)束。一般A/D 轉(zhuǎn)換器可由外部控制信號啟動轉(zhuǎn)換,這一啟動信號可由CPU提供。轉(zhuǎn)換結(jié)束后A/D 轉(zhuǎn)換器內(nèi)部轉(zhuǎn)換結(jié)束信號觸發(fā)器置位,并輸出轉(zhuǎn)換結(jié)束標(biāo)志電平。通知微處理器讀取轉(zhuǎn)換結(jié)果。6、A/D 轉(zhuǎn)換器的晶閘管現(xiàn)象。其現(xiàn)象是在正常使用時(shí),A/D 轉(zhuǎn)換器芯片電流驟增,時(shí)間一長就會燒壞芯片。為防止這種現(xiàn)象,可采取如下措施:(1)加強(qiáng)抗干擾措施,盡量避免較大的干擾電流進(jìn)入電路;(2)加強(qiáng)電源穩(wěn)壓濾波措施, 在A/D 轉(zhuǎn)換器電源入口處加退耦濾波電路,為防止窄脈沖波竄入在電解電容上再接一高頻濾波電容;(3)在A/D 轉(zhuǎn)換器的電源端接一限

22、流電阻,可在出現(xiàn)晶閘管現(xiàn)象時(shí),有效地把電流限定在允許范圍內(nèi),以防止燒壞器件。選擇A/D 轉(zhuǎn)換器除考慮上述要點(diǎn)外,為防止對A/D 轉(zhuǎn)換器的技術(shù)指標(biāo)的影響,還要注意以下幾個(gè)問題:(1)工作電源電壓是否穩(wěn)定;(2)外接時(shí)鐘信號的頻率是否合適;(3)工作環(huán)境溫度是否符合器件要求;(4)與其它器件是否匹配;(5)外接是否有強(qiáng)的電磁干擾;(6)印刷線路板布線是否合理。由上面對傳感器量程和精度的分析可知:A/D轉(zhuǎn)換器誤差應(yīng)在3g以下。12位A/D精度:10Kg/4096=2.44g;14位A/D精度:10Kg/16384=0.61g;考慮到其他部分所帶來的干擾,12位A/D轉(zhuǎn)換器無法滿足系統(tǒng)精度要求。所以我

23、們需要選擇14位或者精度更高的A/D轉(zhuǎn)換器17。在此,可選TI公司16的DAS8513或者ADS8344如下為ADS8344管腳圖和電路連接圖2.5.1輸出顯示 本設(shè)計(jì)采用簡單的4位共陽動態(tài)數(shù)碼管顯示,譯碼與引腳圖如圖 4位共陽動態(tài)顯示數(shù)碼管接線圖4.1.2主程序設(shè)計(jì)流程圖單片機(jī)完成初始化程序后進(jìn)入主程序,主程序主要完成對存儲參數(shù)的讀取,對檢測到的數(shù)據(jù)進(jìn)行數(shù)據(jù)處理,顯示處理等。 開始 初始化讀取AD數(shù)據(jù)外部中斷按鍵調(diào)節(jié)時(shí)間數(shù)據(jù)處理理顯示時(shí)間If weight>0.030kg? NO YES 顯示weight4.2主程序設(shè)計(jì)及其相關(guān)程序設(shè)計(jì)4.2.1主程序設(shè)計(jì)#include<reg

24、52.h> /包含頭文件,一般情況不需要改動,#include<INTRINS.H>#define uchar unsigned char#define uint unsigned intsbit ADSDIN =P10;sbit ADSDATA =P11;sbit ADSCLK =P12;uchar time_temp=0;uchar flag =0 ;uchar flag0 =0 ;uint hour=0;uint minute=0;uint second=0;uint now_time=0;void delay(uint i) /軟件的不精確延時(shí)子程序 uint j ;

25、 for(j=0;j<i;j+)uint dispose(uchar t) /數(shù)據(jù)處理子程序,實(shí)行10的t次方 uchar k=0; uint num=1; for(k=0;k<t;k+) num=num*10; return(num);void display(uint number) /顯示程序 uchar codevalue10=0x14,0x77,0x4c,0x45,0x27,0x85,0x84,0x57,0x04,0x05;/不帶點(diǎn)編碼 uchar codevalue010=0x10,0x73,0x48,0x41,0x23,0x81,0x80,0x53,0x00,0x01

26、;/帶點(diǎn)編碼 uchar chocode4=0xef,0xdf,0xbf,0x7f; /片選編碼 uchar m4=0; uchar i,p=0; for(i=0;i<4;i+) mi=(number/(dispose(3-i)%10); p=mi; P2=chocodei; if(i=0) /顯示重量時(shí)小數(shù)點(diǎn)一直在第一位亮 if(flag0=1) P0=codevalue0p; else P0=codevaluep; if(i=1)/顯示時(shí)間時(shí)小數(shù)點(diǎn)在第2位閃亮 if(flag0=0)&&(flag=0) P0=codevalue0p; else P0=codevalu

27、ep;if(i>1) P0=codevaluep; delay(350); /*uint ADS7818() /ads7818為12位AD,精度不夠 uchar j; uintdata0 = 0; uint data1 =0; ADSCONV=0; ADSCLK=1; ADSCLK=0; ADSCLK=1; for(j=0;j<12;j+) ADSCLK=0; ADSCLK=1; data0=ADSDATA; data1=(data1<<1)+data0); ADSCONV=1; ADSCLK=0; ADSDATA=1; return(data1) ; */uint A

28、DS8344()/16位AD uchar j; uchar k; uint data0 =0; uint data1 =0; ADSCLK=0; /外部時(shí)鐘給AD delay(10); for(j=0;j<8;j+) ADSCLK=0;ADSCLK=1;ADSDIN =1; /給AD寫8位指令 ADSCLK=0; /先打1個(gè)半空拍 delay(1); ADSCLK=1; delay(1); ADSCLK=0; for(k=0;k<16;k+) /串行保存數(shù)據(jù) ADSCLK=1;ADSCLK=0;data0=ADSDATA; data1=(data1<<1)+data0)

29、; /保存16位數(shù)據(jù) ADSCLK=0;ADSDIN =0;return data1; uint data_dispose(uint temp) 、 /數(shù)據(jù)處理程序 uint temp0,temp1,temp2,temp3, temp4 ; temp0 = temp/10 ; /舍去不精確的最低位 temp1 = (temp0-230)/1476.030)*1000); temp2 = (temp1/10)*10; temp3 = (temp1%10)/5)*5) ; /處理顯示重量的最后一位 temp4 = (temp2 + temp3)-40); return temp4;void tim

30、e_init()/定時(shí)器、中斷初始化TMOD = 0x01; /打開定時(shí)器0TH0 = 0x3c ; /(65536-50000)/256;TL0 = 0xb0 ; /(65535-50000)%256;EA=1; ET0=1;TR0=1; IT0 = 1; /選取外部中斷為脈沖出發(fā)方式 IT0=0為電頻觸發(fā) EX0 = 1; /允許外部中斷0中斷/ EA = 1; IT1 = 1; /選取外部中斷為脈沖出發(fā)方式 IT1=0為電頻觸發(fā) EX1 = 1; /允許外部中斷1中斷 / EA = 1; /開總中斷uint time_updata() /時(shí)間更新if(second>=60)seco

31、nd = 0;minute+;if(minute>=60)minute=0;hour=(hour+100);if(hour>=2400)hour=0;now_time =(hour+minute);return now_time ; void main (void) uint DATA2=0; uint DATA=0; ADSDATA=1; ADSCLK=0; ADSDIN=0; time_init(); while (1) DATA2=ADS8344(); DATA = data_dispose(DATA2); if(DATA>=30) flag0=1; display(DATA); else flag0=0; time_updata(); display(now_time); void INT0_ISR() interrupt 0 /IE0請求標(biāo)志位由硬件置位觸發(fā)中斷,并由硬件清0 minute+;if(minute>=60) minute=0;hour=(hour+100); if(hour>=2400) hour=0; void time0(void) interrupt 1 /時(shí)間間隔為1

溫馨提示

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

最新文檔

評論

0/150

提交評論