久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3675|回復: 0
打印 上一主題 下一主題
收起左側(cè)

小動物動態(tài)電子秤嵌入式課程設計報告

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:251910 發(fā)表于 2017-11-21 15:28 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
嵌入式系統(tǒng)課程設計報告


設計題目:小動物動態(tài)電子秤設計
學    號:140210322            
指導教師:謝瑋


信息與電氣工程學院
二零十一


1. 設計任務
2. 整體方案設計
3. 系統(tǒng)硬件電路設計

3.1 時鐘電路

3.2 復位電路

3.3 模數(shù)轉(zhuǎn)換電路

3.4 壓力傳感器與ADC之間運算放大電路

3.5 ……

4. 系統(tǒng)程序設計

4.1 主程序流程圖

4.2 PID調(diào)節(jié)子程序流程圖

4.3 控制子程序流程圖

4.4 ……

5. 系統(tǒng)調(diào)試

5.1 Proteus軟件仿真調(diào)試

5.2 硬件調(diào)試

6. 程序清單
7.小結(jié)

小動物動態(tài)電子秤設計

在電子稱重領(lǐng)域,微電子學和計算機等現(xiàn)代電子技術(shù)的成就給傳統(tǒng)電子測量與測量儀器帶來了巨大的沖擊和革命性的影響。常規(guī)的測試儀器儀表和控制裝置被更先進的智能儀器所取代,使得傳統(tǒng)的電子測量儀器在運作、功能、精度及自動化水平等方面發(fā)生了巨大變化,并相應的出現(xiàn)了各種各樣的智能儀器控制系統(tǒng),使得科學實驗和應用工程的自動化程度得以顯著提高。

隨著社會的不斷進步,電子秤在各個領(lǐng)域都有所作用,因此如何能設計出既符合課題,又經(jīng)濟實用的動態(tài)電子秤就很適應社會的需求。

1. 設計任務

本次設計的小動物動態(tài)電子秤主要是以89C52單片機為處理核心,可實現(xiàn)靜態(tài)測量和動態(tài)測量,并且通過LED顯示測量的質(zhì)量,測量結(jié)果應符合以下標準:

(1) 質(zhì)量測量范圍在1~3000g之間。

(2) 測量的精度:靜態(tài)是-1g~+1g之間;動態(tài)是-3g~+3g之間。

(3) 時測量和LED數(shù)碼顯示被測量的質(zhì)量。

主要硬件設備:AT89C51單片機、ADC0809模數(shù)轉(zhuǎn)換芯片、CYG115型高壓力傳感器、 ……

2. 整體方案設計

小動物動態(tài)電子秤的整個設計中最重要的部分是對動態(tài)質(zhì)量的處理,雖然家禽動態(tài)秤很早就開始研究應用,但對其快速和高準確度測量的實現(xiàn)至今仍是生產(chǎn)和科研的課題。隨著科學技術(shù)的發(fā)展和生物醫(yī)學工程技術(shù)的應用及家禽育種的需要,如今家禽等小動物的動態(tài)質(zhì)量檢測已進人數(shù)字化,智能化時代。家禽動態(tài)數(shù)字化測量關(guān)鍵是必須考慮和解決在檢測過程中,家禽的活動引起的加速度對家禽本身質(zhì)量測量的影響。它將檢測傳感器輸出信號上又疊加了一個交變脈沖分量,從而引起檢測值的誤差及讀數(shù)跳字不穩(wěn)定。為了解決上述問題,在所研制小動物電子秤中采用軟硬件結(jié)合的方式,使研制成的家禽小動物動態(tài)電子秤具有很好的穩(wěn)定性及抗干擾性,且能保持較高的精確度,很符合需要。

電子秤的最根本思想就是將物體重量通過一系列轉(zhuǎn)換顯示出來,要達到這一目的,就必須考慮到將重量這個非電量轉(zhuǎn)換成電量。由于電阻絲在外力作用下發(fā)生機械變形時,其電阻值發(fā)生變化,從而引起電壓發(fā)生變化,即電橋的輸出電壓反映了相應的受力狀態(tài)。但電阻應變式全橋傳感器的輸出是毫伏級的,必須通過一定倍數(shù)的放大,才能得到0-5V的電壓,之后通過ADC0809采集數(shù)據(jù)送入單片機進行處理。因此,硬件電路中必須包括傳感器(實現(xiàn)對非電量的數(shù)據(jù)采集)、電壓放大電路、模數(shù)轉(zhuǎn)換電路,通過單片機運行軟件程序進行計算,最后送交LED顯示器顯示。以下部分將對所選擇的硬件進行詳細介紹,其硬件總體方案設計框圖如圖2.1所示:

圖2.1 電子秤的結(jié)構(gòu)框圖

1. 傳感器

傳感器是信號發(fā)生部分的主要構(gòu)成,整個傳感器和實驗臺實現(xiàn)從非電量(質(zhì)量)到電量(電壓)的轉(zhuǎn)換。在選擇傳感器的型號時,需考慮到其性能,測量時輸入輸出關(guān)系等。根據(jù)設計的要求,此處選擇電阻應變式全橋傳感器。

2. 電壓放大電路

全橋傳感器的輸出電壓比較小,只有幾個毫伏,而A/D轉(zhuǎn)換器要求的電壓在0-5V之間。因此,要將該信號輸入單片機中處理,需要有一個放大電路將此電信號放大到所需范圍之內(nèi)。由于放大電路的增益是可調(diào)的,故運用運算放大電路能將電壓信號放大到所要求的范圍。

3. 模數(shù)轉(zhuǎn)換電路

計算機所能處理的是二進制的數(shù)字量,而傳感器經(jīng)過放大器出來的信號是模擬量,計算機不能處理。且由于單片機接收信號范圍的限制,必須將由傳感器中傳出的模擬量轉(zhuǎn)換成數(shù)字量,所以,需用一個模數(shù)轉(zhuǎn)換電路來實現(xiàn)。模數(shù)轉(zhuǎn)換電路的設計可采用8路8位逐次逼近式的A/D轉(zhuǎn)換芯片ADC0809進行轉(zhuǎn)換,完成從模擬量到數(shù)字量的轉(zhuǎn)換。

4. 單片機

單片機作為一個接收、處理、輸出信號的儀器裝置,將傳感器與LED顯示連接成一個有機的整體。其主要是完成數(shù)據(jù)處理,并通過與之有關(guān)的軟件來實現(xiàn)軟件的編程使顯示值與稱重值對應。因此,此部分是整個設計最重要的組成部分

5. LED顯示電路

根據(jù)本次設計的要求,需要使設計的電子秤能夠?qū)崟r顯示測量的數(shù)據(jù)。如果物體質(zhì)量在設定范圍內(nèi)(上限3000g),則通過4位LED來進行顯示。

6. 復位電路

89C52的復位輸入引腳RST(即RESET)為89C52提供了初始化的手段。有了它可以使程序從指定處開始執(zhí)行,即從程序存儲器中的0000H地址單元開始執(zhí)行程序。在89C52工作后,只要在RST引腳上出現(xiàn)兩個機器周期以上的高電平時,單片機內(nèi)部則初始復位。只要RST保持高電平,則89C52循環(huán)復位。只有當RST由高電平變成低電平以后,89C52才從0000H地址開始執(zhí)行程序。

3. 系統(tǒng)硬件電路設計
3.1應變式傳感器的測量原理及分類
應變式傳感器與其他類型的傳感器相比,具有測試范圍寬、輸出特性線性好、精度高、性能穩(wěn)定、工作可靠并能在惡劣環(huán)境下工作的特點。它由彈性原件、電阻應變片及外殼等組裝而成的裝置,因此稱為應變式傳感器。電阻應變式傳感器的工作原理就是電阻的應變效應,即當導體或半導體受到外力作用時,會產(chǎn)生機械變形,電阻率及幾何尺寸的變化就會引起電阻的變化,因此導體與半導體的電阻與電阻率及其幾何尺寸有關(guān)。通過測量電阻值的大小,就可以反映外界力的大小,它的工作原理即導體隨著機械變形而發(fā)生變化的現(xiàn)象。描述電阻應變效應的關(guān)系式為:

(3.1)

式中 為電阻絲電阻相對比值,K為應變靈敏系數(shù), 為電阻絲長度相對變化,金屬箔式應變片就是通過光刻、腐蝕等工藝制成的應變敏感元件,通過它轉(zhuǎn)換被測部位受力狀態(tài)變化、電橋的作用完成電阻到電壓的比例變化,電橋的輸出電壓反映了相應的受力狀態(tài)。對單臂電橋輸出電壓 、半橋輸出電壓 、全橋輸出電壓 。
電阻應變式傳感器的測量電路可采用橋式測量電路,橋式測量電路有四個電阻,其中任何一個電阻均可以是應變片,電路圖如圖3.1所示:
圖3.1  橋式測量電路圖


圖3.1 橋式測量電路圖
如能恰當選擇各橋臂的電阻,可消除電橋的恒定輸出,使輸出電壓只與應變片的電阻有關(guān)。
每當橋的變化遠小于本身阻值,即 時,可得輸出電壓為:

(3.2)

上述原理適用于所有的電阻應變式傳感器,若按其測量電路(橋式)可詳細的分為單臂式、半橋式、全橋式三種。所謂半橋,即將電橋的四臂接入四應變片。其中:一片受拉,一片受壓,另外兩應變片不受力。全橋是兩片受拉,兩片受壓,故靈敏度比半橋式的大一倍。根據(jù)本次設計的具體情況考慮,決定采用電阻應變式全橋傳感器。
3.2 放大電路的設計
由于從傳感器中傳出的信號是毫伏級的,而A/D轉(zhuǎn)換器所能處理的電壓是0-5V,所以必須在A/D轉(zhuǎn)換器前加入一個前置差動放大電路以實現(xiàn)電壓的放大,放大倍數(shù)為100-200倍,使輸出電壓為0-5V。處理后的電壓才能在單片機接收信號的范圍內(nèi),且僅放大兩個輸入信號的差值。因此,可采用一個運算放大器構(gòu)成,但為了提高輸入阻抗,使用差動放大電路圖,硬件圖如圖3.2所示,在電路中,所有電阻均采用的是1%以下的電阻,當、時,輸出式(3.3):
(3.3)
圖3.2  放大電路硬件原理圖
由于單運放在應用中要求外圍電路匹配精度高、增益調(diào)整不便、差動輸入阻抗低,故采用三運放結(jié)構(gòu)。
三運放結(jié)構(gòu)具有差動輸入阻抗高、共膜抑制比高、偏置電流低等優(yōu)點,且有良好的溫度穩(wěn)定性,低噪單端輸出和和增益調(diào)整方便,適于在傳感器電路中應用。
利用理想運放條件可列寫方程:
設流過的電流為:
(3.4)
再由的虛短可知:
(3.5)
所以:
(3.6)
又:
(3.7)
故:
(3.8)
因此:
(3.9)
3.3 數(shù)據(jù)采集電路的設計


      • 數(shù)據(jù)采集系統(tǒng)的組成
數(shù)據(jù)采集的核心是計算機,它對整個系統(tǒng)進行控制和數(shù)據(jù)處理,其由采樣保持器、放大器、A/D轉(zhuǎn)換器、計算機等組成。






            • 數(shù)據(jù)采樣系統(tǒng)框圖
      • 數(shù)據(jù)采樣保持器
進行模數(shù)變換時,從啟動變換到變換結(jié)束的數(shù)字量輸出,需要一定的時間,即A/D轉(zhuǎn)換的孔徑時間。當輸入信號頻率較高,由于孔徑時間的存在,會造成較大的轉(zhuǎn)換誤差;為了防止誤差需在中間加一個功能器件采樣保持器,進行有效、正確的數(shù)據(jù)采集。
采樣保持器通常由保持電容器、模擬開關(guān)和運算放大器組成。其中對于低速場合可以采用繼電器作為開關(guān)以減小開關(guān)漏電流的影響,在高速場合也可以用晶體管、場效應管作為開關(guān)。
采樣保持器的原理:如圖3.4,當開關(guān)閉合時,通過限電流電阻向電容C充電,在電容值合理的情況下,變化;當K斷開時,由于電容C有一定的容量,此時輸出在斷開瞬間的電平值。










            • 采集保持原理圖

在模擬信號輸入通道中,是否需要加采樣保持器,取決于模擬信號的變化頻率和A/D轉(zhuǎn)換器的孔徑時間;對快速過程信號,當最大孔徑誤差超過允許值時,必須在A/D轉(zhuǎn)換器前加采樣保持器。但如果輸入模擬量是直流量或者被測信號模擬量隨時間變化非常緩慢,采樣保持(SH)電路可以省去。



      • A/D轉(zhuǎn)換器
數(shù)據(jù)采集系統(tǒng)一般直接用A/D模數(shù)接口電路進行數(shù)據(jù)的采集,A/D模數(shù)接口電路是由A/D轉(zhuǎn)換器承擔此任務。設計中A/D轉(zhuǎn)換器用的是ADC0809轉(zhuǎn)換器,它是8路8位逐次逼近式轉(zhuǎn)換器,能分時地對8路模擬量信號進行A/D轉(zhuǎn)換,結(jié)果為8位二進制數(shù)據(jù),轉(zhuǎn)換時間短,滿足題目要求的“實時采樣”,并且它的轉(zhuǎn)換精度在0.1%上下,比較適中,適用于一般場合。
ADC0809由三部分組成:8路輸入模擬量選擇電路、逐次比較式A/D轉(zhuǎn)換器、三態(tài)輸出緩沖器。ADC0809完成一次轉(zhuǎn)換需要的100μs左右,輸出具有TTL三態(tài)鎖存緩沖器,因而可以不加I/O接口芯片,直接接到微型計算機系統(tǒng)總線上。ADC0809與單片機的硬件接口圖如圖3.5所示,由圖可見,單片機通過讀控制線RD和ADC0809片選線控制啟動A/D轉(zhuǎn)換及輸入通道地址鎖存,寫控制線WR與ADC0809片選線控制輸出允許。由于ADC0809具有通道地址鎖存功能,通道選擇ADD.A、ADD.B、ADD.C直接與單片機的數(shù)據(jù)口相連。模擬電壓由IN0通道輸入,A/D采樣電壓在0-5V之間變化,模擬通道IN0地址口為0AOOOH。







            • ADC0809與單片機的硬件接口電路
3.4 單片機的選擇
單片機自從問世以來就一直是工業(yè)檢測、控制應用的主角。市場上常用的單片機有Intel公司的MCS-51系列,日本松下公司的MN6800系列等。其中,MCS-51由于單片機應用系統(tǒng)具有體積小,可靠性高,功能強,價格低等特點,很容易作為產(chǎn)品進行生產(chǎn)而更受青睞。
然而作為本系統(tǒng)的核心元件,選擇哪一型號的MCS-51系列單片機顯得尤為關(guān)鍵,下面就逐個進行比較:
8031單片機片內(nèi)不帶程序存儲器ROM,使用時需外接程序存儲器和一片邏輯電路74LS373,外接的程序存儲器多為EPROM的2764系列。用戶若想對寫入到EPROM中的程序進行修改,必須先用一種特殊的紫外線燈將其照射擦除,之后再可寫入。寫入到外接程序存儲器的程序代碼沒什么保密性可言。
8051單片機片內(nèi)有4K ROM,無須外接存儲器和74LS373,更能體現(xiàn)“單片”的簡練。但是編的程序無法燒寫到其ROM中,只有將程序交芯片廠代為燒寫,并是一次性的,今后都不能改寫其內(nèi)容。
8751單片機與8051單片機基本一樣,但8751單片機片內(nèi)有4K的EPROM,用戶可以將自己編寫的程序?qū)懭雴纹瑱C的EPROM中進行現(xiàn)場實驗與應用,EPROM的改寫同樣需要用紫外線照射一定時間擦除后再燒寫。
89C51單片機為EPROM型,在實際電路中可以直接互換8051單片機或8751單片機,不但和8051單片機指令,管腳完全兼容,而且其片內(nèi)的4K程序存儲器是FLASH工藝的。
89C52是一種低功耗高性能的具有8K字節(jié)可電氣燒錄及可擦除的程序ROM的八位CMOS單片機。該器件是用高密度、非易丟失存儲技術(shù)制造并且與國際工業(yè)標準89C51單片機指令系統(tǒng)和引腳完全兼容。
綜上所述,從使用方便與簡化電路以及其性價比等角度來考慮,89C52比較合適的。本系統(tǒng)采用CPU為89C52的單片微機,89C52本身帶有8K的內(nèi)存儲器,可以在編程器上實現(xiàn)閃爍式的電擦寫達幾萬次以上,比以往慣用的8031CPU外加EPROM為核心的單片機系統(tǒng)在硬件上具有更加簡單、方便等優(yōu)點,而且完全兼容MCS-51系列單片機的所有功能。89C52管腳圖如圖3.6所示,下面介紹89C52的主要管腳功能如下:
VCC(40):電源+5V;VSS(20):接地;P0口(32-39):雙向I/O口,既可作低8位地址和8位數(shù)據(jù)總線使用,也可作普通I/O口;P3口(10-17):多用途端口,既可作普通I/O口,也可按每位定義的第二功能操作;P2口(21-28):既可作高8位地址總線,也可作普通I/O口;P1口(1-8): 準雙向通用I/O口;RST(9):復位信號輸入端;ALE/PROG:地址鎖存信號輸出端;PSEN:內(nèi)外程序存儲器選擇線;XTAL1(19)和XTAL2(18):外接石英晶體振蕩器。
MCS-51的CPU可包括運算部件,控制器,程序狀態(tài)字,B寄存器,累加器Acc(或A),位處理器等。
圖3.6 89C52管腳圖
3.5顯示電路的設計
              LED液晶顯示器是一種功耗極低的顯示器,它可以將處理得出的數(shù)據(jù)在顯示器上進行顯示,讓人們直觀的看到被測體的質(zhì)量,一般采用的七段LED顯示器如圖3.7所示:






            • LED數(shù)碼管結(jié)構(gòu)圖
它由4個LED組成一個陣列,并封裝于一個標準的外殼中。為使用于不同的驅(qū)動電路,有共陽極和共陰極兩種結(jié)構(gòu)。根據(jù)本次設計任務書的要求和實際情況,此處采用的是共陰極結(jié)構(gòu),其結(jié)構(gòu)如圖3.8所示:










            • 共陰極結(jié)構(gòu)圖
    • 復位電路的設計
本系統(tǒng)的復位電路是采用按鍵復位的電路,如圖3.9所示,是常用復位電路之一。當89C52的ALE及PSEN兩引腳輸出高電平,RST引腳高電平到時,單片機復位。通過按動按鈕產(chǎn)生高電平復位稱手動復位,若運行過程中需要程序從頭執(zhí)行時,只需按動按鈕即可,當按下按鈕后是直接把+5V加到了RST/VPD端從而復位。復位后,P0到P3并行I/O口全為高電平,其它寄存器全部清零,只有SBUF寄存器狀態(tài)不確定。










            • 按鍵復位的電路
4. 系統(tǒng)程序設計

    • 監(jiān)控程序設計
整個設計既要滿足設定要求來完成如計算等功能的任務功能程序,也要有可以監(jiān)控儀器儀表正工作,保證其可靠性方面的監(jiān)控程序。整個儀器的測量都是自動完成的,所以設計一套功能完備的監(jiān)控程序是必須的也是必要的。
監(jiān)控程序的主要作用是實時的響應來自系統(tǒng)的各種信息,按信息的類別進行處理;當系統(tǒng)出現(xiàn)故障時,能自動的采取有效的措施,消除故障,保證系統(tǒng)能夠繼續(xù)進行正常工作。


    • 數(shù)據(jù)采集子程序設計
數(shù)據(jù)采集用ADC0809芯片來完成,主要分為啟動、讀取數(shù)據(jù)、延時等待轉(zhuǎn)換結(jié)束、讀出轉(zhuǎn)換結(jié)果、存入指定內(nèi)存單元、繼續(xù)轉(zhuǎn)換(退出)幾個步驟。ADC0809初始化后,就具有了將某一通道輸入的0-5V模擬信號轉(zhuǎn)換成對應的數(shù)字量00H-FFH,然后再存入89C52內(nèi)部RAM的指定單元中。在控制方面有所區(qū)別,可以采用程序查詢方式,延時等待方式和中斷方式。數(shù)據(jù)采集轉(zhuǎn)換子程序原理框圖如圖4.1所示:










            • 數(shù)據(jù)采集轉(zhuǎn)換子程序原理框圖
    • 數(shù)據(jù)處理子程序設計

由于IN0通道允許輸入的模擬電壓值范圍為0-5V,又由于A/D的采樣結(jié)果為十六進制數(shù),但由傳感器中傳出的數(shù)據(jù)不符合要求。因此數(shù)據(jù)處理主要完成對輸入值系數(shù)調(diào)整,使輸出滿足要求,數(shù)據(jù)處理子程序可以成為整個程序的核心。

根據(jù)試驗測得的數(shù)據(jù)和對數(shù)據(jù)的精確計算得出了A/D轉(zhuǎn)換器輸入最大(5V)時對應的輸出為:5/FFH*K=196,最大十進制結(jié)果為5位。R0-R7分別為8位存儲,BCD碼是兩位十進制數(shù),所以需要三個寄存器來保存轉(zhuǎn)換結(jié)果。

數(shù)據(jù)處理子程序是整個程序的核心。主要用來調(diào)整輸入值系數(shù),使輸出滿足量程要求外還須使得A/D的采樣結(jié)果從十六進制數(shù)向十進制數(shù)形式轉(zhuǎn)化。





      • 系統(tǒng)調(diào)整
在IN0輸入的數(shù)最大為5V,要求的質(zhì)量3000g對應的是5V,為十六進制向十進制轉(zhuǎn)換方便,將系數(shù)放大100倍。并用小數(shù)點位置的變化體現(xiàn)這一過程。3000/256=11.8,76H=118,因而能夠確定76H即為所需要的系數(shù)。




      • 數(shù)制轉(zhuǎn)換
數(shù)制之間的轉(zhuǎn)換:在二進制數(shù)制中,每向左移一位表示數(shù)乘二倍。以每四位作為一組對數(shù)分組,當?shù)谒奈幌虻谖逦贿M位時,數(shù)由8變到16,若按十進制數(shù)制規(guī)則讀數(shù),則丟失6,所以應進行加六調(diào)整,DA指令可完成這一調(diào)整。可見數(shù)制之間的轉(zhuǎn)換可以通過移位的方法實現(xiàn),其中,移出數(shù)據(jù)的保存可以通過自乘再加進位的方法實現(xiàn),因為乘二表示左移一位,左移后,低位進一,則需加一,否則加零。而通過移位已將要移入的尾數(shù)保存在了進位位中,所以能實現(xiàn)。




      • 防脈沖干擾平均值濾波
在工業(yè)控制等應用場合中,經(jīng)常會遇到尖脈沖干擾的現(xiàn)象。干擾通常只會影響個別采樣點的數(shù)據(jù),此數(shù)據(jù)與其他采樣點的數(shù)據(jù)相差比較大。如果采用一般的平均值法,則干擾將“平均”到計算結(jié)果上去,故平均值法不易消除由于脈沖干擾而引起的采樣值的偏差。為此,可采取先對N個數(shù)據(jù)進行比較,去掉其中最大值和最小值,然后計算余下的N-2個數(shù)據(jù)的算術(shù)平均值。這個方法既可以濾去脈沖干擾又可濾去小的隨機干擾。
在實際應用中,N可取任何值,但為了加快測量計算速度,一般N不能太大,一般取值為4,進行4次采樣,即為四取二再取平均值。它具有計算方便速度快,存儲量小等特點,故得到了廣泛的應用。整個程序的框圖如圖4.2所示:










            • 防脈沖干擾平均值濾波程序框圖
    • LED顯示子程序設計
顯示子程序是字符顯示,調(diào)用8155初始化命令,然后輸出寫顯示命令。在顯示過程中一定要調(diào)用延時子程序,其任務是將測量結(jié)果送顯示器顯示。通過對LED顯示子程序的編寫、鏈接、調(diào)試等操作實現(xiàn)對測得的物品質(zhì)量進行4位LED實數(shù)顯示,上限是3000g。
8段LED共陰極常用字型碼及其對應的顯示字符見下表4.1所示:








          • 8LED共陰極常用字型碼
[td]
顯示字符
段碼
顯示字符
段碼
0
3FH
9
6FH
1
06H
A
77FH
2
5BH
b
7CH
3
4FH
c
39H
4
66H
d
5EH
5
6DH
E
79H
6
7DH
F
71H
7
07H
P
73H
8
7FH
-----
-----


5. 系統(tǒng)調(diào)試

這一部分分為Proteus軟件仿真調(diào)試和硬件調(diào)試兩部分,分別給出調(diào)試過程、調(diào)試時應注意的問題,分析遇到的問題及問題的解決方法,Proteus調(diào)試可截屏運行結(jié)果圖形并加以分析。

5.1 Proteus軟件仿真調(diào)試

……

5.2 硬件調(diào)試

7.小結(jié)

本文設計的小動物動態(tài)電子秤是在各種儀器連接使用的基礎(chǔ)上設計而成的,只有充分了解有關(guān)智能儀器、單片機、傳感器以及各部分之間的關(guān)系才能達到要求,如傳感器的精密度,它直接影響電子秤的稱重準確度。
整個課題的開發(fā)過程主要包括了硬件電路設計和軟件程序的編寫兩個部分,主要任務是開發(fā)一個以89C52單片機為核心的小動物動態(tài)電子秤,可實現(xiàn)物品動靜態(tài)質(zhì)量的測量,并用LED顯示。通過整機聯(lián)調(diào)驗證了系統(tǒng)的可行性,能滿足設計要求,達到設計的指標。硬件部分使用的是電阻應變式全橋傳感器,精度較高,但輸出部分不是特別穩(wěn)定,對整個電路有一定影響。其次是數(shù)據(jù)采集處理階段,此階段是對傳感器發(fā)出的信號進行量化、采集,主要分為信號放大、采集,然后進行A/D轉(zhuǎn)換,ADC0809雖然符合設計要求,但其轉(zhuǎn)換精度不高,對顯示存在影響。
通過以上論述可以發(fā)現(xiàn),整個設計的實用性較高,使用的硬件都是比較能夠方便取得的,但還是有很多缺陷,如傳感器輸出部分的穩(wěn)定問題,A/D轉(zhuǎn)換部分硬件的選擇,動態(tài)部分其他更完善處理的方法等,希望以后還能有所改進,能夠趨于完美。

單片機源程序如下:
  1. ML8155    EQU   0DF00H        ;8155控制字寄存器的地址
  2. K8155A    EQU   0DF01H        ;8155A口地址
  3. K8155B    EQU   0DF02H        ;8155B口地址
  4. DTIMER0   EQU   30H           ;存放延時時間的初值
  5. DTIMER1   EQU   31H           ;存放調(diào)用延時子程序的次數(shù)
  6. ADVAL     EQU   3FH           ;存放A/D轉(zhuǎn)換結(jié)果
  7. ADVAL1    EQU   3EH           ;存放中間結(jié)果
  8. TEMP      EQU   32H;
  9. TEMP1     EQU   33H;
  10. TEMP2     EQU   34H;
  11. TEMP3     EQU   35H;
  12. TEMP4     EQU   36H           ;存放中間結(jié)果
  13.           ORG   0000H
  14.           LJMP  MAIN
  15.           ORG   0100H
  16. ;*******************************************************
  17. ;* 主程序開始
  18. ;*******************************************************
  19. MAIN:     MOV    SP,#60H      ;設置堆棧區(qū)
  20.           LCALL  INIT_8155
  21. START1:   LCALL  AD_LED
  22.           SJMP   START1
  23. ;*******************************************************
  24. AD_LED:   LCALL  START
  25.           LCALL  ZHH         ;采樣值轉(zhuǎn)換為十進制
  26.           MOV    A,40H       ;把40H單元的值即千位和百位進行顯示
  27.           CALL   HEX_LED
  28.           MOV    5FH,TEMP
  29.           MOV    5EH,TEMP1
  30.           MOV    A,41H      ;把41H即十位和個位進行顯示
  31.           CALL   HEX_LED1
  32.           MOV    5DH,TEMP2
  33.           MOV    5CH,TEMP3
  34.           LCALL  WRITE_LED
  35.           RET
  36. ;******************************************************************
  37. ;*動態(tài)部分處理-防脈沖干擾算術(shù)平均值濾波,連續(xù)4次采樣,去掉最大值和最小值,把剩余的數(shù)據(jù)求平均值作為本采樣周期采樣值。R2R3中存放最大值,R4R5存放最小值,R6R7存放累加和及最后結(jié)果。
  38. ;******************************************************************
  39. START:    CLR    A          ;清"0"R2,R6,R7
  40.           MOV    R2,A       ;最大值初態(tài)
  41.           MOV    R6,A       ;累加和初態(tài)
  42.           MOV    R7,A
  43.           MOV    R5,#0FFH   ;最小值初態(tài)
  44.           MOV    R0,#04H    ;N=4
  45. DAV1:     LCALL  ADC0809    ;調(diào)用0809采樣子程序
  46.           MOV    A,ADVAL
  47.           MOV    R1,A       ;保存輸入值
  48.           ADD    A,R7
  49.           MOV    R7,A
  50.           MOV    A,R6
  51.           ADDC   A,#00H
  52.           MOV    R6,A
  53.           CLR    C          ;輸入值與最大值作比較
  54.           MOV    A,R2
  55.             SUBB   A,R1
  56.             JNC    DAV2       ;輸入值<(R2)?
  57.             MOV    A,R1       ;輸入值大于最大值
  58.             MOV    R2,A
  59. DAV2:       CLR    C          ;輸入值與最小值比較
  60.             MOV    A,R1
  61.             SUBB   A,R5
  62.             JNC    DAV3       ;輸入值<(R5)?
  63.             MOV    A,R1       ;輸入值小于最小值
  64.             MOV    R5,A
  65. DAV3:       DJNZ   R0,DAV1    ;N-1=0?
  66.             CLR    C
  67.             MOV    A,R7       ;累加和中減去最大值
  68.             SUBB   A,R2     
  69.             MOV    R7,A
  70.             MOV    A,R6
  71.             SUBB   A,#00H
  72.             MOV    R6,A
  73.             MOV    A,R7       ;累加和減去最小值
  74.           SUBB   A,R5
  75.             MOV    R7,A
  76.             MOV    A,R6
  77.             SUBB   A,#00H
  78.             MOV    R6,A
  79.             MOV    A,R6
  80.           CLR    C
  81.             RRC    A
  82.             MOV    A,R7       ;平均值
  83.             RRC    A
  84.             MOV    R7,A       ;R7中存放平均值
  85.             MOV    ADVAL1,R7
  86.             RET
  87. ;*******************************************************
  88. ;0809采樣子程序
  89. ADC0809:    PUSH   DPL
  90.             PUSH   DPH
  91.             PUSH   ACC
  92.             MOV    P2,#7FH    ;選通0809,
  93.             MOV    R1,#78H   
  94. L1:         MOVX   @R1,A      ;78H用來存放轉(zhuǎn)換結(jié)果
  95.             MOV    R2,#10H
  96. L4:         DJNZ   R2,L4      ;延時32微秒
  97. L2:         JNB    P3.3,L2    ;當EOC為1時表示轉(zhuǎn)換結(jié)束
  98.             MOVX   A,@R1      ;讀出A/D轉(zhuǎn)換的結(jié)果
  99.             MOV    ADVAL,A    ;把采樣結(jié)果放入3FH中暫存
  100.             POP    ACC
  101.             POP    DPH
  102.             POP    DPL
  103.             RET
  104. ;******************************************************************
  105. ;轉(zhuǎn)換子程序 : 3FH的內(nèi)容(A/D采樣的結(jié)果)*(5V/256(FFH))=十進制結(jié)果;40H,41H.例如:3FH=0FFH, 那么程序執(zhí)行后:40H=04H , 41H=99H 即4.99V
  106. ;******************************************************************
  107. ZHH:        PUSH   PSW
  108.             PUSH   ACC
  109.             SETB   RS0
  110.             MOV    A,#076H    ;3000/256= 11.8,76H=118
  111.             MOV    B,ADVAL1   ;ADVAL中存放的是經(jīng)過處理之后的采樣值
  112.           MUL    AB
  113.           MOV    R4,B
  114.           MOV    R5,A
  115.           MOV    R3,#00H
  116.           MOV    R7,#0AH
  117. ;******************************************************************
  118. 十六進制數(shù)縮小10倍;
  119. ;******************************************************************
  120. DV31:     CLR    C
  121.           MOV    A,R3
  122.           SUBB   A,R7
  123.           JC     DV30
  124.           SETB   OV         ;商溢出
  125.           RET
  126. DV30:     MOV    R2,#10H    ;求R3R4R5/R7-→R4R5
  127. DM23:     CLR    C
  128.           MOV    A,R5
  129.           RLC    A
  130.           MOV    R5,A
  131.           MOV    A,R4
  132.           RLC    A
  133.           MOV    R4,A
  134.           MOV    A,R3
  135.           RLC    A
  136.           MOV    R3,A
  137.           MOV    F0,C
  138.           CLR    C
  139.           SUBB   A,R7
  140.           ANL    C,/F0
  141.             JC     DM24
  142.             MOV    R3,A
  143.             INC    R5
  144. DM24:       DJNZ   R2,DM23
  145.             MOV    A,R3       ;四舍五入
  146.             ADD    A,R3
  147.             JC     DM25
  148.             SUBB   A,R7
  149.             JC     DM26
  150. DM25:       INC    R5
  151.             MOV    A,R5
  152.             JNZ    DM26
  153.             INC    R4
  154. DM26:       CLR    OV         ;商在R4R5中
  155. ;******************************************************************
  156. 把十六進制轉(zhuǎn)換為BCD碼
  157. ;******************************************************************
  158. MAIN2:      MOV    A,R4
  159.             MOV    R2,A
  160.             MOV    A,R5
  161.             MOV    R3,A
  162. HB2:        CLR    A
  163.             MOV    R4,A
  164.             MOV    R5,A
  165.             MOV    R6,A
  166.             MOV    R7,#10H
  167. LOOP:       CLR    C
  168.             MOV    A,R3
  169.             RLC    A
  170.           MOV    R3,A
  171.           MOV    A,R2
  172.           RLC    A
  173.           MOV    R2,A
  174.           MOV    A,R6
  175.           ADDC   A,R6
  176.           DA     A
  177.           MOV    R6,A
  178.           MOV    A,R5
  179.           ADDC   A,R5
  180.           DA     A
  181.           MOV    R5,A
  182.           MOV    A,R4
  183.           ADDC   A,R4
  184.           DA     A
  185.           MOV    R4,A
  186.           DJNZ   R7,LOOP
  187.           MOV    40H,R5     ;存放高八位
  188.           MOV    41H,R6     ;存放底八位
  189.           POP    ACC
  190.           POP    PSW
  191.           RET
  192. ;******************************************************************
  193. ;將 ACC 內(nèi)容,即千位和百位以十進制值顯示
  194. ;******************************************************************
  195. HEX_LED: PUSH   DPH
  196.           PUSH   DPL
  197.           PUSH   ACC
  198.           PUSH   ACC
  199.             ANL    A,#0FH     ;留下低四位
  200.             MOV    DPTR ,#BCD_CODED ;DPTR指到段碼表BCD__CODED
  201.             MOVC   A,@A+DPTR  ;取得BCD碼
  202.             MOV    TEMP1,A    ;寫到LED
  203.             POP    ACC
  204.             SWAP   A
  205.             ANL    A,#0FH     ;留下高四位
  206.             MOV    DPTR ,#BCD_CODED ;DPTR指到段碼表BCD__CODED
  207.             MOVC   A,@A+DPTR  ;取得BCD碼
  208.             MOV    TEMP,A     ;寫到LED
  209.             POP    ACC
  210.             POP    DPL
  211.             POP    DPH
  212.             RET
  213. BCD_CODED:
  214.             DB     3FH,06H,5BH,4FH,66H,6DH
  215.             DB     07DH,07H,7FH,6FH,77H
  216. ;******************************************************************
  217. ;將A中內(nèi)容即十位和個位以十進制顯示
  218. ;******************************************************************
  219. HEX_LED1:   PUSH   DPH
  220.             PUSH   DPL
  221.             PUSH   ACC
  222.             PUSH   ACC
  223.             SWAP   A
  224.             ANL    A,#0FH
  225.             MOV    DPTR ,#BCD_CODEA
  226.             MOVC   A,@A+DPTR
  227.             MOV    TEMP2,A
  228.           POP    ACC
  229.           ANL    A,#0FH
  230.           MOV    DPTR,#BCD_CODEA
  231.           MOVC   A,@A+DPTR
  232.           MOV    TEMP3,A
  233.           POP    ACC
  234.           POP    DPL
  235.           POP    DPH
  236.           RET
  237. BCD_CODEA:
  238.           DB     3FH,06H,5BH,4FH,66H
  239.           DB     6DH,7DH,07H,7FH,6FH
  240. ;******************************************************************
  241. ;  顯示5FH-5CH的內(nèi)容
  242. ;******************************************************************
  243. WRITE_LED:PUSH   DPL
  244.           PUSH   DPH
  245.           PUSH   ACC
  246.           MOV    R0,#5CH
  247.           MOV    R3,#0F7H
  248.           MOV    A,R3
  249. AGAIN:    MOV    DPTR,#K8155A
  250.           MOVX   @DPTR,A
  251.           MOV    A,@R0
  252.           MOV    DPTR,#K8155B
  253.           MOVX   @DPTR,A
  254.           LCALL  DELAY01
  255.           INC    R0
  256.           MOV    A,R3
  257.             JNB    ACC.0,OUT1
  258.             RR     A
  259.             MOV    R3,A
  260.             AJMP   AGAIN
  261. OUT1:       POP    ACC
  262.             POP    DPH
  263.             POP    DPL
  264.             RET
  265. ;******************************************************************
  266. INIT_8155:  PUSH   DPL
  267.             PUSH   DPH
  268.             PUSH   ACC
  269.             MOV    DPTR,#ML8155
  270.             MOV    A,#03H    ;對8155寫入控制字,A,B口作為基本輸出,C口輸入
  271.             MOVX   @DPTR,A
  272.             POP    ACC
  273.             POP    DPH
  274.             POP    DPL
  275.             RET
  276. ;******************************************************************
  277. ;延時子程序
  278. ;******************************************************************
  279. DELAY:      PUSH   DTIMER1   ;延時TIMER1*1 ms for 12MHz
  280.             PUSH   DTIMER0
  281. DELAY1:     MOV    DTIMER0,#125 ;時間為4*1μS
  282. DELAY2:     NOP              ;1個周期
  283.             NOP              ;1個周期
  284.             DJNZ   DTIMER0,DELAY2 ;2個周期
  285.           DJNZ   DTIMER1,DELAY1
  286.           POP    DTIMER0
  287.           POP    DTIMER1
  288.           RET
  289. ;****************************************
  290. ;延時 1 ms
  291. ……………………

  292. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
嵌入式系統(tǒng)設計報告王.doc (991.5 KB, 下載次數(shù): 29)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 一区二区三区欧美在线 | 欧美理论| 久久久看| 色av一区二区三区 | 国产精品自产拍在线观看蜜 | 国产精品久久精品 | 中文字幕电影在线观看 | 不卡的av电影 | 午夜小视频在线观看 | 黄色免费av | 国产福利资源 | 久久免费精品视频 | 一区二区在线免费观看 | 中文字幕一区二区三区四区五区 | 狠狠色狠狠色综合系列 | 国家一级黄色片 | 一区二区三区中文字幕 | av一二三区| 亚洲国产精品91 | 久久高清精品 | 精品99久久久久久 | 7799精品视频天天看 | 一级片网址 | 亚洲午夜精品在线观看 | 亚洲va中文字幕 | 亚洲精选一区二区 | 国产高清精品一区二区三区 | 精品国产91乱码一区二区三区 | 91五月天| 欧美综合一区二区三区 | 国产精品成人国产乱一区 | 337p日本欧洲亚洲大胆精蜜臀 | 午夜激情在线视频 | 亚洲福利av | 欧美日韩久久精品 | 亚洲国产成人在线视频 | 中文字幕视频网 | 久久久久久久久久久久久九 | 中文字幕av网 | 欧美一级二级在线观看 | 欧美一区二区三区在线 |