單片機(jī)電子秤設(shè)計報告_第1頁
單片機(jī)電子秤設(shè)計報告_第2頁
單片機(jī)電子秤設(shè)計報告_第3頁
單片機(jī)電子秤設(shè)計報告_第4頁
單片機(jī)電子秤設(shè)計報告_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余25頁可下載查看

下載本文檔

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

文檔簡介

1、單片機(jī)電子秤設(shè)計報告秤是一種在實(shí)際工作和生活中經(jīng)常用到的測量器具。隨著計量技術(shù)和電子技術(shù)的發(fā)展,傳統(tǒng)純機(jī)械結(jié)構(gòu)的桿秤、臺秤、磅秤等稱量裝置逐步被淘汰,電子稱量裝置電子秤、電子天平等以其準(zhǔn)確、快速、方便、顯示直觀等諸多優(yōu)點(diǎn)而受到人們的青睞。和傳統(tǒng)秤相比較,電子秤利用新型傳感器、高精度AD轉(zhuǎn)換器件、單片機(jī)設(shè)計實(shí)現(xiàn),具有精度高、功能強(qiáng)等特點(diǎn)。本課題設(shè)計的電子秤具有基本稱重、鍵盤輸入、計算價格、顯示、超重報警功能。該電子秤的測量范圍為0-40Kg,測量精度達(dá)到5g,有高精度,低成本,易攜帶的特點(diǎn)。電子秤采用液晶顯示漢字和測量記過,比傳統(tǒng)秤具有更高的準(zhǔn)確性和直觀性。另外,該電子秤電路簡單,使用壽命長,應(yīng)

2、用范圍廣,可以應(yīng)用于商場、超市、家庭等場所,成為人們?nèi)粘I钪胁豢缮俚谋匦杵?。一、功能描?、采用高精度電阻應(yīng)變式壓力傳感器,測量量程0-40kg,測量精度可達(dá)5g。2、采用電子秤專用模擬/數(shù)字(A/D)轉(zhuǎn)換器芯片hx711對傳感器信號進(jìn)行調(diào)理轉(zhuǎn)換,HX711采用了海芯科技集成電路專利技術(shù), 是一款專為高精度電子秤而設(shè)計的24位A/D轉(zhuǎn)換器芯片。3、采用STC89C52單片機(jī)作為主控芯片,實(shí)現(xiàn)稱重、計算價格等主控功能。4、采用128*64漢字液晶屏顯示稱重重量、單價、總價等信息。5、采用4*4矩陣鍵盤進(jìn)行人機(jī)交互,鍵盤容量大,操作便捷。6、具有超量程報警功能,可以通過蜂鳴器和LED燈報警。7、

3、系統(tǒng)通過USB電源供電,單片機(jī)程序也可通過USB線串行下載。二、硬件設(shè)計1、硬件方案單片機(jī)電子秤硬件方案如圖1所示:圖1單片機(jī)電子秤硬件方案稱重傳感器感應(yīng)被測重力,輸出微弱的毫伏級電壓信號。該電壓信號經(jīng)過電子秤專用模擬/數(shù)字(A/D)轉(zhuǎn)換器芯片hx711對傳感器信號進(jìn)行調(diào)理轉(zhuǎn)換。HX711采用了海芯科技集成電路專利技術(shù), 是一款專為高精度電子秤而設(shè)計的24位A/D轉(zhuǎn)換器芯片, 內(nèi)置增益控制,精度高,性能穩(wěn)定。HX711芯片通過2線串行方式與單片機(jī)通信。單片機(jī)讀取被測數(shù)據(jù),進(jìn)行計算轉(zhuǎn)換,再液晶屏上顯示出來。矩陣鍵盤主要用于計算金額。當(dāng)被測物體重量得到后,用戶可以通過矩陣鍵盤輸入單價,電子秤自動計

4、算總金額并在液晶屏顯示。電源系統(tǒng)給單片機(jī)、HX711電路及傳感器供電。2、稱重傳感器傳感器是測量機(jī)構(gòu)最重要的部件。稱重傳感器本身具有單調(diào)性,其主要參數(shù)指標(biāo)是靈敏度、總誤差和溫度漂移。(1)靈敏度稱重傳感器的電靈敏度為滿負(fù)荷輸出電壓與激勵電壓的比值,典型值是2mV/U當(dāng)使用2mV/V靈敏度和5V激勵電壓的傳感器時,其滿度輸出電壓為10mV通常,為了使用稱重傳感器線性度最好的一段稱重范圍,應(yīng)當(dāng)僅使用滿度范圍的三分之二。因此滿度輸出電壓應(yīng)當(dāng)大約為6mV當(dāng)電子秤應(yīng)用于工業(yè)環(huán)境時,在6mVl度范圍內(nèi)測量微小的信號變化并非易事。(2)總誤差總誤差是指輸出誤差和額定誤差的比值。典型電子秤的總誤差指標(biāo)大約是0

5、.02%,這一技術(shù)指標(biāo)相當(dāng)重要,它限制了使用理想信號調(diào)節(jié)電路所能達(dá)到的精確度,決定了ADC分辨率的選擇以及放大電路和濾波器的設(shè)計。(3)漂移稱重傳感器也產(chǎn)生與時間相關(guān)的漂移。目前常用的稱重傳感器有電阻應(yīng)變式壓力傳感器、電容壓力傳感器、壓電式壓力傳感器。選用時應(yīng)按穩(wěn)定行、精度登記、壽命和安裝環(huán)境要求考慮,其主要特點(diǎn)如下:(1)電容式壓力傳感器穩(wěn)定性較差,精度和靈敏度較高,壽命較短,對環(huán)境要求苛刻,不易長距離傳輸。(2)壓電式壓力傳感器穩(wěn)定性好,精度和靈敏度高,壽命長,但大量程的壓力傳感器尚待進(jìn)一步研究。(3)電阻應(yīng)變式壓力傳感器穩(wěn)定性較好,精度和靈敏度較高,壽命較長,對測量環(huán)境要求不太嚴(yán)格。綜上

6、所述,選用電阻應(yīng)變式壓力傳感器作為電子秤稱重傳感器是最為合適的。電阻應(yīng)變式壓力傳感器主要由彈性體、電阻應(yīng)變片電纜線等組成,內(nèi)部線路采用惠更斯電橋,當(dāng)彈性體承受載荷產(chǎn)生變形時,電阻應(yīng)變片(轉(zhuǎn)換元件)受到拉伸或壓縮應(yīng)變片變形后,它的阻值將發(fā)生變化(增大或減小),從而使電橋失去平衡,產(chǎn)生相應(yīng)的差動信號,供后續(xù)電路測量和處理。電阻應(yīng)變式傳感器測量原理如圖2所示。圖2電阻應(yīng)變式傳感器測量原理當(dāng)垂直正壓力P作用于梁上時,梁產(chǎn)生形變,電阻應(yīng)變片R1、R3受壓彎拉伸,阻值增加;R2R4受壓縮,阻值減小。電橋失去平衡,產(chǎn)生不平衡電壓,不平衡電壓與作用在傳感器上的載荷P成正比,從而將非電量轉(zhuǎn)化成電量輸出。R1、R

7、2、R3和R4組成惠更斯電橋,將2對電阻應(yīng)變片的阻值變化轉(zhuǎn)變成輸出電壓,其工作原理如圖3所示。圖3測量電橋原理3、電子秤專用24位AD轉(zhuǎn)換芯片HX711及其電路HX711采用了海芯科技集成電路專利技術(shù),是一款專為高精度電子秤而設(shè)計的24位A/D轉(zhuǎn)換器芯片。與同類型其它芯片相比,該芯片集成了包括穩(wěn)壓電源、片內(nèi)時鐘振蕩器等其它同類型芯片所需要的外圍電路,具有集成度高、響應(yīng)速度快、抗干擾性強(qiáng)等優(yōu)點(diǎn)。降低了電子秤的整機(jī)成本,提高了整機(jī)的性能和可靠性。該芯片與后端MCU芯片的接口和編程非常簡單,所有控制信號由管腳驅(qū)動,無需對芯片內(nèi)部的寄存器編程。輸入選擇開關(guān)可任意選取通道A或通道B,與其內(nèi)部的低噪聲可編

8、程放大器相連。通道A的可編程增益為128或64,對應(yīng)的滿額度差分輸入信號幅值分別為土20mV40mV通道B則為固定的32增益, 用于系統(tǒng)參數(shù)檢測。 芯片內(nèi)提供的穩(wěn)壓電源可以直接向外部傳感器和芯片內(nèi)的A/D轉(zhuǎn)換器提供電源,系統(tǒng)板上無需另外的模擬電源。芯片內(nèi)的時鐘振蕩器不需要任何外接器件。上電自動復(fù)位功能簡化了開機(jī)的初始化過程。HX711內(nèi)部方框圖如圖4所示。其外部管腳如圖5所示。圖4HX711內(nèi)部方框圖穩(wěn)壓電路電源VSUP 匚1,16nDVDD敢字電源穩(wěn)壓電路控粥輸出BASE 匚215nRATE軸用數(shù)據(jù)速率控制輸入模擬出源AVDD 匚314二 XI外部時鐘或晶版輸入租用電路控制輸入VFB 匚41

9、JnXO晶振輸入模擬地AGND 匚512二 DOUT串口數(shù)據(jù)*出一電源輸出VBG 匚611口 PD_SCK州電和串口時鐘輸入通道A柒輸A端INNA 匚了10二 INPB通道BE的入端通道AJH輸一端,INPA 匚89口 INNB通道B貨輸入瑞SOP-16L封裝圖5HX711外部管腳圖圖5為HX711芯片應(yīng)用于計價秤的一個參考電路圖。該方案使用內(nèi)部時鐘振蕩器(XI=0),10Hz的輸出數(shù)據(jù)速率(RATE=0)。電源(2.75.5V)直接取用與MCU芯片相同的供電電源。通道A與傳感器相連,通道B通過片外分壓VRVTJDVstFVstFInputInputMIXASITASITrhWDDrhWDD1

10、.7-55V1.7-55VHXHX- -1111l&uFl&uFG G iB=3iB=3:.64.12S.64.12SAVDDAVDDI5A-I5A-Digiti!InDigiti!InterfaceterfaceToTioinMToTioinMCUCUREGREG4Bniads-npRefereJxiUxoIntemalIntemalINB-INB-匚IW-IW-匚電阻與電池相連,用于檢測電池電壓。圖6HX711計價秤應(yīng)用參考電路圖本課題設(shè)計的HX711電路如圖7所示:VSUPVSUPDVDDDVDDBASERATEAVDDXIVFBVFBxoxoAGNDDOUTDOUTVB

11、GVBGPD_SCK【NNNNiWPBiWPBLHPAINNB圖7HX711電路4、單片機(jī)STC89C52及其電路色珠口*1”VDDVDD1010IOIO4ADAD采樣電路1234DSENSOR1514n12叵5(1)STC89C52單片機(jī)概述STC89C5凍列單片機(jī)是宏晶科技生產(chǎn)的單時鐘/機(jī)器周期(1T)的單片機(jī),是高速/低功耗/超強(qiáng)抗干擾的新一代8051單片機(jī),指令代碼完全兼容傳統(tǒng)8051,但速度快8-12倍,內(nèi)部集成MAX81%用復(fù)位電路。STC89C52單片機(jī)特點(diǎn)增強(qiáng)型8051CPU1T,單時鐘/機(jī)器周期,指令代碼完全兼容傳統(tǒng)8051;工作電壓:5.5V-3.5V(5V單片機(jī));工作頻

12、率范圍:040MHz相當(dāng)于普通8051的080MHz用戶應(yīng)用程序空間4K/8K/16k/32K/64K字節(jié);片上集成1280字節(jié)RAM通用I/O口(32/36個),復(fù)位后為準(zhǔn)雙向口/弱上拉(普通8051傳統(tǒng)I/O口);ISP(在系統(tǒng)可編程)/IAP(在應(yīng)用可編程),無需專用編程器/仿真器。每個I/O口驅(qū)動能力均可達(dá)到20mA但整個芯片最大不要超過120mA可通過用口(P3.0/P3.1)直接下載用戶程序,數(shù)秒即可完成一片;有EEPROM能;看門狗;內(nèi)部集成MAX81用復(fù)位電路(外部晶體12M以下時,復(fù)位腳可直接1K電阻到地);時鐘源:外部高精度晶體/時鐘,內(nèi)部R/C振蕩器;用戶在下載用戶程序時

13、,可選擇是使用內(nèi)部R/C振蕩器還是外部晶體/時鐘;常溫下內(nèi)部R/C振蕩器頻率為:5.0V單片機(jī)為:11MHz17MHz;共4個16位定時器, 兩個與傳統(tǒng)8051兼容的定時器/計數(shù)器,16位定時器T0和T1,沒有定時器2,但有獨(dú)立波特率發(fā)生器做串行通訊的波特率發(fā)生器,再加上2路PCA真塊可再實(shí)現(xiàn)2個16位定時器;外部中斷I/O口4路,傳統(tǒng)的下降沿中斷或低電平觸發(fā)中斷,并新增支持上升沿中斷的PCA奠塊,PowerDown模式可由外部中斷喚醒;通用全雙工異步用行口(UART);工作溫度范圍:-40+85C(工業(yè)級)/075C(商業(yè)級);封裝:PDIP-40,PLCC-44o(3)STC89C52單片

14、機(jī)管腳及封裝STC89C5印片機(jī)有多種封裝形式, 本設(shè)計中選用40DIP封裝, 具管腳定義如圖8所示。T2/P1.0I1 1vcc1toI2EX.PL11 1-I39r ra aPO,0/AD0PL233S?0.1ADI?L3437?0.2AD2PL453PO,3/AD3Pl,5635P0.4/AD4PL6731P0.oADoPL7Is33PC-6ADeRSI932PC.7-AD;RXDP3.D10311EATXDP3.11130ALEPROGI:T0P3.212二 9FSEYINT1/P3.3132&P2.7/Al5T0/P3.414T7T7-iP2.6AllT1/P3.51526?

15、2.5A13底?3.6162P2.4-A1RD/P3,71724?2.3AllXIAL2IS23P2,2/A10XTAL119-19-19P2,1A9YSS120211 1P2.0.AS圖8STC89C52管腳圖本課題設(shè)計的電子秤的單片機(jī)應(yīng)用電路如圖9所示:ClCl單片機(jī)系統(tǒng)單片機(jī)系統(tǒng)R2R2GNDGNDIQKIQKU1U1STCS9C52STCS9C52alett2alett2ROW43ROW43R0W3R0W34 4DOUTDOUT5 5PDSCKPDSCK6SO_ZKSO_ZK? ?SlJzKSlJzK8 8RXDRXD1010TXDTXD1111ROV72ROV72* *R0W1R0W

16、1_CGLCGL1414C CCOL2COL21515COL38L48L4I Ibeep1f fP1.0P1.0OQOQPO.OADOPO.OADOPlPl1 1P0.1/AD1P0.1/AD1PlPl. .2 2P0.2/AD2P0.2/AD2Pl.Pl.3 3PO3AD3PO3AD3Pl.4Pl.4P04/AD4P04/AD4PlPl5 5PO.SADSPO.SADSPlPl. .6 6PO6AD6PO6H HRST復(fù)位低出 T 復(fù)位,良位完成后,回到高電平,液晶模塊開始工作12CS片選低電平片選6、矩陣鍵盤電路矩陣鍵盤電路如圖11所示:N N一一W3HInoW3HInoM ML L心6A

17、NMLSMLSV口5ms-2ms-24 4/ALERTALERT圖12聲光報警電路當(dāng)測量重量超過量程時,beep和alert給出低電平信號,驅(qū)動蜂鳴器鳴COL4COLSCOLSCOL2COL1R0W1ROTOR0W3R0W3RCWRCW+57T53T5310k下4 410kR5IGkR6R610k10k圖11矩陣鍵盤電路圖中4*4矩陣鍵盤可以顯示0-9數(shù)字、小數(shù)點(diǎn)和五個功能鍵。鍵盤行掃描信號為ROW1-ROW4,列掃描信號為COL1COL4。行信號為輸入信號,低電平有效;列信號為輸出信號。當(dāng)沒有鍵按下時,即使行掃描輸入低電平信號,列信號仍為高電平;當(dāng)行掃描為低電平并且有鍵按下時,相應(yīng)的列輸出低

18、電平。該低電平信號可以定位至按下鍵的位置。7、聲光報警電路聲光報警電路如圖12所示聲光報警電路. .CMCMR8L2R8L2* * | |+ +5V5V響,報警燈亮8.電源電路本設(shè)計采用USB接口供電,電源電壓5V。同時,USB接口通過內(nèi)含PL2303芯片的轉(zhuǎn)換電路對單片機(jī)進(jìn)行程序編寫。其電路原理如圖所示電源及下載接口POWERSPOWERS;GND;RXDORXDO: :TXDTXDPOWER1POWER1泄泄hRXDI接接USB綠線綠線(TXDJ4194TXD1接接USB白絹白絹RXD)圖16供電及程序下載電路三、Protel硬件開發(fā)軟件Protel是目前國內(nèi)最流行的通用EDA軟件,它是將

19、電路原理圖設(shè)計、PCB板圖設(shè)計、電路仿真和PLD設(shè)計等多個實(shí)用工具軟件組合后構(gòu)成的EDA工作平臺,是第一個將EDA軟件設(shè)計成基于Windows的普及型產(chǎn)品。它集成了軟件界面、仿真功能和PLD設(shè)計和信號完整性分析,在此基礎(chǔ)上Protel99SE又增加了一些新的功能,用戶使用更加方便靈活。Protel的功能十分強(qiáng)大,在電子電路設(shè)計領(lǐng)域占有極其重要的地位。它以其強(qiáng)大功能和實(shí)用性,逐漸獲得廣大硬件設(shè)計人員的青睞,是目前眾多EDA設(shè)計軟件中用戶最多的產(chǎn)品之一。1. Protel軟件組成Protel軟件主要由電路原理圖設(shè)計模塊、印制電路板設(shè)計模塊(PCB設(shè)計模塊)、電路信號仿真模塊和PLD邏輯器件設(shè)計模塊

20、等組成,各模塊具有強(qiáng)大的功能,可以很好的實(shí)現(xiàn)電路設(shè)計與分析。(1)原理圖設(shè)計模塊(Schematic模塊)1 1電路原理圖是表示電氣產(chǎn)品或電路工作原理的重要技術(shù)文件,電路原理圖主要由代表各種電子器件的圖形符號、線路和結(jié)點(diǎn)組成。圖4.1所示為一張電路原理圖。該原理圖是由Schematic模塊設(shè)計完成的。Schematic模塊具有如下功能:豐富而靈活的編輯功能、在線庫編輯及完善的庫管理功能、強(qiáng)大的設(shè)計自動化功能、支持層次化設(shè)計功能等。(2)印制電路板設(shè)計模塊(PC股計模塊)印制電路板(PCB)制板圖是由電路原理圖到制作電路板的橋梁。 設(shè)計了電路原理圖后,需要根據(jù)原理圖生設(shè)計成印制電路板的制板圖,

21、然后在根據(jù)制板圖制作具體的電路板。 印制電路板設(shè)計模塊具有如下主要功能和特點(diǎn):可完成復(fù)雜印制電路板(PCB)的設(shè)計;方便而又靈活的編輯功能;強(qiáng)大的設(shè)計自動化功能;在線式庫編輯及完善的庫管理;完備的輸出系統(tǒng)等。(3)電路信號仿真模塊電路信號仿真模塊是一個功能強(qiáng)大的數(shù)字/模擬混合信號電路仿真器,能提供連續(xù)的模擬信號和離散的數(shù)字信號仿真。它運(yùn)行在Protel的EDA/Client集成環(huán)境下,與ProtelAdvancedSchematic原理圖輸入程序協(xié)同工作,作為AdvancedSchematic的擴(kuò)展,為用戶提供了一個完整的從設(shè)計到驗(yàn)證仿真設(shè)計環(huán)境。在Protel中進(jìn)行仿真,只需從仿真用元器件庫

22、中放置所需的元器件,連接好原理圖,加上激勵源,然后單擊防真按鈕即可自動開始。2. PCB板設(shè)計(1)定元件的封裝1打開網(wǎng)絡(luò)表(可以利用一些編輯器輔助編輯),將所有封裝瀏覽一遍, 確保所有元件的封裝都正確無誤并且元件庫中包含所有元件的封裝, 網(wǎng)絡(luò)表中所有信息全部大寫,一面載入出問題,或PCBBOM不連續(xù)。2標(biāo)準(zhǔn)元件全部采用公司統(tǒng)一元件庫中的封裝。3元件庫中不存在的封裝,應(yīng)自己建立元器件庫。(2)建立PCB板框根據(jù)PCB結(jié)構(gòu)圖,或相應(yīng)的模板建立PCB文件,包括安裝孔、禁布區(qū)等相關(guān)信息。4尺寸標(biāo)注。在鉆孔層中應(yīng)標(biāo)明PCB的精確結(jié)構(gòu),且不可以形成封閉尺寸標(biāo)注。(3)載入網(wǎng)絡(luò)表5載入網(wǎng)表并排除所有載入問

23、題,具體請看PROTEL技術(shù)大全其他軟件載入問題有很多相似之處,可以借鑒。如果使用PROTEL,網(wǎng)表須載入兩次以上(沒有任何提示信息)才可以確認(rèn)載入無誤。(4)布局首先要確定參考點(diǎn)。一般參考點(diǎn)都設(shè)置在左邊和底邊的邊框線的交點(diǎn)(或延長線的交點(diǎn))上或印制板的插件的第一個焊盤。6一但參考點(diǎn)確定以后,元件布局、布線均以此參考點(diǎn)為準(zhǔn)。布局推薦使用25MIL網(wǎng)格。根據(jù)要求先將所有有定位要求的元件固定并鎖定。布局的基本原則A.遵循先難后易、先大后小的原則。B.布局可以參考硬件工程師提供的原理圖和大致的布局,根據(jù)信號流向規(guī)律放置主要原器件。C.總的連線盡可能的短,關(guān)鍵信號線最短。D.強(qiáng)信號、弱信號、高電壓信號

24、和弱電壓信號要完全分開。E.高頻元件間隔要充分。F.模擬信號、數(shù)字信號分開。7相同結(jié)構(gòu)電路部分應(yīng)盡可能采取對稱布局。按照均勻分布、重心平衡、版面美觀的標(biāo)準(zhǔn)來優(yōu)化布局。85)PCB設(shè)計遵循的規(guī)則地線回路規(guī)則:圖17地線回路規(guī)則環(huán)路最小規(guī)則,即信號線與其回路構(gòu)成的環(huán)面積要盡可能小,環(huán)面積要盡可能小,環(huán)面積越小,對外的輻射越少,接收外界的干擾也越小。針對這一規(guī)則,在地平面分割時,要考慮到地平面與重要信號走線的分布, 防止由于地平面開槽等帶來的問題; 在雙層板設(shè)計中,在為電源留下足夠空間的情況下, 應(yīng)該將留下的部分用參考地填充, 且增加一些必要的過孔,將雙面信號有效連接起來,對一些關(guān)鍵信號盡量采用地線

25、隔離,對一些頻率較高的設(shè)計,需特別考慮其地平面信號回路問題,建議采用多層板為宜,竄擾控制竄擾(CrossTalk)是指PCB上不同網(wǎng)絡(luò)之間因較長的平行布線引起的相互干擾,主要是由于平行線間的分布電容和分布電感的作用??朔Z擾的主要措施是:A.加大平行布線的間距,遵循3W規(guī)則。B.在平行線間插入接地的隔離線。C.減少布線層與地平面的距離屏蔽保護(hù)圖18屏蔽保護(hù)對應(yīng)地線回路規(guī)則,實(shí)際上也是為了盡量減小信號的回路面積,多用于一些比較重要的信號,如時鐘信號,同步信號;對一些特別重要,頻率特別高的信號,應(yīng)該考慮采用銅軸電纜屏蔽結(jié)構(gòu)設(shè)計,即將所布的線上下左右用地線隔離,而且還要考慮好如何有效的讓屏蔽地與實(shí)際

26、地平面有效結(jié)合。走線方向控制規(guī)則相鄰層的走線方向成正交結(jié)構(gòu),避免將不同的信號線在相鄰層走成同一方向,以減少不必要的層間竄擾;當(dāng)由于板結(jié)構(gòu)限制(如某些背板)難以避免出現(xiàn)該情況,特別是信號速率較高時,應(yīng)考慮用地平面隔離各布線層,用地信號線隔離各信號線。電源與地線層的完整性規(guī)則對于導(dǎo)通孔密集的區(qū)域,要注意避免孔在電源和地層的挖空區(qū)域相互連接,形成對平面層的分割,從而破壞平面層的完整性,并進(jìn)而導(dǎo)致信號線在地層的回路面積增大。四、軟件設(shè)計1、軟件流程圖本設(shè)計主程序使用了定時器,用來實(shí)現(xiàn)每圖19所示。鍵盤掃描程序如圖20所示。圖19時鐘中斷程序流程圖主程序軟件流程如圖21所示圖20鍵盤掃描程序流程圖0.5

27、秒稱重一次的功能,流程圖如圖21主程序流程圖3、主程序下面介紹main.c主程序編寫,其他程序略。(1)頭文件和一些宏定義#include#include#include#includelcd.h|#includehx711.h#includekeyboard.h定義量程系數(shù)#defineRATIO2114/1623(2)管腳、常量、變量定義定義標(biāo)識volatilebitFlagTest=0;/定時測試標(biāo)志,每0.5秒置位,測完清0volatilebitFlagKeyPress=0;有鍵按下標(biāo)志,處理完畢清0volatilebitFlagSetPrice=0;價格設(shè)置狀態(tài)標(biāo)志,設(shè)置好為1。管腳

28、定義sbitLedA=P2A2;sbitbeep=P1A0;sbitalert=Pii;顯示用變量intCounter;ucharidatastr16=000000;inti,iTemp;稱重用變量unsignedlongidataFullScale;滿量程AD彳K/1000unsignedlongAdVal;/AD采樣值unsignedlongweight;重量值,單位gunsignedlongidataprice;/單價,長整型值,單位為分unsignedlongidatamoney;總價,長整型值,單位為分/鍵盤處理變量ucharkeycode;ucharDotPos;小數(shù)點(diǎn)標(biāo)志及位置(

29、3)函數(shù)聲明voidint2str(int,char*);voidData_Init();voidPort_Init();voidTimer0_Init();voidTimer0_ISR();voidINT1_Init();voidKeyPress(uchar);voidTo_Zero();voidDisplay_Price();voidDisplay_Weight();voidDisplay_Money();(4)各子程序整型轉(zhuǎn)字符串的函數(shù),轉(zhuǎn)換范圍0-65536voidint2str(intx,char*str)(inti=1;|inttmp=10;while(x/tmp!=0)(i+;t

30、mp*=10;)tmp=x;stri=0;while(i1)(str-i=0+(tmp%10);tmp/=10;str0=tmp+0;重新找回零點(diǎn)J每次測量前調(diào)用|voidTo_Zero()(FullScale=ReadCount()/1000;price=0;顯示單價,單位為元,四位整數(shù),兩位小數(shù)voidDisplay_Price()(unsignedinti,j;display_GB2312_string(5,44,);i=price/100;得到整數(shù)部分j=price-i*100;/得到小數(shù)部分int2str(i,str1);顯示整數(shù)部分if(i=1000)(displayGB2312s

31、tring(5,44,str1);elseif(i=100)(display_GB2312_string(5,52,str1);elseif(i=10)(display_GB2312_string(5,60,str1);else(display_GB2312_string(5,68,str1);顯示小數(shù)點(diǎn)display_GB2312_string(5,76,.);顯示小數(shù)部分int2str(j,str1);1if(j=10)(display_GB2312_string(3,60,str1);)else(display_GB2312_string(3,68,str1);)display_GB23

32、12_string(3,76,.);int2str(j,str1);|if(j10)(display_GB2312_string(3,84,00);display_GB2312_string(3,100,str1);)elseif(j999999)/超出顯示量程(display_GB2312_string(7,44,);return;)i=money/100;得到整數(shù)部分j=money-i*100;/得到小數(shù)部分int2str(i,str1);顯示整數(shù)部分if(i=1000)(display_GB2312_string(7,44,str1);)elseif(i=100)(display_GB2

33、312_string(7,52,str1);)elseif(i=10)(display_GB2312_string(7,60,str1);else(display_GB2312_string(7,68,str1);)顯示小數(shù)點(diǎn)display_GB2312_string(7,76,.);顯示小數(shù)部分int2str(j,str1);if(j=200)(FlagTest=1;Counter=0;按鍵響應(yīng)程序,參數(shù)是鍵值/返回鍵值:/78910(清0)/45611(刪除)/12312(未定義)/14(未定義)015(.)13(確定價格)voidKeyPress(ucharkeycode)(switch

34、(keycode)(case0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:目前在設(shè)置整數(shù)位,要注意price是整型,存儲單位為分if(DotPos=0)(最多只能設(shè)置到千位if(price0 x8000)weight=0;weight=10000*weight/FullScale;weight=weight*RATIO;如果超量程,則報警if(weight=40000)(beep=0;alert=0;display_GB2312_string(3,60,);display_GB2312_string(7,44,

35、);)如果不超量程elsebeep=1;alert=1;顯示重量值Display_Weight();如果單價設(shè)定好了,則計算價格if(FlagSetPrice=1)money=weight*price/1000;/money單位為分顯示總金額Display_Money();)elsedisplay_GB2312_string(7,44,);)/清測試標(biāo)志FlagTest=0;)獲取按鍵keycode=Getkeyboard();有效鍵值0-15if(keycode16)&(FlagKeyPress=0)FlagKeyPress=1;KeyPress(keycode);FlagKeyPr

36、ess=0;)delay(20);)五、下載與調(diào)試提供例程在uVision4環(huán)境下編譯, 如果是其他版本和.h文件拷貝至新建項(xiàng)目,重新編譯即可。當(dāng)編譯生成并進(jìn)行調(diào)試了1、USB轉(zhuǎn)用口驅(qū)動安裝打開USB驅(qū)動文件夾下的PL2303_Prolific_DriverInstaller_v130.exe安裝文件,uVision,只需將所有.c.hex文件后,就可以下載按提示安裝USB轉(zhuǎn)用口驅(qū)動程序。安裝完成后,插入USB下載線后,在開始-控制面 板 - 打 印 機(jī) 和 其 他 硬 件 - 設(shè) 備 管 理 器 , 在 “ 端 口 ” 分 支 下 有(ProlificUSB-to-SerialCommPor

37、t(COMX)。X表示用口號, 如果沒有說明USB轉(zhuǎn)用口驅(qū)動沒有安裝,須重新安裝。記住括號里的COM口號。首理盎首理盎|,|,叵叵|x文件舊操作晝看坦)幫助皿!a函昌圖逑- -WAMGQUfGYUllWAMGQUfGYUll* /DWCD-IWM 騙動器* ,/IDEIDEWA/ATAFIWA/ATAFI 控制器* 44IEEEIEEE1394 總線主控帶喘* 令 SCSISCSI 和 RAIDRAID 控制器*,Sakurah9stcontrollfirsSakurah9stcontrollfirs,冷處理器* 產(chǎn)踽維驅(qū)幼器*3 存儲卷+9 電池,匕的利辟調(diào)器*,9端口(tWI 和 LPT)

38、LPT)? ?ProliProli icUSB-to-SeriicUSB-to-SerialalCommPortCommPort(COM4)(COM4)* j 計苴機(jī)* 9 監(jiān)詞器犍盤,3苴底設(shè)備* 幽人體學(xué)哈入設(shè)備+聲音、酶和游蟠帶喘* 鼠標(biāo)和耳它指針鐐備降電通用串行忌械控制翳 V V圖22成功安裝USB轉(zhuǎn)用口驅(qū)動示意圖2、下載程序打開STC單片機(jī)下載軟件文件夾,點(diǎn)擊運(yùn)行STC_ISP_V481.exe程序,出現(xiàn)如下界面。圖23下載軟件正確選擇MCU類型為STC89C52,COM口(與剛才安裝的COM號一致),最高波特率和最低波特率選擇高速,如果不成功則嘗試降低撥特率,并打開正確的.hex數(shù)

39、據(jù)文件。點(diǎn)擊“Download/下載”按紐,窗口出現(xiàn)提示:Chinese:正在嘗試與MCU/單片機(jī)握手連接.Connectionisfailure.Youcantry:1.GiveyourMCUPowerOnReset.2.Stopoperation,thenre-selectCOMPort.3.BecausePLCC-DIP/PQFP-DIPSockettracetoolong.4.UpdatetheSTCISP.exeversion.5.Ifstillerror,yourMCUFirmwareiserrorornull.Chinese:連接失敗,請嘗試以下操作:1.在單片機(jī)停電狀態(tài)下,點(diǎn)下

40、載按鈕,再給單片機(jī)上電2.停止下載,重新選擇RS-232串口,接好電纜3.可能需要先將P1.0/P1.1短接到地4.可能外部時鐘未接5.因PLCC、PQFP轉(zhuǎn)換座引線過長而引起時鐘不振蕩,請調(diào)整參數(shù)6.可能要升級電腦端的STCISP.exe軟件7.若仍然不成功,可能MCU/單片機(jī)內(nèi)無ISP系統(tǒng)引導(dǎo)碼,或需退回升級,或MCU已損壞8.若使用USB轉(zhuǎn)RS-232串口線下載,可能會遇到不兼容的問題,可以讓我們幫助購買兼容的USB轉(zhuǎn)RS-232537537】,券騙1 1:5&l5&l ctFICVTyp*ctFICVTyp*選擇單片機(jī)型號ICUICU狂N N m?rrRm?rrR皿 e

41、所而皿配h hQODOIFFrQODOIFFr匚oi.oi.|EJH二=_=量高謔科Z40DZ40D二由豆成捐應(yīng)髭臉將率樹遍商噓睪=?400?400工寫 3 網(wǎng),步輯5 5.D&wnlaid/TK.D&wnlaid/TK強(qiáng)點(diǎn)下翱E E燃再NCVNCV上電復(fù)位棒后動。0 0 111111口占心下費(fèi).r r號次下簟前篤表周人已打開在皴用工曲文件,方便調(diào)試費(fèi)用r r當(dāng)目標(biāo)代碼疾生至北后目出調(diào)入女件,并亦口發(fā)送下簟命令.口譚羔重醛惠F F壕褊苕髓爵力溫:餐制砒,下翔扁建用應(yīng)用程垂:環(huán)麻單片就在正 M 工作時F F工口九外援的是E-4B5;E-4B5;成功計遇廄四*|詰關(guān)注.sracir

42、二姓網(wǎng)拈,及時升級地址口MlDOMlDOODOODOOLO0020OLO00200CO03D00CO03D00004.000004.000005000000500060OIDOO60OIDOOTOTO00006000060 0000090000090m m麗0000BQ0000BQ0 0000coaD000coaDOODOOODO0DO0DOOZDQOTQOZDQOTQODOIDOOODOIDOODOILODOILODrDrssssssssI I町口。町IDID口口口町町O O町町町。町肛IDIDu uQOOOOOOOOOQ-OQQOQOOOOOOOOOQ-OQQO_J_JIDID口口vaDclvaDcl口。D D口口肛DDDD口口IDID口o on-QOQn-ooon-n-OQQ-UOOQn-n-QOQn-ooon-n-OQQ-UOOQn-c c00000000-000-0-0000000000-000-0-00000000000 0QO-OQOOOQOOOQ-ooofl-QOQO-OQOOOQOOOQ-ooofl-QOOBOBg grarommmroMmraramwmmwMmmrarommmroMmraramwmmwMmmraraRoonlxlRooEmRKItnRoonlxlRooEmRKItnIKIRraERRraIKIR

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論