版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
基于STC89C52單片機(jī)的電子秤設(shè)計摘要在當(dāng)前看來,我國傳統(tǒng)臺式電子秤在商業(yè)里面運用范圍廣泛,但是隨著社會的發(fā)展,傳統(tǒng)電子秤已經(jīng)滿足不了人們的需求了,雖然還在市場上大量存在,不過還是受到了許多限制導(dǎo)致用處降低。所以,人們希望有使用方便,精確度高的電子秤來取代傳統(tǒng)電子稱。本次實驗電子秤的設(shè)計可以進(jìn)行最基本的稱重還可以輸入單價來計算總價,當(dāng)被測物體重量超過所限制的量程,警報聲響起,報警燈發(fā)亮以提示超重。該智能電子秤是由新型電阻應(yīng)變式傳感器、精度高的A/D轉(zhuǎn)換器元件、STC89C52單片機(jī)組成。相比于傳統(tǒng)的電子秤,該單片機(jī)電子秤計算簡單、功能多、攜帶便捷、易上手、速度快等優(yōu)點,不但可以測量質(zhì)量還可以計算物體的價格,商用家用都可以,具有廣闊的應(yīng)用前景。關(guān)鍵詞:電子秤;A/D轉(zhuǎn)換器;傳感器;單片機(jī)目錄緒論 11設(shè)計概述 21.1實驗設(shè)計要求 21.2實驗設(shè)計方案 21.3單片機(jī)的選擇 31.4傳感器選擇 41.5系統(tǒng)顯示器選擇 42電子秤的硬件設(shè)計 52.1單片機(jī)的最小系統(tǒng) 52.2電子秤專用24位A/D轉(zhuǎn)換芯片HX711及其電路 62.3液晶屏電路 72.4矩陣鍵盤電路 72.5聲光報警電路 83電子秤的軟件設(shè)計 103.1軟件主程序流程圖 103.2系統(tǒng)時間終端程序流程圖 113.3LCD顯示流程圖 114系統(tǒng)的調(diào)試與測試 124.1硬件調(diào)試 124.2軟件調(diào)試 134.3實際測試 14結(jié)論 15參考文獻(xiàn) 16附錄一 17附錄二 25緒論質(zhì)量是是一個物體最基本的屬性,但是質(zhì)量如何精準(zhǔn)的獲得是人們一直重視的問題,從古至今,人們一直都很在乎稱重技術(shù)的發(fā)展。為了估計出物體的貨物數(shù)量,人們會制作木制的測量儀器來估算被測物體的貨物質(zhì)量,然后再使用比較簡易的秤來測量,這是世界上所發(fā)現(xiàn)的最古老的測量方法。電子秤是最方便的測量儀器,隨著社會的進(jìn)步電子秤必將代替古老并不方便的手工秤。制造便宜,使用方便的電子秤必將崛起。該篇文章就說明了電子秤技術(shù)的發(fā)展,研究并提出了一種新型電子秤的設(shè)計,介紹了該電子秤的發(fā)展方向與背景等。稱重設(shè)備是一種測量儀器,測量方法是物體放在電子秤上面顯示屏顯示重量。近年來電子秤已經(jīng)應(yīng)用到了人們的實際生活中,并且越來越多的得到了人們的認(rèn)可,目前的稱重技術(shù)可體現(xiàn)在運輸、包裝、接受業(yè)務(wù)和銷售等領(lǐng)域中[1]。電子秤的設(shè)備不止一種,其在各個商業(yè)貿(mào)易中的應(yīng)用時較為廣泛的。電子秤產(chǎn)品技術(shù)性能所要達(dá)到的目標(biāo)是計算準(zhǔn)確度高、速度反應(yīng)快、穩(wěn)定性能高;其功能是要達(dá)到對被測物體的質(zhì)量信息準(zhǔn)確的顯示到顯示屏上,并實現(xiàn)各種智能化的功能;系統(tǒng)的綜合型和整體的組合是其應(yīng)用性能的趨向所在[2~4]。因此,電子秤的多功能發(fā)展日益成為越來越多人的關(guān)注,該項技術(shù)將有助于推動電子秤發(fā)展的進(jìn)程。1設(shè)計概述1.1試驗設(shè)計要求本課題主要設(shè)計任務(wù)如下:電子秤稱重量程為0-5Kg;系統(tǒng)應(yīng)具備稱重和去皮的功能;被測物體超過5Kg時應(yīng)該有與其對應(yīng)的報警提示功能;該電子稱設(shè)計需完成校準(zhǔn)的功能,有兩個按鍵進(jìn)行校準(zhǔn)功能;該電子稱具有稱重計價功能,可以鍵盤輸入單價,實時顯示總金額。1.2實驗設(shè)計方案該智能電子秤的工作原理是利用物體的質(zhì)量變化與電信號成一定關(guān)系,當(dāng)在平臺上放置被測物體時,其重量便會被傳感器所感應(yīng),然后傳感器產(chǎn)生電信號,該信號經(jīng)放大電路被放大,濾波后由A/D轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換,當(dāng)信號到達(dá)CPU時,CPU將對各功能的鍵盤進(jìn)行掃描,根據(jù)輸入的內(nèi)容進(jìn)行分析與判斷,由儀表軟件部分來實現(xiàn)各種計算,最后運算的結(jié)果保存在內(nèi)存貯器里并被CPU讀出從而顯示在顯示屏上。在稱重過程中,信號的放大、濾波、轉(zhuǎn)換,運算都是在儀表中完成的。本課題是以STC89C52單片機(jī)為控制核心來實現(xiàn)各種功能的稱重。該電子秤系統(tǒng)是由單片機(jī)最小系統(tǒng)、鍵盤與屏幕顯示系統(tǒng)、數(shù)據(jù)的采集與分析系統(tǒng)、電源系統(tǒng)、超重報警等部分組成。數(shù)據(jù)采集部分是由傳感器、信號放大電路和A/D轉(zhuǎn)換器組成,其HX711芯片可實現(xiàn)信號的轉(zhuǎn)換;鍵盤類型是4×4的矩陣鍵盤,屏幕是1062液晶顯示器,可以實現(xiàn)單價的輸入,總價和重量的顯示,還可以通過按鍵進(jìn)行去皮操作。本課題設(shè)計的主要方案是:被測物體由壓力傳感器感應(yīng),傳感器將壓力信號轉(zhuǎn)換成電信號,然后經(jīng)過放大、轉(zhuǎn)化為數(shù)字信號傳入單片機(jī)。在設(shè)置好物體的單價后,被測物體的質(zhì)量和總價將顯示在液晶屏幕上。本課題設(shè)計的智能電子秤準(zhǔn)確度高、便于攜帶、穩(wěn)定性強(qiáng)。該電子秤即可以準(zhǔn)確的稱重,也可以通過設(shè)定單價來顯示總價,是一款既能家用也能商用的多功能的電子秤。設(shè)計總體框圖如圖1所示。傳感器傳感器器A/D轉(zhuǎn)換器放大電路AT89S52單片機(jī)鍵盤LCD顯示圖1設(shè)計思路框圖1.3單片機(jī)的選擇本實驗選用的是52單片機(jī),STC89C52系列單片機(jī)相比較于傳統(tǒng)80C51單片機(jī)而言,該新型單片機(jī)的耗能低,運算速度快,穩(wěn)定性強(qiáng)[5,6]。其指令代碼與傳統(tǒng)的8051單片機(jī)是可以相互兼容的,但是它的速度是原有復(fù)位電路的十幾倍。該單片機(jī)具有以下特點:工作電壓:5.5V-3.5V(5V單片機(jī));工作作頻率范圍:0~40MHz,比普通8051單片機(jī)范圍大很多;用戶應(yīng)用程序空間4K/8K/16k/32K/64K字節(jié);片上集成1280字節(jié)RAM;ISP(在系統(tǒng)可編程)/IAP(在應(yīng)用可編程),無需專用編程器/仿真器;有EEPROM功能;看門狗;通用全雙工異步串行口(UART);工作溫度范圍是負(fù)四十度到正八十五度;封裝:PDIP-40,PLCC-44;STC89C52單片機(jī)管腳如圖圖2STC8952管腳圖1.4傳感器選擇稱重傳感器有很多類型,目前市場上常見的類型有電阻應(yīng)變式、電容式、壓電式、振頻式、差動變壓式等多種傳感器。本課題研究采用的是電阻應(yīng)變式傳感器,它的組成部分包括敏感元件,主要作用是感受被測物體重量的改變,同時將被測量轉(zhuǎn)換成某一中間變量[7]。其作用是為了給下一步電信號的輸出做準(zhǔn)備,還包括轉(zhuǎn)換元件:是為了將敏感元件輸出的電量轉(zhuǎn)變成可以被傳感器利用的電量,主要是通過一些物理、化學(xué)等的效應(yīng)來達(dá)到目的;測量電路也是其重要的組成部分之一,是為將轉(zhuǎn)換元件的電量直接轉(zhuǎn)換成可利用的電信號。因為轉(zhuǎn)換元件輸出的電量不能直觀的顯示出來,對其進(jìn)行記錄與處理也極不方便。所以則需要測量電路來簡化這一過程;目前,家用電子秤的傳感器選擇普遍都是電阻應(yīng)變式傳感器[8~10]。該電子秤的結(jié)構(gòu)簡單并且還可以制作成多量程的稱重傳感器,還可以制作成拉式或者壓式類型的設(shè)備,其相對應(yīng)的輸出特性具有準(zhǔn)確的對稱性,制作方便,其精準(zhǔn)度相比于其他傳感器更略勝一籌。此外它的使用很方便,工作可靠、穩(wěn)定性能好、使用時間長、維修簡單都是改傳感器的優(yōu)點。因此相比于其它類型的傳感器,本課題設(shè)計采用的電阻應(yīng)變式傳感器是極為方便的,它能夠與該智能電子稱所具備的功能更加高效率的匹配,以達(dá)到實驗的要求。1.5系統(tǒng)顯示器選擇液晶顯示的原理是利用液晶的物理特性,通過電壓對其顯示區(qū)域進(jìn)行控制,有電就有顯示,這樣即可以顯示出圖形。液晶顯示器具有厚度薄、適用于大規(guī)模集成電路直接驅(qū)動、易于實現(xiàn)全彩色顯示的特點,目前已經(jīng)被廣泛應(yīng)用在便攜式電腦、數(shù)字?jǐn)z像機(jī)、PDA移動通信工具等眾多領(lǐng)域。本實驗選擇的智能電子稱顯示器為1602LCD。2電子秤的硬件構(gòu)成2.1單片機(jī)的最小系統(tǒng)本課題研究的內(nèi)容是以單片機(jī)STC89C52(如圖3所示)為控制核心,實現(xiàn)電子秤的稱重功能。該系統(tǒng)是由鍵盤系統(tǒng)、單片機(jī)最小系統(tǒng)、帶能源系統(tǒng)、液晶顯示系統(tǒng)、數(shù)據(jù)的采集與運算系統(tǒng)、超重報警系統(tǒng)組成。該單片機(jī)的最小運用系統(tǒng)是利用小部分的元件來組成可以正常工作的單片機(jī),最小系統(tǒng)一般應(yīng)該包括:單片機(jī)、晶振電路、復(fù)位電路。單片機(jī)的復(fù)位電路的作用就相當(dāng)于電腦工作過程中突然死機(jī),這時按下開關(guān)重啟按鈕,電腦就會自動關(guān)機(jī),然后重新開始運行,以達(dá)到程序的正常運行。單片機(jī)的復(fù)位原理也一樣,在單片機(jī)系統(tǒng)的電啟動時通過按下復(fù)位按鈕使其進(jìn)入初始狀態(tài),當(dāng)程序執(zhí)行時再次復(fù)位一次,如果系統(tǒng)運行結(jié)束后在按下復(fù)位按鈕,系統(tǒng)還是會復(fù)位。所以可通過對按鈕的操作來實現(xiàn)對系統(tǒng)的正常運行和斷開的復(fù)位控制。晶振的全稱是晶體振蕩器,在電氣上它可以等效成一個電容和一個電阻并聯(lián)再串聯(lián)一個電容的二端網(wǎng)絡(luò),電工學(xué)上這個網(wǎng)絡(luò)有兩個諧振點以頻率的高低分其中較低的頻率是串聯(lián)諧振,較高的頻率是并聯(lián)諧振,由于晶體自身的特性致使這兩個頻率的距離相當(dāng)?shù)慕咏?,在這個極窄的頻率范圍內(nèi),晶振等效是一個電感,因此只要在晶振的兩頭都并聯(lián)了合適的電容,它就被組成了并聯(lián)諧振電路,這個并聯(lián)諧振電路再添加到一個正反饋電路中,就被認(rèn)為是一個正弦波振蕩電路,由于晶振等效是一個電感在頻率上的范圍非常狹窄,所以盡管其他的元件都沒有出現(xiàn)過參數(shù)改變,這個振蕩器的頻率也就不會有發(fā)生太多的改變[11]。圖3單片機(jī)STC89C52電路2.2電子秤專用24位A/D轉(zhuǎn)換芯片HX711及其電路與同類型其它芯片相比,HX711具有更加高精度的測量芯片,非常適用于精度高的傳感器。該芯片集成了包括穩(wěn)壓電源、片內(nèi)時鐘振蕩器等其它同類型芯片所需要的外圍電路,具有集成度高、響應(yīng)速度快、抗干擾性強(qiáng)等優(yōu)點[12]。降低了電子秤的整機(jī)成本,提高了整機(jī)的性能和可靠性。該芯片與后端MCU芯片的接口和編程非常簡單,所有控制信號由管腳驅(qū)動,無需對芯片內(nèi)部的寄存器編程。輸入選擇開關(guān)可任意選取通道A或通道B,與其內(nèi)部的低噪聲可編程放大器相連。通道A的可編程增益分別是128或64,相對應(yīng)的滿額度差分所得輸入信號的幅值分別是±20mv或±40mv。通道B則是一個固定增益32,用來進(jìn)行系統(tǒng)的參數(shù)檢驗。在芯片內(nèi)部提供的穩(wěn)壓電源就是可以直接給外部的傳感器及芯片內(nèi)部的A/D轉(zhuǎn)換器帶來一個電源,系統(tǒng)板上也無須再配置其他的模擬電源。芯片中的時鐘振蕩器并沒有外接元件。上電式自動復(fù)位功能簡單了開機(jī)初始化流程。HX711外部引腳和HX711電路分別如圖4,圖5所示。圖4HX711引腳圖圖5HX711電路2.3液晶屏電路液晶屏電路如圖6所示。液晶顯示屏為128*64漢字屏JLX12864G-086-PC顯示信息。該顯示模塊不僅可以用作普通圖像LCD顯示模塊(即顯示普通圖像類型的單色圖像功能),而且還包含JLX-GB2312字庫IC,內(nèi)置的DOTMatrix數(shù)據(jù)可以從字體IC中讀取字體并將其寫LCD驅(qū)動器IC以顯示漢字。圖6LCD顯示電路2.4矩陣鍵盤電路該矩陣鍵盤上有9個可以操作的按鈕。線路信號為輸入信號,低電平有效;列信號是輸出信號。當(dāng)沒有按鍵時,即使行掃描輸入為低電平信號,列信號仍為高電平。當(dāng)行掃描為低電平并且有鍵按下時,相應(yīng)的列輸出低電平。矩陣鍵盤電路如圖11所示.4×4矩陣鍵盤鍵號說明:系統(tǒng)的軟件部分主要包括主程序、時鐘中斷程序。矩陣鍵盤對應(yīng)的數(shù)字位置說明如表1所示。表14×4矩陣鍵盤鍵號說明123A456B789C*0#D 【0—9】為數(shù)字鍵 【*】號鍵為無定義 【#】號鍵為小數(shù)點【A】鍵為去皮【B】鍵為清除單價【C】鍵校準(zhǔn)按鍵 【D】鍵校準(zhǔn)按鍵矩陣鍵盤電路如圖7所示。圖7矩陣鍵盤電路2.5聲光報警電路當(dāng)被稱重物體的質(zhì)量大于5K時,超重報警燈發(fā)出紅光,傳感器就會產(chǎn)生信號使超重報警系統(tǒng)發(fā)出滴滴的響聲。聲光超重報警電路如圖8所示。圖8聲光報警電路3系統(tǒng)軟件設(shè)計本設(shè)計采用Keil4軟件進(jìn)行編程。Keil4不但可以和52系列的單片機(jī)結(jié)構(gòu)相適應(yīng),而且還可以和52單片機(jī)的C語言程序相兼容,keil4的窗口管理系統(tǒng)越來越簡易了,可以同時對多種項目進(jìn)行管理與簡化,具有很強(qiáng)的編輯程序功能,在該軟件里面能夠簡單的進(jìn)行程序的編寫,處理效率極高,非常適合本實驗程序編寫所需要的環(huán)境。3.1軟件主程序流程圖軟件的主程序是程序開始運行的起點,沒有主程序,程序就沒辦法正常運行,主程序的功能利用各子程序來實現(xiàn)對系統(tǒng)的初始化控制。本課題的主程序是利用定時器來調(diào)用各種子程序,實現(xiàn)對被測物體每半秒進(jìn)行一次稱重,當(dāng)系統(tǒng)的初始化完成后,系統(tǒng)的主程序要先對存貯參數(shù)進(jìn)行讀取,然后對檢測到的數(shù)據(jù)、鍵盤輸入信號、顯示信號進(jìn)行處理。圖9為軟件主程序。圖9主程序流程圖3.2系統(tǒng)時間終端程序流程初始化定時器子程序選擇工作方式為16位定時器,賦予初值后開始累加,到達(dá)0.5s后檢測有無稱重標(biāo)志。如圖10為中斷程序流程圖。圖10時鐘中斷程序流程圖3.3LCD顯示流程圖被測物體的質(zhì)量通過數(shù)模轉(zhuǎn)換器轉(zhuǎn)換的值傳入單片機(jī)內(nèi),然后系統(tǒng)的主程序開始對其檢測有沒有超出實驗設(shè)定的5Kg。若超過5Kg,蜂鳴器報警,程序中斷運行,若沒有超過量程,顯示屏上將顯示物體的重量,若提前設(shè)置了物體的單價,液晶顯示屏則顯示物體總價,若無則返回主程序。如圖11LCD流程圖。圖11LCD顯示流程圖4系統(tǒng)調(diào)試與測試4.1硬件調(diào)試對硬件的原理圖進(jìn)行檢測,此檢測一定要仔細(xì),不然后面處理起來很麻煩,確保檢測沒有錯誤后,一定要嚴(yán)格按照實驗原理圖來焊接電路板。實物PCB如圖12所示。接電之前,首先要根據(jù)原理圖準(zhǔn)確的將各種元器件焊接在電路版上,焊接過程中應(yīng)注意電烙鐵的溫度,注意各小電阻的阻值,避免焊接位置錯誤。完成電路板的焊接后,要及時用萬用表進(jìn)行檢查,對幾個主要的部分要嚴(yán)格檢查,例如單片機(jī)芯片、HX711芯片等。若檢測過程中芯片出現(xiàn)發(fā)熱的問題,則該部分電路可能是短路了;若萬用表無示數(shù),則有可能是該部分電路斷路而引起;若萬用表顯示正常,則芯片沒問題,可進(jìn)行下一步的通電操作,除此外,顯示屏后面的燈光部分也要檢查一下。最后,若所有部分在萬用表的電壓檔測量下均不存在問題,則可直接通電。在所焊接的硬件均無問題時,就可進(jìn)行軟件調(diào)試了。實物圖如圖13所示。圖12PCB圖圖13實物圖4.2軟件調(diào)試在本次設(shè)計中,軟件的調(diào)試是必不可少的,也是非常重要的部分。在keil4中單片機(jī)程序的編寫步驟:點擊project,新建newproject,在文件框中填寫工程名;選擇52單片機(jī)機(jī);新建程序輸入文本;保存按鈕,輸入源文件名稱;點擊sourcegroup將源文件加入到工程;在源文件中寫入設(shè)計代碼,然后點擊編譯;點擊target按鈕,然后點擊output在里面勾選hexfile.按照上述步驟最終生成HEX文件后,將該文件燒錄到單片機(jī)中,檢查其對應(yīng)的時間是否符合創(chuàng)建時間,最后在程序中添加電子秤的各部分功能程序。4.3實際測試表2實際測試實驗砝碼質(zhì)量(g)20100500100020005000實際測得砝碼質(zhì)量(g)2010150399719925005誤差(g)011385誤差率(%)00.1由上表實驗結(jié)果可知,該電子秤的測量誤差平均小于1%,所以該智能電子秤是比較精準(zhǔn)的,本次實驗是成功的,可以達(dá)到設(shè)計要求。結(jié)論本文涉及了許多領(lǐng)域,計算機(jī)、傳感器、單片機(jī)等等。在設(shè)計此電子秤的前夕,許多想法都已經(jīng)在腦子里成型,設(shè)計方案總體也已經(jīng)完成初步構(gòu)想。只有充分了解有關(guān)智能儀器、單片機(jī)、傳感器以及各部分之間的關(guān)系才能達(dá)到要求。本設(shè)計對傳感器的精確度有著嚴(yán)格的要求。精準(zhǔn)度高的傳感器更能準(zhǔn)確無誤的測出物體的實際質(zhì)量,如果傳感器不穩(wěn)定,將會導(dǎo)致在測試過程中傳感器發(fā)出的信號不準(zhǔn)確,以至于稱重結(jié)果誤差較大。其次是數(shù)據(jù)的采集與運行階段,此階段主要是對傳感器發(fā)出的電信號進(jìn)行放大處理和數(shù)模轉(zhuǎn)換。合適的運算放大電路對傳感器發(fā)出的信號進(jìn)行處理時非常重要的,進(jìn)行放大之前,最好先預(yù)算出應(yīng)放大的倍數(shù),以便選擇。最后此電子秤它不單單只用于物體的稱重,此電子秤還可以完成物品單價的計算,通過顯示屏可觀察物品的總共價格,用途是多方面的,打破了傳統(tǒng)稱重器的范圍,不過受到零件以及特殊技術(shù)的限制,所制造的智能電子秤還是有一定的缺陷,不過用于日常的稱重和計量價格都是可以輕松實現(xiàn)的。在沒設(shè)計該電子秤之前,我對智能電子秤可謂是知之甚少,在親自設(shè)計的過程中,我查閱大量資料來補(bǔ)充我的專業(yè)知識,終于完成了該電子秤的成功設(shè)計。這次畢設(shè)讓我更多的了解到了52單片機(jī),HX711芯片,LCD1602等等的作用和功能,極大的提升了我的專業(yè)能力。參考文獻(xiàn)[1]劉曉偉,于普源.基于STC89C52的高精度電子秤的設(shè)計[J].信息技術(shù)與信息化,2017(07):15-16.[2]羅及紅.一種高精度的電子秤設(shè)計[J].計算機(jī)測量與控制,
2010(08):2-3.[3]殷金元.基于單片機(jī)設(shè)計的多功能電子秤[J].無線互聯(lián)科技,2017(05):20-21.[4]余小軍,余晃晶.
小量程高精度電子稱重系統(tǒng)的設(shè)計與實現(xiàn)[J],福建電腦.
2011(06):35-36.[5]何希才,薛永毅.傳感器及其應(yīng)用實例[M].機(jī)械工業(yè)出版社,1997(11):47-49.[6]楊陽,浦瀚,郭曉鳳.
基于STC89C52單片機(jī)壓力測試與顯示系統(tǒng)研究[J].電子設(shè)計工程,2018(02):58-60.[7]郭懷天,李寶華,趙玉俠,曹彥波.
基于電阻應(yīng)變式傳感器的電子天平的研制[J].微計算機(jī)信息,
2007(01):11-12.[8]王瑞玲.電阻應(yīng)變式傳感器線損補(bǔ)償電路設(shè)計[J].聲學(xué)與電子工程.
2003(11):7-8.[9]張紅俊,張紅旺,同長虹.電阻應(yīng)變式傳感器在應(yīng)用中的誤差補(bǔ)償[J].機(jī)械管理開發(fā),
2003(08):21-22.[10]劉丹,朱目成.新型單片機(jī)稱重系統(tǒng)設(shè)計[J].電腦知識與技術(shù),2011(09):15-16.[11]TheodoreWildi.Electricalmachine,andpowersystem[J].2002(10):23-24.[12]劉美娟,張琦,穆遠(yuǎn)威.
基于HX711的高精度電子秤的設(shè)計[J].信息通信,2017(01):9-11.附錄一#include<reg52.h>#include<intrins.h>#include<string.h>bitbdataflag_key;#include"main.h"#include"LCD1602.h"#include"HX711.h"#include"keyboard.h"#include"eeprom52.h"#defineucharunsignedchar#defineuintunsignedintunsignedlongHX711_Buffer=0;unsignedlongWeight_Maopi=0;unsignedlongWeight_Maopi_0=0;unsignedintqupi=0;longWeight_Shiwu=0;//鍵盤處理變量unsignedcharkeycode;unsignedcharDotPos; //小數(shù)點標(biāo)志及位置uintGapValue,GapValue1;unsignedcharidataprice;unsignedcharidatamoney;volatilebitFlagTest=0; volatilebitFlagKeyPress=0;sbitLED=P1^1;volatilebitClearWeighFlag=0;voidwrite_eeprom(){ SectorErase(0x1000); GapValue1=GapValue&0x00ff; byte_write(0x2000,GapValue1); GapValue1=(GapValue&0xff00)>>8; byte_write(0x2001,GapValue1); byte_write(0x2060,a_a); }voidread_eeprom(){ GapValue=byte_read(0x2001); GapValue=(GapValue<<8)|byte_read(0x2000); a_a=byte_read(0x2060);}voidinit_eeprom(){ read_eeprom(); //先讀 if(a_a!=1) //新的單片機(jī)初始單片機(jī)內(nèi)問eeprom { GapValue=3500; a_a=1; write_eeprom(); //保存數(shù)據(jù) } } //顯示單價,單位為元,四位整數(shù),兩位小數(shù)voidDisplay_Price(){LCD1602_write_com(0x8c); LCD1602_write_data(price/100+0x30); LCD1602_write_data(price%100/10+0x30); LCD1602_write_data('.'); LCD1602_write_data(price%10+0x30);}voidDisplay_Weight(){LCD1602_write_com(0x83); 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);}voidDisplay_Money(){//unsignedinti,j;if(money>9999) //超出顯示量程{LCD1602_write_com(0x80+0x40+6);LCD1602_write_word(".-");return;}if(money>=1000){LCD1602_write_com(0x80+0x40+6); 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);}elseif(money>=100){LCD1602_write_com(0x80+0x40+6); LCD1602_write_data(0x20); LCD1602_write_data(money%1000/100+0x30); LCD1602_write_data(money%100/10+0x30); LCD1602_write_data('.'); LCD1602_write_data(money%10+0x30);}elseif(money>=10){LCD1602_write_com(0x80+0x40+6); LCD1602_write_data(0x20); LCD1602_write_com(0x80+0x40+7); LCD1602_write_data(0x20); LCD1602_write_data(money%100/10+0x30); LCD1602_write_data('.'); LCD1602_write_data(money%10+0x30);}else{LCD1602_write_com(0x80+0x40+6); LCD1602_write_data(0x20); LCD1602_write_com(0x80+0x40+7); LCD1602_write_data(0x20); LCD1602_write_com(0x80+0x40+8); LCD1602_write_data(0+0x30); LCD1602_write_data('.'); LCD1602_write_data(money%10+0x30);}}//數(shù)據(jù)初始化voidData_Init(){price=0;DotPos=0;}//定時器0初始化voidTimer0_Init(){ ET0=1;//允許定時器0中斷 TMOD=1;//定時器工作方式選擇 TL0=0xb0; TH0=0x3c;//定時器賦予初值 TR0=1;//啟動定時器}//定時器0中斷voidTimer0_ISR(void)interrupt1using0{ucharCounter; TL0=0xb0; TH0=0x3c;//定時器賦予初值 //每0.5秒鐘刷新重量Counter++;if(Counter>=10){FlagTest=1; Counter=0;}}//按鍵響應(yīng)程序,參數(shù)是鍵值//返回鍵值://12310 //10:清零重量,兼去皮功能 //45611 //11:清除單價//78912 //12:校準(zhǔn)調(diào)大按鈕//1401513 voidKeyPress(ucharkeycode){ switch(keycode) { case0: case1: case2: case3: case4: case5: case6: case7: case8: case9: if(DotPos==0) { //最多只能設(shè)置到千位 if(price<100) { price=price*10+keycode*10; } }//目前在設(shè)置小數(shù)位 elseif(DotPos==1)//小數(shù)點后第一位 { price=price+keycode; DotPos=2; } Display_Price(); break; case10://去皮鍵 if(qupi==0) qupi=Weight_Shiwu; else qupi=0; Display_Price(); // FlagSetPrice=0; DotPos=0; break; case11: //刪除鍵 price=0; DotPos=0; Display_Price(); break; case12: //加 if(GapValue<10000) GapValue++; break; case13://減 if(GapValue>1) GapValue--; break; case15://小數(shù)點按下 DotPos=1;//小數(shù)點后第一位 break;voidmain(){ init_eeprom();//開始初始化保存的數(shù)據(jù) Init_LCD1602(); //初始化LCD1602EA=0;Data_Init();Timer0_Init();//初中始化完成,開斷EA=1; // Get_Maopi(); LCD1602_write_com(0x80); //指針設(shè)置LCD1602_write_word("WelcomeToUse"); //LCD1602_write_com(0x80+0x40); //指針設(shè)置LCD1602_write_word("ElectronicScale");//Delay_ms(2000);Get_Maopi();LCD1602_write_com(0x80); //指針設(shè)置LCD1602_write_word("WE:0.000PR:00.0");
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 真實世界數(shù)據(jù)支持下的腫瘤個體化治療衛(wèi)生技術(shù)評估
- 直腸癌放療前新輔助治療療效評估
- 監(jiān)測與個體化防控策略
- 皮膚淋巴瘤CAR-T治療的聯(lián)合化療策略
- 痤瘡分級診療聯(lián)合光電治療的個體化方案制定流程
- 病理診斷新技術(shù)質(zhì)量控制
- 病房醫(yī)生查房與文書的時間壓縮策略
- 病毒抗原表位變異株疫苗快速研發(fā)策略
- 病歷質(zhì)量全程監(jiān)控體系
- 男性代謝性疾病的健康素養(yǎng)提升路徑
- 中國痤瘡治療指南
- 繼電保護(hù)裝置調(diào)試作業(yè)指導(dǎo)書
- 初中語文仿寫訓(xùn)練
- 老同學(xué)聚會群主的講話發(fā)言稿
- 天然氣輸氣管線陰極保護(hù)施工方案
- 高血壓問卷調(diào)查表
- QC成果提高花崗巖磚鋪裝質(zhì)量
- YS/T 416-2016氫氣凈化用鈀合金管材
- GB/T 25156-2010橡膠塑料注射成型機(jī)通用技術(shù)條件
- GB/T 20878-2007不銹鋼和耐熱鋼牌號及化學(xué)成分
- 第六章 亞洲 第一節(jié) 概述
評論
0/150
提交評論