(論文)基于單片機(jī)at89c52的電子秤論文最新優(yōu)秀畢業(yè)論文資料搜集嘔血奉獻(xiàn)_第1頁(yè)
(論文)基于單片機(jī)at89c52的電子秤論文最新優(yōu)秀畢業(yè)論文資料搜集嘔血奉獻(xiàn)_第2頁(yè)
(論文)基于單片機(jī)at89c52的電子秤論文最新優(yōu)秀畢業(yè)論文資料搜集嘔血奉獻(xiàn)_第3頁(yè)
(論文)基于單片機(jī)at89c52的電子秤論文最新優(yōu)秀畢業(yè)論文資料搜集嘔血奉獻(xiàn)_第4頁(yè)
(論文)基于單片機(jī)at89c52的電子秤論文最新優(yōu)秀畢業(yè)論文資料搜集嘔血奉獻(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩31頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

本科生畢業(yè)論文(設(shè)計(jì))摘 要本文介紹了一種基于單片機(jī)AT89C52的電子秤設(shè)計(jì)方法。系統(tǒng)使用應(yīng)變式壓力傳感器采集壓力信號(hào),用儀表放大器AD524放大信號(hào),用A/D轉(zhuǎn)換芯片ADC0809將模擬信號(hào)轉(zhuǎn)化為數(shù)字信號(hào),由單片機(jī)對(duì)信號(hào)進(jìn)行處理。重量,單價(jià),總價(jià)由LED顯示,單價(jià)通過(guò)鍵盤輸入。關(guān)鍵詞:電子秤;單片機(jī);應(yīng)變式壓力傳感器AbstractThe paper gives an introduction to the design of a kind of electronic balance based on Single-chip microcomputer AT89C52. The pressure sensor of strain gauge is used to collect pressure signal. The signal is amplified by the instrumentation amplifier AD524. The analog signal is transferred to the digital signal by the CMOS chip ADC0809. The Single-chip microcomputer handles the signal. Weight, unit price, and total price are showed by LED. The unit price is input by keyboard.Key Words: Electronic balance;Single-chip microcomputer;Pressure sensor of strain gauge 目錄前 言1一概 述2二 工作原理3(一)應(yīng)變式壓力傳感器3(二)儀表放大器5(三)A/D轉(zhuǎn)換6(四)單片機(jī)與鍵盤,顯示8(五)電源電路9(六)程序10三 實(shí)驗(yàn)中遇到的問(wèn)題12(一) 傳感器部分12(二)放大器部分14(三) A/D轉(zhuǎn)換部分16(四)精度,量程及誤差17參考文獻(xiàn)18附 錄19致 謝2533前 言隨著經(jīng)濟(jì)的發(fā)展,出售商品的增多,需要稱量物品的設(shè)備也隨之更新?lián)Q代。多功能電子秤是現(xiàn)代生活中應(yīng)運(yùn)而生的一種精確,智能,明了,方便,可靠的稱量?jī)x器。它克服了傳統(tǒng)桿秤,臺(tái)秤,不精確,速度慢,不能計(jì)價(jià),容易作弊的特點(diǎn)。電子秤在商業(yè)領(lǐng)域應(yīng)用越來(lái)越多。本文介紹一種多功能電子秤的設(shè)計(jì)和制作方法。該電子秤具有輸入單價(jià),顯示單價(jià),重量,總價(jià)的功能。一概 述本電子秤系統(tǒng)由以下幾個(gè)部分組成。傳感器,放大電路,A/D轉(zhuǎn)換電路,單片機(jī)主控模塊。框架如圖1所示圖1 電子秤系統(tǒng)框架傳感器采用應(yīng)變式壓力傳感器,該傳感器可以將壓力信號(hào)轉(zhuǎn)化成為電信號(hào)。放大電路采用儀表放大器,用以將小的模擬信號(hào)放大。A/D轉(zhuǎn)換將模擬信號(hào)轉(zhuǎn)化成數(shù)字信號(hào),單片機(jī)接收后可以對(duì)其進(jìn)行處理。下面將詳細(xì)介紹各個(gè)組成部分工作原理。二 工作原理(一) 應(yīng)變式壓力傳感器導(dǎo)體或半導(dǎo)體在受到外界力作用時(shí),產(chǎn)生機(jī)械形變,機(jī)械形變導(dǎo)致其阻值變化,這種因形變而使其阻值發(fā)生變化的現(xiàn)象稱為“應(yīng)變效應(yīng)”。導(dǎo)體或半導(dǎo)體的電阻 ,當(dāng)導(dǎo)體或半導(dǎo)體在受外力作用時(shí),這三者都會(huì)發(fā)生變化,所以會(huì)引起電阻的變化。用于測(cè)量應(yīng)變變化而引起的電阻變化的電橋通常有直流電橋和交流電橋,本設(shè)計(jì)采用的傳感器是直流電橋式,外部結(jié)構(gòu)如圖2所示。圖2 應(yīng)變式傳感器外部結(jié)構(gòu)其內(nèi)部電路結(jié)構(gòu)如圖3所示。其中,R1,R2,R3,R4均為應(yīng)變式電阻。圖3 應(yīng)變式傳感器內(nèi)部電路結(jié)構(gòu)當(dāng)R時(shí),電橋的輸出電壓應(yīng)為 當(dāng)電橋平衡時(shí),Uo=0,由上式可得,這是電橋平衡的條件。平衡電橋就是橋路中相鄰兩臂阻值之比相等,橋路相鄰兩臂阻值之比相等方可使流過(guò)負(fù)載電阻的電流為0。如果在實(shí)際測(cè)量中,使第一橋臂R1由應(yīng)變片來(lái)代替,由于放大器的輸入阻抗可以比輸出阻抗高的多,所以此時(shí)視電橋?yàn)殚_(kāi)路。當(dāng)受應(yīng)變時(shí),若應(yīng)變片電阻變化為R1,其它橋臂固定不變,則電橋輸出電壓為設(shè)橋臂比,由于R1R1,分母中可以忽略,并考慮到起始平衡條件可得 ,電橋電壓靈敏度定義為: 。由上式可以發(fā)現(xiàn): 電橋電壓靈敏度正比于電橋供電電壓,供橋電壓越大,電橋靈敏度越高; 電橋電壓靈敏度是橋臂電阻比值n的函數(shù),因此必須恰當(dāng)選擇橋臂比n的值,保證電橋具有較高的靈敏度。在上面的分析中,是假定應(yīng)變片的參數(shù)變化很小,而且可以忽略掉,這是一種理想情況。在實(shí)際中,是不可忽略的。此時(shí)的輸出電壓與的關(guān)系是非線性的。減小或消除非線性誤差的方法有如下幾種:提高橋臂比:但從電壓靈敏度來(lái)考慮,電橋電壓靈敏度將降低,這是一對(duì)矛盾。因此,為了達(dá)到既減小非線性誤差,又不降低其靈敏度,必須適當(dāng)提高供橋電壓。采用差動(dòng)電橋:若使一個(gè)應(yīng)變片受壓,一個(gè)受拉,則可完全消除非線性誤差,且電壓靈敏度比使用一只應(yīng)變片提高了一倍。如果兩個(gè)應(yīng)變片受拉,另外兩個(gè)受壓,構(gòu)成全橋差動(dòng)電路。若滿足R1=R2=R3=R4則電壓靈敏度比使用單個(gè)應(yīng)變片提高了四倍。對(duì)于現(xiàn)成的傳感器,我們無(wú)法改變電橋的橋臂比,只能適當(dāng)提高供橋電壓。本系統(tǒng)采用的傳感器就是全橋差動(dòng)電路,四個(gè)橋臂的電阻均為1K,具有較好的靈敏度和線性特征。當(dāng)載荷W作用時(shí),R2,R3受拉,電阻變大,R1,R4受壓,電阻變小。電橋失去平衡,產(chǎn)生U電壓輸出,且U與W成正比即U=E =,對(duì)于該雙彎曲梁的應(yīng)變?yōu)閐 梁端到梁中心的距離; 梁端到應(yīng)變片的距離;h 梁厚度;b 梁寬度;F 材料的彈性模數(shù);a 應(yīng)變片的基長(zhǎng)。那么雙聯(lián)孔傳感器的輸出為傳感器靈敏度為。(二)儀表放大器壓力傳感器輸出的信號(hào)很小,不能直接進(jìn)行A/D轉(zhuǎn)換,必須進(jìn)行放大。然而對(duì)于多數(shù)的傳感器其等效電阻不是常量,它們隨所測(cè)物理量的變化而變。這樣對(duì)于放大器而言,當(dāng)信號(hào)源內(nèi)阻為時(shí),根據(jù)電壓放大倍數(shù)的表達(dá)式可知放大器的放大能力將隨信號(hào)大小而變,為了保證放大器對(duì)不同幅值的信號(hào)具有穩(wěn)定的放大倍數(shù),就必須使得放大器的輸入電阻,越大因信號(hào)源內(nèi)阻變化而引起的放大誤差就越小。這就是本電子秤系統(tǒng)采用儀表放大器的原因。儀表放大器的原理圖如圖4所示圖4 儀表放大器的原理圖在圖4所示的電路中,=,=,因而有即 所以輸出電壓為當(dāng)時(shí),由于,中電流為零,輸出電壓??梢?jiàn),電路放大差模信號(hào),抑制共模信號(hào)。差模放大倍數(shù)越大,共模抑制比越高。由上可知,儀表放大器是一種閉環(huán)增益組件, 它具有一對(duì)差分輸入和一個(gè)單端輸出。它與運(yùn)算放大器相比不同點(diǎn)是,運(yùn)算放大器的閉環(huán)增益是由其反相輸入端與輸出端之間連接的外部電阻決定, 而儀表放大器則是由與輸入隔離的內(nèi)部反饋電阻決定。(三)A/D轉(zhuǎn)換A/D轉(zhuǎn)換技術(shù)有如下幾種:計(jì)數(shù)器式,逐次逼近式,雙積分式和并行式。本系統(tǒng)采用的ADC0809屬于逐次逼近式,如圖5所示。圖5 逐次逼近式A/D如圖所示的逐次逼近式ADC采用寄存器控制DAC。轉(zhuǎn)換前,寄存器各位清除為零。轉(zhuǎn)換時(shí),寄存器先由最高位置1,DAC輸出值與被測(cè)的模擬值進(jìn)行比較:如果“低于”,該位的1被保留;如果“高于”該位的1被清除。然后下一位再置1,再比較,決定去留,直至最低位完成同一過(guò)程。寄存器從最高位到最低位試探完的最終值就是A/D轉(zhuǎn)換的結(jié)果。ADC0809內(nèi)部結(jié)構(gòu)如圖6所示,引腳圖如圖7所示。圖6 ADC0809內(nèi)部結(jié)構(gòu) 圖7 ADC0809引腳圖IN0IN7是八個(gè)模擬電壓輸入端,ADDA,ADDB,ADDC是3個(gè)地址輸入線,而ALE是地址鎖存允許信號(hào),上升沿用于鎖存3個(gè)地址輸入狀態(tài),然后由譯碼器選中一個(gè)模擬輸入端進(jìn)行A/D轉(zhuǎn)換。ADC0809工作時(shí)序如圖8所示,模擬通道的選擇如圖9所示。圖8 ADC0809工作時(shí)序 圖9 模擬通道的選擇轉(zhuǎn)換過(guò)程由START啟動(dòng),信號(hào)上升沿將內(nèi)部逐次逼近寄存器復(fù)位,下降沿啟動(dòng)A/D轉(zhuǎn)換。轉(zhuǎn)換完成有結(jié)束信號(hào)EOC指示。該信號(hào)平時(shí)為高電平。START信號(hào)上升沿之后2s加8個(gè)時(shí)鐘周期之內(nèi)變?yōu)榈碗娖?。轉(zhuǎn)換結(jié)束EOC又變?yōu)楦唠娖?。VREF(),VREF()為參考電壓輸入。從輸入模擬量轉(zhuǎn)化成數(shù)字輸出量N的公式為(四)單片機(jī)與鍵盤,顯示本系統(tǒng)采用了AT89C52單片機(jī),44矩陣式鍵盤,4位LED數(shù)碼顯示,其接法如圖10所示圖10 單片機(jī)與鍵盤LED的接法圖11是鍵盤與單片機(jī)P1口P3口的連接方法,其中P1.0P1.3接鍵盤的行,P3.2P3.5接鍵盤的列。圖11 鍵盤與單片機(jī)P1口,P3口的連接方法從按一個(gè)鍵到鍵的功能被執(zhí)行應(yīng)包含兩項(xiàng)工作:一是鍵的識(shí)別,即在鍵盤中找到被按的是哪個(gè)鍵;另一項(xiàng)是鍵功能的實(shí)現(xiàn)。對(duì)第一項(xiàng)內(nèi)容,鍵盤接口應(yīng)完成以下操作功能:鍵盤掃描,以判定是否有鍵被按下鍵識(shí)別,以確定閉合鍵的行列位置產(chǎn)生閉合鍵鍵碼排除多鍵,串鍵及去抖動(dòng)具體過(guò)程如下,先由P3.2P3.5輸出全0,再由P1.4P1.7讀入數(shù)據(jù),如果為全1則說(shuō)明沒(méi)有鍵按下。如果某一位為零則說(shuō)明有鍵按下,同時(shí)可以判斷出的哪一根線是低電平,即判斷出是哪一行。這時(shí)P3.5P3.2再依次輸出0111B,1011B,1101B,1110B,分別由P1.4P1.7讀入,由此就可以判斷出是哪一列。這樣就可以判斷出是哪一個(gè)鍵被按下了。為保證鍵掃描的正確,需要進(jìn)行去抖動(dòng)處理。去抖動(dòng)有硬件和軟件兩種方法。軟件方法比較常用,它是采用延遲以躲過(guò)抖動(dòng),待行線狀態(tài)穩(wěn)定后,再進(jìn)行狀態(tài)輸入。另外,得到鍵碼之后需要再延時(shí)以等待按鍵的釋放。對(duì)于LED而言,用P1.4P1.7作為位選,P2作為段選。采取循環(huán)顯示的方法。電路連接簡(jiǎn)單,又能節(jié)省部分接口。數(shù)碼顯示管構(gòu)造及連接如圖12所示。每個(gè)R1右端分別接P1.4P1.7。圖12 數(shù)碼顯示管構(gòu)造及連接 圖13 電源電路原理(五)電源電路本系統(tǒng)采用的電源電路原理如圖13所示。220V市電經(jīng)變壓器轉(zhuǎn)換為幅度較低的交流電,經(jīng)二極管整流電路將交流電負(fù)半周期的波形搬移到與正半周期同相,由電容對(duì)其進(jìn)行濾波,由三端穩(wěn)壓器對(duì)其進(jìn)行穩(wěn)壓。本系統(tǒng)需要用到的電壓有+12V,-12V,+5V,-5V,分別使用兩組變壓器產(chǎn)生正負(fù)電壓。因此需采用的三端穩(wěn)壓器有7805,7905,7812,7912。(六)程序本系統(tǒng)程序由以下幾個(gè)部分組成:主函數(shù)(main):主要實(shí)現(xiàn)判斷是否有鍵按下,得到鍵碼,調(diào)用顯示函數(shù),鍵碼識(shí)別函數(shù)及實(shí)現(xiàn)按鍵功能。顯示子函數(shù)(LEDshow):將接收到的實(shí)際數(shù)轉(zhuǎn)化成LED要顯示的數(shù),并實(shí)現(xiàn)循環(huán)顯示。鍵盤掃描子函數(shù)(kbscan,kbscan2):判斷出按鍵的行列。(流程圖略)鍵碼處理子函數(shù)(kbscandw):實(shí)現(xiàn)鍵碼功能。主函數(shù),顯示子函數(shù),鍵碼處理子函數(shù)流程如圖14,圖15,圖16所示。 圖14 主函數(shù)流程圖圖15 顯示子函數(shù)流程圖圖16 鍵碼處理子函數(shù)流程圖三 實(shí)驗(yàn)中遇到的問(wèn)題以上簡(jiǎn)單介紹電子秤各個(gè)部分的工作原理,下面對(duì)對(duì)實(shí)驗(yàn)中遇到的問(wèn)題及解決方案進(jìn)行論證。(一) 傳感器部分以下是傳感器在10V電壓作用下稱量0-2000g的重物時(shí)輸出的一組電壓值。重量使用物理天平砝碼標(biāo)定。重量/g050100150200250300350400450電壓/mv-0.7-0.6-0.5-0.4-0.2-0.100.10.20.3重量/g500550600650700750800850900950電壓/mv0.40.550.70.80.911.21.31.41.5重量/g1000105011001150120012501300135014001450電壓/mv1.651.81.922.12.32.42.52.62.75重量/g15001550160016501700175018001850190019502000電壓/mv2.933.13.23.43.53.63.73.8544.1根據(jù)以上數(shù)據(jù)繪制的傳感器重量-電壓應(yīng)變曲線如圖17所示。圖17 傳感器重量-電壓應(yīng)變曲線由以上數(shù)據(jù)可知,重量-電壓大致呈線性關(guān)系,但在幾個(gè)部分存在拐點(diǎn),這就要求在程序中對(duì)非線性的成分進(jìn)行修正。修正方法:找出拐點(diǎn),在不同的區(qū)域用不同的計(jì)算式計(jì)算重量。修正方法如圖18所示。圖18 軟件修正傳感器非線性方法另外,傳感器的零偏電壓為負(fù)值,考慮到信號(hào)被放大后需要經(jīng)A/D轉(zhuǎn)換芯片轉(zhuǎn)換成數(shù)字信號(hào),而A/D轉(zhuǎn)換芯片ADC0809不能轉(zhuǎn)換負(fù)電壓,這個(gè)問(wèn)題可以通過(guò)下幾個(gè)方案解決。利用加法器將傳感器輸出的電壓提升。同相求和運(yùn)算電路原理圖如圖19所示圖19 同相求和運(yùn)算電路由上圖可得。于是可以將傳感器經(jīng)過(guò)放大器放大后的信號(hào)接入,將大約1V的電壓接入,這樣輸出的電壓就可以直接被ADC0809轉(zhuǎn)換了。這種方案優(yōu)點(diǎn)在于從根本上解決輸出電壓轉(zhuǎn)換得問(wèn)題。缺點(diǎn)在于增加了電路的復(fù)雜程度,需要另外提供約1V的電壓。直接從輸出正電壓時(shí)測(cè)量從傳感器輸出的重量-電壓數(shù)據(jù)中可以看出,承重約330g以上。輸出電壓為正??梢钥紤]通過(guò)加大秤盤自重的方法抵消這段輸出為負(fù)的數(shù)據(jù)。這種方法的優(yōu)點(diǎn)在于簡(jiǎn)便易行。缺點(diǎn)在于犧牲了傳感器的部分量程,增加了電子秤的自重。本設(shè)計(jì)采用方案。(二)放大器部分由原理部分的分析可知,放大傳感器的信號(hào)需要采用儀表放大器??捎幸韵聝商追桨笇?shí)現(xiàn)。自己搭建儀表放大器采用LM324搭建儀表放大器。LM324是一個(gè)由四個(gè)運(yùn)算放大器組成的芯片,內(nèi)部結(jié)構(gòu)如圖20所示,連結(jié)方式如圖21所示。圖20 LM324內(nèi)部結(jié)構(gòu) 圖21連接方式圖中Rf=10K,R=10K,R1=10K,R2=20.實(shí)驗(yàn)測(cè)得放大倍數(shù)達(dá)到1000倍。在不加入反饋電容的時(shí)候,電路產(chǎn)生了自激振蕩,放大器不能穩(wěn)定工作。加入5pF電容后,自激振蕩被消除。但放大器仍然不能正常放大傳感器信號(hào)。對(duì)LM324而言,其偏置電壓范圍為27mV,遠(yuǎn)遠(yuǎn)大于傳感器輸出信號(hào),這樣,傳感器輸出信號(hào)被淹沒(méi)。因此這種方案不可取。使用儀表放大器AD524儀表放大器具有如下特點(diǎn) 共模抑制比高 線性誤差低:線性誤差為0. 01 %到0. 0001 %。 輸入阻抗高:輸入阻抗的典型值為。 噪聲低失調(diào)電壓和失調(diào)電壓漂移低:由于儀表放大器由兩個(gè)獨(dú)立部分組成:輸入級(jí)和輸出級(jí),所以總輸出失調(diào)等于輸入失調(diào)乘以增益加上輸出失調(diào)。輸入和輸出失調(diào)的典型值分別為100V 和2mV 。 穩(wěn)定性好:這是因?yàn)橛绊憙x表放大器性能的主要元件均集成在芯片內(nèi)部,而外圍所需的元件(電阻或電阻對(duì)) 僅決定其增益。本系統(tǒng)采用的AD524管腳如圖22所示,內(nèi)部結(jié)構(gòu)如圖23所示,與傳感器連結(jié)電路圖如圖24所示。圖22 AD524芯片管腳 圖23 AD524內(nèi)部結(jié)構(gòu)圖24 AD524與傳感器的連結(jié)電路(三) A/D轉(zhuǎn)換部分A/D轉(zhuǎn)換器與CPU之間傳送數(shù)據(jù)的方法有以下幾種方式 查詢法 查詢法是由CPU來(lái)檢查EOC信號(hào)。當(dāng)CPU啟動(dòng)ADC芯片開(kāi)始轉(zhuǎn)換之后,再通過(guò)狀態(tài)端口讀取EOC信號(hào),檢查ADC是否轉(zhuǎn)換結(jié)束。若轉(zhuǎn)換結(jié)束,則讀取轉(zhuǎn)換結(jié)果,否則繼續(xù)查詢。 中斷法 用中斷法可提高CPU的利用率,當(dāng)ADC轉(zhuǎn)換結(jié)束,由EOC信號(hào)上升沿向CPU發(fā)出中斷請(qǐng)求,CPU響應(yīng)中斷在服務(wù)程序中讀取結(jié)果。 延時(shí)等待法 是利用CPU執(zhí)行一條輸出指令,啟動(dòng)ADC轉(zhuǎn)換,然后CPU執(zhí)行延時(shí)程序,延時(shí)時(shí)間大于所選用的ADC芯片轉(zhuǎn)換時(shí)間,延時(shí)結(jié)束,CPU執(zhí)行輸入指令,打開(kāi)三態(tài)門獲取ADC轉(zhuǎn)換好的數(shù)據(jù)。本系統(tǒng)采用延時(shí)等待法。ADC0809與單片機(jī)的連接如圖25所示。圖25 ADC0809與單片機(jī)的連接ADDA,ADDB,ADDC均接地,選中IN0。單片機(jī)的ALE輸出晶振頻率的12分頻,約為1MHz,為ADC0809的clock提供時(shí)鐘。因?yàn)椴捎醚訒r(shí)的方法,EOC懸空。START和ALE連接在一起啟動(dòng)轉(zhuǎn)換的同時(shí)鎖存地址。OE接單片機(jī)P3.7。D0D1接入單片機(jī)P0口,讀入數(shù)據(jù)。(四)精度,量程及誤差經(jīng)實(shí)際測(cè)量,制作出的電子秤量程可達(dá)2Kg,精度達(dá)到10g。分析誤差產(chǎn)生的原因有如下幾點(diǎn):當(dāng)稱量的重物滿量程既達(dá)到2Kg時(shí),傳感器的信號(hào)經(jīng)放大器放大后的電壓為4.1V,重量每變化1g,電壓變化約為2mV。模數(shù)轉(zhuǎn)換芯片ADC0809是8位模數(shù)轉(zhuǎn)換芯片,參考電壓為0V,5V。模數(shù)轉(zhuǎn)換可以分辨的最小電壓為19.6mV。這樣產(chǎn)生的系統(tǒng)誤差為9.8g。電源電壓不穩(wěn)定使得高精度儀表放大器放大倍數(shù)出現(xiàn)波動(dòng)。儀表放大器存在偏置電壓,最大為250uV,這會(huì)對(duì)電壓放大倍數(shù)產(chǎn)生影響。對(duì)于傳感器而言,所稱重量和輸出電壓呈非線性關(guān)系。減小誤差方法如下: 由于ADC位數(shù)不夠帶來(lái)的誤差,只有更換位數(shù)更多的A/D轉(zhuǎn)換芯片才能從根本上解決這一問(wèn)題。 放大器偏置電壓使得模數(shù)轉(zhuǎn)換每次得到的數(shù)存在較小差別,程序采用了多次轉(zhuǎn)換求平均值的辦法減小了由此引起的誤差。 對(duì)于重量和輸出電壓呈非線性關(guān)系的誤差,可以在程序中對(duì)這一非線性關(guān)系進(jìn)行修正。參考文獻(xiàn)1 童詩(shī)白,華成英模擬電子技術(shù)基礎(chǔ). 高等教育出版社,2003:171-378 2 陳明熒.8051單片機(jī)設(shè)計(jì)實(shí)訓(xùn)教材.清華大學(xué)出版社,2004:120-2083 李廣第,朱月秀.單片機(jī)基礎(chǔ).北京航空航天大學(xué)出版社,2001:11-2194 錢曉捷,陳濤.16/32位微機(jī)原理,匯編語(yǔ)言及接口技術(shù)(第2版).機(jī)械工業(yè)出版社,2005:295-3065 閻石.數(shù)字電子技術(shù)基礎(chǔ). 高教出版社,2004:135-2286 黃賢武. 傳感器原理與應(yīng)用. 高等教育出版社,2004:17-37附 錄程序代碼編寫如下#includevoid LEDshow (unsigned char*p); /顯示子函數(shù)void kbscan(unsigned int k); /鍵盤掃描子函數(shù)void kbscan2(void); /鍵盤掃描子函數(shù)void kbscandw(unsigned int l); /鍵碼功能實(shí)現(xiàn)子函數(shù)/ xianshi4存放當(dāng)前要顯示的4個(gè)數(shù),/開(kāi)始時(shí)顯示全0;/sig標(biāo)志是否已有小數(shù)點(diǎn)按下;/n1表示當(dāng)前數(shù)字是第幾次按鍵;/n2表示當(dāng)前數(shù)是小數(shù)點(diǎn)后第幾位/realnum四次按鍵輸入的實(shí)際數(shù);/l鍵碼;/hang,lie當(dāng)前按鍵的行列數(shù);/NN2存放四次按鍵每個(gè)數(shù)在小數(shù)點(diǎn)后/的位置;/LL2存放每次按鍵的鍵碼;/result模數(shù)轉(zhuǎn)換后接收到的數(shù);/zongjia總價(jià)idata unsigned char=0,0,0,0; idata unsigned char sig=0,n1=0,n2=0; idata unsigned char l; idata unsigned char hang,lie;idata unsigned char NN24=0,0,0,0,LL4=0,0,0,0;idata unsigned int result,res=0;idata float realnum,zongjia;sbit p36=P36;sbit p37=P37;sbit p10=P10;main() unsigned int kbnum44=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15; /存放鍵碼 unsigned char h; unsigned int e; while(1) LEDshow(xianshi);/調(diào)用顯示子函數(shù) P1=0xff;/關(guān)閉所有位選 P3=0;/判斷是否有鍵按下 h=P1; h=h&0x0f; if(h0x0f) for(e=0;e500;e+);/延時(shí)去抖動(dòng) if(h0x0f) kbscan(h);/調(diào)用鍵盤掃描函數(shù) l=kbnumhang-1lie-1; /得到鍵碼 kbscandw(l);/調(diào)用鍵碼處理函數(shù) void LEDshow(unsigned char*p) /顯示子程序unsigned char LEDbod20=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10;/LED顯示0,1,2,3,4,5,6,7,8,9,0.,1.,2.,3.,4.,5.,6.,7.,8.,9.,0.的實(shí)際代碼unsigned int i=0,a,e; jixu: P1=0xff; /關(guān)閉所有的位選 switch(i) /位選右移 case 0:a=0x70;break; case 1:a=0xb0;break; case 2:a=0xd0;break; case 3:a=0xe0;break; P2=LEDbodpi; /把十進(jìn)制數(shù)轉(zhuǎn)化成要顯示的實(shí)際代碼并送給LED,/pi既要顯示的數(shù) P1=a; for( e=0;e100;e+); /延時(shí)已增加亮度 P2=0xff; i+; if(i!=4)goto jixu; /顯示完4個(gè)回去讀取新數(shù) return;void kbscan(unsigned int k) /掃描行unsigned int p,e; switch(k) case 0x07:kbscan2();hang=1;doP3=0;p=P1;p=p&0x0f;for( e=0;e1000;e+);while(p0x0f);return ; /等待按鍵釋放 case 0x0b:kbscan2();hang=2;doP3=0;p=P1;p=p&0x0f;for( e=0;e1000;e+);while(p0x0f);return ; case 0x0d:kbscan2();hang=3;doP3=0;p=P1;p=p&0x0f;for( e=0;e1000;e+);while(p0x0f);return ; case0x0e:kbscan2();hang=4;doP3=0;p=P1;p=p&0x0f;for( e=0;e1000;e+);while(p0x0f);return ; void kbscan2(void) /掃描列unsigned int h; P3=0x38;h=P1;h=h&0x0f;if(h0x0f)lie=4;return; P3=0x34;h=P1;h=h&0x0f;if(h0x0f)lie=3;return; P3=0x2c;h=P1;h=h&0x0f;if(h0x0f)lie=2;return; P3=0x1c;h=P1;h=h&0x0f;if(h0x0f)lie=1;return;void kbscandw(unsigned int l)/鍵碼處理子函數(shù)unsigned char i=0,j,e; unsigned int a,b,c;if(l=12)/顯示總價(jià)鍵 for(e=0;e=100)a=(int)(zongjia*10);/判斷總價(jià)的范圍,取出各位的數(shù)并顯示for(i=4;i0;i-)xianshii-1=a%10;a=a/10;xianshi2=xianshi2+10;else if(zongjia=10)a=(int)(zongjia*100); for(i=4;i0;i-)xianshii-1=a%10; a=a/10; xianshi1=xianshi1+10;else if(zongjia=1)a=(int)(zongjia*1000);for(i=4;i0;i-)xianshii-1=a%10; a=a/10; xianshi0=xianshi0+10; else a=(int)(zongjia*1000) ; for(i=4;i0;i-) xianshii-1=a%10;a=a/10; xianshi0=xianshi0+10; return; else if(l=11)/模數(shù)轉(zhuǎn)換鍵 for(e=0;e4;e+)xianshie=0;/顯示清0 for(j=0;j50;j+)/進(jìn)行50次模數(shù)轉(zhuǎn)換,取平均值 p36=0; p36=1; p36=0; for(i=0;i100;i+); /延時(shí)等待轉(zhuǎn)換完成 p37=1; result=P0; p37=0; res=result+res; result=res/50; c=result*10-10; b=result*8.3;/校正傳感器輸出電壓的非線性 if(result2)result=0; else if(result7)result=c; else if(result=19) result=b+13; else if(result=34)result=c-20 ;else if(result=40)result=b+38;else if(result=60)result=c-30;else if(result=66)result=b+72;else if(result=81)result=c-40;else if(result=87)result=b+97;else if(result=132)result=c-50;else if(result=138)result=b+174;else if(result=158)result=c-60; else if(result=164)result=b+208; else if(result=179)result=c-70; else if(result=185)result=b+234; else result=c-80; if(result100) xianshi2=result/10;/判斷重量的大小并顯示 else if(result1000)xianshi1=result/100;xianshi2=(result%100)/10; else xianshi0=result/1000;xianshi1=(result%1000)/100;xianshi2=(result%1000)%100)/10; res=0; return; else if (l=15)/確定鍵realnum=LL0*1000+LL1*100+LL2*10+LL3; switch(NN23) case 0:break; case 1:realnum=realnum/10;break; case 2:realnum=realnum/100;break; case 3:realnum=realnum/1000;break; /得到四次按鍵鍵入的單價(jià) while(i4)xianshii=LLi;i+; /顯示單價(jià)switch(NN23)/加小數(shù)點(diǎn)case 0:break;case 1:xianshi2=xianshi2+10;break;case 2:xianshi1=xianshi1+10;break;case 3:xianshi0=xianshi0+10;break; sig=0;/標(biāo)志位及存放數(shù)據(jù)的數(shù)組,變量清零n1=0; n2=0;NN20=0;NN21=0;NN22=0;NN23=0;LL0=0;LL1=0;LL2=0;LL3=0;return; else if(sig=1)n2+; /如果已有小數(shù)點(diǎn),小數(shù)標(biāo)志加1else if(l=10) sig=1; xianshin1-1=xianshin1-1+10; return;/該次按鍵是否小數(shù)點(diǎn)NN2n1=n2;/如果鍵入的是數(shù)字,將其存入LL,實(shí)時(shí)顯示,按鍵次數(shù)加1LLn1=l;xianshin1=l; n1+; return;致 謝 感謝我的導(dǎo)師鈕金真教授,本課題的選題和研究過(guò)程都是在鈕老師的悉心指導(dǎo)下完成的。鈕老師時(shí)時(shí)關(guān)注研究進(jìn)度,并在百忙之中不時(shí)給予督促和指導(dǎo),使我得以開(kāi)拓思路,順利完成畢業(yè)設(shè)計(jì)。在我的研究過(guò)程中,鈕老師熱心的提供實(shí)驗(yàn)用具和元件,這為我的工作提供了便利,大大節(jié)約工作時(shí)間。除此之外,鈕老師還對(duì)我學(xué)習(xí)和生活中遇到的問(wèn)題給與幫助和指點(diǎn),在此我要向鈕老師表示我深深的感謝。感謝王繼業(yè)老師,在我的畢業(yè)設(shè)計(jì)遇到困難時(shí),是他給我指點(diǎn)迷津,寥寥數(shù)語(yǔ)使我豁然開(kāi)朗。王老師嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度,一絲不茍的作風(fēng)一直是我學(xué)習(xí)中的榜樣。感謝陳志紅老師,從我的畢業(yè)設(shè)計(jì)剛剛開(kāi)始的時(shí)候,陳老師就一直熱心的給予我?guī)椭?。她和藹可親,平易近人的態(tài)度給我留下了深刻的印象。感謝廖芳老師、洪小葉老師、王靜老師、馬曉玲老師,鄒慧蘭老師,羅文老師等對(duì)我的教育培養(yǎng)。他們細(xì)心指導(dǎo)我的學(xué)習(xí)與研究,在此,我要向諸位老師深深地鞠上一躬。感謝楊超同學(xué),曹宇同學(xué)對(duì)我畢業(yè)設(shè)計(jì)上的幫助。感謝我的室友三年來(lái)對(duì)我學(xué)習(xí)、生活的關(guān)心和幫助。文獻(xiàn)翻譯原文Intelligent SensorsBackground To support the requirements of distributed sensor networks, sensors must possess greater functionality than simply gathering data and blindly transmitting the data to a centralized sensor node. Intelligent sensors are an extension of traditional sensors to those with advanced learning and adaptation capabilities. The system must also be re-configurable and perform the necessary data interpretation, fusion of data from multiple sensors and the validation of local and remotely collected data. Intelligent sensors therefore contain embedded processing functionality that provides the computational resources to perform complex sensing and actuating tasks along with high level applications. The functions of an intelligent sensor system can be described in terms of compensation, information processing, communications and integration. The combination of these respective elements allow for the development of intelligent sensors that can operate in a multi-modal fashion as well conducting active autonomous sensing. Compensation is the ability of the system to detect and respond to changes in the network environment through self-diagnostic routines, self-calibration and adaptation. An intelligent sensor must be able to evaluate the validity of collected data, compare it with that obtained by other sensors and confirm the accuracy of any following data variation. This process essentially encompasses the sensor configuration stage. Information processing encompasses the data related processing that aims to enhance and interpret the collected data and maximize the efficiency of the system, through signal conditioning, data reduction, event detection and decision making. This may involve a collection of filtering and other data manipulation techniques together with advanced learning techniques for feature extraction and classification in order to provide the most relevant data in an efficient representation to the communications interface. Communications component of intelligent sensor systems incorporates the standardized network protocol which serves to links the distributed sensors in a coherent manner, enabling efficient communications and fault tolerance. Traditional task specific sensor systems often contain a number of limitations in terms of complexity, cost and flexibility. Intelligent sensors aim to overcome these limitations through the utilization of standardized transducer interfaces and communications protocols, resulting in autonomous, distributed, re-configurable sensors. Integration in intelligent sensors involves the coupling of sensing and computation at the chip level. This can be implemented using micro electro-mechanical systems (MEMS), nano-technology and bio-technology. A hierarchical structure can be used to describe the functionality of the system, where the lower layer performs the signal processing functions, the middle layer performs the information processing and the upper layer performs the knowledge processing and communications. Validation of sensors is required to avoid the potential disastrous effects of the propagation of erroneous data. This is different problem than overcoming individual sensor failure. A control system operating decisions made on faulty data can lead to unpredictable behaviour or even complete system failure. The impact of such errors may be reduced through the use of a dense sensor network. The incorporation of data validation into intelligent sensors increases the overall reliability of the system. So an effective means for performing this function is required. Two approaches are analytical redundancy and hardware redundancy. Analytical redundancy utilizes a mathematical model that compares the static and dynamic relationship between sensor measurements and effectively determines the expected sensor value. The computational expense of this approach can become prohibitive as the number of sensors and model complexity is increased. Hardware redundancy may involve the use of additional sensors and selection of data that appears similarly on the

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論