基于單片機的出租車計費器設計_第1頁
基于單片機的出租車計費器設計_第2頁
基于單片機的出租車計費器設計_第3頁
基于單片機的出租車計費器設計_第4頁
基于單片機的出租車計費器設計_第5頁
已閱讀5頁,還剩58頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

自動化學院本科畢業(yè)設計(論文)題目:基于單片機的出租車計費器設計專業(yè):自動化班級:自動化061學號:學生姓名:指導教師:起迄日期:設計地點:實驗樓_GraduationDesign(Thesis)DesignoftheTemperatureControlSystembasedonSingleChipMicrocomputerPAGEIV摘要出租車計費器是一個智能化儀表,其人機對話、每公里單價、總里程價格、等候時間計費等功能完全可由單片機應用系統(tǒng)實現(xiàn)。汽車計價器是乘客與司機雙方的交易準則,它是出租車行業(yè)發(fā)展的重要標志,是出租車中最重要的工具。它關系著交易雙方的利益。具有良好性能的計價器無論是對廣大出租車司機朋友還是乘客來說都是很必要的。因此,進行出租車計價器的研究和設計也是十分有一個應用價值的。系統(tǒng)采用單片機AT89C51對液晶屏進行驅(qū)動,實現(xiàn)要求的功能。(要具體寫是如何進行設計的,該系統(tǒng)具有哪些功能。)關鍵詞:單片機;液晶屏南京工程學院自動化學院本科畢業(yè)設計(論文)

ABSTRACTTheMCUhasgotawideuseintheindustrialproductionprocess,inwhichthetemperatureisaprocessvariablethatoftenrequiresmeasuring,controllingandmaintaining.ThispaperdescribesthetemperaturecontrolsystemdesignusingtheAT89C51asthecorechip,analyzesitssoftware,hardwaredesignmethodsandgivesthesystemblockdiagramofthehardwareandflowchartofthesoftware.Thebasictheoryandapplicationtechnologyusedinthemarealsopresentedcomprehensively.Thispaperdescribesthedesignofthetemperaturecontrolsystembasedonrawsupplysystemmoduleintheactualproductionprocesswhichacquiresconstanttemperatureofliquidrawmaterial.ThissystemisdesignedonthebasisofAT89C51,andwiththetemperaturesensor,A/Dconverters,digitalcontrolshows,D/Aconvertersandothermaterialstoachievetheautomatictemperaturecontrolofliquid(watertemperatureasthecontrolobject),alsowiththekeyboardanddisplaycircuit,whichcanbeusedfortemperaturesettings,resetanddisplayingthecurrenttemperaturevalue.Inthispaper,thecontrolsystemiscomposedoftwoparts.,hardwareandsoftware.Thehardwarepartiscomposedofsignalacquisitionandconvertercircuit,A/Dconvertercircuit,microcontrollercircuit,D/Aconvertercircuit,keyboardandexpansionoftheLEDcircuit.Thesoftwarepartismainlyfortemperaturecontrolwhichincludesdisplayingsubroutine,keyboardtestingandscanningsubroutines,PIDalgorithmsubroutine,andsignalconversionsubroutinesandsoon.Keywords:Temperaturecontrol;SCM;PID南京工程學院自動化學院本科畢業(yè)設計(論文)目錄第一章緒論 11.1單片機控制系統(tǒng)的概念 11.1.1單片機的組成和特點 11.1.2單片機控制系統(tǒng)的組成 21.1.3單片機控制系統(tǒng)的結(jié)構(gòu)和原理 31.1.4單片機控制系統(tǒng)的特點 41.2選題背景與意義 51.3本文的結(jié)構(gòu) 5第二章出租車計費器系統(tǒng)方案的設計 62.1功能分析 62.2具體方案設計 7第三章出租車計費器系統(tǒng)的硬件設計 103.1系統(tǒng)主要芯片簡介 103.1.1AT89C51簡介 103.1.2A44E簡介3.1.3LCD128x64簡介3.1.4LCD簡介3.2系統(tǒng)子電路設計 133.2.1顯示模塊的設計3.2.2脈沖輸入模塊的設計3.2.3主控模塊的設計HYPERLINK\l"_Toc169010376"第四章出租車計費器系統(tǒng)的軟件設計 224.1LCD顯示原理4.1.1字符的獲取4.1.2各種顯示方式的分析比較4.1.3LCD顯示模塊設計第五章出租車計費器系統(tǒng)的調(diào)試 4\h325.1系統(tǒng)的硬件調(diào)試 325.2系統(tǒng)的軟件調(diào)試 33第六章結(jié)論 36HYPERLINK\l"_Toc169010394"6.1論文總結(jié) 366.2感想 36致謝 38參考文獻 169010397\h39附錄A:英文資料 40附錄B:英文資料翻譯 45附錄C:硬件設計原理圖與PCB圖 50附錄D:軟件程序清單 52附件:畢業(yè)論文光盤資料 62南京工程學院自動化學院本科畢業(yè)設計(論文)PAGE57第一章緒論1.1單片機控制系統(tǒng)的概念(不要寫與本課題不相關的內(nèi)容,并且不能兩個人抄成同樣的內(nèi)容?。?.1.1單片機的組成和特點[1]單片機(singlechipmicrocomputer)就是將微計算機的結(jié)構(gòu)安置于同一個芯片而成的微計算機。換句話說,單片機就是把微計算機的結(jié)構(gòu)制造在同一個IC內(nèi)而形成的微計算機。一、單片機的組成基本的微型計算機由以下幾部分組成:(1)中央處理器(CPU),包括運算器、控制器和內(nèi)部寄存組;(2)存儲器,包括ROM和RAM;(3)輸入輸出(I/O)接口,用以連接外部輸入輸出設備。隨著計算機微型化的需要,人們將上述微型計算機的基本功能部件全部集成在一塊半導體芯片上,使得一塊集成電路芯片就是一個單片機。單片機除了具備一般微型計算機的功能外,為了提高實時控制能力,絕大部分單片機的芯片上還集成有定時器/計數(shù)器,某些單片機還帶有A/D轉(zhuǎn)換器等功能部件。單片機的設計主要是面向控制,因此,它的硬件結(jié)構(gòu)、指令系統(tǒng)和I/O接口能力等方面均有其獨特之處,其特點之一就是具有非常強的控制功能。所以,單片機不但是一個數(shù)據(jù)處理機,而且還是一個過程控制機。只要加上所需要的輸入/輸出設備,就可以構(gòu)成一個實用的系統(tǒng),滿足各種應用領域的需要。二、單片機的特點單片機與一般的微型機(它們由微處理器、存儲器和I/O接口電路芯片組成,稱之為多片微機)相比,具有以下特點。(1)集成度高、體積小在一塊芯片上集成了構(gòu)成一臺微型計算機所需的CPU、ROM、RAM、I/O接口以及定時器/計數(shù)器等部件,能滿足很多應用領域?qū)τ布墓δ芤螅蚨蓡纹瑱C組成的應用系統(tǒng)結(jié)構(gòu)簡單,體積特別。(2)面向控制、功能強單片機面向控制,它的實時控制功能特別強,CPU可以直接對I/O接口進行各種操作,能針對性地完成從簡單到復雜的各類控制任務。(3)抗干擾能力強單片機內(nèi)CPU訪問存儲器、I/O接口的信息傳輸線(即總線)大多數(shù)在芯片內(nèi)部,因而不易受外界的干擾,另外,由于單片機體積小,適應溫度范圍寬,在應用環(huán)境比較差的情況下,容易采取對系統(tǒng)進行電磁屏蔽等措施,在各種惡劣的環(huán)境下都能可靠地工作,所以單片機應用系統(tǒng)的可靠性比一般的微機系統(tǒng)高很多。(4)使用方便由于單片機內(nèi)部功能強,系統(tǒng)擴展方便,因此應用系統(tǒng)的硬件設計非常簡單,再加上國內(nèi)外提供了多種多樣的單片機開發(fā)工具,它們具有很強的軟硬件調(diào)試功能和輔助設計的手段,這樣使單片機的應用極為方便,大大地縮短了系統(tǒng)研制的周期,還可方便地實現(xiàn)多機和分布式控制,使整個控制系統(tǒng)的效率和可靠性大為提高。(5)性能價格比高由于單片機功能強、價格便宜,其應用系統(tǒng)的印板小,接插件少,安裝調(diào)試簡單等一系列原因,使單片機應用系統(tǒng)的性能價格比高于一般的微機系統(tǒng)。(6)容易產(chǎn)品化單片機上述特性,縮短了單片機應用系統(tǒng)自樣機至正式產(chǎn)品的過渡過程,使科研成果迅速轉(zhuǎn)化為生產(chǎn)力。1.1.2單片機控制系統(tǒng)的組成[2]單片機控制系統(tǒng)由單片機系統(tǒng)和工業(yè)對象組成,如圖1.1所示。單片機系統(tǒng)由硬件和軟件兩部分組成。硬件是指單片機本身及外圍設備實體,軟件是指管理單片機的程序以及過程控制的應用程序。工業(yè)對象包括被控對象、測量變送、執(zhí)行機構(gòu)和電氣開關等裝置。1.硬件硬件包括單片機、錯成輸入/輸出通道及接口、人機聯(lián)系設備及接口、外部存儲器等。單片機是單片機控制系統(tǒng)的核心,其關鍵部件是CPU。CPU通過接口接收人的指令和各類工業(yè)對象的參數(shù),向系統(tǒng)各部分發(fā)送各種命令數(shù)據(jù),完成巡回檢測、數(shù)據(jù)處理、控制計算、邏輯判斷等工作。圖1.1單片機控制系統(tǒng)的組成過程輸入/輸出通道及接口分為模擬量和數(shù)字量兩種。數(shù)字量包括開關量、脈沖量和數(shù)據(jù)數(shù)碼,它們負責單片機與工業(yè)對象的信息傳遞和變換。過程輸入通道及接口把工業(yè)對象的參數(shù)轉(zhuǎn)換成微機可接受的數(shù)字代碼。過程輸出通道及接口把單片機處理結(jié)果轉(zhuǎn)換成可對被控對象進行控制的信號。人機聯(lián)系設備及接口包括顯示操作臺、屏幕顯示器(CRT)或數(shù)字顯示器、鍵盤、打印機、記錄儀等,它們是操作人員和單片機系統(tǒng)進行聯(lián)系的工具。外部存儲器(外存)包括磁盤、光盤、磁帶,主要用于存儲系統(tǒng)中大量的程序和數(shù)據(jù)。外存是內(nèi)存儲容量的擴充,而其選用要根據(jù)要求來決定。2.軟件軟件由系統(tǒng)軟件和應用軟件組成。系統(tǒng)軟件通常包括程序設計軟件、操作系統(tǒng)、語言處理程序等,具有一定的通用性,一般由計算機生產(chǎn)廠家提供。應用軟件通常指根據(jù)用戶要解決的實際問題所配置的各種程序,包括完成系統(tǒng)內(nèi)各種控制任務的要求。1.1.3單片機控制系統(tǒng)的結(jié)構(gòu)和原理[2]對于按偏差進行調(diào)節(jié)的常規(guī)模擬閉環(huán)負反饋控制系統(tǒng),如果把控制器用單片機和轉(zhuǎn)換接口來代替,就構(gòu)成了單片機控制系統(tǒng),如圖1.2所示。圖1.2單片機閉環(huán)控制系統(tǒng)結(jié)構(gòu)圖單片機把通過測量元件、變送單元和A/D轉(zhuǎn)換接口送來的數(shù)字信號直接反饋到輸入端與設定值進行比較,然后,對其偏差按某種控制算法進行計算,所得數(shù)字量輸出信號經(jīng)D/A轉(zhuǎn)換接口直接驅(qū)動執(zhí)行裝置,對控制對象進行調(diào)節(jié),使其保持在設定值上。這種控制結(jié)構(gòu)一般被稱為閉環(huán)控制結(jié)構(gòu)。從本質(zhì)上講,單片機控制系統(tǒng)的工作可歸納為以下3個步驟:(1)實時數(shù)據(jù)采集對來自測量元件和變送單元的被控量的瞬時值進行檢測和輸入。(2)實時數(shù)據(jù)處理對采集到的被控量進行分析和處理,按一定的控制規(guī)律運算,進行控制決策。(3)實時控制輸出根據(jù)控制決策,實時地對執(zhí)行裝置發(fā)出控制信號,完成工作任務。在實際工程中,上述過程不斷重復。所謂“實時”,是指信號的輸入、運算處理和輸出能在一定的時間內(nèi)完成,即要求單片機對輸入信號以足夠快的速度進行測量和處理,并在一定的時間內(nèi)作出反應或產(chǎn)生相應的控制。超過這個時間,就會失去控制時機。實時概念不能脫離具體過程,如煉鋼的爐溫控制,由于時間慣性很大,輸出延遲幾秒仍然是實時的;而軋鋼機的拖動電機控制,一般需要在幾毫秒或更短的時間內(nèi)完成對電流的調(diào)節(jié),否則電流失控將造成事故。不同的生產(chǎn)過程所需的控制結(jié)構(gòu)形式是不同的,有的場合開環(huán)控制即可滿足要求,如計算機巡回檢測及數(shù)據(jù)處理系統(tǒng)、順序控制等均屬于開環(huán)控制。其特點是:對控制對象的狀態(tài)參數(shù)不進行檢測,或檢測后不直接參與控制。這類系統(tǒng)的結(jié)構(gòu)如圖1.3所示。圖1.3單片機順序控制系統(tǒng)結(jié)構(gòu)圖單片機數(shù)據(jù)采集及處理系統(tǒng)只對被控對象的各物理量經(jīng)單片機處理后進行顯示和打印,給操作者提供一個參考值,而不是直接驅(qū)動執(zhí)行器去參與控制。單片機順序控制則根據(jù)實現(xiàn)設計的邏輯關系,按某種控制規(guī)律去順序驅(qū)動執(zhí)行機構(gòu),完成一定的工序。兩者不形成回路,所以成開環(huán)控制。在常規(guī)模擬控制系統(tǒng)中,系統(tǒng)的控制規(guī)律是用硬件電路實現(xiàn)的,因此改變控制規(guī)律需要改變硬件;而在單片機控制系統(tǒng)中,控制規(guī)律已經(jīng)程序化了,若想改變控制規(guī)律和被控參數(shù),只須改變程序即可。受控對象和單片機系統(tǒng)直接連接的方式稱為在線方式或聯(lián)機方式;受控對象不和單片機系統(tǒng)相連,靠人操作的方式稱為離線方式或脫機方式。在線系統(tǒng)不一定是實時系統(tǒng),但實時系統(tǒng)必定是在線系統(tǒng)。1.1.4單片機控制系統(tǒng)的特點[2]單片機控制系統(tǒng)和一般常規(guī)模擬系統(tǒng)相比,有如下突出特點:(1)技術集成和系統(tǒng)復雜度高單片機控制系統(tǒng)是計算機、控制、通信、電子等多種高新技術集成的,是理論方法和應用技術的結(jié)合。由于信息量大、速度快和精度高,它能實現(xiàn)復雜的控制規(guī)律,從而滿足較高的控制質(zhì)量要求。單片機控制系統(tǒng)實現(xiàn)了常規(guī)系統(tǒng)難以實現(xiàn)的多變量控制、智能控制、參數(shù)自整等。(2)可靠性高和可維護性好這兩個因素決定系統(tǒng)的可用程度。由于采取有效的抗干擾、冗余、可靠性技術和系統(tǒng)的自診斷,單片機控制系統(tǒng)的可靠性高且可維護性好。若單片機系統(tǒng)一旦出現(xiàn)故障,則能迅速指出故障點和處理辦法,便于立即修復。(3)抗干擾能力強由于單片機的各種功能部件都集成在一個芯片上,特別是存儲器也集成在芯片內(nèi)部,布線短,數(shù)據(jù)大都在芯片內(nèi)部傳送,不易受外界干擾,增加了抗干擾能力,使系統(tǒng)運行更可靠。(4)控制的多功能性單片機控制系統(tǒng)具有集中操作、實時控制、控制管理、生產(chǎn)管理等功能。(5)應用的靈活性軟件功能豐富和編程方便,硬件體積小和重量輕,以及結(jié)構(gòu)設計上的模塊化、標準化,使系統(tǒng)配置具有很強的靈活性。此外,技術更新快,信息綜合性強,內(nèi)涵豐富,操作便利等也是單片機控制系統(tǒng)的特點。1.2選題背景與意義(本章中此節(jié)的內(nèi)容需要重點些,要擴充一些)出租車計費器是一個智能化儀表,其人機對話、每公里單價、總里程價格、等候時間計費等功能完全可由單片機應用系統(tǒng)實現(xiàn)。汽車計價器是乘客與司機雙方的交易準則,它是出租車行業(yè)發(fā)展的重要標志,是出租車中最重要的工具。它關系著交易雙方的利益。具有良好性能的計價器無論是對廣大出租車司機朋友還是乘客來說都是很必要的。因此,進行出租車計價器的研究和設計也是十分有一個應用價值的。

采用了單片機進行設計,相對來說功能強大,用較少的硬件和適當?shù)能浖嗷ヅ浜峡梢院苋菀椎膶崿F(xiàn)設計要求,且靈活性強,可以通過軟件編程來完成更多的附加功能。針對計費模式的切換,通過軟件編程就可以輕易而舉的實現(xiàn)。1.3本文的結(jié)構(gòu)本文以單片機控制系統(tǒng)的研發(fā)工程項目作為應用背景,對單片機應用技術進行了研究。全文共分為六章,各章的主要內(nèi)容如下:第一章扼要地介紹了單片機控制系統(tǒng)的概念、特點與相關研究背景;第二章對單片機控制系統(tǒng)進行了相應的研究,給出了總體設計方案,并對模塊進行了分析第三章介紹了系統(tǒng)的硬件設計,對各模塊作了詳盡的介紹;第四章介紹了系統(tǒng)的軟件設計,并分別對主程序和各子程序作了說明;第五章介紹了系統(tǒng)的調(diào)試狀況,對結(jié)果作了分析和說明;第六章總結(jié)了全文的研究工作,給出了存在的問題和進一步研究的方向。第二章出租車計費器的方案設計2.1計費器功能分析2.2系統(tǒng)總體方案設計出租車計費器結(jié)構(gòu)框圖如圖2.1所示。本設計主要以微控制器為控制核心,利用單片機對輸入脈沖進行換算得到最終的總價。主電路主電路顯示模塊鍵盤模塊脈沖輸入模塊電源模塊圖2.1系統(tǒng)的總體框圖系統(tǒng)的工作過程如下所示:霍爾傳感器安裝在車輪上,主要檢測汽車行進的公里數(shù),并產(chǎn)生一系列相應的脈沖輸出,脈沖送到單片機進行處理,單片機根據(jù)程序設定通過計算脈沖數(shù)換算出行駛公里數(shù),再根據(jù)從單片機中讀取的價格等相關數(shù)據(jù)進行金額的計算,計算好的金額、里程和單價都實時地顯示在液晶屏上。鍵盤可以調(diào)節(jié)價格等相關數(shù)據(jù),按下相應的按鈕,產(chǎn)生信號交由單片機處理并實時顯示出來。2.3系統(tǒng)設計設計要求在分析出租車計費器原理及方法的基礎上,以單片機為核心,實現(xiàn)出租車計費功能。主要完成的工作如下:要求根據(jù)所給定的出租車計費的形式,基于單片機設計出租車計費器,要求能夠根;據(jù)行駛的里程進行計費,具有顯示里程數(shù)、總費用等功能和打印及報價功能要求里程數(shù)精確到0.1公里,總價顯示范圍Z~999.9元。軟件采用基于單片機的c語言進行設計。根據(jù)計費器系統(tǒng)的設計任務,本課題設計的單片機系統(tǒng)采用AT89C51單片機,由主電路、鍵盤模塊、顯示模塊、電源模塊及脈沖輸入模塊組成:1.主電路系統(tǒng)中單片機需要完成掃描、顯示、以及數(shù)據(jù)計算處理等功能。2.鍵盤模塊只需要設計4個按鍵,考慮單片機芯片AT89C51有足夠多的I/O口線,不采用矩陣式鍵盤,而采用4個獨立按鍵。定義4個按鍵功能分別為復位鍵、極佳啟動鍵、單價增加鍵、單價減少鍵。3.顯示模塊系統(tǒng)需要顯示的內(nèi)容有:里程(XXX.X),單位為km;單價(X.X),單位為元;總費用顯示(XXX.X),單位為元。顯示電路采用液晶屏lcd128x64,對單價、里程、總價同時進行顯示。4.電源模塊該模塊為一開關電源,將輸入的12V直流電源變?yōu)榉€(wěn)定的5V電源。由于12V電源由出租車上的電瓶提供,其電壓有一定的離散性,當電瓶質(zhì)量不好時12V電源較低。而開關電源的適用范圍較廣,且驅(qū)動能力較強,使用開關電源可有效防止因輸入電壓過低而產(chǎn)生的各種故障現(xiàn)象。設計電源模塊應注意電源的抗干擾能力。5.脈沖輸入模塊里程計算是通過安裝在車輪上的霍爾傳感器檢測到的脈沖信號,送到單片機產(chǎn)生中斷,單片機再根據(jù)程序設定,計算出里程。

第三章出租車計費系統(tǒng)的硬件設計3.1系統(tǒng)主要芯片簡介3.1.1AT89C51簡介AT89C51單片機是Atmel公司制造的采用4KBFlash存儲器為內(nèi)部程序存儲器的單片微機。Flash存儲器是一種可電擦除式EPROM,使用燒錄器,可立即將內(nèi)部程序清除完畢,且可重復清除、燒錄1000次以上,因其省時、方便、性能價格比高,一經(jīng)推出,即得到廣泛應用。AT89C51單片機與Intel80C51單片機在引腳排列、工作特性、硬件組成、指令系統(tǒng)等方面完全兼容。其主要工作特性是:·內(nèi)含4KB的Flash存儲器,擦寫次數(shù)1000次;·內(nèi)含128字節(jié)的RAM;·具有32根可編程I/O線;·具有2個16位可編程定時器;·具有6個中斷源、5個中斷矢量、2級優(yōu)先權(quán)的中斷結(jié)構(gòu);·具有1個全雙工的可編程串行通信接口;·具有1個數(shù)據(jù)指針DPTR;·兩種低功耗工作模式,即空閑模式和掉電模式;·具有可編程的3級程序鎖定位;·工作電源電壓為5(1±0.2)V且典型值為5V,是低電壓單片機;·最高工作頻率為24HMz[6];圖3.1為PDIP封裝的引腳排列圖。圖3.1AT89C51引腳排列圖3.1.2A44E簡介

A44E屬于開關型的霍爾器件,其工作電壓范圍比較寬(4.5~18V),其輸出的信號符合TTL電平標準,可以直接接到單片機的IO端口上,而且其最高檢測頻率可達到1MHZ。A44E集成霍耳開關由穩(wěn)壓器A、霍耳電勢發(fā)生器(即硅霍耳片)B、差分放大器C、施密特觸發(fā)器D和OC門輸出E五個基本部分組成。

在輸入端輸入電壓Vcc,經(jīng)穩(wěn)壓器穩(wěn)壓后加在霍爾電勢發(fā)生器的兩端,根據(jù)霍爾效應原理,當霍爾片處在磁場中時,在垂直于磁場的方向通以電流,則與這二者相垂直的方向上將會產(chǎn)生霍爾電勢差VH輸出,該VH信號經(jīng)放大器放大后送至施密特觸發(fā)器整形,使其成為方波輸送到OC門輸出。當施加的磁場達到工作點(即Bop)時,觸發(fā)器輸出高電壓(相對于地電位),使三極管導通,此時OC門輸出端輸出低電壓,三極管截止,使OC門輸出高電壓,這種狀態(tài)為關。這樣兩次電壓變換,使霍爾開關完成了一次開關動作。A44E霍爾傳感器原理如圖3所示。

圖3

A44E霍爾傳感器原理

里程計算是通過安裝在車輪上的霍爾傳感器檢測到的脈沖信號,送到單片機產(chǎn)生中斷,單片機再根據(jù)程序設定,計算出里程。其原理如圖4所示。

圖4傳感器測距示意圖

3.1.3LCD128x64簡介LCD12864是一種具有4位/8位并行、2線或3線串行多種接口方式,內(nèi)部含有國標一級、二級簡體中文字庫的點陣圖形液晶顯示模塊;其顯示分辨率為128×64,內(nèi)置8192個16*16點漢字,和128個16*8點ASCII字符集.利用該模塊靈活的接口方式和簡單、方便的操作指令,可構(gòu)成全中文人機交互圖形界面??梢燥@示8×4行16×16點陣的漢字.也可完成圖形顯示.低電壓低功耗是其又一顯著特點。由該模塊構(gòu)成的液晶顯示方案與同類型的圖形點陣液晶顯示模塊相比,不論硬件電路結(jié)構(gòu)或顯示程序都要簡潔得多,且該模塊的價格也略低于相同點陣的圖形液晶模塊。

基本特性:

低電源電壓(VDD:+3.0--+5.5V)

顯示分辨率:128×64點

內(nèi)置漢字字庫,提供8192個16×16點陣漢字(簡繁體可選)

內(nèi)置128個16×8點陣字符

2MHZ時鐘頻率

顯示方式:STN、半透、正顯

驅(qū)動方式:1/32DUTY,1/5BIAS

視角方向:6點

背光方式:側(cè)部高亮白色LED,功耗僅為普通LED的1/5—1/10

通訊方式:串行、并口可選

內(nèi)置DC-DC轉(zhuǎn)換電路,無需外加負壓

無需片選信號,簡化軟件設計

工作溫度:0℃-+55℃,存儲溫度:-20℃管腳號管腳名稱電平管腳功能描述1VSS0V電源地2VCC3.0+5V電源正3V0-對比度(亮度)調(diào)整4RS(CS)H/LRS=“H”,表示DB7——DB0為顯示數(shù)據(jù)RS=“L”,表示DB7——DB0為顯示指令數(shù)據(jù)5R/W(SID)H/LR/W=“H”,E=“H”,數(shù)據(jù)被讀到DB7——DB0R/W=“L”,E=“H→L”,DB7——DB0的數(shù)據(jù)被寫到IR或DR6E(SCLK)H/L使能信號7DB0H/L三態(tài)數(shù)據(jù)線8DB1H/L三態(tài)數(shù)據(jù)線9DB2H/L三態(tài)數(shù)據(jù)線10DB3H/L三態(tài)數(shù)據(jù)線11DB4H/L三態(tài)數(shù)據(jù)線12DB5H/L三態(tài)數(shù)據(jù)線13DB6H/L三態(tài)數(shù)據(jù)線14DB7H/L三態(tài)數(shù)據(jù)線15PSBH/LH:8位或4位并口方式,L:串口方式(見注釋1)16NC-空腳17/RESETH/L復位端,低電平有效(見注釋2)18VOUT-LCD驅(qū)動電壓輸出端19AVDD背光源正端(+5V)(見注釋3)20KVSS背光源負端(見注釋3)*注釋1:如在實際應用中僅使用并口通訊模式,可將PSB接固定高電平,也可以將模塊上的J8和“VCC”用焊錫短接。*注釋2:模塊內(nèi)部接有上電復位電路,因此在不需要經(jīng)常復位的場合可將該端懸空。*注釋3:如背光和模塊共用一個電源,可以將模塊上的JA、JK用焊錫短接。

四.模塊主要硬件構(gòu)成說明控制器接口信號說明:1、RS,R/W的配合選擇決定控制界面的4種模式:

RSR/W功能說明LLMPU寫指令到指令暫存器(IR)LH讀出忙標志(BF)及地址記數(shù)器(AC)的狀態(tài)HLMPU寫入數(shù)據(jù)到數(shù)據(jù)暫存器(DR)HHMPU從數(shù)據(jù)暫存器(DR)中讀出數(shù)據(jù)

2、E信號E狀態(tài)執(zhí)行動作結(jié)果高——>低I/O緩沖——>DR配合/W進行寫數(shù)據(jù)或指令高DR——>I/O緩沖配合R進行讀數(shù)據(jù)或指令低/低——>高無動作

●忙標志:BFBF標志提供內(nèi)部工作情況.BF=1表示模塊在進行內(nèi)部操作,此時模塊不接受外部指令和數(shù)據(jù).BF=0時,模塊為準備狀態(tài),隨時可接受外部指令和數(shù)據(jù).利用STATUSRD指令,可以將BF讀到DB7總線,從而檢驗模塊之工作狀態(tài).●字型產(chǎn)生ROM(CGROM)字型產(chǎn)生ROM(CGROM)提供8192個此觸發(fā)器是用于模塊屏幕顯示開和關的控制。DFF=1為開顯示(DISPLAYON),DDRAM的內(nèi)容就顯示在屏幕上,DFF=0為關顯示(DISPLAYOFF)。DFF的狀態(tài)是指令DISPLAYON/OFF和RST信號控制的?!耧@示數(shù)據(jù)RAM(DDRAM)模塊內(nèi)部顯示數(shù)據(jù)RAM提供64×2個位元組的空間,最多可控制4行16字(64個字)的中文字型顯示,當寫入顯示數(shù)據(jù)RAM時,可分別顯示CGROM與CGRAM的字型;此模塊可顯示三種字型,分別是半角英數(shù)字型(16*8)、CGRAM字型及CGROM的中文字型,三種字型的選擇,由在DDRAM中寫入的編碼選擇,在0000H—0006H的編碼中(其代碼分別是0000、0002、0004、0006共4個)將選擇CGRAM的自定義字型,02H—7FH的編碼中將選擇半角英數(shù)字的字型,至于A1以上的編碼將自動的結(jié)合下一個位元組,組成兩個位元組的編碼形成中文字型的編碼BIG5(A140—D75F),GB(A1A0-F7FFH)。●字型產(chǎn)生RAM(CGRAM)字型產(chǎn)生RAM提供圖象定義(造字)功能,可以提供四組16×16點的自定義圖象空間,使用者可以將內(nèi)部字型沒有提供的圖象字型自行定義到CGRAM中,便可和CGROM中的定義一樣地通過DDRAM顯示在屏幕中?!竦刂酚嫈?shù)器AC地址計數(shù)器是用來貯存DDRAM/CGRAM之一的地址,它可由設定指令暫存器來改變,之后只要讀取或是寫入DDRAM/CGRAM的值時,地址計數(shù)器的值就會自動加一,當RS為“0”時而R/W為“1”時,地址計數(shù)器的值會被讀取到DB6——DB0中。●

光標/閃爍控制電路此模塊提供硬體光標及閃爍控制電路,由地址計數(shù)器的值來指定DDRAM中的光標或閃爍位置。漢字顯示坐標3.1.4LCD原理簡介點陣LCD的顯示原理

在數(shù)字電路中,所有的數(shù)據(jù)都是以0和1保存的,對LCD控制器進行不同的數(shù)據(jù)操作,可以得到不同的結(jié)果。對于顯示英文操作,由于英文字母種類很少,只需要8位(一字節(jié))即可。而對于中文,常用卻有6000以上,于是我們的DOS前輩想了一個辦法,就是將ASCII表的高128個很少用到的數(shù)值以兩個為一組來表示漢字,即漢字的內(nèi)碼。而剩下的低128位則留給英文字符使用,即英文的內(nèi)碼。

那么,得到了漢字的內(nèi)碼后,還僅是一組數(shù)字,那又如何在屏幕上去顯示呢?這就涉及到文字的字模,字模雖然也是一組數(shù)字,但它的意義卻與數(shù)字的意義有了根本的變化,它是用數(shù)字的各位信息來記載英文或漢字的形狀,如英文的'A'在字模的記載方式如圖1所示:圖1“A”字模圖3.2系統(tǒng)子電路設計計費器系統(tǒng)采用AT89C51單片機,由主電路、鍵盤模塊、顯示模塊、電源模塊及脈沖輸入模塊組成圖5硬件原理圖3.2.1輸入模塊的設計本系統(tǒng)選擇了將A44E的脈沖輸出口接到P3.3口外部中斷1作為信號的輸入端(這樣可以減少程序設計的麻煩),車輪每轉(zhuǎn)一圈(設車輪的周長是1米),霍爾開關就檢測并輸出信號,引起單片機的中斷,對脈沖計數(shù),當計數(shù)達到1000次時,即1公里,單片機就控制將金額自動增加,如圖5。

圖5

A44E霍爾元件接線圖在輸入端輸入電壓Vcc,經(jīng)穩(wěn)壓器穩(wěn)壓后加在霍爾電勢發(fā)生器的兩端,根據(jù)霍爾效應原理,當霍爾片處在磁場中時,在垂直于磁場的方向通以電流,則與這二者相垂直的方向上將會產(chǎn)生霍爾電勢差VH輸出,該VH信號經(jīng)放大器放大后送至施密特觸發(fā)器整形,使其成為方波輸送到OC門輸出。當施加的磁場達到工作點(即Bop)時,觸發(fā)器輸出高電壓(相對于地電位),使三極管導通,此時OC門輸出端輸出低電壓,三極管截止,使OC門輸出高電壓,這種狀態(tài)為關。這樣兩次電壓變換,使霍爾開關完成了一次開關動作。3.2.2控制模塊的設計在這一模塊里,主要的是控制算法的設計,它屬于軟件設計的范疇,故在這里只簡略講一下AT89C51外部連接電路。圖3.7AT89C51的復位和振蕩電路AT89C51單片機是Atmel公司制造的采用4KBFlash存儲器為內(nèi)部程序存儲器的單片微機。Flash存儲器是一種可電擦除式EPROM,使用燒錄器,可立即將內(nèi)部程序清除完畢,且可重復清除、燒錄1000次以上,因其省時、方便、性能價格比高,一經(jīng)推出,即得到廣泛應用。單片機內(nèi)含振蕩器電路,但晶體振蕩器和電容在片外,由引腳XTAL1和XTAL2接入片內(nèi)。XTAL1為振蕩器反相放大器和時鐘發(fā)生電路的輸入,XTAL2為反相放大器的輸出。振蕩器的工作可以由特殊功能寄存器PCON中的PD位控制。當PD=1時,振蕩器停止工作,系統(tǒng)進入低功耗工作狀態(tài)。當使用片內(nèi)振蕩器時,片外振蕩源和電容與XTAL1和XTAL2的接法如圖3.7所示。當使用晶體諧振器時,C1,C2=(30±10)pF;當使用陶瓷諧振器時,C1,C2=(40±10)pF。C1和C2雖沒有嚴格的要求,但電容的大小影響振蕩器電路的穩(wěn)定性和快速性,通常選在20~30pF。在設計電路板時,晶振和電容等應盡可能靠近芯片,以減小分布電容,保證振蕩器振蕩的穩(wěn)定性。復位是單片機的初始化操作。其主要功能是將程序計數(shù)器PC初始化為0000H,使單片機從0000H單元開始執(zhí)行程序。在運行中,外界干擾等因素可使單片機的程序陷入死循環(huán)或跑飛。為擺脫困境,可將單片機復位,以重新啟動。復位也使單片機退出低功耗工作方式而進入正常工作狀態(tài)。RST引腳是復位信號的輸入端,高電平有效。單片機的復位電路如圖3.7所示。復位操作有上電自動復位和手動按鍵復位兩種方式。只要電源的上升時間不超過1ms,就可以完成自動上電復位,即接通電源時就完成了復位操作。按動鍵S,可實現(xiàn)手動復位。3.2.3人機接口設計微機控制系統(tǒng)中除了與生產(chǎn)過程進行信息傳遞的過程輸入、輸出通道與接口外,還有與操作人員進行信息交換的輸入、輸出設備或器件,這種人機聯(lián)系的設備或器件稱為人機接口。無論是單片機控制系統(tǒng)還是單片機測量系統(tǒng),都需要一個人機對話裝置,這種人機對話裝置通常采用鍵盤和顯示器。鍵盤是單片機應用系統(tǒng)中人機對話常用的輸入裝置,而顯示器是單片機應用系統(tǒng)人機對話中常用的輸出裝置。一、鍵盤模塊的設計鍵盤是由若干個按鍵開關組成,鍵的多少根據(jù)單片機應用系統(tǒng)的用途而定。鍵盤由許多鍵組成,每一個鍵相當于一個機械開關觸點,當鍵按下時,觸點閉合,當鍵松開時,觸點斷開。單片機受到按鍵的觸點信號后作相應的功能處理。因此對于單片機系統(tǒng)來說鍵盤接口信號是輸入信號。要說明定義了哪些鍵,各鍵的功能如何?設計成矩陣鍵盤有什么優(yōu)點??圖3.8鍵盤電路(用protel中畫出的圖)鍵盤采用矩陣鍵盤,0鍵為復位鍵,1鍵位計費啟動鍵,2鍵位單價增加鍵,3鍵位單價減少鍵。二、顯示器模塊的設計(要在分析LCD顯示模塊的功能和用法的基礎上,對接口方法進行分析介紹。)顯示電路(用protel中畫出的圖)系統(tǒng)采用LCD12864進行顯示,可以同時顯示單價、里程以及總價。P0口給LCD提供片選信號,數(shù)據(jù)有P2口傳送。

第四章出租車計費器的軟件設計計算機只有硬件還不能工作,必須有軟件(即程序)來控制計算機運行。根據(jù)硬件設計所劃分的功能模塊,繪出程序設計流程圖。首先需要設計出主程序框圖,如圖4.1所示。為提高程序運行的可靠性,使程序結(jié)構(gòu)清晰、簡捷、流程合理,使用子程序與中斷服務程序相結(jié)合。本論文將脈沖輸入程序作為一中斷服務程序,故不出現(xiàn)在主程序流程圖中。主程序流程圖設計出來后,就是各個子程序流程圖的設計了。當流程圖出來后,就進入編程這一環(huán)節(jié)了。圖4.1主程序框圖(自己畫)在主程序模塊中,需要完成對各接口芯片的初始化、出租車起價和單價的初始化、中斷向量的設計以及開中斷、循環(huán)等待等工作。靈位,在主程序模塊中還需要設置啟動/清除標志寄存器、里程寄存器和價格寄存器,并對它們進行初始化。然后,主程序?qū)⒏鶕?jù)各標志寄存器的內(nèi)容,分別完成啟動、清除、計程和計價等不同的操作。當按下S1時,就啟動計價,則根據(jù)里程寄存器中的內(nèi)容計算和判斷出行駛里程是否已超過起價公里數(shù)。若已超過,則根據(jù)里程值、每公里的單價數(shù)和起價數(shù)來計算出當前的累計幾個,并將結(jié)果存于價格寄存器中,然后將市級和當前累計價格送顯示電路顯示出來。當?shù)竭_目的地的時候,由于霍爾開關沒有送來脈沖信號,就停止計價,顯示當前所應該付的金額和對應的單價,到下次啟動計價時,系統(tǒng)自動對顯示清零,并重新進行初始化過程。4.1計費程序的設計如果里程大于3公里,則執(zhí)行公式:總金額=起步價+(里程-3)*單價+等待單價4.2LCD顯示程序設計

在使用12864LCD前先必須了解以下功能器件才能進行編程。12864內(nèi)部功能器件及相關功能如下:1.指令寄存器(IR)

IR是用于寄存指令碼,與數(shù)據(jù)寄存器數(shù)據(jù)相對應。當D/I=0時,在E信號下降沿的作用下,指令碼寫入IR。2.數(shù)據(jù)寄存器(DR)

DR是用于寄存數(shù)據(jù)的,與指令寄存器寄存指令相對應。當D/I=1時,在下降沿作用下,圖形顯示數(shù)據(jù)寫入DR,或在E信號高電平作用下由DR讀到DB7∽DB0數(shù)據(jù)總線。DR和DDRAM之間的數(shù)據(jù)傳輸是模塊內(nèi)部自動執(zhí)行的。3.忙標志:BF

BF標志提供內(nèi)部工作情況。BF=1表示模塊在內(nèi)部操作,此時模塊不接受外部指令和數(shù)據(jù)。BF=0時,模塊為準備狀態(tài),隨時可接受外部指令和數(shù)據(jù)。

利用STATUSREAD指令,可以將BF讀到DB7總線,從檢驗模塊之工作狀態(tài)。4.顯示控制觸發(fā)器DFF

此觸發(fā)器是用于模塊屏幕顯示開和關的控制。DFF=1為開顯示(DISPLAYOFF),DDRAM的內(nèi)容就顯示在屏幕上,DFF=0為關顯示(DISPLAYOFF)。

DDF的狀態(tài)是指令DISPLAYON/OFF和RST信號控制的。5.XY地址計數(shù)器

XY地址計數(shù)器是一個9位計數(shù)器。高3位是X地址計數(shù)器,低6位為Y地址計數(shù)器,XY地址計數(shù)器實際上是作為DDRAM的地址指針,X地址計數(shù)器為DDRAM的頁指針,Y地址計數(shù)器為DDRAM的Y地址指針。

X地址計數(shù)器是沒有記數(shù)功能的,只能用指令設置。

Y地址計數(shù)器具有循環(huán)記數(shù)功能,各顯示數(shù)據(jù)寫入后,Y地址自動加1,Y地址指針從0到63。6.顯示數(shù)據(jù)RAM(DDRAM)

DDRAM是存儲圖形顯示數(shù)據(jù)的。數(shù)據(jù)為1表示顯示選擇,數(shù)據(jù)為0表示顯示非選擇。DDRAM與地址和顯示位置的關系見DDRAM地址表。7.Z地址計數(shù)器

Z地址計數(shù)器是一個6位計數(shù)器,此計數(shù)器具備循環(huán)記數(shù)功能,它是用于顯示行掃描同步。當一行掃描完成,此地址計數(shù)器自動加1,指向下一行掃描數(shù)據(jù),RST復位后Z地址計數(shù)器為0。

Z地址計數(shù)器可以用指令DISPLAYSTARTLINE預置。因此,顯示屏幕的起始行就由此指令控制,即DDRAM的數(shù)據(jù)從哪一行開始顯示在屏幕的第一行。此模塊的DDRAM共64行,屏幕可以循環(huán)滾動顯示64行。12864LCD的指令系統(tǒng)及時序

該類液晶顯示模塊(即KS0108B及其兼容控制驅(qū)動器)的指令系統(tǒng)比較簡單,總共只有七種。其指令表如表2所示:指令名稱控制信號控制代碼R/WRSDB7DB6DB5DB4DB3DB2DB1DB0顯示開關0000111111/0顯示起始行設置0011XXXXXX頁設置0010111XXX列地址設置0001XXXXXX讀狀態(tài)10BUSY0ON/OFFRST0000寫數(shù)據(jù)01寫數(shù)據(jù)讀數(shù)據(jù)11讀數(shù)據(jù)表2:12864LCD指令表各功能指令分別介紹如下。顯示開/關指令R/WRSDB7DB6DB5DB4DB3DB2DB1DB00000111111/0當DB0=1時,LCD顯示RAM中的內(nèi)容;DB0=0時,關閉顯示。2、顯示起始行(ROW)設置指令R/WRSDB7DB6DB5DB4DB3DB2DB1DB00011顯示起始行(0~63)該指令設置了對應液晶屏最上一行的顯示RAM的行號,有規(guī)律地改變顯示起始行,可以使LCD實現(xiàn)顯示滾屏的效果。3、頁(PAGE)設置指令R/WRSDB7DB6DB5DB4DB3DB2DB1DB00010111頁號(0~7)顯示RAM共64行,分8頁,每頁8行。4、列地址(YAddress)設置指令R/WRSDB7DB6DB5DB4DB3DB2DB1DB00001顯示列地址(0~63)設置了頁地址和列地址,就唯一確定了顯示RAM中的一個單元,這樣MPU就可以用讀、寫指令讀出該單元中的內(nèi)容或向該單元寫進一個字節(jié)數(shù)據(jù)。5、讀狀態(tài)指令R/WRSDB7DB6DB5DB4DB3DB2DB1DB010BUSY0ON/OFFREST0000該指令用來查詢液晶顯示模塊內(nèi)部控制器的狀態(tài),各參量含義如下:BUSY:1-內(nèi)部在工作0-正常狀態(tài)ON/OFF:1-顯示關閉0-顯示打開RESET:1-復位狀態(tài)0-正常狀態(tài)在BUSY和RESET狀態(tài)時,除讀狀態(tài)指令外,其它指令均不對液晶顯示模塊產(chǎn)生作用。在對液晶顯示模塊操作之前要查詢BUSY狀態(tài),以確定是否可以對液晶顯示模塊進行操作。6、寫數(shù)據(jù)指令R/WRSDB7DB6DB5DB4DB3DB2DB1DB001寫數(shù)據(jù)讀數(shù)據(jù)指令R/WRSDB7DB6DB5DB4DB3DB2DB1DB011讀顯示數(shù)據(jù)

讀、寫數(shù)據(jù)指令每執(zhí)行完一次讀、寫操作,列地址就自動增一。必須注意的是,進行讀操作之前,必須有一次空讀操作,緊接著再讀才會讀出所要讀的單元中的數(shù)據(jù)。(4-2)4.3鍵盤輸入的設計AT89C51單片機鍵盤接口電路。按鍵識別就是判斷閉合鍵的鍵代碼(或稱鍵號)。目前常用的方法有兩種,一種是用硬件電路來識別,稱為編碼鍵盤;另一種是利用軟件方法來識別,稱為非編碼鍵盤。非編碼鍵盤是依靠外部的硬件電路和軟件來判別哪一個按鍵閉合。本設計是利用軟件方法來識別按鍵,即非編碼鍵盤。非編碼鍵盤與單片機連接時,常用的方法有兩種,一種是掃描法,另一種是線反轉(zhuǎn)法。本設計采用的是掃描法。鍵輸入流程框圖如圖4.4所示。設計說明:圖4.4鍵輸入程序流程圖

第五章單片機溫度控制系統(tǒng)的調(diào)試單片機控制系統(tǒng)設計完成之后,要對整個系統(tǒng)進行調(diào)試。調(diào)試步驟及內(nèi)容有以下幾點:(1)硬件調(diào)試:包括對元器件的篩選、印刷板的制作、元器件的焊接及試驗等。(2)軟件調(diào)試:主要是在計算機上把各模塊程序分別進行調(diào)試,使其正確無錯。5.1系統(tǒng)的硬件調(diào)試(先說明軟件調(diào)試,再說明在protues中的調(diào)試過程與結(jié)果)硬件調(diào)試是利用開發(fā)系統(tǒng)、基本測試儀器(萬用表、示波器等),通過執(zhí)行開發(fā)系統(tǒng)有關命令或運行適當?shù)臏y試程序(也可以是與硬件有關的部分用戶程度段),檢查用戶系統(tǒng)硬件中存在的故障。步驟如下所示:第一步為目測。單片機應用系統(tǒng)中大部分電路安裝在印制電路板上,因此對每一塊加工好的印制電路板要進行仔細的檢查。檢查它的印制線是否斷線,是否有毛刺,是否與其他印制線或焊盤或過孔粘連,焊盤是否脫落,過孔是否有未金屬化現(xiàn)象等。如印制板無質(zhì)量問題,則將相應的集成電路芯片插座焊接在印制板上,并檢查其焊點是否有毛刺,是否與其他印制線或焊盤或過孔粘連,焊點是否光亮飽滿無虛焊。對單片機應用系統(tǒng)中所用的器件與設備,要仔細核對型號,檢查它們對外連線是否完整無損,特別應檢查電解電容、二極管、三極管以及其他芯片的極性是否有反接或跪腿等情況。通過目測查出的故障應及時排除。第二步為萬用表測試。目測檢查后,可進行萬用表測試。先用萬用表復核目測中認為可疑的連接線或接點,檢查它們的通斷狀態(tài)是否與設計規(guī)定相符。再檢查各種電源線與地線之間是否有短接現(xiàn)象,如有再仔細檢查并排除,且一定要在集成電路芯片安裝并上電之前排除。如果電源與地線之間短路,系統(tǒng)中的印制板、器件或使用的設備都可能被損壞,后果十分嚴重。所以,對電源與地線的處理,在整個系統(tǒng)調(diào)試過程中都要謹慎操作。如果有集成電路芯片性能測試儀器,應盡可能地將要使用的芯片進行測試篩選,其它的器件、設備在購買或使用前也應盡可能做必要的測試,以便將性能可靠的器件、設備用于系統(tǒng)安裝。第三步為加電檢查。加電檢查一定要在目測檢查和用萬用表檢查沒有故障的前提下才能進行。在沒加電狀態(tài)下將芯片逐個插入印制板上的相應插座上,每插入一個芯片就檢查一遍所有插座或器件的電源端是否有符合要求的電壓值,接地端電壓值是否接近于零,接固定電平的引腳端是否電平正確。且在對芯片、器件的加電過程中,應細心觀察芯片或器件是否出現(xiàn)過火、過熱、變色、冒煙和異味等現(xiàn)象發(fā)生,如出現(xiàn)這些現(xiàn)象,應立即斷電,然后通過目測或用萬用表仔細檢查,找出產(chǎn)生的原因并加以解決,在未找到問題的原因之前絕不可再次盲目加電,以免造成更大的損失。此外,也可以在加電期間,通過給邏輯功能簡單的芯片加載固定輸入電平,用萬用表測量其輸出電平的方法來判斷該芯片的好壞。如將反相器的輸入端接地,其輸出端是否為高點平,否則,該反相器有問題。第四步是聯(lián)機檢查。因為只有用單片機開發(fā)系統(tǒng)才能完成對用戶系統(tǒng)的測試,而動態(tài)調(diào)試也需要在聯(lián)機仿真的情況下進行。因此,在靜態(tài)檢查印制板、連接、器件等部分無物理性故障且一切電源電壓正常后,即可將用戶系統(tǒng)與單片機開發(fā)系統(tǒng)用仿真電纜連接起來。聯(lián)機檢查上述接線是否正確、暢通、可靠。第五步是聯(lián)機調(diào)試。首先按邏輯功能將用戶系統(tǒng)硬件電路分為若干模塊,如程序存儲器電路、輸入輸出電路和顯示電路等模塊進行單獨調(diào)試。且調(diào)試某模塊時,將整個電路板中與該模塊無關的器件全部拔除,這樣基本上可將故障范圍限定在某個局部的電路上。當各獨立電路模塊調(diào)試無故障后,然后逐步將接近的相關模塊加入到應用系統(tǒng)中,并每加入一個模塊后再對各模塊功能進行調(diào)試,若在這個過程中出現(xiàn)故障,則基本上是各電路模塊協(xié)調(diào)關系上出了問題,如交互信號的聯(lián)絡、時序是否達到要求等。這種調(diào)試是直到所有電路加入應用系統(tǒng)中后各功能模塊仍能正常穩(wěn)定工作為止,由分到合的調(diào)試即告完成[3]。在系統(tǒng)調(diào)試階段首先進行硬件調(diào)試,當然在進行硬件調(diào)試時需要一定的相關測試軟件配合才能很好地進行。硬件調(diào)試一般包括對擴展數(shù)據(jù)存儲器(RAM)、程序存儲器(ROM)、譯碼電路以及晶振與復位電路的調(diào)試。在本系統(tǒng)中因還有鍵盤與顯示電路,因此還包括這部分電路的調(diào)試。數(shù)據(jù)存儲器的調(diào)試常采用寫入讀出并比較的方法來調(diào)試;在本系統(tǒng)中因選用的單片機AT89C51內(nèi)部帶有4KBFlash的程序存儲器,只要芯片本身沒問題一般來說是不需要另外調(diào)試程序存儲器的;對譯碼電路的調(diào)試是通過運行循環(huán)檢測程序來進行的;對于鍵盤與顯示電路的調(diào)試相對而言比較直觀,可以通過按鍵循環(huán)和顯示按鍵字符的方式來調(diào)試;對于晶振與復位電路等的調(diào)試可以通過觀測其能否產(chǎn)生所需的正常信號以確定其工作是否正常。5.2系統(tǒng)的軟件調(diào)試軟件調(diào)試是通過對用戶程序的匯編、連接和執(zhí)行來發(fā)現(xiàn)程序中存在的語法錯誤與邏輯錯誤,并加以排除糾正的過程。軟件調(diào)試的方法一般是先獨立后聯(lián)機、先分塊后組合、先單步后連續(xù)。(1)先獨立后聯(lián)機從宏觀來說,單片機應用系統(tǒng)中的軟件與硬件是緊密相關、相輔相成的。軟件是硬件的靈魂,沒有軟件最好的硬件也是廢物,系統(tǒng)將不可能工作;但軟件要能很好的運行又必須要以硬件為基礎,沒有相應的硬件支持,軟件的功能便蕩然無存。因此,將軟件和硬件完全孤立開來是不可能的。當然,有部分用戶程序(軟件)與硬件的關聯(lián)度較小,這時可以將功能相對獨立的與硬件關聯(lián)度較小的程度段抽取出來,與硬件設計和調(diào)試同步進行,以提高軟件調(diào)試的速度。與硬件有關部分的軟件調(diào)試同樣采取各功能模塊獨立調(diào)試的方法。當所有功能模塊全部調(diào)試完成后,就可進行系統(tǒng)聯(lián)調(diào)試。在系統(tǒng)聯(lián)調(diào)中,先對依賴于硬件的功能程序模塊進行調(diào)試,然后對與硬件關聯(lián)度較小的部分調(diào)試,最后進行兩大部分程序的有機組合及總調(diào)試。(2)先分塊后組合如果用戶系統(tǒng)規(guī)模較大、任務較多,如果采用籠統(tǒng)的方法從頭至尾調(diào)試,既費時間又不容易進行錯誤定位,所以常規(guī)的調(diào)試方法是分別對與硬件關聯(lián)度大和無關聯(lián)(或關聯(lián)度小)的程序模塊進一步采用分模塊調(diào)試,以提高軟件程序的有效性。在調(diào)試時所劃分的程序模塊應基本上保持與軟件設計時的程序功能模塊或任務一致。除非某些程序功能模塊任務較大而不利于調(diào)試時才將其再細分為若干個子模塊。但應注意,子模塊不應劃分得太細,否則在組合時會容易產(chǎn)生錯誤。每個程序模塊調(diào)試完成后,將相互有關聯(lián)的程序模塊逐一組合起來加以調(diào)試,以解決在程序模塊連接中可能出現(xiàn)的邏輯錯誤。對所有程序模塊的整體組合是在系統(tǒng)聯(lián)調(diào)中進行的。由于各個程序模塊均已通過調(diào)試說明以基本排除內(nèi)部錯誤,所以總體聯(lián)調(diào)時程序的錯誤就大大減少,因而調(diào)試成功的可能性也就大大提高了。(3)先單步后連續(xù)調(diào)試好程序模塊的關鍵是實現(xiàn)對錯誤的正確定位及正確的修改。準確發(fā)現(xiàn)程序(或硬件電路)中錯誤的最有效的方法是采用單步或斷點運行方式調(diào)試程序。單步運行可以了解被調(diào)試程序中每條指令的執(zhí)行情況及程序運行中間結(jié)果,這樣就可很容易發(fā)現(xiàn)程序設計的錯誤,從而排除錯誤。但是,如果對所有需調(diào)試的程序都以單步運行方式來查找錯誤的話,實在是一件既費時又費力的工作,而且對于一個有經(jīng)驗的軟件設計人員來說,其程序設計錯誤率一般較低,所以為了提高調(diào)試效率,一般采取先使用斷點運行方式以查看程序運行中間結(jié)果,將程序故障定位在一個較小的范圍內(nèi),然后針對故障程序段再使用單步運行調(diào)試方法來精確定位錯誤所在,這樣就可以做到調(diào)試的快捷和準確。一般情況下,即使在單步運行調(diào)試中無錯誤,最后也要連續(xù)運行調(diào)試,以防止某些錯誤在單步運行調(diào)試時被掩蓋。有些實時性操作(如中斷等)利用單步運行調(diào)試無法完成調(diào)試工作,必須采取連續(xù)運行方法來調(diào)試。為了準確地對錯誤進行定位,可使用連續(xù)加斷點運行方式來調(diào)試這類程序,即利用斷點來一步步縮小故障范圍,直至最終確定出錯誤位置并加以排除[3]。因為選擇了與MCS-51單片機兼容的AT89C51單片機作為核心控制器,所以在選擇開發(fā)工具時應選擇能開發(fā)MCS-51系列單片機的開發(fā)系統(tǒng),為此本設計選擇了KeiluVision3列開發(fā)系統(tǒng),該開發(fā)系統(tǒng)是集仿真器、邏輯分析儀、跟蹤器、邏輯筆、波形發(fā)生器、影子存儲器、代碼覆蓋、計時器、程序時效分析、數(shù)據(jù)時效分析、硬件測試儀和事件觸發(fā)器等功能的通用仿真器。該開發(fā)系統(tǒng)具有較好的開發(fā)調(diào)試環(huán)境,可以進行匯編語言程序調(diào)試。該單片機溫度控制系統(tǒng)軟件采用匯編語言編寫,這樣就要求開發(fā)系統(tǒng)具備匯編語言程序調(diào)試的能力。圖4.1所示為該單片機溫度控制系統(tǒng)軟件主程序流程圖。一般計算或事務性處理程序可通過單步或斷點運行方式進行調(diào)試,而通信或I/O實時處理程序必須采用全速斷點或全速連續(xù)運行方式進行調(diào)試。因為通信或?qū)崟r事件的發(fā)生可能是隨機的、連續(xù)不斷的,若用單步調(diào)試可能會丟失數(shù)據(jù)或不能及時響應實時事件。由于該單片機溫度控制系統(tǒng)軟件中含有A/D中斷程序和鍵盤中斷處理程序,所以對這部分程序的調(diào)試應采用全速斷點和全速連續(xù)方式來調(diào)試。而PID算法程序可通過單步或斷點運行方式調(diào)試。第六章結(jié)論6.1論文總結(jié)目前,單片機以其高可靠性、高性能價格比,在工業(yè)控制系統(tǒng)、數(shù)據(jù)采集系統(tǒng)、智能化儀器儀表、辦公自動化等諸多領域得到極為廣泛的應用,并已走入家庭,從洗衣機、微波爐到音響、汽車,到處可見單片機的蹤影。因此,單片機技術開發(fā)和應

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論