版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、商用電子秤的設(shè)計摘要在日常生活中,經(jīng)常需要測量物體的質(zhì)量,測量的準(zhǔn)確性從而顯得很重要。稱重技術(shù)的改革影響著人民的生活,隨著計量技術(shù)和電子技術(shù)的發(fā)展,以前常用的純機(jī)械結(jié)構(gòu)的桿秤、臺秤等存在不精確、速度慢、不能計價易作弊等問題,已逐步被電子產(chǎn)品替代。本次電子秤設(shè)計將運(yùn)用單片機(jī)來完成,具有小型化、智能化、準(zhǔn)確度高等特點(diǎn)。本設(shè)計以51系列單片機(jī)AT89S52為控制核心,實現(xiàn)電子秤的基本功能,即準(zhǔn)確采集物體的質(zhì)量,直觀顯示重量、單價及總價,并可對不同物品的重量、單價進(jìn)行調(diào)整,此外系統(tǒng)還具有超量程報警功能。顯示部分采用的是1602液晶顯示器,運(yùn)用獨(dú)立式鍵盤實現(xiàn)重量、單價的調(diào)整和切換顯示功能。軟件設(shè)計以C語
2、言作為編程語言,采用模塊化編程思想,在 Keil uVision開發(fā)環(huán)境下編寫應(yīng)用程序,結(jié)合硬件電路做整體調(diào)試,最終實現(xiàn)了所設(shè)計功能。整個系統(tǒng)結(jié)構(gòu)簡單、使用方便、功能齊全、精度高,具有一定的實用價值。 關(guān)鍵詞:電子秤;單片機(jī);1602液晶;獨(dú)立鍵盤The Design of Commercial Electronic ScalesABSTRACT In our daily life,we usually measure somethingswight.The accuracy of measurement seem to be very important.The reform in
3、 weighting technology is affecting our life. With the development of measurement technology and electronics,the traditional mechanical steelyard which we used previously are sifted out step by step.Because the problem which including inaccuracy、slow、valuation or easy to cheating can be resolved by e
4、lectronic products.The design is based on programming of SCM,then it can transform products to be minitype、modularization and intelligentize,the technical function of products become faster、more accurate and more reliable. The design for the control of 51 computers AT89S52 core, to achieve the basic
5、 control functions of electronic scales.measuring the weight exactly、displaying the weight and unit price exactly、displaying the total price exactly、displaying the unit price after adjusting the unit price、displaying the unit weight after adjusting the unit weight.the displaying way is base on 1602
6、LCD display.Stand-alone keyboard unit price and the weight adjustment. independent button control the changing which between the status.I select C language to be programme language,and compile the program in the condition of Keil uVision. The design adopt the modularization programming and debug the
7、 program combine to hardware circuit.I analyse the cause of error and resolving thought in designning process,and finish the basic functions of electronic scale. The system at weighing has also super-range alarm. The whole system is simple, easy to use, fully functional, high precision, with some Pr
8、actical value.Key words:electronic scale; SCM; 1602LCD; single keyboard目錄第1章 緒論11.1 選題背景與意義11.2 電子秤的研究現(xiàn)狀及發(fā)展趨勢11.3 本設(shè)計的主要工作2第2章 系統(tǒng)方案設(shè)計32.1 電子秤的設(shè)計要求32.2 系統(tǒng)工作原理32.3 系統(tǒng)方案選擇32.4 各功能模塊的分析與選型42.4.1 單片機(jī)的選擇42.4.2 按鍵的選擇52.4.3 輸出模塊的選擇6 報警模塊的選擇62.5 編程語言及開發(fā)工具選擇62.5.1 編程語言的選擇62.5.2 開發(fā)環(huán)境的選擇72.6 本章小結(jié)7第3章 系統(tǒng)軟件設(shè)計83.1
9、 AT89S52的介紹83.2 主程序設(shè)計103.2.1 函數(shù)聲名以及變量定義103.2.2 主程序設(shè)計思想113.3 按鍵處理程序123.3.1 按鍵介紹123.3.2 按鍵設(shè)計143.4 顯示子程序設(shè)計153.4.1 1602液晶簡介153.4.2 液晶顯示子程序193.5 報警子程序設(shè)計213.6 本章小結(jié)22第4章 程序調(diào)試234.1 程序編譯234.2 調(diào)試過程264.3 調(diào)試中出現(xiàn)的問題及解決方法264.4 調(diào)試結(jié)果274.5 本章小結(jié)28第5章 結(jié)論29致 謝30參考文獻(xiàn)31附錄A 外文翻譯-原文部分32附錄B 外文翻譯-譯文部分35附錄C 電子秤源程序38第1章 緒論1.1 選
10、題背景與意義電子秤是日常生活中常用的電子衡器,廣泛應(yīng)用于超市、大中型商場、物流配送中心。電子秤在結(jié)構(gòu)和原理上取代了以杠桿平衡為原理的傳統(tǒng)機(jī)械式稱量工具。相比傳統(tǒng)的機(jī)械式稱量工具,電子秤具有稱量精度高、裝機(jī)體積小、應(yīng)用范圍廣、易于操作使用等優(yōu)點(diǎn),在外形布局、工作原理、結(jié)構(gòu)和材料上都是全新的計量衡器。電子秤的設(shè)計首先是通過稱重傳感器采集到被測物體的重量并將其轉(zhuǎn)換成電壓信號。輸出電壓信號通常很小,需要通過高精度高增益AD芯片HX711的信號放大與AD轉(zhuǎn)換,轉(zhuǎn)換成數(shù)字量被送入到主控電路的單片機(jī)中處理,再經(jīng)過單片機(jī)控制顯示器,從而顯示出被測物體的重量。 而目前市場上電子秤產(chǎn)品的整體水平不高,部分小型企業(yè)
11、產(chǎn)品質(zhì)量差且技術(shù)力量薄弱,設(shè)備不全,缺乏產(chǎn)品的開發(fā)能力,產(chǎn)品質(zhì)量在低水平徘徊。因此,有針對性地開發(fā)出一套有實用價值的電子秤系統(tǒng),從技術(shù)上克服上述諸多缺點(diǎn),改善電子秤系統(tǒng)在應(yīng)用中的不足之處,具有現(xiàn)實意義。1.2 電子秤的研究現(xiàn)狀及發(fā)展趨勢近幾年,國內(nèi)的電子稱重系統(tǒng)從最初的機(jī)電結(jié)合型發(fā)展到現(xiàn)在的全電子型和數(shù)字智能型。電子稱重技術(shù)逐漸從靜態(tài)稱重向動態(tài)稱重發(fā)展,從模擬測量向數(shù)字測量發(fā)展,從單參數(shù)測量向多參數(shù)測量發(fā)展。電子稱重系統(tǒng)制造技術(shù)及其應(yīng)用得到了新發(fā)展。國內(nèi)電子稱重技術(shù)基本達(dá)到國際上20世紀(jì)90年代中期的水平,少數(shù)產(chǎn)品的技術(shù)已處于國際領(lǐng)先水平。做為重量測量儀器,智能電子秤在各行各業(yè)開始顯現(xiàn)其測量準(zhǔn)
12、確,測量速度快,易于實時測量和監(jiān)控的巨大優(yōu)點(diǎn),并開始逐漸取代傳統(tǒng)型的機(jī)械杠桿測量稱,成為測量領(lǐng)域的主流產(chǎn)品。在國際上,一些發(fā)達(dá)國家在電子稱重力一面,從技術(shù)水平、品種和規(guī)模等方到了較高的水平。特別是在準(zhǔn)確度和可靠性等方面有了很大的提高。其中梅特勒一托利多公司生產(chǎn)的BBK4系列高精度電子秤精度達(dá)到了 1mg,速度大約為1次/秒。目前,電子秤在稱量速度方面需要進(jìn)一步的研究。在稱重傳感器方面,國外產(chǎn)品的品種和結(jié)構(gòu)又有創(chuàng)新,技術(shù)功能和應(yīng)用范圍不斷擴(kuò)大。電子秤產(chǎn)品量大面廣、種類繁多,從通用的各種規(guī)格的電子秤到大型的電子稱重系統(tǒng),從單純的稱重、計價到生產(chǎn)過程檢測系統(tǒng)的一個測量控制單元,其應(yīng)用領(lǐng)域在不斷地擴(kuò)大
13、。根據(jù)近年來電子稱重技術(shù)和電子衡器的發(fā)展情況及電子衡器市場的需求,電子衡器總的發(fā)展動向為:小型化、模塊化、智能化、集成化;其技術(shù)性能趨向于速率高、準(zhǔn)確度高、穩(wěn)定性高、可靠性高;其應(yīng)用性趨向于綜合性、組合性1。小型化:體積小、高度低、重量輕,即小薄輕。為使電子衡器的承載器達(dá)到小、薄、輕,開始采用重量輕且剛度大的空心波紋銅板和方形閉合截面的薄壁型材。 模塊化:電子衡器的承載器采用模塊式一體組合或分體組合,產(chǎn)生新的品種和規(guī)格。這種模塊化組合不但提高了產(chǎn)品的通用性和可靠性,而且也大大提高了生產(chǎn)效率,降低了成本。 智能化:與電子計算機(jī)組合或開發(fā)稱重用計算機(jī),利用計算機(jī)的智能來增加稱重顯示控制的功能,使其
14、在原有功能的基礎(chǔ)上增加判斷、自診斷、自適應(yīng)、自組織等功能。 集成化:對于某些品種和結(jié)構(gòu)的電子衡器,可以實現(xiàn)承載器與稱重傳感器一體化或承載器、稱重傳感器與稱重顯示控制器一體化。綜合性:電子稱重技術(shù)和電子衡器產(chǎn)品的應(yīng)用范圍不斷擴(kuò)大,它已滲透到一些學(xué)科和工業(yè)自動控制領(lǐng)域。對某些商用電子計價秤而言,只具備稱重、計價、顯示、打印功能還遠(yuǎn)遠(yuǎn)不夠,現(xiàn)代商業(yè)系統(tǒng)還要求它能提供各種銷售信息,把稱重與管理自動化緊密結(jié)合,使稱重、計價、進(jìn)庫、銷售管理一體化,實現(xiàn)管理自動化。這就要求電子計價秤能與電子計算機(jī)聯(lián)網(wǎng),把稱重系統(tǒng)與計算機(jī)系統(tǒng)組成一個完整的綜合控制系統(tǒng)。組合性:在工業(yè)生產(chǎn)過程或工藝流程中,不少稱重系統(tǒng)還應(yīng)具有
15、可組合性,即:測量范圍可以任意設(shè)定;硬件能夠依據(jù)不定的程序進(jìn)行修改和擴(kuò)展;輸入輸出數(shù)據(jù)與指令可使用不同的語言,并能與外部的控制和數(shù)據(jù)處理設(shè)備進(jìn)行通信。 1.3 本設(shè)計的主要工作本文的主要任務(wù)是以單片機(jī)為核心設(shè)計功能完善的電子秤,根據(jù)生活中電子秤的基本功能及單片機(jī)系統(tǒng)的開發(fā)流程可知,本設(shè)計的主要工作為:(1) 學(xué)習(xí)和掌握單片機(jī)工作原理、編程方法、系統(tǒng)開發(fā)流程;(2) 分析電子秤的基本功能,提出總體設(shè)計方案;(3) 設(shè)計系統(tǒng)硬件電路,并對單片機(jī)及各模塊方案進(jìn)行分析和選擇,用Protel軟件繪制電路原理圖;(4) 選擇適合系統(tǒng)的開發(fā)工具,編寫系統(tǒng)的應(yīng)用程序,在開發(fā)環(huán)境中編譯、連接; (5) 將編譯好
16、的應(yīng)用程序?qū)懭雴纹瑱C(jī),結(jié)合硬件進(jìn)行總體調(diào)試,最終實現(xiàn)電子秤的主要功能。第2章 系統(tǒng)方案設(shè)計 電子秤的應(yīng)用系統(tǒng)是由硬件和軟件所組成。硬件指單片機(jī)、擴(kuò)展的輸入輸出設(shè)備等部分;軟件是各種工作程序的總稱。硬件和軟件只有緊密配合、協(xié)調(diào)一致,才能提高系統(tǒng)的性能價格比。從一開始設(shè)計硬件時,就應(yīng)考慮相應(yīng)軟件的設(shè)計方法,而軟件設(shè)計是根據(jù)硬件原理和系統(tǒng)的功能要求進(jìn)行的。本章主要工作是確定電子秤系統(tǒng)的總體結(jié)構(gòu),并對軟、硬件功能進(jìn)行劃分、協(xié)調(diào)。2.1 電子秤的設(shè)計要求(1) 電子秤稱重范圍:010Kg;重量誤差不大于0.1Kg;(2) 液晶顯示:所稱物體重量、輸入物品單價、金額;(3) 當(dāng)物品重量超過電子秤量程,即過
17、載情況,具有超重報警功能。2.2 系統(tǒng)工作原理電子秤的工作原理如下:當(dāng)物體放在秤盤上時,壓力施給傳感器,該傳感器發(fā)生形變,從而使阻抗發(fā)生變化,同時使用激勵電壓發(fā)生變化,輸出一個變化的模擬信號;該信號經(jīng)放大電路放大輸出到模數(shù)轉(zhuǎn)換器;轉(zhuǎn)換成便于處理的數(shù)字信號輸出至單片機(jī);單片機(jī)進(jìn)行處理、運(yùn)算后將結(jié)果送至顯示器進(jìn)行顯示。圖2-1 系統(tǒng)工作原理2.3 系統(tǒng)方案選擇在設(shè)計系統(tǒng)時,針對要實現(xiàn)的功能來設(shè)計電子秤的方案有以下幾種:方案一:在系統(tǒng)工作原理的基礎(chǔ)上進(jìn)行擴(kuò)展,增加一鍵盤輸入裝置,增加外界對單片機(jī)內(nèi)部的數(shù)據(jù)設(shè)定,使電子秤實現(xiàn)稱重計價的功能。此方案設(shè)計的電子秤,可以實現(xiàn)稱物計價功能,但是局限于數(shù)碼管的功
18、能,在顯示時只能顯示單價、購物總額以及簡單的貨物代碼等。在顯示重量時,如果數(shù)碼管沒有足夠的位數(shù),那么稱量物體重量的精度必受到限制,所以此方案需要較多的數(shù)碼管接入電路中。這樣在處理輸入輸出接口時需要另行擴(kuò)展足夠多的I/O接口供數(shù)碼管使用,比較麻煩。方案二:前端信號處理時,選用放大、A/D轉(zhuǎn)換等措施,尤其在顯示方面采用LCD顯示器。這種方案不僅加強(qiáng)了人機(jī)交換的能力,而且滿足設(shè)計要求??梢燥@示所稱量的物體信息相關(guān)內(nèi)容。運(yùn)用LCD顯示器則大大節(jié)省了I/O口的運(yùn)用。鑒于本電子秤設(shè)計的功能要求,所以在具體設(shè)計時采用了第二種設(shè)計方案。目前單片機(jī)技術(shù)比較成熟,功能也比較強(qiáng)大,被測信號經(jīng)放大變換后送入單片機(jī),由
19、單片機(jī)對測量信號進(jìn)行處理并根據(jù)相應(yīng)的數(shù)據(jù)關(guān)系顯示出被測物體的重量。單片機(jī)控制適合于功能比較簡單的控制系統(tǒng),而且其具有成本低,功耗低,體積小算術(shù)運(yùn)算功能強(qiáng),技術(shù)成熟等優(yōu)點(diǎn)。但其缺點(diǎn)是外圍電路比較復(fù)雜,編程復(fù)雜。使用這種方案會給系統(tǒng)設(shè)計帶來一定的難度。圖2-2 系統(tǒng)實現(xiàn)方案原理圖2.4 各功能模塊的分析與選型圖2-3 功能模塊圖A/D轉(zhuǎn)換模塊實現(xiàn)將采集放大的模擬信號轉(zhuǎn)換成數(shù)字信號;單片機(jī)作為整個系統(tǒng)控制模塊它可反復(fù)擦寫程序,作為整個系統(tǒng)核心,處理數(shù)字信號;顯示模塊通過控制器的處理,顯示出重量,單價,總價;報警模塊當(dāng)重量超過量程時,就產(chǎn)生鳴笛聲報警;而按鍵掃描模塊是實現(xiàn)設(shè)置重量單價等。 單片機(jī)的選擇
20、系統(tǒng)設(shè)計者只能在市場上能夠提供的單片機(jī)中選擇,特別是作為產(chǎn)品大批量生產(chǎn)的應(yīng)用系統(tǒng),所選的單片機(jī)型號必須有穩(wěn)定、充足的貨源。應(yīng)根據(jù)系統(tǒng)的功能要求和各種單片機(jī)的性能,選擇最容易實現(xiàn)系統(tǒng)技術(shù)指標(biāo)的型號,而且能達(dá)到較高的性能價格比。單片機(jī)性能包括片內(nèi)硬件資源、運(yùn)行速度、可靠性、指令系統(tǒng)功能、體積和封裝形式等方面。影響性能價格比的因素除單片機(jī)的性能價格外,還包括硬件和軟件設(shè)計的容易程度、相應(yīng)的工作量大小,以及開發(fā)工具的性能價格比。 AT89S52單片機(jī)是AT89S系列中的增強(qiáng)型高檔機(jī)產(chǎn)品,它片內(nèi)存儲器容量是AT89S51的一倍,即片內(nèi)8KB的Flash程序存儲器和256B的RAM。另外,它還增
21、加了一個功能極強(qiáng)的、具有獨(dú)特應(yīng)用的16位定時計數(shù)器2等多種功能2。在工程應(yīng)用中AT89S52有一顯著的優(yōu)勢:不需要燒寫器,只借助PC 機(jī)的并口輸出和極為簡單的下載電路,便可將程序通過串行方式寫入單片機(jī)。并且下載電路可設(shè)計在系統(tǒng)中,可以隨時修改單片機(jī)的軟件而不對硬件做任何改動。由此,通過對目前主流型號的比較,最終選擇了AT89S52通用的普通單片機(jī)來實現(xiàn)系統(tǒng)設(shè)計。AT89S52是一種兼容MCS51微控制器,工作電壓4.0V到5.5V,全靜態(tài)時鐘0 Hz 到33 MHz,三級程序加密,32個可編程I/O口,2/3個16位定時/計數(shù)器,6/8個中斷源,全雙工串行通訊口,低功耗支持Idle和Power
22、-down模式,Power down模式支持中斷喚醒, 看門狗定時器,雙數(shù)據(jù)指針,上電復(fù)位標(biāo)志。AT89S52單片機(jī)具有功耗低、性能高、可在線編程等優(yōu)點(diǎn),而價格與51系列卻差不多,資源卻更多,性價比高。因此本設(shè)計選擇AT89S52作為系統(tǒng)的微控制器,它足以滿足本系統(tǒng)的設(shè)計。 按鍵的選擇鍵盤分為編碼鍵盤和非編碼鍵盤。鍵盤上閉合鍵的識別由專用的硬件編碼器實現(xiàn),并產(chǎn)生鍵編碼號或鍵值的稱為編碼鍵盤,如計算機(jī)鍵盤。而靠軟件編程來識別的稱為非編碼鍵盤。在單片機(jī)組成的各種系統(tǒng),用的最多的是非編碼鍵盤,非編碼鍵盤又分為獨(dú)立鍵盤和行列式(矩陣式)鍵盤3。獨(dú)立鍵盤需由一個單片機(jī)I/O口控制一個按鍵,矩陣鍵盤可由少
23、量I/O口控制大量按鍵(如7個I/O口控制3×4個按鍵)。如前所述,本設(shè)計僅需4個按鍵就可實現(xiàn)所有功能的切換和控制,故選用獨(dú)立鍵盤,再加一個鍵可實現(xiàn)附加功能清零。這樣既可以減少單片機(jī)硬件資源的占用,也可以避免矩陣鍵盤繁瑣的軟件編程。圖2-4 獨(dú)立按鍵 輸出模塊的選擇方案一:全部采用數(shù)碼管顯示,數(shù)碼能顯示被測物體的重量等信息。此方案顯示直觀,而且編程簡單,但若要同時顯示單價,金額等諸多信息則需要要大量的數(shù)碼管。由此增加了電路的復(fù)雜程度,也加大了編程的難度。方案二:采用可以設(shè)置顯示重量,單價,金額等的LCD,它具有低功耗、可視面大、畫面友好及抗干擾能力強(qiáng)等功能,其顯示技術(shù)已得到廣泛應(yīng)用。
24、LCD 顯示器的工作原理:液晶顯示器的主要材料是液態(tài)晶體。它在特定的溫度范圍內(nèi),既具有液體的流動性,又具有晶體的某些光學(xué)特性,其透明度和顏色隨電場、磁場、光照度等外界條件變化而變化液晶做成顯示器件,就可以把上訴外界條件的變化反映出來從而形成現(xiàn)實的效果。圖2-5 1602液晶 報警模塊的選擇蜂鳴器模塊負(fù)責(zé)鬧鈴提醒功能,本設(shè)計選用普通有源蜂鳴器,如圖2-6,J8為短路冒,BEEP端與單片機(jī)P1.5口相連。但是蜂鳴器單純的發(fā)聲十分刺耳,因此需編寫程序控制發(fā)聲的時間使鬧鈴聲更貼近實際。圖2-6 蜂鳴器2.5 編程語言及開發(fā)工具選擇2.5.1 編程語言的選擇對于8051單片機(jī),現(xiàn)有4種語言支持,即匯編、
25、PL/M、C和BASIC。常用的編程語言有匯編語言和C語言兩種,每種語言都有各自的優(yōu)缺點(diǎn)。匯編語言是一種用文字助記符來表示機(jī)器指令的符號語言,是最接近機(jī)器代碼的一種語言。匯編語言可以直接有效地控制計算機(jī)各種操作,產(chǎn)生的目標(biāo)文件運(yùn)行速度快,執(zhí)行效率高,程序相對高級語言小。 C語言是一種編譯型程序設(shè)計語言,它兼顧了多種高級語言的特點(diǎn)。其本身不依賴于機(jī)器硬件系統(tǒng),基本上不做修改就可將程序在不同單片機(jī)間進(jìn)行移植。同時C語言提供了很多數(shù)學(xué)函數(shù)并支持浮點(diǎn)運(yùn)算,開發(fā)效率較高,可縮短開發(fā)時間,增加程序可讀性和可維護(hù)性4。在51系列單片機(jī)下,C語言(C-51)和匯編語言(ASM-51)相比,有如下優(yōu)點(diǎn):(1)對
26、單片機(jī)的指令系統(tǒng)不要求了解,僅需對51系列單片機(jī)的存儲器結(jié)構(gòu)有了解;(2)寄存器分配、不同存儲器的尋址及數(shù)據(jù)類型等細(xì)節(jié)可由編譯器管理;(3)程序有規(guī)范的結(jié)構(gòu),可分為不同的函數(shù),這種方式可使程序結(jié)構(gòu)化;(4)提供的庫包含許多標(biāo)準(zhǔn)子程序,具有較強(qiáng)的數(shù)據(jù)處理能力;(5)由于具有方便的模塊化編程技術(shù),使已編好程序可容易地移植。綜上所述,本設(shè)計選用開發(fā)效率高、程序可讀性、可維護(hù)性高的C語言,并且采用模塊化編程方式進(jìn)行編程。 開發(fā)環(huán)境的選擇單片機(jī)的開發(fā)環(huán)境多種多樣,很多公司都研發(fā)了單片機(jī)開發(fā)軟件,如American Automationn、瑞典的IAR、Avocet和Keil等。開發(fā)環(huán)境的優(yōu)劣直接影響單片
27、機(jī)應(yīng)用產(chǎn)品的開發(fā)效率5。本設(shè)計基于51系列單片機(jī)AT89S52,而且選用C語言進(jìn)行編程,因此選用來自德國的主流開發(fā)軟件Keil進(jìn)行編程。Keil在代碼生成方面較其它幾款軟件在代碼生成方面處于領(lǐng)先地位,可產(chǎn)生最少的代碼。支持浮點(diǎn)和長整數(shù)、重入和遞歸。Keil Vision3集成開發(fā)環(huán)境是一個基于Windows的軟件開發(fā)平臺,有一個功能強(qiáng)大的編輯器、項目管理器和制作工具。Vision3支持8051的所有KEIL工具,包括C編譯器、宏宏匯編器、鏈接器/定位器和目標(biāo)文件至HEX格式的轉(zhuǎn)換器。2.6 本章小結(jié)本章主要分析了電子秤的基本功能,根據(jù)基本功能提出實現(xiàn)思路最后得到總體方案,對于提到的各個單元進(jìn)行
28、選型,單片機(jī)選擇了MCS-51系列單片機(jī)中的AT89S52系列,調(diào)節(jié)按鍵選擇獨(dú)立按鍵,顯示電路選擇LCD1602液晶顯示器,編程語言選擇功能性、結(jié)構(gòu)性、可維護(hù)性、可移植性強(qiáng)的C語言,開發(fā)工具選擇適合51單片機(jī)的Keil uVision。第3章 系統(tǒng)軟件設(shè)計經(jīng)過前面詳細(xì)調(diào)研、方案論證后,就進(jìn)入了正式研制階段。從總體上來看,設(shè)計任務(wù)可以分為硬件設(shè)計和軟件設(shè)計,這兩者互相結(jié)合,不可分離。由于本次設(shè)計是直接購買開發(fā)板,本章將在此基礎(chǔ)上重點(diǎn)進(jìn)行軟件設(shè)計并最終實現(xiàn)其基本功能,在設(shè)計前應(yīng)熟悉單片機(jī)的內(nèi)部資源。3.1 AT89S52的介紹 AT89S52單片機(jī)是ATMEL公司新近推出的高檔型AT89S系列單片
29、機(jī)中的增強(qiáng)型產(chǎn)品。ATMEL公司是美國20世紀(jì)80年代中期成立并發(fā)展起來的半導(dǎo)體公司。該公司的技術(shù)優(yōu)勢在于推出Flash存儲器技術(shù)和高質(zhì)量、高可靠性的生產(chǎn)技術(shù),它率先將獨(dú)特的Flash存儲技術(shù)注入于單片機(jī)產(chǎn)品中。其推出的AT89系列單片機(jī),在世界電子技術(shù)行業(yè)中引起了極大的反響,在國內(nèi)也受到廣大用戶歡迎6。AT89S52具有如下特點(diǎn):40個引腳,8k Bytes Flash片內(nèi)程序存儲器,256 bytes的隨機(jī)存取數(shù)據(jù)存儲器(RAM),32個外部雙向輸入/輸出(I/O)口,5個中斷優(yōu)先級2層中斷嵌套中斷,3個16位可編程定時計數(shù)器,2個全雙工串行通信口,看門狗(WDT)電路,片內(nèi)時鐘振蕩器。表
30、3-1 AT89S52功能兼容MCS-51指令系統(tǒng)8k可反復(fù)擦寫ISP Flash ROM32個雙向I/O口4.5-5.5V工作電壓3個16位可編程定時/計數(shù)器時鐘頻率0-33MHz全雙工UART串行中斷口線256x8bit內(nèi)部RAM2個外部中斷源 低功耗空閑和省電模式中斷喚醒省電模式3級加密位看門狗(WDT)電路軟件設(shè)置空閑和省電功能靈活的ISP字節(jié)和分頁編程雙數(shù)據(jù)寄存器指針圖3-1 AT89S52的引腳圖引腳功能說明:VCC/GND:電源/接地引腳;Port 0:P0是一個8位漏極開路型雙向I/O端口,端口置1(對端口寫1)時作高阻抗輸入端;P0還可以用作總線方式下的地址數(shù)據(jù)復(fù)用管腳,用來
31、操作外部存儲器。在這種工作模式下,P0口具有內(nèi)部上拉作用。對內(nèi)部Flash程序存儲器編程時,接收指令字節(jié)、校驗程序、輸出指令字節(jié)時,要求外接上拉電阻;Port 1:P1是一個帶有內(nèi)部上拉電阻的8位雙向I/0端口,輸出時可驅(qū)動4個TTL。端口置1時,內(nèi)部上拉電阻將端口拉到高電平,作輸入用; 另外,P1.0、P1.1可以分別被用作定時器/計數(shù)器2的外部計數(shù)輸入(P1.0/T2)和觸發(fā)輸入(P1.1/T2EX);對內(nèi)部Flash程序存儲器編程時,接收低8位地址信息;Port 2:P2是一個帶有內(nèi)部上拉電阻的8位雙向I/0端口;輸出時可驅(qū)動4個TTL。端口置1時,內(nèi)部上拉電阻將端口拉到高電平,作輸入用
32、; P2口在存取外部存儲器時,可作為高位地址輸出;內(nèi)部Flash程序存儲器編程時,接收高8位地址和控制信息; Port 3: P3是一個帶有內(nèi)部上拉電阻的8位雙向I/0端口,輸出時可驅(qū)動4個TTL。端口置1時,內(nèi)部上拉電阻將端口拉到高電平,作輸入用。表3-2 P3引腳功能復(fù)用P3.0 串行通訊輸入(RXD) P3.1串行通訊輸出(TXD) P3.2外部中斷0( INT0) P3.3外部中斷1(INT1) P3.4 定時器0輸入(T0) P3.5定時器1輸入(T1)P3.6 外部數(shù)據(jù)存儲器寫選通WR P3.7外部數(shù)據(jù)存儲器寫選通RD RST:在振蕩器運(yùn)行時,有兩個機(jī)器周期(24個振蕩周期)以上的
33、高電平出現(xiàn)在此管腳時,將使單片機(jī)復(fù)位。只要這個管腳保持高電平,51芯片便循環(huán)復(fù)位。復(fù)位后P0P3口均置1,管腳表現(xiàn)為高電平,程序計數(shù)器和特殊功能寄存器SFR全部清零。當(dāng)復(fù)位腳由高電平變?yōu)榈碗娖綍r,芯片為ROM的00H處開始運(yùn)行程序;XTAL1、XTAL2 :XTAL1是片內(nèi)振蕩器的反相放大器輸入端,XTAL2則是輸出端,使用外部振蕩器時,外部振蕩信號應(yīng)直接加到XTAL1,而XTAL2懸空。內(nèi)部方式時,時鐘發(fā)生器對振蕩脈沖二分頻,如晶振為12MHz,時鐘頻率就為6MHz。晶振的頻率可以在1MHz至24MHz內(nèi)選擇,電容取30PF左右。ALE/PROG:訪問外部存儲器時,ALE(地址鎖存允許)的輸
34、出用于鎖存地址的低位字節(jié),即使不訪問外部存儲器,ALE端仍以不變的頻率輸出脈沖信號(此頻率是振蕩器頻率的1/6),在訪問外部數(shù)據(jù)存儲器時,出現(xiàn)一個ALE脈沖; PSEN:該引腳是外部程序存儲器的選通信號輸出端。當(dāng)AT89S52由外部程序存儲器取指令或常數(shù)時,每個機(jī)器周期輸出2個脈沖,即兩次有效。但訪問外部數(shù)據(jù)存儲器時,將不會有脈沖輸出;EA/Vpp:外部訪問允許端。當(dāng)該引腳訪問外部程序存儲器時,應(yīng)輸入低電平。要使AT89S52只訪問外部程序存儲器(地址為0000H-FFFFH), 這時該引腳必須保持低電平; 3.2 主程序設(shè)計 函數(shù)聲名以及變量定義如前所述,本設(shè)計的主要功能是電子秤(物品重量、
35、單價、總價的顯示及調(diào)整),顯示器采用LCD1602液晶,采用5個獨(dú)立按鍵控制所有功能,采用蜂鳴器實現(xiàn)鬧鈴功能。因此,主函數(shù)執(zhí)行之前需要完成以下工作:(1)對使用的單片機(jī)I/O口進(jìn)行位聲名:P2.0、P2.1、P2.2口分別控制LCD1602液晶的讀寫操作位、寄存器和使能端;P1.4P1.7四個I/O口控制4個按鈕;P3.5口連接清零鍵;P3.6口連接蜂鳴器。(2)定義各功能所需全局變量見表3-3:表3-3 全局變量定義功能變量類型變量意義單價unsigned chardjg、djs、djb單價個位、十位、百位重量unsigned charzlg、zls、zlb重量個位、十位、百位價錢 intj
36、q整形unsigned charjqg、jqs、jqb、jqq、jq1價錢個位,十位.按鍵控制intak5按鍵按下的改變調(diào)整數(shù)值(3)聲名子函數(shù):本設(shè)計共需聲名多個子函數(shù),包括液晶驅(qū)動子函數(shù)、單價顯示及其調(diào)整函數(shù)、重量顯示及其調(diào)整函數(shù)、價錢顯示函數(shù)、報警子程序等。詳細(xì)子函數(shù)聲名參見附錄C。3.2.2 主程序設(shè)計思想電子秤的最基本功能為稱重功能,程序設(shè)計的出發(fā)點(diǎn)必須是保證稱重的準(zhǔn)確性。但是由于沒有用壓力傳感器無法測出物體實重,因此在本設(shè)計中設(shè)定了一個重量初始值,再通過按鍵調(diào)整它的大小,并設(shè)定了一個上限值當(dāng)重量到達(dá)上限值時蜂鳴器就會發(fā)出響聲。通過k5按鍵可以實現(xiàn)其加減0.1(1)的功能,同樣單價也
37、是這樣調(diào)整的。通過切換鍵k8可以使顯示結(jié)果在單價、重量、總價錢之間切換,切換鍵的使用減少了按鍵的使用,節(jié)省了資源。顯示模塊采用的是1602LCD液晶顯示器,這種顯示器自帶字符發(fā)生器,因此可直接寫要顯示的字符如“dj”、“zl”、“jq”,或者寫它們的ASCII值都會有正確的顯示,大大的簡化了程序的編寫。在編程時,只需把字符(數(shù)據(jù))寫進(jìn)1602液晶,在指定的位置將結(jié)果顯示出來即可,再通過按鍵實現(xiàn)調(diào)整切換等功能。圖3-2 主程序流程圖3.3 按鍵處理程序 按鍵介紹在單片機(jī)系統(tǒng)中,鍵盤按連接形式可分為獨(dú)立連接鍵盤、矩陣式鍵盤和薄膜開關(guān)。本設(shè)計中用的是獨(dú)立連接式鍵盤。當(dāng)鍵沒有按下時,所有的數(shù)據(jù)輸入線都
38、為高電平;當(dāng)有一按鍵被按下時,與之相連的數(shù)據(jù)輸入線將變?yōu)榈碗娖?;通過相應(yīng)指令,可以判斷是否有按鍵按下。按鍵要正確發(fā)揮作用必須消除抖動。所謂抖動,是一種由于按鍵是機(jī)械式的彈性開關(guān),通常在按鍵按下和抬起的時候會出現(xiàn)多次閉合或者斷開的現(xiàn)象,如圖3-3所示。通常抖動時間為5ms10ms,穩(wěn)定閉合區(qū)的時間由按鍵動作決定,CPU往往會在閉合抖動時檢測到多次電平的變化。消除硬件抖動有硬件和軟件兩種方式。硬件消抖方法是在按鍵輸入通道上添加去抖動電路,從根本上避免電壓抖動的產(chǎn)生。軟件消抖方法則采用延遲510ms時間,待電壓穩(wěn)定后,再進(jìn)行狀態(tài)輸入。在本設(shè)計中用延時的方法就足夠了。 圖3-3 按鍵時波形 圖3-4
39、按鍵去抖流程當(dāng)抖動的問題消除以后,還必須判斷按鍵者是否將按鍵釋放。通常按鍵的穩(wěn)定閉合區(qū)的時間最少也有上百毫秒,是抖動時間的數(shù)十倍,如果按鍵者持續(xù)按下按鍵不松手,那么按鍵一直處于閉合狀態(tài)。這種狀態(tài)會導(dǎo)致CPU誤以為按鍵被按多次,為了避免這種錯誤,程序需要判斷按鍵被松開,這樣才是一個完整的按鍵動作。用等待查詢的方法就可以判斷了。例如判斷S1鍵松開與否,只需在在避開閉合抖動以后執(zhí)行while(!s1),當(dāng)按鍵一松開CPU檢測到s1=1,等待查詢就結(jié)束,之后便可執(zhí)行該按鍵相應(yīng)的處理程序。3.3.2 按鍵設(shè)計 圖3-5 按鍵k8功能流程圖本設(shè)計運(yùn)用4個獨(dú)立按鍵實現(xiàn)單價調(diào)節(jié)和狀態(tài)切換功能。四個獨(dú)立按鍵中,
40、S6、S7是負(fù)責(zé)實現(xiàn)單價、重量的調(diào)整,S5是設(shè)置調(diào)整數(shù)值大小的。S8則是功能切換鍵負(fù)責(zé)不同顯示結(jié)果的切換,另外一個k4鍵則負(fù)責(zé)在重量超出范圍后清零功能。下面用流程圖簡要說明每個按鍵的作用。由于數(shù)字上調(diào)節(jié)大小和切換顯示的時候位數(shù)不變,所以接著把需要顯示的量的每個位通過取值表示出來,例如單價個位上的數(shù)值是單價的值乘以10去小數(shù)點(diǎn)之后再對10進(jìn)行除法運(yùn)算所得。圖3-6 S5鍵功能圖3-7 按鍵s6、s7實現(xiàn)單價調(diào)整子程序3.4 顯示子程序設(shè)計3.4.1 1602液晶簡介本設(shè)計的顯示器選用LCD1602液晶,該液晶屏是以16個5×7點(diǎn)陣塊組成的顯示字符群,每行16個,共兩行;每個點(diǎn)陣塊為一個
41、字符位,字符間距和行距都為一個點(diǎn)的寬度。下面,對該液晶的工作方式及顯示子程序地設(shè)計進(jìn)行詳細(xì)介紹。(1)1602LCD主要技術(shù)參數(shù)及引腳功能1) 顯示容量:16×2個字符 ;2) 芯片工作電壓:4.55.5V;3) 工作電流:2.0mA(5.0V);4) 模塊最佳工作電壓:5.0V;5) 字符尺寸:2.95×4.35(W×H)mm。引腳功能說明:1602LCD采用標(biāo)準(zhǔn)的14腳(無背光)或16腳(帶背光)接口表3-4 引腳接口說明表 編號 符號引腳說明編號符號引腳說明 1 VCC電源地9D2數(shù)據(jù) 2 VDD電源正10D3數(shù)據(jù) 3 VL液晶顯示偏壓11D4數(shù)據(jù)
42、 4 RS數(shù)據(jù)/命令選擇12D5數(shù)據(jù) 編號 符號引腳說明編號符號引腳說明 5 RW讀/寫選擇13D6數(shù)據(jù) 6 E使能信號14D7數(shù)據(jù) 7 D0數(shù)據(jù)15BLA背光源正極 8 D1數(shù)據(jù)16BLK背光源負(fù)極 編號 符號引腳說明編號符號引腳說明(2)1602LCD的指令說明1602液晶模塊內(nèi)部的控制器共有11條控制指令。表3-5 控制指令表序號指令RSR/WD7D6D5D4D3D2D1D01清顯示00000000012光標(biāo)返回000000001*3置輸入模式00000001I/DS4顯示開/關(guān)控制0000001DCB5光標(biāo)或字符移位000001S/C R/L*6置功能00001DLNF*7置字符發(fā)生存
43、貯器地址0001字符發(fā)生存貯器地址8置數(shù)據(jù)存貯器地址001顯示數(shù)據(jù)存貯器地址9讀忙標(biāo)志或地址01BF計數(shù)器地址10寫數(shù)到CGRAM或DDRAM)10要寫的數(shù)據(jù)內(nèi)容11從CGRAM或DDRAM讀數(shù)11讀出的數(shù)據(jù)內(nèi)容1602液晶模塊的讀寫操作、屏幕和光標(biāo)的操作都是通過指令編程來實現(xiàn)的。(說明:1為高電平、0為低電平) 指令1:清顯示,指令碼01H,光標(biāo)復(fù)位到地址00H位置。指令2:光標(biāo)復(fù)位,光標(biāo)返回到地址00H。指令3:光標(biāo)和顯示模式設(shè)置 I/D:光標(biāo)移動方向,高電平右移,低電平左移 S:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無效。 指令4:顯示開關(guān)控制。 D:控制整體顯示的開與
44、關(guān),高電平表示開顯示,低電平表示關(guān)顯示 C:控制光標(biāo)的開與關(guān),高電平表示有光標(biāo),低電平表示無光標(biāo) B:控制光標(biāo)是否閃爍,高電平閃爍,低電平不閃爍。 指令5:光標(biāo)或顯示移位 S/C:高電平時移動顯示的文字,低電平時移動光標(biāo)。 指令6:功能設(shè)置命令 DL:高電平時為4位總線,低電平時為8位總線 N:低電平時為單行顯示,高電平時雙行顯示 F: 低電平時顯示5x7的點(diǎn)陣字符,高電平時顯示5x10的點(diǎn)陣字符。 指令7:字符發(fā)生器RAM地址設(shè)置。 指令8:DDRAM地址設(shè)置。 指令9:讀忙信號和光標(biāo)地址 BF:為忙標(biāo)志位,高電平表示忙,此時模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙。 指令10:寫數(shù)據(jù)
45、。 指令11:讀數(shù)據(jù)。(3)基本操作時序表3-6 基本操作時序表讀狀態(tài)輸入RS=L,R/W=H,E=H輸出D0D7=狀態(tài)字寫指令輸入RS=L,R/W=L,D0D7=指令碼,E=高脈沖輸出無讀數(shù)據(jù)輸入RS=H,R/W=H,E=H輸出D0D7=數(shù)據(jù)寫數(shù)據(jù)輸入RS=H,R/W=L,D0D7=數(shù)據(jù),E=高脈沖輸出無讀寫操作時序如圖3-7和3-8所示:圖3-8 讀操作時序圖3-9 寫操作時序(4)1602LCD的RAM地址映射及標(biāo)準(zhǔn)字庫表液晶顯示模塊是一個慢顯示器件,所以在執(zhí)行每條指令之前一定要確認(rèn)模塊的忙標(biāo)志為低電平,表示不忙,否則此指令失效。要顯示字符時要先輸入顯示字符地址,也就是告訴模塊在哪里顯示
46、字符,圖3-9是1602的內(nèi)部顯示地址。圖3-10 1602LCD內(nèi)部顯示地址例如第二行第一個字符的地址是40H,那么是否直接寫入40H就可以將光標(biāo)定位在第二行第一個字符的位置呢?這樣不行,因為寫入顯示地址時要求最高位D7恒定為高電平1所以實際寫入的數(shù)據(jù)應(yīng)該是01000000B(40H)+10000000B(80H)=11000000B(C0H)。 void WriteAddress(unsigned char x) WriteInstruction(x|0x80); /顯示位置的確定方法規(guī)定為"80H+地址碼x" 在對液晶模塊的初始化中要先設(shè)置其顯示模式,在液晶模塊顯示字
47、符時光標(biāo)是自動右移的,無需人工干預(yù)。每次輸入指令前都要判斷液晶模塊是否處于忙的狀態(tài)。unsigned char BusyTest(void) bit result;RS=0; /根據(jù)規(guī)定,RS為低電平,RW為高電平時,可以讀狀態(tài) RW=1; E=1; /E=1,才允許讀寫 _nop_(); /空操作 _nop_(); _nop_();_nop_(); /空操作四個機(jī)器周期,給硬件反應(yīng)時間 result=BF; /將忙碌標(biāo)志電平賦給result E=0; /將E恢復(fù)低電平 return result;3.4.2 液晶顯示子程序圖3-11 液晶使用方法流程液晶初始化之后,通過調(diào)用液晶寫命令函數(shù)和液
48、晶寫數(shù)據(jù)函數(shù),就可以控制液晶在指定的位置(即地址),以指定的方式,顯示特定的字符(數(shù)據(jù))。例如:要在LCD液晶屏幕的第一行第一個字符處顯示字母“d”。首先,調(diào)用指令驅(qū)動函數(shù)void WriteAddress(0x00),實際上顯示的地址為"80H+地址碼x",而80H為液晶第一行數(shù)據(jù)寄存器起始端,即字符(數(shù)據(jù))顯示在第一行第一個字符處。再調(diào)用數(shù)據(jù)函數(shù)WriteData()就可以顯示字符d。如下面是在液晶第一行顯示單價字符dj'的程序。 圖3-12 顯示字符流程圖void displaydjxs() uchar i;WriteAddress(0x00);for(i=0
49、;i<2;i+)WriteData(djzfi);顯示單價的各位數(shù)據(jù)也是如此,定義好單價的十位,各位,和小數(shù)位后,分別在指定得地址顯示,并通過按鍵控制單價調(diào)整。如單價顯示源程序代碼如下:void Displaydj(djb,djs,djg) djb=dj/100; djs=dj/10%10; djg=dj%10; WriteAddress(0x03); /寫顯示地址,將十位數(shù)字顯示在第一行第四列 WriteData(digitdjb); /將十位數(shù)字的字符常量寫入LCD WriteData(digitdjs); /將個位數(shù)字的字符常量寫入LCD delay(5); WriteAddres
50、s(0x06); /寫顯示地址,將十位數(shù)字顯示在第一行第六列 WriteData(digitdjg) 顯示界面如下: 表3-7 液晶顯示界面dj:00.3zl:01.3jq:0000.393.5 報警子程序設(shè)計報警功能是電子秤的一個附加功能,實現(xiàn)報警功能的方法為:定義一個蜂鳴器響的函數(shù),在重量設(shè)定函數(shù)中定義一個最大量程變量,當(dāng)重量達(dá)到上限時,調(diào)用beep函數(shù),使之響一段時間。雖然方法簡單,但是循環(huán)掃描鬧鈴仍然會占用系統(tǒng)執(zhí)行時間。圖3-為報警子程序流程圖。圖3-13 報警流程圖void beep()/產(chǎn)生1KHZ頻率聲音的函數(shù) fmq=0;delay500us();fmq=1;delay500u
51、s();3.6 本章小結(jié)本章介紹了單片機(jī)的內(nèi)部資源;I/O端口。對主程序進(jìn)行了整體說明,這包括主程序里設(shè)計思想和主程序內(nèi)容解析。接著對于按鍵調(diào)節(jié)和按鍵切換、顯示部分的程序作了具體說明及分析。第4章 程序調(diào)試在完成軟件設(shè)計的基礎(chǔ)上,本章將進(jìn)行程序編譯和系統(tǒng)調(diào)試工作。程序編譯是指由程序設(shè)計語言把模塊結(jié)構(gòu)轉(zhuǎn)換成單片機(jī)能接受的形式,將軟硬件設(shè)計完成后首次結(jié)合在一起;系統(tǒng)調(diào)試是指發(fā)現(xiàn)并且消除系統(tǒng)存在的錯誤或者誤差,保證單片機(jī)應(yīng)用系統(tǒng)的可靠性。由第二章系統(tǒng)方案設(shè)計可知,本設(shè)計的開發(fā)環(huán)境為Keil Vision3。本章將詳細(xì)介紹如何使用該環(huán)境建立、編譯和調(diào)試項目,并結(jié)合軟硬件說明本設(shè)計調(diào)試過程中出現(xiàn)的錯誤和
52、誤差,以及解決方案。4.1 程序編譯(1) 新建工程 雙擊啟動Vision3,執(zhí)行Keil C51軟件的菜單“ Project/New Project."彈出"Create New Project"對話框。選擇一個合適的文件夾,用來存放工程文件。如圖4-1所示。在對話框中單擊Creat New Folder圖標(biāo)新建一個文件夾,取名為“電子秤”。雙擊進(jìn)入該文件夾,在文件名后的輸入框內(nèi)將項目取名為“dzc”放置在該文件夾內(nèi)。單擊“保存”按鈕,保存項目。圖4-1 工程保存新建工程后,Keil C51會給出選擇CPU器件的提示,這里要選擇Atmel公司的AT89S52,如
53、圖4-2所示。圖4-2 選擇CPU器件(2) 添加源程序文件創(chuàng)建源程序文件執(zhí)行菜單“File/New.”出現(xiàn)一個名為Text n的文檔。執(zhí)行菜單“File/Save”彈出"Save As"對話框,將文件名改為“dzc.c"然后保存。圖4-3 保存文件保存好源文件后,可以將這個文件添加到項目中。單擊Keil C51軟件左邊項目工作窗口”Target 1"上的“+”號,將其展開。然后右鍵單擊Source Group 1,選擇Add Files to Group Source Group 1,然后在彈出的對話框中選中剛剛保存的源文件,單擊“Add”。添加完成:
54、圖4-4 源程序添加到工程(3) 編寫程序并編譯在源程序窗口中,輸入完整的程序代碼,然后單擊"File/Save"保存程序.先設(shè)置開發(fā)環(huán)境參數(shù),單擊“Option"選項,在“Target”標(biāo)簽中設(shè)置時鐘頻率為12.0Mhz,在"Output"標(biāo)簽頁,選中“Create HEX”項,其他的為默認(rèn),然后單擊“確定”按鈕。圖4-5 設(shè)置開發(fā)參數(shù)單擊工具欄中編譯按鈕,編譯當(dāng)前源程序,編譯結(jié)果會顯示在輸出窗口中,如果顯示“0 Error(s),0 Warning(s)"就表示程序沒有問題了。如果存在錯誤或警告,就要仔細(xì)檢查程序,修改后在編譯,直
55、到通過為止。圖4-6 編譯工具欄圖4-7 編譯結(jié)果4.2 調(diào)試過程編譯后的結(jié)果會生成HEX格式的程序文件"dzc.hex"該文件可以被載入并最終燒錄到芯片中。將安裝了芯片的實驗板通電后,就可以運(yùn)行里面的程序。模塊化程序設(shè)計可以對各模塊進(jìn)行相對獨(dú)立的編寫、調(diào)試,本設(shè)計在編寫各模塊過程都進(jìn)行過調(diào)試,最后對各模塊的整合過程也進(jìn)行調(diào)試。由于有實驗板的硬件協(xié)助;本設(shè)計采用在線編程的方式直接在硬件系統(tǒng)上觀察運(yùn)行效果。在對工程編譯和連接以后,Vision自帶的調(diào)試器有強(qiáng)大的仿真CPU可模擬程序的執(zhí)行,按Ctrl+F5 或者使用Debug菜單下的Start/Stop Debug Session 即可進(jìn)入調(diào)試狀態(tài)。進(jìn)入調(diào)試狀態(tài)后,可通過Debug菜單下的Go(F5)、Step(F11)、Stepover(F10)、Stop Running(esc)等調(diào)試命令對程序進(jìn)行調(diào)試。也可以通過如圖4-6所示的調(diào)試工具欄進(jìn)行快捷操作,從左往右依次為復(fù)位、運(yùn)行、停止運(yùn)行、單步、過程單步、執(zhí)行完當(dāng)前子程序、運(yùn)行到當(dāng)前行、下一狀態(tài)、打開跟
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度個人股權(quán)轉(zhuǎn)讓與股權(quán)激勵計劃合同4篇
- 2025年在線娛樂服務(wù)合同
- 2025年借殼上市銷售協(xié)議
- 2025年化工品供應(yīng)協(xié)議
- 2025年辦公用品采購合同
- 2025年倉庫租賃業(yè)務(wù)保密協(xié)議
- 2025年度互聯(lián)網(wǎng)數(shù)據(jù)中心(IDC)運(yùn)營管理合同范本4篇
- 二零二五版智慧小區(qū)門禁系統(tǒng)采購與維護(hù)協(xié)議4篇
- 二零二五年度二手船舶購置協(xié)議材料船舶買賣3篇
- 2025版儲罐租賃及物聯(lián)網(wǎng)技術(shù)應(yīng)用合同3篇
- 餐廚垃圾收運(yùn)安全操作規(guī)范
- 皮膚內(nèi)科過敏反應(yīng)病例分析
- 電影《獅子王》的視聽語言解析
- 妊娠合并低鉀血癥護(hù)理查房
- 煤礦反三違培訓(xùn)課件
- 向流程設(shè)計要效率
- 2024年中國航空發(fā)動機(jī)集團(tuán)招聘筆試參考題庫含答案解析
- 當(dāng)代中外公司治理典型案例剖析(中科院研究生課件)
- 動力管道設(shè)計手冊-第2版
- 2022年重慶市中考物理試卷A卷(附答案)
- Python繪圖庫Turtle詳解(含豐富示例)
評論
0/150
提交評論