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

下載本文檔

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

文檔簡介

1、-. z論文題目:基于單片機(jī)的電子秤設(shè)計基于單片機(jī)的電子秤設(shè)計基于單片機(jī)的電子秤設(shè)計:延海:延海 專業(yè):電氣工程及其自動化專業(yè):電氣工程及其自動化 指導(dǎo)教師:馬惠蘭指導(dǎo)教師:馬惠蘭摘摘 要要衡器是我們?nèi)粘I钪胁豢扇鄙俚闹匾獌x器,衡器的開展是關(guān)系國計民生關(guān)鍵之一。衡器的應(yīng)用已普及到國民經(jīng)濟(jì)的各個領(lǐng)域,并取得了顯著的經(jīng)濟(jì)效益。近年來,隨著電子科技的飛速開展,桿秤已越來越難以滿足人們的日常生活需求,電子秤的應(yīng)用也逐漸越來越重要。本文重點(diǎn)介紹了基于單片機(jī)的簡單電子秤的一些根本構(gòu)造原理和功能。本設(shè)計以 AT89C51 單片機(jī)為控制芯片,附以傳感器電路,調(diào)理放大電路,模/數(shù)轉(zhuǎn)換電路, ,鍵盤電路和顯示電

2、路等,然后利用編程語言進(jìn)展編程實(shí)現(xiàn),并由 4*4 矩陣鍵盤實(shí)現(xiàn)簡單的操作,最后由 LCD 液晶顯示器實(shí)現(xiàn)。此系統(tǒng)可以實(shí)現(xiàn)根本的稱重顯示,單價輸入以及總金額計算。放上重物即傳感器受力 ,當(dāng)輸入單價時,系統(tǒng)會自動計算貨物價值。關(guān)鍵詞關(guān)鍵詞電子秤,單片機(jī),AT89C51,LCDABSTRACTABSTRACTWeighingWeighing apparatusapparatus isis anan indispensableindispensable importantimportant instrumentinstrument inin ourour dailydaily life.life. T

3、heThe developmentdevelopment ofof WeighingWeighing apparatusapparatus hashas a a keykey factorfactor inin ourour life.life. TheThe applicationapplication ofof weighingweighing apparatusapparatus hashas alreadyalready spreadspread toto nationalnational economyeconomy inin allall areasareas ,and,and h

4、avehave gotgot singnificantsingnificant economiceconomic benefits.benefits. InIn recentrecent years,years, withwith thethe rapidrapid developmentdevelopment ofof electronicelectronic technology,technology, thethe steelyardsteelyard hashas beebee moremore andand moremore difficultdifficult toto meetm

5、eet peoplepeople dailydaily lifelife demanddemand ,so,so thethe applicationapplication ofof electronicelectronic scalesscales havehave beebee moremore andand moremore important.important. -. zThisThis paperpaper mainlymainly introducedintroduced somesome ofof thethe basicbasic constructionconstructi

6、on principleprinciple andand functionfunction ofof thethe electronicelectronic scalesscales . . ThisThis designdesign useuse AT89C51AT89C51 single-chipsingle-chip microputermicroputer asas thethe controlcontrol chipchip . . AttachedAttached withwith sensorsensor circuitcircuit , , regulateregulate a

7、mplifieramplifier circuit,circuit, A/DA/D conversionconversion circuit,circuit, keyboardkeyboard circuitcircuit andand displaydisplay circuit.circuit. ThenThen useuse thethe programmingprogramming languagelanguage andand 4*44*4 matri*matri* keyboardkeyboard forfor controlling.controlling. ATlastATla

8、st ,we,we useuse LCDLCD monitormonitor toto displaydisplay thethe result.result. ThisThis systemsystem cancan realizerealize thethe basicbasic weighingweighing displayingdisplaying , , unitunit priceprice input,input, andand totaltotal amount.amount. WhenWhen putput thingsthings onon thethe electron

9、icelectronic scalesscales (the(the sensorsensor beingbeing stressed),ifstressed),if youyou putput inin thethe unitunit price,price, thethe systemsystem willwill automaticallyautomatically calculatecalculate thethe totaltotal valuevalue ofof thethe goods.goods.KeyKey words:words: Electronic scales ,S

10、ingle-chip microputer,AT89C51,LCD . - - . 可修編-目目 錄錄第第 1 1 章緒論章緒論 11. 1 稱重和衡器技術(shù)的開展 11.2 選題背景和意義 21.3 設(shè)計目的 21.4 設(shè)計要求 21.5 電子秤簡介 21.5.1 電子秤根本構(gòu)造 31.5.2 電子秤的工作原理 3第第 2 2 章系統(tǒng)方案的設(shè)計章系統(tǒng)方案的設(shè)計 42.1 系統(tǒng)整體設(shè)計 42.2 各模塊設(shè)計與選擇 42.2.1 控制器局部 42.2.2 傳感器模塊 52.2.3 調(diào)理放大模塊 72.2.4 模/數(shù)轉(zhuǎn)換模塊 82.2.5 鍵盤模塊 102.2.6 顯示模塊 11第第 3 3 章電子

11、秤系統(tǒng)設(shè)計章電子秤系統(tǒng)設(shè)計 133.1 硬件系統(tǒng)設(shè)計 133.1.1 控制器 13傳感器 133.1.3 A/D 轉(zhuǎn)換 143.1.4 鍵盤 153.1.5 顯示器 163.2 軟件系統(tǒng)設(shè)計 173.2.1 單價顯示程序設(shè)計 173.2.2 重量顯示程序設(shè)計 183.2.3 金額顯示程序設(shè)計 193.2.4 運(yùn)算模塊 20第第 4 4 章系統(tǒng)調(diào)試與仿真章系統(tǒng)調(diào)試與仿真 214.1 系統(tǒng)軟件調(diào)試 214.2 仿真 224.3 仿真程序 224.4 調(diào)試過程中遇到的問題 22結(jié)論結(jié)論 24參考文獻(xiàn)參考文獻(xiàn) 26附錄附錄 27致致 37-. z第第 1 1 章章 緒論緒論1. 1 稱重和衡器技術(shù)的開

12、展稱重作為計量的一種手段,在國計民生的各個領(lǐng)域被廣泛的應(yīng)用。而衡器的開展水平,很大程度的影響了各行業(yè)的現(xiàn)代化水平和社會的經(jīng)濟(jì)效益。 。人們由最初的等量交換,逐漸開展為利用簡單的秤來作為衡量的標(biāo)準(zhǔn),并開場普及。隨著社會的開展,傳統(tǒng)的機(jī)械秤已越來越難以滿足人們的需求。在電子技術(shù)飛速開展的帶動下,電子秤應(yīng)運(yùn)而生,極方便了人們的需求。50 年代中期,電子技術(shù)的滲入推動了衡器制造業(yè)的開展。60 年代初期,機(jī)電結(jié)合式電子衡器初步形成,經(jīng)過 40 多年的不斷改進(jìn)與完善,我國電子衡器從最初的機(jī)電結(jié)合型開展到現(xiàn)在的全電子型和數(shù)字智能型。我國電子衡器的技術(shù)裝備和檢測試驗(yàn)手段也根本到達(dá)國際 90 年代中期的水平,電

13、子衡器制造技術(shù)及應(yīng)用得到了新的開展??偨Y(jié)過去,電子稱重技術(shù)從靜態(tài)稱重向動態(tài)稱重開展;計量方法從模擬測量向數(shù)字測量開展;測量特點(diǎn)從單參數(shù)測量向多參數(shù)測量開展,特別是對快速稱重和動態(tài)稱重的研究與應(yīng)用。通過分析這些年電子衡器產(chǎn)品的開展情況及國外市場的需求,電子衡器總的開展趨勢是小型化、模塊化、集成化、智能化;技術(shù)性能則趨向于速率高、準(zhǔn)確度高、穩(wěn)定性高、可靠性高;功能則趨向于稱重計量的控制信息和非控制信息并重的“智能化功能;其應(yīng)用性能趨向于綜合性和組合性。衡器是國家法定計量器具,是國計民生、國防建立、科學(xué)研究、外貿(mào)易不可缺少的計量設(shè)備,衡器產(chǎn)品技術(shù)水平的上下,將直接影響各行各業(yè)的現(xiàn)代化水平和社會經(jīng)濟(jì)效

14、益的提高。21世紀(jì),電力電子技術(shù)飛速開展,使得電子產(chǎn)品也變得十分豐富,給-. z人們帶來了極大的方便。作為人們生活中不可缺少的一局部,電子秤的開展也十分重要。種類豐富,功能多樣的電子秤為人們節(jié)省了時間,提高了工作效率。1.2 選題背景和意義電子秤是日常生活中常用的電子衡器,廣泛應(yīng)用于大型超市、商場、物流配送中心。但是在一些偏遠(yuǎn)地區(qū),電子秤仍難以普及,傳統(tǒng)的杠桿機(jī)械秤仍占據(jù)著主要地位。目前市場上使用的稱量工具,或者是構(gòu)造復(fù)雜,或者運(yùn)行不可靠,且本錢高,精度穩(wěn)定性不好,調(diào)正時間長,易損件多,維修困難,裝機(jī)容量大,能源消耗大,生產(chǎn)本錢高等各種因素導(dǎo)致需要一種有實(shí)用價值的電子秤系統(tǒng),既能滿足日常需求,

15、抑制上述諸多缺點(diǎn),又能很好地普及,具有十分重大的現(xiàn)實(shí)意義。1.3 設(shè)計目的通過所學(xué)知識和相關(guān)資料,完成基于單片機(jī)的簡易的電子秤的設(shè)計,掌握以單片機(jī)為核心的控制電路和LCD顯示技術(shù)。并通過設(shè)計,了解電子秤的根本工作原理,將理論知識與現(xiàn)實(shí)實(shí)際問題相結(jié)合,提高自己對所學(xué)知識的應(yīng)用能力。1.4 設(shè)計要求1有重物時LCD顯示重量2開機(jī)時“單價顯示為“P:03當(dāng)輸入單價時,單片機(jī)自動將單價和重量兩個數(shù)據(jù)進(jìn)展乘法運(yùn)算,結(jié)果顯示在“SUM里。4當(dāng)按下“清零鍵時,單價自動清零,可以重新輸入。5當(dāng)結(jié)果溢出時即結(jié)果大于999999 , “SUM將顯示最后一次單價輸-. z入前的值1.5 電子秤簡介1.5.1 電子秤

16、根本構(gòu)造電子秤是利用物體的重力作用來確定物體質(zhì)量重量的測量儀器,也可用來確定與質(zhì)量相關(guān)的其它量大小、參數(shù)、或特性。不管根據(jù)什么原理制成的電子秤均由以下三局部組成:1承重、傳力復(fù)位系統(tǒng) 2稱重傳感器 3測量顯示和數(shù)據(jù)輸出的載荷測量裝置1.5.2 電子秤的工作原理當(dāng)被稱物體放置在秤體的托盤上時,其重量便通過托盤傳遞到稱重傳感器,傳感器隨之產(chǎn)生力電效應(yīng),將物體的重量轉(zhuǎn)換成與被稱物體重量成一定函數(shù)關(guān)系(一般成正比關(guān)系)的電信號(電壓或電流等)。此信號由調(diào)理放大電路進(jìn)展放大濾波后再由模/數(shù)A/D器進(jìn)展轉(zhuǎn)換,數(shù)字信號再送到 CPU 進(jìn)展處理,CPU 根據(jù)接收到的數(shù)據(jù)經(jīng)由 LCD 顯示出來,再根據(jù)鍵盤輸入容

17、進(jìn)展必要的判斷、分析、運(yùn)算。運(yùn)算結(jié)果送到存貯器,并由 CPU 發(fā)出指令,從存貯器中讀出送到顯示器顯示。第第 2 2 章章 系統(tǒng)方案的設(shè)計系統(tǒng)方案的設(shè)計2.1 系統(tǒng)整體設(shè)計按照本設(shè)計功能的要求,系統(tǒng)由:傳感器模塊、調(diào)理放大模塊,A/D轉(zhuǎn)換模塊、鍵盤模塊、現(xiàn)實(shí)模塊組成,系統(tǒng)的整體設(shè)計框圖如圖2-1所示: 圖2-1 系統(tǒng)整體框圖測量局部是運(yùn)用稱重傳感器去檢測壓力信號,并將得到的微弱的電信-. z號本設(shè)計為電壓信號經(jīng)處理電路本設(shè)計為調(diào)理放大電路處理后,送給 A/D 轉(zhuǎn)換器,將模擬量轉(zhuǎn)化為數(shù)字量輸出??刂破骶植砍惺軄碜?A/D轉(zhuǎn)換器輸出的數(shù)字信號,經(jīng)過運(yùn)算,將數(shù)字信號轉(zhuǎn)換為物體的實(shí)際重量信號,并將其存儲

18、到存儲單元中??刂破鬟€可以通過對擴(kuò)展 I/O 的控制,掃描鍵盤,對整個系統(tǒng)進(jìn)展控制。數(shù)據(jù)顯示局部根據(jù)需要實(shí)現(xiàn)顯示功能,如單價和總金額等。2.2 各模塊設(shè)計與選擇2.2.1 控制器局部本設(shè)計由于要求必須使用單片機(jī)作為系統(tǒng)的主控制器,而且以單片機(jī)為主控制器的設(shè)計,可以容易地將計算機(jī)技術(shù)和測量控制技術(shù)結(jié)合在一起,組成新型的只需要改變軟件程序就可以更新?lián)Q代的“智能化測量控制系統(tǒng)。本文采用的AT89C51是一種帶4K字節(jié)FLASH存儲器FPEROMFlash Programmable and Erasable Read Only Memory的低電壓、高性能CMOS 8位微處理器,由于將多功能 8位CP

19、U和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器 。而且AT89C51是一種比較應(yīng)用比較廣泛的單片機(jī)。AT89C51單片機(jī)引腳構(gòu)造圖如圖 2-2所示:圖2-2 AT89C51單片機(jī)引腳構(gòu)造單片機(jī)的主要特性及各引腳功能特點(diǎn)已經(jīng)學(xué)習(xí)過,在這里不再介紹。2.2.2 傳感器模塊在設(shè)計中,傳感器是一個十分重要的元件,因此對傳感器的選擇也顯的特別的重要,不僅要注意其量程和參數(shù),還有考慮到與其相配置的各種電路的設(shè)計的難以程度和設(shè)計性價比等等.本設(shè)計采用應(yīng)變片電橋測量電路作為-. z傳感器模塊,由應(yīng)變片電阻 R1 和另外 3 個電阻 R2、R3、R4 構(gòu)成電橋。電路圖如圖 2-3

20、所示: 圖2-3 應(yīng)變片電橋測量原理圖電橋輸出為:當(dāng)R1R4=R2R3時,V0=0,電橋處于平衡狀態(tài)。當(dāng)應(yīng)變片受力后,電橋差開工作,R1=R-R,R2=R+R,R3=R+R,R4=R-R,則應(yīng)變片式傳感器有如下特點(diǎn):(1)應(yīng)用和測量圍廣,應(yīng)變片可構(gòu)成各種機(jī)械量傳感器;(2)分辨率和靈敏度高,精度較高;(3)構(gòu)造小,適用性好,能應(yīng)用于多種特殊場合,頻率響應(yīng)好;(4)經(jīng)濟(jì)性好,使用方便。2.2.3 調(diào)理放大模塊經(jīng)由傳感器敏感元件轉(zhuǎn)換后輸出的信號一般電平較低,經(jīng)由電橋變換后的信號也難以直接用來顯示、記錄、控制或信號轉(zhuǎn)換。因此需要對傳感器的輸出信號進(jìn)展處理,就要采用調(diào)理放大電路,對傳感器輸出的高阻抗,

21、低電平信號進(jìn)展處理,才能做進(jìn)一步的應(yīng)用。本設(shè)計利用TLC1078和INA122設(shè)計的調(diào)理放大電路如圖2-4所示:圖 2-4 調(diào)理放大模塊本電路具有以下特點(diǎn):1.前級采用運(yùn)放兩個 TLC1078 組成并聯(lián)型差動放大器。在運(yùn)算放大器為理想的情況下,并聯(lián)型差動放大器的輸入阻抗為無窮大,共模抑制比也為無窮大。-. z2阻容耦合電路放在并聯(lián)型差動放大器構(gòu)成的前級放大器和由INA122 放大器構(gòu)成的后級放大器之間,這樣不僅為后級儀器放大器提高了增益,還提高了電路的共模抑制比。而且,由于前置放大器的輸出阻抗較低,又采用共模驅(qū)動技術(shù),防止了阻容耦合電路中的阻、容元件參數(shù)不匹配導(dǎo)致共模干擾轉(zhuǎn)換成差模干擾情況發(fā)生

22、。3. 后級電路采用經(jīng)濟(jì)的儀器放大器,將雙端信號轉(zhuǎn)換為單端信號輸出。由于阻容耦合電路的隔直作用,后級的儀器放大器可以做到很高的增益,進(jìn)而得到很高的共模抑制比。2.2.4 模/數(shù)轉(zhuǎn)換模塊本設(shè)計采用ADC0832模/數(shù)轉(zhuǎn)換器,將放大后的信號轉(zhuǎn)化為數(shù)字量送給單片機(jī),然后由LCD液晶顯示器顯示出來,即為所稱物體的重量。ADC0832 是美國國家半導(dǎo)體公司生產(chǎn)的一種8 位分辨率、雙通道A/D轉(zhuǎn)換芯片。由于它體積小,兼容性好,性價比高而深受單片機(jī)愛好者及企業(yè)歡迎,其目前已經(jīng)有很高的普及率。ADC0832的引腳構(gòu)造如圖2-5所示:圖2-5 ADC0832引腳構(gòu)造ADC0832 特點(diǎn): 8 位分辨率; 雙通道

23、 A/D 轉(zhuǎn)換; 輸入輸出電平與 TTL/CMOS 相兼容; 5V 電源供電時輸入電壓在 05V 之間; 工作頻率為 250KHZ,轉(zhuǎn)換時間為 32S; 一般功耗僅為 15mW; 8P、14PDIP雙列直插 、PICC 多種封裝; -. z 商用級芯片溫寬為 0C to +70C,工業(yè)級芯片溫寬為40C to +85C; 芯片接口說明: CS_ 片選使能,低電平芯片使能。 CH0 模擬輸入通道 0,或作為 IN+/-使用。 CH1 模擬輸入通道 1,或作為 IN+/-使用。 GND 芯片參考 0 電位地 。 DI 數(shù)據(jù)信號輸入,選擇通道控制。 DO 數(shù)據(jù)信號輸出,轉(zhuǎn)換數(shù)據(jù)輸出。 CLK 芯片時

24、鐘輸入。 Vcc/REF 電源輸入及參考電壓輸入復(fù)用 。 ADC0832 是 8 位分辨率的 A/D 轉(zhuǎn)換芯片,其最高分辨可達(dá) 256 級,能適應(yīng)一般的模擬量轉(zhuǎn)換要求。其部電源輸入與參考電壓的復(fù)用,使得芯片的模擬電壓輸入在 05V 之間。芯片轉(zhuǎn)換時間為 32S,具有雙數(shù)據(jù)輸出可作為數(shù)據(jù)校驗(yàn),以減少數(shù)據(jù)誤差,轉(zhuǎn)換速度快 ,而且穩(wěn)定性能強(qiáng)。獨(dú)立的芯片使能輸入,使多器件掛接和處理器控制變的更加方便。通過 DI 數(shù)據(jù)輸入端,可以輕易的實(shí)現(xiàn)通道功能的選擇。2.2.5 鍵盤模塊方案一:采用獨(dú)立式按鍵作為輸入模塊。這種鍵盤的硬件比較容易實(shí)現(xiàn),直接用 I/O 口構(gòu)成單個按鍵電路,接口電路配置靈活,按鍵識別和軟

25、件構(gòu)造簡單;但每一個按鍵就要用一個 I/O 口,非常浪費(fèi)單片機(jī)的 I/O 口資源。其原理圖如圖 2-6 所示。圖 2-6 獨(dú)立式功能按鍵-. z方案二:采用 4*4 矩陣式鍵盤作為輸入模塊。采用矩陣式鍵盤作為輸入電路,其特點(diǎn):電路和軟件稍復(fù)雜,但相比之下,當(dāng)按鍵數(shù)越多時越節(jié)約 I/O 口,節(jié)約了資源。這種鍵盤的硬件構(gòu)造簡單,而且這種鍵盤的編程方法比較成熟。其原理圖如圖 2-7 所示。 圖2-7 4*4矩陣式鍵盤原理圖由于本設(shè)計鍵盤輸入預(yù)置用于計算,清零等,按鍵較多,假設(shè)是采用獨(dú)立按鍵,按鍵麻煩,為軟件設(shè)計增加負(fù)擔(dān);但是采用矩陣式按鍵,既可以節(jié)約 I/O 口資源,輸入數(shù)值又方便,而且使操作界面更

26、具人性化。通過比照,故采用方案二作為系統(tǒng)的輸入模塊。2.2.6 顯示模塊方案一:采用 LED 數(shù)碼管靜態(tài)顯示。采用 LED 數(shù)碼管串行靜態(tài)顯示,這種顯示方式接口,編程容易且管理簡單;雖然其顯示亮度高,但是如果顯示器的位數(shù)較多,需要增加鎖存器,故而靜態(tài)顯示占用 I/O 口線較多,CPU 的開銷較大。如圖 2-8 所示。圖 2-8 4 位數(shù)碼管靜態(tài)顯示方案二:采用 LED 數(shù)碼管動態(tài)顯示。采用 LED 數(shù)碼管動態(tài)顯示,顯示亮度不及靜態(tài)顯示,但其電路簡單,適合于顯示位數(shù)較多的情況。如圖 2-9所示。圖 2-9 4 位數(shù)碼管的動態(tài)顯示方案三:采用 LM016L 液晶顯示。LM016L 作為一個成熟的產(chǎn)

27、品,使用簡單,模式固定,便于移植到各種類型的程序,但是要注意結(jié)合 LCD 本身的時序圖來完善初始化程序。又以其微功耗、體積小、顯示容豐富、超薄輕巧、可以調(diào)節(jié)其背光亮度,這種顯示方式接口,編程雖然有些麻煩,但管理較方便,占用的 I/O 口資源線也不多。-. z在計算器運(yùn)算中,需顯示的數(shù)字、符號較多,通過比照,根據(jù)各方面的特點(diǎn),故采用LM016L液晶顯示屏顯示輸出。 第3章 電子秤系統(tǒng)設(shè)計3.1 硬件系統(tǒng)設(shè)計3.1.1 控制器本設(shè)計采用AT89C51單片機(jī)作為控制器,其最小系統(tǒng)如圖3-1所示: 圖3-1 單片機(jī)最小系統(tǒng)本設(shè)計單片機(jī)的硬件分配:1. P2 口:作為輸入口,與鍵盤連接,實(shí)現(xiàn)數(shù)據(jù)的輸入;

28、2. P1 口:作為輸出口,控制 LCD 液晶顯示屏顯示數(shù)據(jù)的結(jié)果;3. 3.P3.5-P3.7 口:作為控制端口,控制 LCD 液晶顯示屏顯示輸出數(shù)據(jù)。3.1.2傳感器本設(shè)計采用 MOTOROLA 公司的 MP*4250 系列傳感器, MP*4250 傳感器產(chǎn)生的信號可以直接送給 ADC0832A/D 轉(zhuǎn)換器進(jìn)展模 /數(shù)轉(zhuǎn)換,MP*4250 將接收到的壓力信號和電壓信號送給 A/D 轉(zhuǎn)換器的模擬量輸入通道 CH0,經(jīng)過處理的信號就可以送給單片機(jī)了。 MP*4250 與 A/D 轉(zhuǎn)換器的連接如圖 3-2 所示: 圖 3-2 傳感器接口線路3.1.3 A/D 轉(zhuǎn)換本設(shè)計中 ADC0832 的數(shù)據(jù)

29、輸出口接單片機(jī)的串行輸出口 P3.1,時鐘輸入接單片機(jī)的外部中斷 0 引腳,正常情況下 ADC0832 與單片機(jī)的接口應(yīng)為 4 條數(shù)據(jù)線,即 CS、CLK、DO、DI。但由于 DO 端與 DI 端在通信時并未同時有效 ,而且與單片機(jī)的接口是雙向的,所以 設(shè)計電路時可-. z以將 DO 和 DI 并聯(lián)在一根數(shù)據(jù)線上使用。當(dāng) ADC0832 未工作時,CS 輸入端應(yīng)為高電平,此時芯片禁用, CLK 和 DO/DI 的電平可任意。當(dāng)要進(jìn)展 A/D 轉(zhuǎn)換時,須先將 CS 使能端置于低電平 ,并且保持低電平直到轉(zhuǎn)換完全完畢。 其與單片機(jī)的引腳連接如圖 3-3 所示:圖 3-3 A/D 轉(zhuǎn)換器與單片機(jī)接口

30、電路3.1.4 鍵盤本次設(shè)計所選的4*4矩陣鍵盤采用四條I/O 線作為行線,四條I/O 線作為列線組成。C采用這種鍵盤構(gòu)造能夠提高單片機(jī)系統(tǒng)中I/O 口的利用率。本設(shè)計矩陣鍵盤與單片機(jī)的P1口相連作為輸入。鍵盤包括數(shù)字鍵09和清零鍵。本次設(shè)計計算器鍵盤布局及與單片機(jī)接口電路如圖 3-4 所示。圖 3-4 仿真中矩陣鍵盤按鍵布局實(shí)際實(shí)現(xiàn)的功能如圖 3-5 所示。圖 3-5 實(shí)際鍵盤功能與矩陣鍵盤布局比照由于本設(shè)計的鍵盤功能比較簡單, 4*4 矩陣鍵盤沒有被充分利用,主要是考慮到仿真過程中布局方便而采用的。在實(shí)際應(yīng)用中,假設(shè)功能簡單,為了節(jié)省材料可以適當(dāng)減少幾個按鍵, 。電子秤采用 4*4 矩陣鍵

31、盤的其余功能還有待開發(fā)。3.1.5 顯示器由于液晶顯示器可以多段顯示,鑒于設(shè)計要求顯示三個數(shù)據(jù),即“重量“單價“金額,所以本設(shè)計采用液晶顯示器 P1 口作為液晶顯示的數(shù)據(jù)端口,P3.5-P3.7 口作為其控制端口,控制 LCD 液晶顯示屏顯示輸出數(shù)據(jù)。這樣即實(shí)現(xiàn)了目的,又經(jīng)濟(jì)方便。LM016L 與單片機(jī)的接口電路如圖 3-. z6 所示。圖 3-6 LCD 接口線路3.2 軟件系統(tǒng)設(shè)計程序設(shè)計比較復(fù)雜,要把復(fù)雜的工作條理化,就得有相應(yīng)的步驟和方法。大致可概括為以下三點(diǎn): 分析系統(tǒng)控制要求,然后確定算法:并對復(fù)雜的問題進(jìn)展具體的分析,找出合理的計算方法及適當(dāng)?shù)臄?shù)據(jù)構(gòu)造,從而確定編寫程序的步驟。

32、由算法畫流程圖:畫程序流程可以把算法和解題步驟逐步具體化,從而減少出錯。編寫程序:根據(jù)程序流程圖所表示的算法和步驟,選用適當(dāng)?shù)闹噶钆帕衅饋?,即編寫程序。編程的理想方法就是?gòu)造化程序設(shè)計法。構(gòu)造化程序設(shè)計是對所用到的控制構(gòu)造類程序做適當(dāng)?shù)南拗?,尤其是限制轉(zhuǎn)向語句或指令的使用,控制了程序的復(fù)雜性,并使程序的上、下文順序與執(zhí)行流程保持一致性,令程序更易懂,減少了邏輯錯誤,而且易于修改、調(diào)試。3.2.1 單價顯示程序設(shè)計開機(jī)啟動時 LCD 顯示器上單價模塊顯示為“P: ,需要輸入價格方能顯示,系統(tǒng)中連接的是 4*4 行列式按鍵鍵盤,其中“0-9為數(shù)字鍵; “ON/C為功能鍵清零鍵 ,數(shù)字鍵按下則將相應(yīng)

33、的數(shù)字送入數(shù)字緩沖區(qū);功能鍵按下則執(zhí)行相應(yīng)的程序;最終進(jìn)展運(yùn)算后,綜合結(jié)果將送入結(jié)果緩沖區(qū),并在 LCD 液晶顯示屏上顯示出來。其程序流程圖如圖3-7所示:圖 3-7 單價顯示程序流程圖3.2.2 重量顯示程序設(shè)計MP*4250產(chǎn)生的信號送給ADC0832進(jìn)展模數(shù)轉(zhuǎn)換,然后通過單片機(jī)的串-. z行輸出口和外部中斷接口,控制顯示在LCD液晶顯示器上。其程序流程圖如圖3-8所示:圖3-8 稱重程序流程圖3.2.3 金額顯示程序設(shè)計對于金額顯示“SUM,其原理是先檢測是否有重物,即傳感器是否受力,然后再判斷單價輸入情況,當(dāng)兩個顯示都不為空時,將兩個數(shù)據(jù)傳給單片機(jī)進(jìn)展乘法運(yùn)算,結(jié)果送給顯示緩沖區(qū),由L

34、CD液晶顯示器顯示出來,其程序流程圖如圖3-9所示:圖3-9 計價程序流程圖3.2.4 運(yùn)算模塊本次設(shè)計應(yīng)用了乘法運(yùn)算,其運(yùn)算程序流程圖如圖3-10所示:圖3-10 運(yùn)算模塊程序流程圖第4章 系統(tǒng)調(diào)試與仿真4.1 系統(tǒng)軟件調(diào)試軟件調(diào)試方法與所選用的軟件和編寫的程序有關(guān)。由于本次設(shè)計采用模塊化程序設(shè)計,首先要逐個模塊進(jìn)展調(diào)試,然后進(jìn)展軟件功能調(diào)試。調(diào)試模塊程序時,要符合現(xiàn)場環(huán)境,確定好入口條件和出口狀態(tài)。各程序模塊調(diào)試完成后,應(yīng)把個功能模塊聯(lián)合起來進(jìn)展程序綜合調(diào)試。全部軟件調(diào)試完成后,應(yīng)反復(fù)運(yùn)行,觀察系統(tǒng)的穩(wěn)定性及系統(tǒng)的功能是否到達(dá)設(shè)計的要求。在軟件調(diào)試過程中,對出現(xiàn)的錯誤進(jìn)展認(rèn)真的分析和修改,

35、能較好的到達(dá)既定的設(shè)計效果。 本設(shè)計的調(diào)試是應(yīng)用Keil uVision4軟件進(jìn)展程序的編譯調(diào)試,在沒有錯誤后,會生成一個擴(kuò)展名為.he*的十六進(jìn)制文件, 調(diào)試結(jié)果如圖4-1所-. z示:圖4-1 程序調(diào)試圖如下列圖,當(dāng)調(diào)試結(jié)果沒有錯誤時,才可以將文件加載入單片機(jī)進(jìn)展仿真。4.2 仿真翻開Proteus仿真軟件,將搭建好的仿真模塊翻開,然后鼠標(biāo)左鍵雙擊單片機(jī),在彈出的對話框中加載調(diào)試程序時生成的“.he*文件,然后運(yùn)行,即可實(shí)現(xiàn)簡易的電子秤。系統(tǒng)整體仿真構(gòu)造圖及仿真結(jié)果如圖4-2、圖4-3所示:圖4-2 系統(tǒng)仿真全圖圖4-3 仿真結(jié)果圖4.3 仿真程序 見附錄4.4 調(diào)試過程中遇到的問題 在設(shè)

36、計過程中,首先是找不到適宜的信息輸入模塊, ,即傳感器。因?yàn)闆]有輸入信息,仿真無從談起。通過查找大量的傳感器資料,再從“Proteus元件庫中選取適宜的型號,經(jīng)過篩選,發(fā)現(xiàn)MP*4250比較適合本設(shè)計,它隨時可以改變輸入的信號值即重量變化 。MP*4250是一種硅半導(dǎo)體壓力傳感器,輸出的是模擬型信號,市場應(yīng)用也比較廣泛,比較適合本次設(shè)計。其次是在A/D轉(zhuǎn)換器的選型上也遇到了困難,在設(shè)計之初,我選的是ADC0809,主要是因?yàn)槲覀冊谡n堂上學(xué)習(xí)過ADC0809的引腳功能和特性,對其比較了解。但是在軟件調(diào)試過程中,編好的程序無法使LCD液晶顯示器將傳感器的信號顯示出來,即不能進(jìn)展模數(shù)轉(zhuǎn)換。首先我想到

37、的是程-. z序出了問題,但是經(jīng)過檢查發(fā)現(xiàn),程序是正確的,然后我又仔細(xì)的檢查了ADC0809與單片機(jī)的引腳連接,仍然不能顯示數(shù)據(jù)。有同學(xué)建議我換一個A/D轉(zhuǎn)換器,于是我嘗試了ADC0804和ADC0832,最終發(fā)現(xiàn)ADC0832能很好地滿足本次設(shè)計的目的。還有一個問題就是在編寫乘法運(yùn)算程序時,也就是LCD顯示函數(shù)“SUM時,在函數(shù)的拆分問題上遇到了麻煩。如何將一個六位數(shù)拆分,在哪一位上先整除再求余,或者是先求余再整除,在這個算法上困惑了我很久,我查閱了一些資料,但仍然不能解決。后來我就去向精通C語言同學(xué)請教,經(jīng)過一番討論和研究,終于把這個問題弄明白了。由于個人能力有限,本文所設(shè)計的電子秤功能單

38、一,與市場上實(shí)際使用的電子秤相比功能不夠完善,缺乏之處還請見諒。以上幾個問題是設(shè)計過程中比較突出的問題,還有一些其他小問題,在教師和同學(xué)的幫助下都迎刃而解了,在此不一一詳述。結(jié) 論本次設(shè)計使我了解了電子秤的一些根本的工作原理,也使我明白,理論與實(shí)際的差異還是很大的,比方在仿真時傳感器的選擇上,現(xiàn)實(shí)中所使用的電子秤得傳感器必須經(jīng)過信號放大才能進(jìn)展模/數(shù)轉(zhuǎn)換。設(shè)計中應(yīng)用了硬件單片機(jī)芯片模塊,結(jié)合軟件程序借助 Keil 軟件調(diào)試實(shí)現(xiàn)顯示功能。在設(shè)計過程中由于所學(xué)知識的欠缺而導(dǎo)致設(shè)計無法快速的完成。單片機(jī)種類繁多,功能多種多樣。本設(shè)計采用了 AT89C51 單片機(jī),原因之一是我們對51 系列的單片機(jī)比

39、較熟悉,而且 51 單片機(jī)的功能比較齊全,市場應(yīng)用廣泛。編程語言則是利用我們所學(xué)過的 C 語言編程方法。由于 C 語言功能強(qiáng)大,便于模塊化開發(fā),所帶庫函數(shù)豐富,編寫的程序易于移植等諸多優(yōu)點(diǎn)使之成為單片機(jī)應(yīng)用系統(tǒng)開發(fā)最快速高效的程序設(shè)計語言。采用 C 語言,充分-. z表達(dá)了構(gòu)造化的思想,當(dāng)每個模塊都完成時,將其功能加到一起就完成了整體的設(shè)計。但是僅僅進(jìn)展簡單的疊加無法真正的實(shí)現(xiàn)軟件與硬件的統(tǒng)一,而是還需要不斷地進(jìn)展調(diào)試。此次設(shè)計過程中遇到了許多困難,根本原因是自己所學(xué)知識不夠全面,對知識的掌握也不夠扎實(shí)。出現(xiàn)問題后,我首先是努力去尋找問題的所在,然后用自己所掌握的知識去試著分析問題,盡可能地通

40、過查閱資料來獨(dú)立解決問題。但是個人能力有限,有些問題實(shí)在解決不了的,就去請教同學(xué)或教師。特別是在 C 語言的編程方面,非常感教師和同學(xué)們的幫助。在這分析問題、解決問題的過程中不僅穩(wěn)固了以前所學(xué)的知識,通過查閱資料還掌握了一些新的知識,使得個人能力得到了提高,專業(yè)水平也有了進(jìn)步。這次設(shè)計是大學(xué)四年來一個總結(jié),不僅是對自己所學(xué)專業(yè)知識的考核,也鍛煉了將所學(xué)專業(yè)理論知識應(yīng)用于實(shí)際問題中的能力。通過本次設(shè)計,考驗(yàn)了我將理論應(yīng)用于實(shí)踐和獨(dú)立解決問題的能力,也加強(qiáng)了我教師,同學(xué)一起協(xié)作的能力,更使我認(rèn)識到自己在知識方面存在的缺乏,明確了今后的學(xué)習(xí)方向,也為將來的的就業(yè)提前打了下堅實(shí)的根底。我會好好珍惜這次

41、設(shè)計過程中所經(jīng)歷的一切,這將是我人生中一筆珍貴的財富。參考文獻(xiàn)1 朝青 ?單片機(jī)原理及接口技術(shù)?,航天航空大學(xué),2005 年第 3 版2 譚浩強(qiáng) ?C 程序設(shè)計?,清華大學(xué), 2005 年第 3 版3 賈石峰 ?傳感器原理與傳感器技術(shù)?,機(jī)械工業(yè),2021.84 移倫 ?單片機(jī)原理及應(yīng)用?,中南大學(xué) 2006.75 于軍勝 ?顯示器件技術(shù)?,國防工業(yè),2021.76 居義 ?單片機(jī)課程設(shè)計指導(dǎo)?,清華大學(xué),2021 年7 樓然苗 51 些列單片機(jī)設(shè)計實(shí)例 航天航空,2003.38 全利,遲榮強(qiáng) 單片機(jī)原理及接口技術(shù)M : 教育 2004.19毅剛 MCS-51 單片機(jī)應(yīng)用設(shè)計,哈工大出版 20

42、04 第二版-. z附 錄程序清單*include*include*include *include*define uchar unsigned char*define uint unsigned int/*定義變量區(qū)*sbit lcden=P37; /LCD 使能信號sbit lcdrs=P35; /LCD 數(shù)據(jù)/命令選擇信號sbit CS =P33;sbit CLK=P32;sbit DIO =P31;uchar tab_key50;uchar weight;long int money,money1;uchar code tab=0123456789;uchar code tab0=p:

43、; uchar code tab1=w:; uchar code tab2=SUM:; uchar n=0,temp,key;unsigned char CH=0*02;/*延時函數(shù)開場*void delay(uint k)uint i,j;for(i=k;i0;i-) for(j=50;j0;j-);unsigned char ADconv(void) uchar i,dat1=0,dat2=0;CS = 0;CLK = 0;DIO = 1; _nop_(); _nop_();CLK = 1; _nop_(); _nop_();CLK = 0;DIO = 1; _nop_(); _nop_(

44、);CLK = 1; _nop_(); _nop_();CLK = 0;DIO = 1; _nop_(); _nop_();CLK = 1;DIO = 1; _nop_(); _nop_();CLK = 0;DIO = 1; _nop_(); _nop_();for(i=0;i8;i+)-. z CLK = 1; _nop_(); _nop_();CLK = 0; _nop_(); _nop_();dat1 = dat1 1 | DIO;/*for(i=0;i8;i+) dat2 = dat2 (uchar)(DIO)i);CLK = 1; _nop_(); _nop_();CLK = 0;

45、_nop_(); _nop_(); */CS = 1;/return (dat1 = dat2) ? dat1:0;return dat1 ;/*寫命令函數(shù)開場*void write_(uchar )lcdrs=0; /低電平寫命令P1=; /寫入命令delay(3); /延時約 3mslcden=1; /LCD 使能端置高電平delay(5); /延時約 5mslcden=0; /LCD 使能端拉低電平/*寫數(shù)據(jù)函數(shù)開場*void write_data(uchar dat) lcdrs=1; /低電平寫數(shù)據(jù) P1=dat; /寫入命令 delay(3); /延時約 3ms lcden=1;

46、/LCD 使能端置高電平 delay(5); /延時約 5ms lcden=0; /LCD 使能端拉低電平/*LCD 初始化函數(shù)開場*void lcd_init()lcden=0;write_(0*38); /設(shè)置顯示模式:16*2,5*7,8 位數(shù)據(jù)接口write_(0*0c); /開顯示,顯示光標(biāo),光標(biāo)閃爍write_(0*06); /讀寫一個字符后,地址指針及光標(biāo)加一,且光標(biāo)加一整屏顯示不移動write_(0*80); /設(shè)置光標(biāo)指針-. z/*鍵盤功能分配函數(shù)群開場*void key_manage1()tab_keyn=0;if(n4)n+;void key_manage2()tab_

47、keyn=1;if(n4)n+;void key_manage3()tab_keyn=2;if(n4)n+;void key_manage4()tab_keyn=3;if(n4)n+;void key_manage5()tab_keyn=4;if(n4)n+;void key_manage6()tab_keyn=5;if(n4)n+;void key_manage7()tab_keyn=6;if(n4)n+;void key_manage8()-. ztab_keyn=7;if(n4)n+;void key_manage9()tab_keyn=8;if(n3)n+;void key_manag

48、e10()tab_keyn=9;if(n4)n+;void key_manage11()uchar i;n=0;tab_key50=0;money=0;money1=0;write_(0*01);write_(0*0c);write_(0*80);for(i=0;i2;i+)write_data(tab0i);write_data(0+0);write_(0*89);for(i=0;i2;i+)write_data(tab1i);write_data(0+0);write_(0*c0);for(i=0;i4;i+) write_data(tab2i);write_data(0+0);write

49、_(0*cf);write_data($);-. z/*鍵盤掃描函數(shù)開場*void key_scan()/*掃描第一行*P2=0*fe; temp=P2;temp=temp&0*f0;if(temp!=0*f0)delay(100);if(temp!=0*f0) temp=P2; switch(temp) case 0*ee: key_manage8(); break; case 0*de: key_manage9(); break; case 0*be: key_manage10(); break; case 0*7e: break; while(temp!=0*f0) temp=P2; t

50、emp=temp&0*f0; /*掃描第二行*P2=0*fd; temp=P2;temp=temp&0*f0; if(temp!=0*f0) delay(100); if(temp!=0*f0) temp=P2;-. z switch(temp) case 0*ed: key_manage5(); break; case 0*dd: key_manage6(); break; case 0*bd: key_manage7(); break; case 0*7d: break; while(temp!=0*f0) temp=P2; temp=temp&0*f0; /*掃描第三行* P2=0*fb; temp=P2;temp=temp&0*f0;if(temp!=0*f0) delay(100); if(temp!=0*f0) temp=P2; switch(temp) case

溫馨提示

  • 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

提交評論