基于單片機(jī)的電子秤設(shè)計(jì)_第1頁(yè)
基于單片機(jī)的電子秤設(shè)計(jì)_第2頁(yè)
基于單片機(jī)的電子秤設(shè)計(jì)_第3頁(yè)
基于單片機(jī)的電子秤設(shè)計(jì)_第4頁(yè)
基于單片機(jī)的電子秤設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

多功能數(shù)字電子稱(chēng)摘要電子稱(chēng)是將檢測(cè)與轉(zhuǎn)換技術(shù)、計(jì)算機(jī)技術(shù)、信息處理、數(shù)字技術(shù)等技術(shù)綜合一體的現(xiàn)代新型稱(chēng)重儀器。它與我們?nèi)粘I罹o密結(jié)合息息相關(guān)。電子稱(chēng)主要以單片機(jī)作為中心控制單元,通過(guò)稱(chēng)重傳感器進(jìn)行模數(shù)轉(zhuǎn)換單元,在配以鍵盤(pán)、顯示電路及強(qiáng)大軟件來(lái)組成。電子稱(chēng)不但計(jì)量準(zhǔn)確、快速方便,更重要的自動(dòng)稱(chēng)重、數(shù)字顯示,對(duì)人們生活的影響越來(lái)越大,廣受歡迎。本系統(tǒng)的設(shè)計(jì)主要從硬件電路設(shè)計(jì),軟件編程調(diào)試,實(shí)物焊接調(diào)試三部分進(jìn)行詳細(xì)闡述。硬件電路主要是基于單片機(jī)STC89S52為核心的控制單元實(shí)現(xiàn)數(shù)據(jù)的處理,采用壓力傳感器對(duì)數(shù)據(jù)進(jìn)行采集,電子稱(chēng)專(zhuān)用24位AD轉(zhuǎn)換芯片HX711對(duì)傳感器采集到的模擬量進(jìn)行AD轉(zhuǎn)換,轉(zhuǎn)換后的數(shù)據(jù)送到單片機(jī)進(jìn)行處理顯示,數(shù)據(jù)顯示由LCD1602液晶實(shí)現(xiàn),液晶顯示效果穩(wěn)定無(wú)閃爍。關(guān)鍵字:STC89S52單片機(jī);電子稱(chēng);壓力傳感器;HX711。目錄1緒論...................................................................................32方案設(shè)計(jì)..........................................................................42.1系統(tǒng)總體設(shè)計(jì)方案比較與論證....................................43硬件的方案設(shè)計(jì)..............................................................63.1傳感器...........................................................................63.2單片機(jī)選型....................................................................73.3顯示模塊.......................................................................83.4AD模塊.........................................................................83.5鍵盤(pán)輸入......................................................................104電路設(shè)計(jì)..........................................................................104.1電源電路.......................................................................104.2單片機(jī)控制電路...........................................................114.3顯示電路.......................................................................124.4系統(tǒng)原理圖與PCB電路圖..........................................124.5實(shí)物圖展示...................................................................135原件清單..........................................................................146系統(tǒng)程序..........................................................................157參考文獻(xiàn)..........................................................................208總結(jié)..................................................................................211緒論稱(chēng)重技術(shù)自古以來(lái)就被人們所重視,作為一種計(jì)量手段,廣泛應(yīng)用于工農(nóng)業(yè)、科研、交通、內(nèi)外貿(mào)易等各個(gè)領(lǐng)域,與人民的生活緊密相連。隨著社會(huì)的進(jìn)步、科學(xué)的發(fā)展,我們對(duì)其要求操作方便、易于識(shí)別。隨著計(jì)量技術(shù)和電子技術(shù)的發(fā)展,傳統(tǒng)純機(jī)械結(jié)構(gòu)的桿秤、臺(tái)秤、磅秤等稱(chēng)量裝置逐步被淘汰,電子稱(chēng)量裝置電子秤、電子天平等以其準(zhǔn)確、快速、方便、顯示直觀(guān)等諸多優(yōu)點(diǎn)而受到人們的青睞。電子秤向提高精度和降低成本方向發(fā)展的趨勢(shì)引起了對(duì)低成本、高性能模擬信號(hào)處理器件需求的增加。通過(guò)分析近年來(lái)電子衡器產(chǎn)品的發(fā)展情況及國(guó)內(nèi)外市場(chǎng)的需求,電子衡器總的發(fā)展趨勢(shì)是小型化、模塊化、集成化、智能化;其技術(shù)性能趨向是速率高、準(zhǔn)確度高、穩(wěn)定性高、可靠性高;其功能趨向是稱(chēng)重計(jì)量的控制信息和非控制信息并重的“智能化”功能;其應(yīng)用性能趨向于綜合性和組合性。電子秤與機(jī)械秤比較有體積小、重量輕、結(jié)構(gòu)簡(jiǎn)單、價(jià)格低、實(shí)用價(jià)值強(qiáng)、維護(hù)方便等特點(diǎn),可在各種環(huán)境工作,重量信號(hào)可遠(yuǎn)傳,易于實(shí)現(xiàn)重量顯示數(shù)字化,易于與計(jì)算機(jī)聯(lián)網(wǎng),實(shí)現(xiàn)生產(chǎn)過(guò)程自動(dòng)化,提高勞動(dòng)生產(chǎn)率。從世界水平看,衡器技術(shù)已經(jīng)經(jīng)歷了四個(gè)階段,從傳統(tǒng)的全部由機(jī)械元器件組成的機(jī)械稱(chēng)到用電子線(xiàn)路代替部分機(jī)械元器件的機(jī)電結(jié)合秤,再?gòu)募呻娐肥降侥壳暗膯纹瑱C(jī)系統(tǒng)設(shè)計(jì)的電子計(jì)價(jià)秤。我國(guó)電子衡器從最初的機(jī)電結(jié)合型發(fā)展到現(xiàn)在的全電子型和數(shù)字智能型?,F(xiàn)今電子衡器制造技術(shù)及應(yīng)用得到了新發(fā)展:電子稱(chēng)重技術(shù)從靜態(tài)稱(chēng)重向動(dòng)態(tài)稱(chēng)重發(fā)展;計(jì)量方法從模擬測(cè)量向數(shù)字測(cè)量發(fā)展;測(cè)量特點(diǎn)從單參數(shù)測(cè)量向多參數(shù)測(cè)量發(fā)展。常規(guī)的測(cè)試儀器儀表和控制裝置被更先進(jìn)的智能儀器所取代,使得傳統(tǒng)的電子測(cè)量?jī)x器在遠(yuǎn)離、功能、精度及自動(dòng)化水平定方面發(fā)生了巨大變化,并相應(yīng)的出現(xiàn)了各種各樣的智能儀器控制系統(tǒng),使得科學(xué)實(shí)驗(yàn)和應(yīng)用工程的自動(dòng)化程度得以顯著提高。2方案設(shè)計(jì)2.1系統(tǒng)總體設(shè)計(jì)方案比較與論證在設(shè)計(jì)系統(tǒng)時(shí),針對(duì)各個(gè)模塊實(shí)現(xiàn)的功能來(lái)設(shè)計(jì)電子秤的方案有以下幾種:方案一數(shù)碼管顯示:數(shù)據(jù)采集數(shù)據(jù)采集AD轉(zhuǎn)換單片機(jī)處理LED顯示圖1數(shù)碼管顯示方案此方案利用數(shù)碼管顯示物體重量,簡(jiǎn)單可行,可以采用內(nèi)部帶有模數(shù)轉(zhuǎn)換功能的單片機(jī)。由此設(shè)計(jì)出的電子秤系統(tǒng),硬件部分簡(jiǎn)單,接口電路易于實(shí)現(xiàn),并且在編程時(shí)大大減少程序量,在電路結(jié)構(gòu)上只有簡(jiǎn)單的輸出輸入關(guān)系。缺點(diǎn)是:硬件部分簡(jiǎn)單,雖然可以實(shí)現(xiàn)電子稱(chēng)基本的稱(chēng)重功能,但是不能實(shí)現(xiàn)外部數(shù)據(jù)的輸入,無(wú)法根據(jù)實(shí)際情況靈活地設(shè)定各種控制參數(shù)。由于數(shù)碼管只能實(shí)現(xiàn)簡(jiǎn)單的數(shù)字和英文字符的顯示,不能顯示漢字以及其他的復(fù)雜字符,不能達(dá)到顯示購(gòu)物清單的要求。又因?yàn)椴捎昧司哂心?shù)轉(zhuǎn)換功能的單片機(jī),系統(tǒng)電路過(guò)于簡(jiǎn)單,系統(tǒng)硬件的擴(kuò)展必受到限制,電子秤的功能過(guò)于單一,達(dá)不到設(shè)計(jì)的標(biāo)準(zhǔn)。方案二在前一種方案的基礎(chǔ)上進(jìn)行擴(kuò)展,增加一鍵盤(pán)輸入裝置,增加外界對(duì)單片機(jī)內(nèi)部的數(shù)據(jù)設(shè)定,使電子稱(chēng)實(shí)現(xiàn)稱(chēng)重計(jì)價(jià)的功能。結(jié)構(gòu)簡(jiǎn)圖如圖2所示:數(shù)據(jù)采集數(shù)據(jù)采集AD轉(zhuǎn)換單片機(jī)處理LED顯示按鍵處理圖2帶有鍵盤(pán)輸入的結(jié)構(gòu)簡(jiǎn)圖此方案設(shè)計(jì)的電子秤,可以實(shí)現(xiàn)稱(chēng)物計(jì)價(jià)功能,但是局限于數(shù)碼管的功能,在顯示時(shí)只能顯示單價(jià)、購(gòu)物總額以及簡(jiǎn)單的貨物代碼等。在顯示重量時(shí),如果數(shù)碼管沒(méi)有足夠的位數(shù),那么稱(chēng)量物體重量的精度必受到限制,所以此方案需要較多的數(shù)碼管接入電路中。這樣在處理輸入輸出接口時(shí)需要另行擴(kuò)展足夠多的I/O接口供數(shù)碼管使用,比較麻煩。方案三前端信號(hào)處理時(shí),選用放大、信號(hào)轉(zhuǎn)換等措施來(lái)增加信號(hào)采集強(qiáng)度但會(huì)增加相應(yīng)的設(shè)計(jì)成本;顯示方面采用具有字符圖文顯示功能的LCD顯示器。這種方案不僅加強(qiáng)了人機(jī)交換的能力,而且滿(mǎn)足設(shè)計(jì)要求,可以顯示購(gòu)物清單、所稱(chēng)量的物體信息等相關(guān)內(nèi)容,當(dāng)需要增加擴(kuò)展功能時(shí)可以通過(guò)切換液晶顯示界面的方式來(lái)實(shí)現(xiàn)。結(jié)構(gòu)簡(jiǎn)圖如下圖3所示:數(shù)據(jù)采集數(shù)據(jù)采集AD轉(zhuǎn)換單片機(jī)處理LCD顯示按鍵處理信號(hào)放大圖3帶有鍵盤(pán)輸入及液晶顯示的結(jié)構(gòu)簡(jiǎn)圖鑒于上述三種方案的優(yōu)缺點(diǎn),本系統(tǒng)在設(shè)計(jì)時(shí)充分考慮到系統(tǒng)的實(shí)用性及成本的可行性的前提下,設(shè)計(jì)完成了最終的電子稱(chēng)方案,最終的硬件設(shè)計(jì)方案圖如圖4所示,該方案增加了電子日歷功能,從而使本系統(tǒng)的設(shè)計(jì)功能得到了很好的擴(kuò)展與應(yīng)用。數(shù)據(jù)采集數(shù)據(jù)采集AD轉(zhuǎn)換單片機(jī)處理LCD顯示時(shí)鐘顯示計(jì)量顯示按鍵處理信號(hào)放大時(shí)鐘芯片圖4系統(tǒng)設(shè)計(jì)硬件框圖3硬件的方案設(shè)計(jì)3.1傳感器傳感器的變形量是很微小的,在安裝、使用過(guò)程中要特別注意,不要超載。如果在外力撤除后不能恢復(fù)原形狀,發(fā)生塑性變形,則傳感器就損壞了。傳感器有四根線(xiàn)連接外電路,紅線(xiàn)為電源正極輸入,黑線(xiàn)為電源負(fù)極輸入,白線(xiàn)為信號(hào)輸出1,綠線(xiàn)信號(hào)輸出2。為保正精度,一般不要隨意調(diào)整線(xiàn)長(zhǎng)。圖53.2單片機(jī)選型單片機(jī)的選擇在整個(gè)系統(tǒng)設(shè)計(jì)中至關(guān)重要,要滿(mǎn)足大內(nèi)存、高速率、通用性、價(jià)格便宜等要求,鑒于以上考慮本課題選擇AT89S52作為整個(gè)系統(tǒng)的主控芯片。AT89S52是一個(gè)低功耗,高性能CMOS8位單片機(jī),片內(nèi)含8kBytesISP(In-systemprogrammable)的可反復(fù)擦寫(xiě)10000次的Flash只讀程序存儲(chǔ)器,器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu)[1],芯片內(nèi)集成了通用8位中央處理器和ISPFlash存儲(chǔ)單元,功能強(qiáng)大的微型計(jì)算機(jī)的AT89S52可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性?xún)r(jià)比的解決方案。AT89S52單片機(jī)的40個(gè)引腳中有2個(gè)專(zhuān)用于主電源引腳,2個(gè)外接晶振的引腳,4個(gè)控制或與其它電源復(fù)用的引腳,以及32條輸入輸出I/O引腳。AT89S52單片機(jī)引腳圖如圖4所示:圖63.3顯示模塊采用點(diǎn)陣字符型LCD液晶顯示,液晶顯示模塊具有體積小、功耗低、顯示內(nèi)容豐富等特點(diǎn),現(xiàn)在字符型液晶顯示模塊已經(jīng)是單片機(jī)應(yīng)用設(shè)計(jì)中最常用的信息顯示器件LCD1602可以顯示2行16個(gè)字符,有8位數(shù)據(jù)總線(xiàn)D0-D7,和RS、R/W、EN三個(gè)控制端口,工作電壓為5V,并且?guī)в凶址麑?duì)比度調(diào)節(jié)和背光[4]。LCD1602液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器(CGROM)已經(jīng)存儲(chǔ)了160個(gè)不同的點(diǎn)陣字符圖形,如表1所示,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫(xiě)、常用的符號(hào)、和日文假名等,每一個(gè)字符都有一個(gè)固定的代碼,它的讀寫(xiě)操作、屏幕和光標(biāo)的操作都是通過(guò)指令編程來(lái)實(shí)現(xiàn)的。圖73.4AD模塊簡(jiǎn)介:HX711是一款專(zhuān)為高精度稱(chēng)重傳感器而設(shè)計(jì)的24位A/D轉(zhuǎn)換器芯片。與同類(lèi)型其它芯片相比,該芯片集成了包括穩(wěn)壓電源、片內(nèi)時(shí)鐘振蕩器等其它同類(lèi)型芯片所需要的外圍電路,具有集成度高、響應(yīng)速度快、抗干擾性強(qiáng)等優(yōu)點(diǎn)。降低了電子秤的整機(jī)成本,提高了整機(jī)的性能和可靠性。該芯片與后端MCU芯片的接口和編程非常簡(jiǎn)單,所有控制信號(hào)由管腳驅(qū)動(dòng),無(wú)需對(duì)芯片內(nèi)部的寄存器編程。輸入選擇開(kāi)關(guān)可任意選取通道A或通道B,與其內(nèi)部的低噪聲可編程放大器相連。通道A的可編程增益為128或64,對(duì)應(yīng)的滿(mǎn)額度差分輸入信號(hào)幅值分別為±20mV或±40mV。通道B則為固定的32增益,用于系統(tǒng)參數(shù)檢測(cè)。芯片內(nèi)提供的穩(wěn)壓電源可以直接向外部傳感器和芯片內(nèi)的A/D轉(zhuǎn)換器提供電源,系統(tǒng)板上無(wú)需另外的模擬電源。芯片內(nèi)的時(shí)鐘振蕩器不需要任何外接器件。上電自動(dòng)復(fù)位功能簡(jiǎn)化了開(kāi)機(jī)的初始化過(guò)程。特點(diǎn):兩路可選擇差分輸入片內(nèi)低噪聲可編程放大器,可選增益為64和128片內(nèi)穩(wěn)壓電路可直接向外部傳感器和芯片內(nèi)A/D轉(zhuǎn)換器提供電源片內(nèi)時(shí)鐘振蕩器無(wú)需任何外接器件,必要時(shí)也可使用外接晶振或時(shí)鐘上電自動(dòng)復(fù)位電路簡(jiǎn)單的數(shù)字控制和串口通訊:所有控制由管腳輸入,芯片內(nèi)寄存器無(wú)需編程可選擇10Hz或80Hz的輸出數(shù)據(jù)速率同步抑制50Hz和60Hz的電源干擾耗電量(含穩(wěn)壓電源電路):典型工作電流:<1.7mA,斷電電流:<1μA工作電壓范圍:2.6~5.5V工作溫度范圍:-20~+85℃16管腳的SOP-16封裝圖83.5鍵盤(pán)輸入矩陣式鍵盤(pán)又叫行列式鍵盤(pán)。用I/O口線(xiàn)組成行、列結(jié)構(gòu),按鍵設(shè)置在行列的交點(diǎn)上。例如,用2×2的行列結(jié)構(gòu)可構(gòu)成4個(gè)鍵的鍵盤(pán),4×4行列結(jié)構(gòu)可構(gòu)成16個(gè)鍵的鍵盤(pán)。因此,在按鍵數(shù)量較多時(shí),可以節(jié)省I/O口線(xiàn)。相對(duì)于專(zhuān)用芯片式可以節(jié)省成本,且更為靈活。圖94×4矩陣鍵盤(pán)電路設(shè)計(jì)4.1電源電路由于該系統(tǒng)中51單片機(jī)及AD轉(zhuǎn)換芯片及液晶顯示器所需供電電壓均為5V電壓,所以要保證系統(tǒng)穩(wěn)定可靠的工作,需要設(shè)計(jì)一個(gè)可以穩(wěn)定提供5V電壓的供電系統(tǒng)。本設(shè)計(jì)采用雙電源接口供電方式,USB接口供電方便程序調(diào)試,也可采用外置電源作為系統(tǒng)的供電電源,但是需另加三端穩(wěn)壓器件LM7805作為系統(tǒng)電源的穩(wěn)壓器件以保證系統(tǒng)電壓為穩(wěn)定的直流5V電壓,同時(shí)外置電源的輸出電壓要高于5V輸出,系統(tǒng)電源輸入接口要加濾波電容以確保工作電壓穩(wěn)定。電源輸出接口加上LED電源指示燈,用來(lái)判定電源是否正常工作。該系統(tǒng)電源電路設(shè)計(jì)如圖11所示。C1,C2實(shí)現(xiàn)對(duì)電源濾波,以濾除可能存在的高頻雜波對(duì)電源的影響,C4實(shí)現(xiàn)對(duì)電源電壓的平滑穩(wěn)定作用[10],當(dāng)USB接口輸出電壓高時(shí)C4用來(lái)儲(chǔ)能,當(dāng)后續(xù)電路負(fù)載過(guò)高USB供電不足時(shí)電解電容C4通過(guò)釋放儲(chǔ)存的電能來(lái)保證電源電壓不跌落。LED0用作電源指示,其亮滅代表電源工作與否,R0用來(lái)限流,圖104.2單片機(jī)控制電路圖11系統(tǒng)主控電路由AT89S52單片機(jī)及晶振電路和復(fù)位電路組成,晶振和電容在電路中當(dāng)作一個(gè)高Q值的電磁諧振回路。復(fù)位電路是用來(lái)讓單片機(jī)返回到初始狀態(tài)的輔助電路,其作用是當(dāng)單片機(jī)程序跑飛或系統(tǒng)出現(xiàn)死機(jī)狀態(tài)時(shí)可以讓系統(tǒng)從新恢復(fù)工作。本系統(tǒng)復(fù)位電路的設(shè)計(jì)具有上電復(fù)位和手動(dòng)按鍵復(fù)位兩種復(fù)位方式。4.3顯示電路顯示部分采用LCD1602液晶顯示模塊,1腳和2腳為液晶1602地和電源引腳,3腳為背光調(diào)節(jié)引腳,通過(guò)10K電位器接地,背光可通過(guò)電位器來(lái)調(diào)節(jié)亮度;4腳、5腳、6腳為液晶片選控制引腳,分別連接到單片機(jī)的P2.0、P2.1、P2,2端口,7~14腳為數(shù)據(jù)接口,與單片機(jī)的P0口相連實(shí)現(xiàn)數(shù)據(jù)的傳輸,15、16、腳為液晶的背光控制腳,分別接到電源和地[9]。圖124.4系統(tǒng)原理圖與PCB電路圖圖13PCB圖圖14系統(tǒng)原理圖4.5實(shí)物圖展示圖15原件清單器件名稱(chēng)器件型號(hào)對(duì)應(yīng)PCB位號(hào)數(shù)量1/4W電阻0歐姆(代替跳線(xiàn))R7,R8,R931/4W電阻1KR0,R3,R431/4W電阻2.2KR611/4W電阻10KR1,R2,R5310K排阻(103)10KRP11整流二極管1N4007D01電解電容10u/16vC61電解電容47U/25VC41電解電容220U/16VC11陶瓷電容30PC7,C82穩(wěn)壓芯片78L05U11陶瓷電容104C2,C5,C14,C15,C16,C17,C187三極管S8550Q11AT24C02存儲(chǔ)器帶IC座8PIC座U31+1蜂鳴器5V有源蜂鳴器BZ11電源插頭DC-005CON2J11HX711模塊插口CON6J414*4矩陣鍵盤(pán)CON8J61晶振12MY11串口接口DB9J01LCD1602液晶+排針LCD1602LCD11LED發(fā)光二極管LEDLED01電平轉(zhuǎn)換芯片MAX232加座子U21+1單片機(jī)STC89S52加座子U41+15KG壓力傳感器帶螺絲帶螺絲1+48P彎排針116P液晶底座LCD11秤盤(pán)1輕觸按鍵SO1PCB板子1按鍵開(kāi)關(guān)SW1SW116.系統(tǒng)程序#include"main.h"#include"LCD1602.h"#include"HX711.h"unsignedlongHX711_Buffer=0;unsignedlongWeight_Maopi=0;longWeight_Shiwu=0;charPrice_Count=0;unsignedcharKEY_NUM=0;unsignedcharPrice_Buffer[3]={0x00,0x00,0x00};unsignedlongMoney=0;bitFlag_OK=0;//校準(zhǔn)參數(shù)//因?yàn)椴煌膫鞲衅魈匦郧€(xiàn)不是很一致,因此,每一個(gè)傳感器需要矯正這里這個(gè)參數(shù)才能使測(cè)量值很準(zhǔn)確。//當(dāng)發(fā)現(xiàn)測(cè)試出來(lái)的重量偏大時(shí),增加該數(shù)值。//如果測(cè)試出來(lái)的重量偏小時(shí),減小改數(shù)值。//該值可以為小數(shù)#defineGapValue430//****************************************************//主函數(shù)//****************************************************voidmain(){ chark=20; Init_LCD1602(); //初始化LCD1602 LCD1602_write_com(0x80); //指針設(shè)置 LCD1602_write_word("Welcometouse!"); //開(kāi)機(jī)畫(huà)面第一行 Get_Maopi(); Delay_ms(2000); //延時(shí)2sloop:Price_Count=0; Price_Buffer[0]=0; Price_Buffer[1]=0; Price_Buffer[2]=0; Flag_OK=0; LCD1602_write_com(0x80); //指針設(shè)置 LCD1602_write_word("+WEI|PRI|MON"); LCD1602_write_com(0x80+0x40); //指針設(shè)置 LCD1602_write_word("0.000|.|."); Get_Maopi(); //稱(chēng)毛皮重量 while(1) { if(Flag_OK==0) { if(k==0) Get_Weight(); k--; if(k<0) { k=20; } //顯示當(dāng)前重量 LCD1602_write_com(0x80+0x40); LCD1602_write_data(Weight_Shiwu/1000+0x30); LCD1602_write_data('.'); LCD1602_write_data(Weight_Shiwu%1000/100+0x30); LCD1602_write_data(Weight_Shiwu%100/10+0x30); LCD1602_write_data(Weight_Shiwu%10+0x30); } KEY_NUM=KEY_Scan(); if(KEY_NUM!=0x55) //當(dāng)返回的不是初值時(shí)候,確認(rèn)按鍵按下。 { if(KEY_NUM==16) //數(shù)字A鍵,去皮功能 { Get_Maopi(); //去皮 } if(KEY_NUM==15) //數(shù)字B鍵清除鍵,二次測(cè)量 { gotoloop; } if(KEY_NUM==12) //數(shù)字C輸入單價(jià)錯(cuò)誤時(shí)返回上一步 { Price_Count--; if(Price_Count<0) { Price_Count=0; } Price_Buffer[Price_Count]=0; //清除上一個(gè)輸入的數(shù)據(jù)switch(Price_Count) { case0: LCD1602_write_com(0x80+0x40+6); LCD1602_write_data(''); break; case1: LCD1602_write_com(0x80+0x40+7); LCD1602_write_data(''); break; case2: LCD1602_write_com(0x80+0x40+9); LCD1602_write_data(''); break; default:break; } } if(KEY_NUM==13) //數(shù)字D鍵,計(jì)算總價(jià) { Money=Price_Buffer[0]*100+Price_Buffer[1]*10+Price_Buffer[2]; Money=Money*Weight_Shiwu/1000; LCD1602_write_com(0x80+0x40+11); LCD1602_write_data(Money/1000+0x30); LCD1602_write_data(Money%1000/100+0x30); LCD1602_write_data(Money%100/10+0x30); LCD1602_write_data('.'); LCD1602_write_data(Money%10+0x30); Flag_OK=1; } if(KEY_NUM>=0&&KEY_NUM<=9) //顯示輸入的價(jià)格值 { Price_Buffer[Price_Count]=KEY_NUM; switch(Price_Count) { case0: LCD1602_write_com(0x80+0x40+6); LCD1602_write_data(Price_Buffer[0]+0x30); break; case1: LCD1602_write_com(0x80+0x40+7); LCD1602_write_data(Price_Buffer[1]+0x30); break; case2: LCD1602_write_com(0x80+0x40+9); LCD1602_write_data(Price_Buffer[2]+0x30); break; default:break; } Price_Count++; if(Price_Count>=3) { Price_Count=3; } } } }}//****************************************************//矩陣鍵盤(pán)掃描//****************************************************unsignedcharKEY_Scan(){ unsignedchartemp=0; unsignedcharcom=0x55,com1=0,com2=0; P3=0xf0; if(P3!=0xf0) { com1=P3; P3=0x0f; com2=P3; } P3=0xf0;while(P3!=0xf0); temp=com1|com2; if(temp==0xee)com=1;//數(shù)字1 if(temp==0xed)com=4;//數(shù)字4 if(temp==0xeb)com=7;//數(shù)字7 if(temp==0xe7)com=11;//備用鍵*號(hào)鍵 if(temp==0xd7)com=0;//數(shù)字0 if(temp==0xb7)com=14;//備用鍵*號(hào)鍵 if(temp==0xde)com=2;//數(shù)字2 if(temp==0xdd)com=5;//數(shù)字5 if(temp==0xdb)com=8;//數(shù)字8 if(temp==0xbe)com=3;//數(shù)字3 if(temp==0xbd)com=6;//數(shù)字6 if(temp==0xbb)com=9;//數(shù)字9 if(temp==0x7e)com=16;//數(shù)字A鍵,去皮功能 if(temp==0x7d)com=15;//數(shù)字B鍵清除鍵,二次測(cè)量 if(temp==0x7b)com=12;//數(shù)字C輸入單價(jià)錯(cuò)誤時(shí)返回上一步 if(temp==0x77)com=13;//數(shù)字D鍵,計(jì)算總價(jià) return(com);}//****************************************************//稱(chēng)重//****************************************************voidGet_Weight(){ Weight_Shiwu=HX711_Read(); Weight_Shiwu=Weight_Shiwu-Weight_Maopi; //獲取凈重 if(Weight_Shiwu>0)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論