版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上摘要 電子秤是一種我們?nèi)粘I钪薪?jīng)常使用的稱重工具,相較于傳統(tǒng)的桿秤來說,同時也是一種集聚了多種現(xiàn)代高科技技術(shù)于一體的現(xiàn)代新型稱重儀器。 電子秤主要以單片機作為控制中心,通過稱重傳感器采集數(shù)據(jù),然后使用A/D轉(zhuǎn)換器進行數(shù)據(jù)轉(zhuǎn)換,輔以鍵盤,顯示器,再配合相應(yīng)的軟件來實現(xiàn)的。電子稱使用起來方便快捷,測量準確,精度高,穩(wěn)定性強,更重要的是能夠?qū)崿F(xiàn)自動稱重、重量實現(xiàn)數(shù)字化顯示,極大地便利了人們的生活,滿足了人們對于稱重的需求,所以越來越受到人們的歡迎。 經(jīng)過仔細研究,本系統(tǒng)設(shè)計最終決定選用新一代STC89C52RC單片機來制作完成課題所要求的電子秤,使其作為主控電路的核心,實
2、現(xiàn)電子秤的所有功能。在設(shè)計過程中,系統(tǒng)增加了時鐘模塊的功能,系統(tǒng)由單片機控制核心,數(shù)據(jù)采集,人機交互,系統(tǒng)電源和時鐘五大部分組成。單片機主控電路部分由除了STC89C52R之外,還有報警器及其相關(guān)電路組成;電阻應(yīng)變式壓力傳感器,信號放大電路和A/D轉(zhuǎn)換器則構(gòu)成了數(shù)據(jù)采集部分,其中信號放大電路和A/D轉(zhuǎn)換器部分則選用內(nèi)部自帶放大器的專用型AD轉(zhuǎn)換芯片HX711實現(xiàn),它的特點是轉(zhuǎn)換精度很高,應(yīng)用起來簡單方便;人機交互部分則選用矩陣鍵盤作為輸入設(shè)備,LCD1602液晶顯示器作為顯示設(shè)備;系統(tǒng)電源采用電腦USB接口供電,這樣電路簡單且電壓穩(wěn)定;時鐘部分選用DS1302時鐘芯片,再結(jié)合相關(guān)電路組成時鐘電
3、路。軟件部分通過使用C語言編程實現(xiàn)了本課題要求的全部功能。該電子秤能夠滿足課題所要求的稱重功能的同時,并對時鐘功能進行了豐富,增加了鬧鐘功能,稱重范圍為05Kg;能夠顯示所稱物體重量、單價、總價。關(guān)鍵詞:電子秤;單片機;稱重傳感器;HX711。專心-專注-專業(yè)目 錄第一章 緒論1.1 研究的背景和意義電子秤是一種與人民現(xiàn)實生產(chǎn)生活息息相關(guān),被廣泛應(yīng)用于各個領(lǐng)域的電子衡器,諸如工業(yè)生產(chǎn),商業(yè)貿(mào)易,交通運輸,港口,機械制造,醫(yī)療保健,冶金,礦山和國防建設(shè)等各個方面。和傳統(tǒng)的桿秤進行對比,電子秤具備諸多優(yōu)點,例如:它的精度很高,結(jié)構(gòu)簡單,價格低,用途廣泛,便于攜帶,使用方便等優(yōu)點。電子稱的工作原理也
4、不難理解,它通過壓力傳感器采集物體重量信息,將其轉(zhuǎn)換為電信號,進行適當(dāng)?shù)男盘柗糯筇幚?,再通過A/D轉(zhuǎn)換器將模擬電信號轉(zhuǎn)換為數(shù)字信號,最后經(jīng)過單片機的控制處理,送到液晶顯示器顯示出被測物體的重量信息。目前市場上使用的稱量工具,各個公司的產(chǎn)品質(zhì)量良莠不齊,有的質(zhì)量較高但價格太高,有的價格不高但質(zhì)量太差,容易損壞,精度不高,穩(wěn)定性差,運行不可靠。所以目前商用的電子秤市場上,商用電子秤的總體質(zhì)量不高,這種情況是由多種因素造成的,例如某些公司因為資金有限,造成科技人才儲備不足,從而使其技術(shù)力量不夠強,科技研發(fā)能力不足,造成產(chǎn)品質(zhì)量不高。因此,開發(fā)出一種質(zhì)量較高但成本不高,具有較高性價比且具有實際實用價值
5、的電子秤,克服電子秤在實際使用中的諸多缺點,具有一定的現(xiàn)實意義。1.2 研究現(xiàn)狀國內(nèi)有關(guān)電子秤技術(shù)的研究相比國外來說起步晚了很多,不過在國內(nèi)科學(xué)家的努力下,近些年我們奮起直追,技術(shù)水平有了極大提升,取得了很多成果。從上世紀六十年代第一臺電子秤的誕生,到如今的微機式產(chǎn)品,在某些技術(shù)領(lǐng)域甚至達到了國際領(lǐng)先水平。我們僅僅用了幾十年的時間就達到了發(fā)達國家花費近一百年才能夠達到的技術(shù)水平。但是總體來說,目前國內(nèi)電子衡器的技術(shù)水平仍然不算太高,僅僅與發(fā)達國家上世紀九十年代的水平相當(dāng)。與國外產(chǎn)品相比,我國商用產(chǎn)品在品種,功能,質(zhì)量,核心部件的穩(wěn)定性和可靠性方面還有不小的差距。經(jīng)過一百多年的發(fā)展,發(fā)達國家已經(jīng)
6、在電子秤有關(guān)的各個領(lǐng)域都達到了很高的水平,例如技術(shù)水平、產(chǎn)品種類等等,最重要的是他們產(chǎn)品的精確度,穩(wěn)定性,可靠性都相當(dāng)高。如他們商用秤的精度已經(jīng)達到OIML規(guī)定,有的產(chǎn)品甚至遠超此規(guī)定;另外它們的穩(wěn)定性也極強,在一年內(nèi)不允許有超差情況出現(xiàn);同時這些產(chǎn)品的使用壽命通常被要求能夠正常工作十幾年,由此可見其可靠性也很高。簡而言之,在電子秤技術(shù)領(lǐng)域,國內(nèi)企業(yè)還有很長的路要走?,F(xiàn)在電子秤技術(shù)的發(fā)展趨勢總的來說是朝著智能化的方向發(fā)展;電子秤的功能會越來越豐富;電子秤的速率會越來越高,準確率和穩(wěn)定性會越來越高,可靠性也會越來越強2;1.3 主要研究內(nèi)容 本課題主要完成稱重自動控制功能,本系統(tǒng)采用單片機STC
7、89C52RC來制作完成課題所要求的電子秤,使其作為主控電路的核心,實現(xiàn)電子秤的所有功能,經(jīng)過設(shè)計,系統(tǒng)由單片機控制核心,數(shù)據(jù)采集,人機交互,系統(tǒng)電源和時鐘五大部分組成。 由系統(tǒng)電源、壓力傳感器、A/D轉(zhuǎn)換器、51單片機、鍵盤、LCD液晶顯示器,時鐘芯片等器件共同構(gòu)成了系統(tǒng)硬件部分的五大模塊。使用單片機編程軟件運用C語言編程實現(xiàn)要求的功能,從而完成系統(tǒng)軟件部分的設(shè)計。需要達到以下的技術(shù)指標:稱量范圍0-5kg;電子秤稱重時能顯示物品重量,還能進行單價設(shè)定,并能自動算出總價并顯示出來,超重時還要能夠發(fā)出警報。若不進行稱量操作,則能夠顯示時間,且具有鬧鐘功能。1.4 本文的組織結(jié)構(gòu)本文對
8、電子秤的設(shè)計和具體實現(xiàn)方法作了具體的描述,對整個系統(tǒng)的各個組成部分及涉及的相關(guān)技術(shù)進行了介紹,例如壓力傳感器,A/D轉(zhuǎn)換器,51單片機,鍵盤輸入,電源部分,報警電路,時鐘芯片,顯示器等等??偣矂澐至宋逭聝?nèi)容,如下所示。第一章:簡要介紹了電子秤的概念,特點,技術(shù)現(xiàn)狀和研究內(nèi)容。第二章:論證了系統(tǒng)方案,介紹了相關(guān)的原理及相關(guān)器件,對比了各種方案的優(yōu)缺點。第三章:對相關(guān)芯片以及相應(yīng)模塊的功能作了細致的分析,給出了單片機控制方案。第四章:介紹了系統(tǒng)的軟件設(shè)計。第五章:對最終的成品設(shè)計作了相應(yīng)的調(diào)試,分析,給出了最終的結(jié)論。第二章 系統(tǒng)方案的設(shè)計2.1 電子秤的設(shè)計要求2.1.1 基本要求 (1)電子秤
9、稱重范圍:05Kg;重量誤差不超過+0.003Kg。 (2)LED顯示所稱物體重量、單價、總價。 (3)超量程報警功能。 (4)不稱重時,可以顯示時間。2.1.2 功能擴展 (1)液晶顯示所稱重物品的重量,同時還可以顯示物品的單價,總價。 (2)能夠?qū)崿F(xiàn)去除皮重的功能。 (3)能夠顯示時間的同時,實現(xiàn)了鬧鐘功能。2.2 系統(tǒng)的設(shè)計思路及工作原理2.2.1 工作原理電子秤通過壓力傳感器采集物體重量信息,將其轉(zhuǎn)換為電信號,進行適當(dāng)?shù)男盘柗糯筇幚?,再通過A/D轉(zhuǎn)換器將模擬電信號轉(zhuǎn)換
10、為數(shù)字信號,然后經(jīng)過單片機的處理,最后送到液晶顯示器顯示出被測物體的重量信息4。2.2.2 基本設(shè)計思路 系統(tǒng)由單片機控制核心,數(shù)據(jù)采集,人機交互,系統(tǒng)電源和時鐘五大部分組成。單片機主控電路部分由除了STC89C52R之外,還有報警器及其相關(guān)電路組成;電阻應(yīng)變式壓力傳感器,信號放大電路和A/D轉(zhuǎn)換器則構(gòu)成了數(shù)據(jù)采集部分,其中信號放大電路和A/D轉(zhuǎn)換器部分則選用內(nèi)部自帶放大器的專用型AD轉(zhuǎn)換芯片HX711實現(xiàn),它的特點是轉(zhuǎn)換精度很高,應(yīng)用起來簡單方便;人機交互部分則選用矩陣鍵盤作為輸入設(shè)備,LCD1602液晶顯示器作為顯示設(shè)備;系統(tǒng)電源采用電腦USB接口供電,這樣電路簡單且電壓穩(wěn)定;時鐘部分選用
11、DS1302時鐘芯片,再結(jié)合相關(guān)電路組成時鐘電路。使用單片機編程軟件運用C語言編程實現(xiàn)要求的功能,并對時鐘功能進行豐富,增加了鬧鐘功能。2.3 系統(tǒng)總體設(shè)計方案比較與論證在設(shè)計本系統(tǒng)時,有以下幾種電子秤設(shè)計方案:方案一: 數(shù)碼管方案結(jié)構(gòu)簡圖如圖2-1所示。圖2-1 數(shù)碼管顯示方案這種設(shè)計方案雖然能夠滿足課題的基本要求,能夠完成物品稱重的同時,顯示重量、單價、總價等信息??墒沁@種方案也有其致命缺陷,如果數(shù)碼管較少,則不能同時顯示重量、單價、總價等信息,這是因為數(shù)碼管本身的缺陷引起的。如果要同時顯示多個信息,就必須在電路中安裝大量數(shù)碼管,但是這樣會大幅增加硬件電路設(shè)計的難度。方案二:在模數(shù)轉(zhuǎn)換之前
12、,加上放大器,用于準確的線性放大輸出電壓信號。將數(shù)碼管換為具有更強大顯示能力的液晶顯示器。這種不僅加強了人機交互功能,滿足設(shè)計要求,而且可以同時顯示物體重量,單價,總價等信息,電路更加簡單,設(shè)計更加簡便。結(jié)構(gòu)簡圖如圖2-2所示。圖2-2 LCD液晶顯示方案在整個硬件電路系統(tǒng)的設(shè)計過程中,綜合分析了各種有利因素和不利因素以后,最終完成了的電子稱設(shè)計方案。系統(tǒng)硬件設(shè)計框圖如圖2-3所示。數(shù)據(jù)采集AD轉(zhuǎn)換器單片機LCD顯示時鐘顯示報警電路鍵盤信號放大時鐘芯片圖2-3 系統(tǒng)設(shè)計硬件框圖2.3 系統(tǒng)元器件選型及參數(shù)介紹2.3.1 單片機選型單片機作為系統(tǒng)主控電路的核心元件,是整個硬件電路系統(tǒng)的中樞所在,
13、也就是心臟部位。所以其選型非常重要。根據(jù)本課題的需求,需要處理速度快,易用性強,價格便宜的單片機,最終決定選用STC89C52單片機。STC89C52單片機是一種新型的51單片機,集眾多優(yōu)點于一身,例如:功耗很低,性能足夠優(yōu)秀,處理速度很快等等。STC89C52使用了傳統(tǒng)的MCS-51內(nèi)核,同時也做了許多改進,使得芯片相較于傳統(tǒng)的51單片機功能更加豐富,性能也更加強勁 1,這讓它得到了廣泛的應(yīng)用。stc89c52芯片具有以下特性5:指令集完全兼容傳統(tǒng)的8051;內(nèi)部集成有8KB的存儲空間;時鐘頻率為033MHz;32個可編程輸入/輸出引腳;2個16位定時/計數(shù)器;6個中斷源,2級優(yōu)先級;全雙工
14、串行通信接口;監(jiān)視定時器;2個數(shù)據(jù)指針。STC89C52單片機引腳圖如圖2-4所示5。 圖2-4 STC89C52單片機引腳圖2.3.2 數(shù)據(jù)采集部分2.3.2.1 傳感器的選型 方案一 電容式壓力傳感器 電容式壓力傳感器是一種比較常見的壓力傳感器,平常使用的很多測量儀器都是以它為基礎(chǔ)制成的,它是一種利用電容變化巧妙地把對壓力的測量轉(zhuǎn)換為電信號測量的儀器。 它的應(yīng)用非常廣泛,有很多優(yōu)點:例如分辨率很高;能夠進行動態(tài)的檢測;結(jié)構(gòu)很簡單,并不復(fù)雜;尤為重要的是它的穩(wěn)定性很好,可以勝任各種環(huán)境下的測量工作;可以是非接觸測量的,很方便。 方案二 壓電式壓力傳感器這種傳感器的實際工作原理是通過電氣元件把
15、對壓力的測量的轉(zhuǎn)變?yōu)閷﹄娦盘柕臏y量。它也有不少優(yōu)點,例如:重量輕、可靠性強、結(jié)構(gòu)簡單、穩(wěn)定性高、信噪比足夠高、靈敏度很高以及信頻寬等等。顯然它具有許多不完美之處,例如:內(nèi)阻高、輸出電流的相應(yīng)較差、部分電壓材料忌潮濕的環(huán)境。它的應(yīng)用領(lǐng)域非常寬廣,如在電聲學(xué)、生物醫(yī)學(xué)和工程力學(xué)中都有應(yīng)用,尤其是在宇航和航空領(lǐng)域應(yīng)用中占有特殊的地位。 方案三 電阻應(yīng)變式傳感器 電阻應(yīng)變式傳感器是通過金屬電阻應(yīng)變片受到壓力的作用后,其電阻值也會隨之變化的原理工作的。金屬電阻應(yīng)變片有許多種類,不同的電阻應(yīng)變片有不同的優(yōu)缺點,適合不同場合。這種傳感器有很多優(yōu)點,例如:它的靈敏度和精度都足夠高,測量范圍非常廣,使用壽命很長
16、,結(jié)構(gòu)很簡單,頻響特性也不錯,最重要的是在許多惡劣的環(huán)境下,依然有很高的穩(wěn)定性,能夠正常工作。經(jīng)過認真對比分析這三種方案的優(yōu)缺點,我選擇了第三種方案,這種方案更加符合本課題的要求。 2.3.2.2 放大器及模數(shù)轉(zhuǎn)換器選擇通常由于傳感器輸出的信號一般較弱,如果信號沒有經(jīng)過放大處理,就會因為信號輸出的電壓信號太低造成難以直接用來進行A/D轉(zhuǎn)換。為此,測量電路中經(jīng)常設(shè)置有信號放大處理電路模塊,用來放大處理信號。這一模塊由相應(yīng)的放大器構(gòu)成。 模數(shù)轉(zhuǎn)換部分的設(shè)計在整個設(shè)計中占有非常重要的位置,所以模數(shù)轉(zhuǎn)換器的選擇就顯得尤為重要。目前,世界上存在的模數(shù)轉(zhuǎn)換器的種類多種多樣,有傳統(tǒng)的并
17、行、積分型模數(shù)轉(zhuǎn)換器,也有專用型的模數(shù)轉(zhuǎn)換器。不同的模數(shù)轉(zhuǎn)換器有不同的優(yōu)缺點,具有各自的性能。目前,可供選擇的模數(shù)轉(zhuǎn)換器有以下幾種選擇:(1)并行比較A/D轉(zhuǎn)換器:如ADC0808、ADC0809等。并行比較ADC顯著的特點是轉(zhuǎn)換速度快,但是成本高,功耗較大,且其分辨率一般不高,因此并行比較式A/D適合于要求高速、低分辨率的儀器中。(2)積分型A/D轉(zhuǎn)換器:如:ICL7135、ICL7109等。它的基本原理比較簡單,優(yōu)點是穩(wěn)定性相當(dāng)不錯,轉(zhuǎn)換精度高。缺點是轉(zhuǎn)換速度慢。適合對精度的需求較高,而且對轉(zhuǎn)換速度需求不高的儀器儀表中。(3)專用型A/D轉(zhuǎn)換器:如HX711。它是專用型高精度的24位A/D
18、轉(zhuǎn)換器芯片。它有很高的集成度,有很好的穩(wěn)定性。最重要的是其內(nèi)部集成有放大器,如果選用它來設(shè)計電子秤,就可無需額外選取放大器了。這樣就使電路設(shè)計的復(fù)雜度減小了,同時減小了制作成本10。經(jīng)過綜合分析,最終決定選用專用型高精度的模數(shù)轉(zhuǎn)換芯片HX711。芯片引腳圖如圖2-6所示。圖2-6 HX711引腳圖2.3.3 人機交互部分2.3.3.1 鍵盤輸入鍵盤作為人機交互模塊中非常重要的一環(huán),它是使用者向系統(tǒng)進行信息輸入的工具。鍵盤是由一個一個的獨立按鍵和相應(yīng)的電路構(gòu)成。鍵盤的種類有很多,但我們經(jīng)常使用到的只有幾種,例如通用鍵盤。鍵盤的選型要根據(jù)課題的要求和設(shè)計的需要而定目前有兩種方案可以選擇。方案一:I
19、ntel8279是一種大家經(jīng)常使用的可編程通用鍵盤/顯示器接口芯片,它既有鍵盤輸入功能,也有顯示器輸出功能。它有很多優(yōu)點,但是同時也有致命的缺點,就是它的使用會占用系統(tǒng)過多的資源,這會讓本就緊張的系統(tǒng)資源更加稀少。方案二:選用常用的矩陣鍵盤,它編程非常簡單,設(shè)計可靠,同時配合單片機可以很輕松的實現(xiàn)按鍵輸入。通過以上分析,最終選用矩陣鍵盤。2.3.3.2 顯示電路顯示電路作為人機交互的重要組成部分,其中顯示器的選擇尤為重要,它直接關(guān)乎著使用者進行人機交互的體驗感受。有以下兩種方案。方案一:使用數(shù)碼管作為顯示器。這種設(shè)計方案能夠滿足課題的基本要求,完成物品稱重的同時,也能顯示重量、單價、總價等信息
20、。其顯著的優(yōu)點是編程較為簡單,但缺點則是不能同時顯示多個不同的信息,若要同時顯示不同的信息,如同時顯示單價,總價等信息,則需要同時安裝大量的數(shù)碼管。這樣則增加了電路的復(fù)雜度,使設(shè)計硬件電路時的難度大大增加。同時軟件編寫的難度也加大了許多,再則數(shù)碼管能夠顯示的字符十分有限,對許多字符不能很好的顯示。方案二:采用具有更強字符顯示功能的LCD液晶顯示器,可以設(shè)置顯示單價,總價,時間日期等信息,它的功耗很低、能夠顯示的內(nèi)容非常豐富,穩(wěn)定性也很好?,F(xiàn)在字符型液晶顯示器應(yīng)用也較為普遍,價格也不是很高。經(jīng)過仔細分析,最終選擇了方案二,使用液晶顯示器作為顯示電路的核心器件。2.3.4 電源部分因為本設(shè)計中選用
21、的單片機等器件的所需的電源電壓均為5V,而USB接口剛好為5V,所以本設(shè)計采用電腦USB接口直接供電,這樣設(shè)計電路也比較簡單。同時,設(shè)計了相應(yīng)的USB下載電路,單片機可以通過USB接口直接下載程序。其電路原理如圖2-7所示。圖2-7 供電及程序下載電路2.3.5 具體實施方案簡介本系統(tǒng)設(shè)計最終決定選用新一代STC89C52RC單片機來制作完成課題所要求的電子秤,使其作為主控電路的核心,實現(xiàn)電子秤的所有功能。STC89C52單片機是一種具有低功耗,具有優(yōu)異性能的微處理器,它具有許多傳統(tǒng)51單片機不具備的功能,同時具備一定的存儲空間,由于編程所需要的軟件存儲空間不是太大,此單片機內(nèi)部存儲空間能夠滿
22、足需求,這樣就無須再外接外部存儲器了,從而降低了系統(tǒng)設(shè)計的難度。硬件部分除了包括單片機控制核心模塊之外,還包括數(shù)據(jù)采集,人機交互,系統(tǒng)電源和時鐘電路等部分。數(shù)據(jù)采集部分由電阻式壓力傳感器和專用型24位模數(shù)轉(zhuǎn)換器組成。在選擇電阻式壓力傳感器時,要結(jié)合課題的要求,根據(jù)實際需求,選用有足夠精確度和穩(wěn)定性的傳感器,還要把其的稱重誤差控制在合理范圍內(nèi)。另外還要考慮秤臺自身的重量的影響,并且要防止物體超重時損壞稱重傳感器,所以最終選擇的電阻式壓力傳感器的稱重極限值,要大于課題所要求的最大值,準確性也要達到課題的要求。人機交互部分的鍵盤,最終選用了編程較為簡單的矩陣鍵盤。液晶顯示器選用了lcd1602.時鐘
23、模塊選用了時鐘芯片DS1302作為核心器件。系統(tǒng)硬件的結(jié)構(gòu)框圖如下圖2-8所示。圖2-8 系統(tǒng)硬件結(jié)構(gòu)框圖第三章 系統(tǒng)的硬件設(shè)計本系統(tǒng)設(shè)計最終決定選用新一代STC89C52RC單片機來制作完成課題所要求的電子秤,使其作為主控電路的核心,實現(xiàn)電子秤的所有功能。硬件部分由單片機控制核心,數(shù)據(jù)采集,人機交互,系統(tǒng)電源和時鐘五大部分組成。3.1基于STC89C52的主控電路(1) 單片機STC89C52簡述STC89C52是一種性能十分出眾,功耗很低的單片機,作為一款改進型單片機,它使用了傳統(tǒng)的MCS-51內(nèi)核,由于做了許多改進,使得芯片相較于傳統(tǒng)的51單片機功能更加豐富,性能也更加強勁。另外由于沿用
24、了傳統(tǒng)內(nèi)核,所以它的指令集也完全兼容傳統(tǒng)8051。 (2)單片機核心控制電路的中心為STC89C52單片機,其次是晶振電路。為了能夠?qū)崿F(xiàn)清零功能,還設(shè)計了復(fù)位電路,此電路是整個系統(tǒng)中最重要的部分,是實現(xiàn)所有功能的關(guān)鍵所在。本課題設(shè)計的單片機主控電路如圖3-1所示。圖3-1 主控電路圖圖中DT和SCK外接模數(shù)轉(zhuǎn)換電路,負責(zé)單片機與模數(shù)轉(zhuǎn)換電路之間的信息交換。P1.6外接蜂鳴器,用來傳輸報警信號。晶振是晶片使用某些特殊材料封裝起來以后,又將IC添加在其封裝內(nèi)部組成振蕩電路的晶體元件。晶振在單片機中所起的作用非常巨大,它能夠為其提供需要的時鐘頻率,而且單片機的指令都必須在這個基礎(chǔ)之上執(zhí)行。
25、設(shè)計復(fù)位電路一方面為實現(xiàn)清零功能,另一方面是為了保證系統(tǒng)中的電路能夠穩(wěn)定可靠的工作,本設(shè)計復(fù)位電路采用兩種復(fù)位方式,按鍵復(fù)位和上電復(fù)位。構(gòu)成復(fù)位電路有兩種方案,一種是借助STC89C52內(nèi)部的反相放大器構(gòu)成振蕩器,但是要形成時鐘脈沖,需要在外部額外增加電路,這樣會增加電路的復(fù)雜度。所以最終選用另外一種方案,即利用內(nèi)部自帶時鐘,使用芯片內(nèi)部的振蕩器,完成復(fù)位電路設(shè)計。3.2 數(shù)據(jù)采集及A/D轉(zhuǎn)換電路3.2.1 數(shù)據(jù)采集電路 (1)數(shù)據(jù)采集采用HL-8型稱重傳感器,其安裝方式如圖3-2所示。圖3-2 HL-8型稱重傳感器安裝圖(2)HL-8型稱重傳感器的內(nèi)部原理圖如3-3所示。圖3-3 HL-8型
26、稱重傳感器內(nèi)部原理圖(3)HL-8型稱重傳感器的主要技術(shù)參數(shù)如表3-1所示。表3-1 HL-8型稱重傳感器主要技術(shù)參數(shù)3.2.2 A/D轉(zhuǎn)換電路采用高增益的24位HX711轉(zhuǎn)換器HX711是一款專用型高精度的24位模數(shù)轉(zhuǎn)換芯片。HX711管腳說明如表3-2所示。表3-2 HX711管腳說明(1)模擬輸入(2)供電電源(3)時鐘選擇本課題設(shè)計的HX711電路如圖3-4所示。圖3-4 HX711電路3.3 顯示電路使用具有顯示內(nèi)容豐富的16*2行的LCD1602顯示器,它性能優(yōu)異,能夠同時顯示多種字符和數(shù)字,基控制器采用HD44780,非常符合本設(shè)計的要求。它功耗很小,體積小,顯示內(nèi)容豐富,編程較
27、為簡單8。其與單片機的連接電路如圖3-5所示。圖3-5 系統(tǒng)狀態(tài)顯示電路圖 1腳為接地引腳;2腳為電源引腳;3腳為液晶1602的背光調(diào)節(jié)引腳,通過2K電位器接地;4腳是控制模塊內(nèi)部寄存器選擇的引腳;5腳是控制讀/寫模塊操作的引腳;6腳為使能端;4、5、6引腳分別與單片機的P1.0、P1.1、P1.2端口相連;7-14腳與單片機的P0口相連,他們是8根數(shù)據(jù)通信線。通它們,單片機可以和液晶屏進行信息交換;15腳連接電源、16腳接地8。3.4 時鐘電路DS1302是一種實時時鐘芯片,它的性能十分出眾,功耗很低,并且自帶RAM,使用它可以輕松編程實現(xiàn)電子日歷功能。工作電壓寬達2.55.5V。因為有諸多
28、優(yōu)點,所以它在很多測量系統(tǒng)中被普遍使用9。DS1302管腳圖如圖3-6所示。 圖3-6 DS1302管腳定義DS1302各引腳的功能為:VCC1:備用電源;VCC2:主電源。當(dāng)VCC2>VCC1+0.2V時,由VCC2向DS1302供電,當(dāng)VCC2< VCC1時,由VCC1向DS1302供電。SCLK:串行時鐘,輸入; I/O:三線接口時的雙向數(shù)據(jù)線;CE:輸入信號,在讀、寫數(shù)據(jù)期間,必須為高。時鐘電路如圖3-7所示。圖3-7 時鐘電路3.5 報警電路本設(shè)計中的報警電路原理簡單,易于理解。當(dāng)物品重量超過最大量程時,蜂鳴器發(fā)出報警聲,進行報警。報警電路由三極管,電阻和蜂鳴
29、器構(gòu)成。蜂鳴器通過三極管來驅(qū)動,單片機的引腳P1.6與三極管的基極相連,三極管通過單片機相應(yīng)接口輸出的高低電平來控制其導(dǎo)通與否。報警電路如圖3-8所示。圖3-8 報警電路3.6 鍵盤輸入鍵盤輸入電路作為人機交互部分中重要的組成部分,在電子稱工作的過程中,所有信息的輸入都由它來完成,例如單價值的輸入,時間的調(diào)整。經(jīng)過縝密思考,鍵盤最終選用了矩陣鍵盤,這是因為其結(jié)構(gòu)簡單,編程方便,便于進行相應(yīng)的軟件設(shè)計。其電路如圖3-9所示。圖3-9 矩陣鍵盤作為電子秤時,其按鍵功能分配如下表所示。789刪除456去皮123清零10011顯示時間此電子秤每次開機自動進入稱重頁面,所有數(shù)據(jù)初始化清零。進行物品稱重前
30、,要先按下去皮鍵,除去托盤重量,將其重量清零,實現(xiàn)去皮功能。在輸入了單價的過程中,可以使用刪除鍵或者清零鍵修改單價。單價設(shè)定完完成后,總價會自動生成,并被顯示出來。作為時鐘和鬧鐘的時候,鍵盤面板如下所示。選擇+-鬧鈴?fù)V鼓J竭x擇對應(yīng)矩陣鍵盤按鍵:1514131112由于此電子秤開機后默認進入稱重界面,所以進入時間顯示界面或者鬧鐘顯示界面需要通過模式選擇按鍵進行界面切換。進入時間顯示界面或者鬧鐘顯示界面以后,對各個時間參數(shù)的調(diào)節(jié)需要通過選擇按鍵來進行切換,使用加減鍵來調(diào)節(jié)其大小。3.7 系統(tǒng)硬件電路的繪制和PCB制作3.7.1Protel99SE軟件介紹在進行電路的設(shè)計時,我將此軟件和Altiu
31、m Designe軟件進行了比較,經(jīng)過綜合考慮之后,我最終決定采用此軟件進行原理圖,PCB的繪制,該軟件一經(jīng)問世就備受歡迎,后經(jīng)過版本的更迭發(fā)展成為如今的版本Protel99SE。Protel99SE軟件是一款非常流行的EDA設(shè)計軟件,它除了能進行原理圖,PCB板的設(shè)計兩種常用的功能之外,還可以完成可編程器件設(shè)計和電路仿真。它由多種功能模塊組成,包括有原理圖設(shè)計系統(tǒng)、印刷電路板設(shè)計系統(tǒng)、自動布線系統(tǒng)、電路仿真系統(tǒng)、可編程器件設(shè)計系統(tǒng)、PCB信號完整性分析系統(tǒng)等等。因為它具有很強大的數(shù)據(jù)交換能力和開放性及3D模擬能力,所以該軟件自問世以來,一直以來都受到電子工程師和高校師生的極力追捧,備受推崇,
32、因此它成為一款非常流行的設(shè)計軟件。3.7.2系統(tǒng)原理圖和PCB的繪制3.7.2.1采用Protel99SE軟件繪制原理圖的步驟如下:(1)建立系統(tǒng)所需要的元件庫,如果所需的元器件,軟件自帶的元件庫中沒有,則需自己制作沒有的原理圖符號;(2)把自己建立的元件庫都添加進入相應(yīng)的工程項目中;(3)進行元件整體布局將元器件放置于圖中合理的位置,這是最關(guān)鍵的一步;(4)對原理圖內(nèi)的元器件進行電氣連接;(5)放置注釋,這是為了增加電路圖的可讀性;3.7.2.2采用Protel99SE軟件繪制PCB的步驟如下:(1)繪制出正確的原理圖后生成網(wǎng)絡(luò)表;(2)在工程中建立PCB文件,導(dǎo)入生成的網(wǎng)絡(luò)表。在網(wǎng)絡(luò)表導(dǎo)入
33、之前,要注意相關(guān)環(huán)境參數(shù)的設(shè)置和電路板的規(guī)劃;(3)進行PCB的繪制時,PCB的布線要盡可能美觀,完成繪制后,還要進行最終的設(shè)計規(guī)則檢測。 第四章 軟件設(shè)計本課題設(shè)計的電子秤系統(tǒng)由硬件電路部分和軟件部分組成,硬件電路部分的完成只是整個系統(tǒng)的基礎(chǔ),它是為軟件的運行做準備的,軟件部分才是整個系統(tǒng)的靈魂,兩者相輔相成,才能確保整個系統(tǒng)的成功運行。軟件部分必須能夠滿足課題對功能的所有要求,如自動稱重、價格計算、顯示功能、時鐘功能、鬧鐘功能、報警功能等等。軟件系統(tǒng)的主程序包括電子秤函數(shù)和時鐘函數(shù),此外還有一些重要的子函數(shù),如DS1302初始化程序、顯示函數(shù)、蜂鳴器報警函數(shù)等等。4.1 主程序流程圖 本本
34、程序主要有兩個功能函數(shù)組成,一個為電子秤函數(shù),一個為時鐘函數(shù),這兩個函數(shù)是整個程序中最重要的組成部分。4.1.1時鐘模塊程序時鐘函數(shù)流程圖如圖4-1所示。圖4-1 時鐘函數(shù)流程圖系統(tǒng)啟動后,首先調(diào)用時鐘芯片DS1302的初始化程序?qū)⑵涑跏蓟?,然后再調(diào)用液晶顯示器LCD1602的初始化程序?qū)⑵涑跏蓟O到y(tǒng)初始化完畢后,系統(tǒng)默認自動進入物品稱重界面,這時如果按下模式選擇鍵,系統(tǒng)就會進入時鐘界面,這時顯示函數(shù)運行,液晶屏開始顯示時間,與此同時按鍵掃描程序開始運行,循環(huán)檢測鍵盤中是否有按鍵按下,是否在進行各個時間參數(shù)的調(diào)節(jié)或者界面的切換。緊接著與預(yù)先設(shè)定的鬧鐘時間進行比較,檢測是否與鬧鐘時間相一致,如
35、果相同,則定時器T0開始運行,蜂鳴器發(fā)出蜂鳴聲,提示鬧鐘時間到了。如果在鬧鐘發(fā)出鬧鈴聲的過程中關(guān)閉鬧鐘,可以按下鬧鈴解除按鍵,使鬧鐘停止。4.1.2稱重模塊程序電子秤函數(shù)流程圖如圖4-2所示。圖4-2 電子秤函數(shù)流程圖在電子秤稱重界面工作時,系統(tǒng)啟動后會首先調(diào)用LCD1602初始化程序?qū)⒁壕脸跏蓟瑔覣/D轉(zhuǎn)換函數(shù),對采集到的數(shù)據(jù)進行處理,與此同時運行單價函數(shù),按鍵掃描函數(shù)也會同時運行,檢測按鍵值的輸入,再通過設(shè)置函數(shù)進行單價的輸入和修改。自動計算出總價后,調(diào)用顯示函數(shù)將重量、單價、總價等信息顯示在液晶屏上。如果想要清除所有信息重新稱重,則只需按下清零鍵即可,系統(tǒng)會重新初始化,所有數(shù)據(jù)歸零
36、。4.1.3重要的子程序4.1.3.1 DS1302模塊的子程序void write_1302(uchar add,uchar dat)rst = 1; /把復(fù)位線拿高for(i=0;i<8;i+) /低位在前clk = 0; /時鐘線拿低開始寫數(shù)據(jù)io = add & 0x01; add >>= 1; /把地址右移一位clk = 1; /時鐘線拿高for(i=0;i<8;i+)clk = 0; /時鐘線拿低開始寫數(shù)據(jù)io = dat & 0x01;dat >>= 1; /把數(shù)據(jù)右移一位clk = 1; /時鐘線拿高rst = 0; /復(fù)位線
37、合低clk = 0;io = 0;此子程序的功能是往時鐘芯片DS1302中寫入一個數(shù)據(jù)。寫數(shù)據(jù)的過程就是先寫入寄存器地址,再寫入數(shù)據(jù)。這些數(shù)據(jù)就是年月日時分秒這些時間參數(shù)。寫完數(shù)據(jù)以后,將RST置零。uchar read_1302(uchar add)uchar value,i;rst = 1; /把復(fù)位線拿高for(i=0;i<8;i+) /低位在前clk = 0; /時鐘線拿低開始寫數(shù)據(jù)io = add & 0x01; add >>= 1; /把地址右移一位clk = 1; /時鐘線拿高for(i=0;i<8;i+)clk = 0; /時鐘線拿低開始讀數(shù)據(jù)v
38、alue >>= 1;if(io = 1)value |= 0x80;clk = 1; /時鐘線拿高rst = 0; /復(fù)位線合低clk = 0;io = 0;return value; /返回讀出來的數(shù)據(jù)此子程序的功能是讀取DS1302中的數(shù)據(jù)即讀取時間,讀取年月日時分秒這些時間參數(shù)。讀取數(shù)據(jù)的過程和寫數(shù)據(jù)的過程很相似,也是先寫入寄存器地址,再讀取數(shù)據(jù)。4.1.3.2 LCD1602液晶顯示器子程序void write_com(uchar com)e=0; /為了讓本次操作有效rs=0; /表示寫指令寄存器rw=0; /表示對寄存器寫操作P0=com; /把要寫入液晶模塊的數(shù)據(jù)準
39、備好delay_uint(3); e=1; /讓液晶模塊使能,以便讓我們對它的操作有效delay_uint(25);e=0; /為了讓本次操作有效此子程序的功能是向CD1602指令寄存器中寫入命令。void write_data(uchar dat)e=0; /為了讓本次操作有效rs=1; /表示寫數(shù)據(jù)寄存器rw=0; /表示對寄存器寫操作P0=dat; /把要寫入液晶模塊的數(shù)據(jù)準備好delay_uint(3);e=1; /讓液晶模塊使能,以便讓我們對它的操作有效delay_uint(25);e=0; /為了讓本次操作有效此子程序的功能是向LCD1602數(shù)據(jù)寄存器中寫入數(shù)據(jù)信息,void wr
40、ite_string(uchar hang,uchar add,uchar *p)if(hang=1) write_com(0x80+add);/在第一行指定位置顯示elsewrite_com(0x80+0x40+add);/在第二行指定位置顯示while(1) if(*p = '0') break;/判斷字符串是否結(jié)束write_data(*p); /將當(dāng)前的字符內(nèi)容發(fā)送到液晶屏上p+; /指向下一個字符此子程序的功能是在液晶顯示器的指定位置上顯示字符串。void init_1602() /lcd1602初始化設(shè)置write_com(0x38);/顯示模式設(shè)置,8位數(shù)據(jù)口wr
41、ite_com(0x0c); /開啟顯示,光標不顯示write_com(0x06); /設(shè)置光標移動方向為向右,顯示字符時字符不移動delay_uint(1000);/延時,保證顯示更加穩(wěn)定此子程序的功能是初始化LCD1602液晶顯示器。4.2 主要中斷程序流程圖定時器T0中斷程序流程圖如圖4-3所示。圖4-3 定時器T0中斷程序流程圖進入TO中斷程序后,系統(tǒng)會先將TO計數(shù)器初始化,然后判斷所稱物品重量是否超過電子秤最大量程5kg,如果超重,就會啟動蜂鳴器報警程序,蜂鳴器就會報警提示超重。否則繼續(xù)與鬧鐘標志比較,判斷是否到達鬧鐘時間,如果到達,同樣會啟動蜂鳴器報警程序,使蜂鳴器報警。4.3 核
42、心代碼 下面介紹主程序編寫,其他程序見附錄7。 (1)頭文件和一些宏定義#include <reg52.h> /調(diào)用單片機頭文件#define uchar unsigned char /無符號字符型 宏定義變量范圍0255#define uint unsigned int /無符號整型 宏定義變量范圍065535#define ulong unsigned long#include "ds1302.h"#include<intrins.h> (2)管腳,常量,變量定義uchar code table_num="abcdefg"sb
43、it rs=P10; /寄存器選擇信號 H:數(shù)據(jù)寄存器 L:指令寄存器sbit rw=P11; /寄存器選擇信號 H:數(shù)據(jù)寄存器 L:指令寄存器sbit e =P12; /片選信號 下降沿觸發(fā)sbit hx711_dout=P21; sbit hx711_sck=P20; sbit ACC0=ACC0;sbit ACC7=ACC7;sbit clk = P13; /ds1302時鐘線定義sbit io = P14; /數(shù)據(jù)線sbit rst = P15; /復(fù)位線uchar miao,fen,shi,ri,yue,week,nian,lshi,lfen;uchar i;uchar open1;
44、sbit beep = P16; /蜂鳴器uchar menu_1,menu_2;long weight;unsigned long HX711_Buffer = 0;unsigned long Weight_Maopi = 0;unsigned char flag = 0;bit Flag_ERROR = 0;uint temp,qi_weight;bit chaozhong_flag;bit leiji_flag;uchar flag_200ms ;ulong price,z_price; /單價 總價uchar flag_p;(3)各個子程序/*初始化ds1302時間*/void ini
45、t_1302()uchar i;rst = 0;/第一次讀寫數(shù)據(jù)時要把IO品拿低clk = 0;io = 0;i = read_ds1302ram(30); if(i != 8)i=8;write_ds1302ram(30,i); /4050 4100 3080write_1302(0x8e,0x00);/打開寫保護write_1302(0x90,0xaa);/ 定義充電write_1302(0x80,0x53);/秒 write_1302(0x84,0x13);/分 write_1302(0x82,0x43);/時write_1302(0x8c,0x12);/年write_1302(0x88
46、,0x06);/月write_1302(0x86,0x03);/日write_1302(0x8a,0x06);/星期write_1302(0x8e,0x80);/把最高位值0 允許ds1302工作write_1302(0x8e,0x80);/關(guān)寫保護read_time(); /讀時間if(miao >= 0x60)write_1302(0x8e,0x00); /打開寫保護write_1302(0x80,0x53);/把最高位值0 允許ds1302工作write_1302(0x8e,0x80);/關(guān)寫保護/* 名稱 : write_sfm4_price(uchar hang,uchar a
47、dd,uchar date)* 功能 : 顯示價格* 輸入 : 行,列,需要輸入1602的數(shù)據(jù)* 輸出 : 無*/void write_sfm4_price(uchar hang,uchar add,uint date)if(hang=1) write_com(0x80+add);elsewrite_com(0x80+0x40+add);write_data(0x30+date/1000%10);write_data(0x30+date/100%10);write_data('.');write_data(0x30+date/10%10);write_data(0x30+dat
48、e%10);void write_sfm4_price1(uchar hang,uchar add,uint date)if(hang=1) write_com(0x80+add);elsewrite_com(0x80+0x40+add);if(date >= 9999)write_data(0x30+date/10000%10);write_data(0x30+date/1000%10);write_data(0x30+date/100%10);write_data('.');write_data(0x30+date/10%10);else write_data(0x3
49、0+date/1000%10);write_data(0x30+date/100%10);write_data('.');write_data(0x30+date/10%10);write_data(0x30+date%10);/*開機液晶顯示函數(shù) 初始化液晶的內(nèi)容*/void init_1602_dis_csf() /初始化液晶 write_string(1,0," W:0.000kg ");write_string(2,0,"P:00.00 Z:00.00");write_zifu(2,7,0x5c);/¥/write_zifu(2,
50、15,0x5c);/¥void init_1602_dis_sj() /初始化液晶 write_string(1,0," : : W: ");write_string(2,0," 20 - - ");void init_1602_dis_nz() /初始化鬧鐘界面 write_string(1,0," set clock "); write_string(2,0," : ");/*壓力顯示程序*/void write_1602_yl(uchar hang,uchar add,uint date)if(hang=1)
51、 write_com(0x80+add);elsewrite_com(0x80+0x40+add);if(date < 2)date = 0;/write_data(0x30+date/10000%10);write_data(0x30+date/1000%10);write_data('.');write_data(0x30+date/100%10);write_data(0x30+date/10%10);write_data(0x30+date%10);void Delay_hx711_us(void)_nop_();_nop_();unsigned long HX7
52、11_Read(void)/增益128unsigned long count; unsigned char i; hx711_dout=1; Delay_hx711_us(); hx711_sck=0; count=0;/EA = 1; while(hx711_dout); /EA = 0; for(i=0;i<24;i+) hx711_sck=1; count=count<<1; hx711_sck=0; if(hx711_dout)count+; hx711_sck=1; count=count0x;/第25個脈沖下降沿來時,轉(zhuǎn)換數(shù)據(jù)Delay_hx711_us();hx711_sck=0; ret
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 保密協(xié)議違約責(zé)任范本
- 2025年小學(xué)春季學(xué)期工作計劃(4篇)
- 2025年電力公司安全生產(chǎn)講話稿模版(4篇)
- 村新村建設(shè)示范村實施方案例文(2篇)
- 2025年項目復(fù)工動員大會發(fā)言稿模版(3篇)
- 2025年學(xué)校教務(wù)處年度工作計劃模版(2篇)
- 酒店季度工作計劃
- 2024年醫(yī)院護士長年終工作個人總結(jié)
- 建筑裙房安全生產(chǎn)培訓(xùn)
- 醫(yī)院營銷策劃方案范文(2篇)
- GB/T 1819.2-2004錫精礦化學(xué)分析方法錫量的測定碘酸鉀滴定法
- GB/T 15605-2008粉塵爆炸泄壓指南
- 中國中樞神經(jīng)系統(tǒng)膠質(zhì)瘤診斷和治療指南
- 中考語文文學(xué)文本類閱讀復(fù)習(xí)專題課件:表現(xiàn)手法分析之襯托、對比與抑揚
- 2023年海峽出版發(fā)行集團有限責(zé)任公司招聘筆試題庫及答案解析
- 臺大公開課歐麗娟紅樓夢講義
- 【合同范本】補充協(xié)議-面積差補款-預(yù)售版
- 藝術(shù)(音樂、美術(shù))專業(yè)人才需求情況調(diào)研報告
- [QC成果]提高剪力墻施工質(zhì)量一次合格率
- 移印工作業(yè)指導(dǎo)書
- 樂高基礎(chǔ)篇樂高積木和搭建種類專題培訓(xùn)課件
評論
0/150
提交評論