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

下載本文檔

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

文檔簡介

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

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

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

第三章出租車計費(fèi)系統(tǒng)的硬件設(shè)計3.1系統(tǒng)主要芯片簡介3.1.1AT89C51簡介AT89C51單片機(jī)是Atmel公司制造的采用4KBFlash存儲器為內(nèi)部程序存儲器的單片微機(jī)。Flash存儲器是一種可電擦除式EPROM,使用燒錄器,可立即將內(nèi)部程序清除完畢,且可重復(fù)清除、燒錄1000次以上,因其省時、方便、性能價格比高,一經(jīng)推出,即得到廣泛應(yīng)用。AT89C51單片機(jī)與Intel80C51單片機(jī)在引腳排列、工作特性、硬件組成、指令系統(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,是低電壓單片機(jī);·最高工作頻率為24HMz[6];圖3.1為PDIP封裝的引腳排列圖。圖3.1AT89C51引腳排列圖3.1.2A44E簡介

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

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

圖3

A44E霍爾傳感器原理

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

圖4傳感器測距示意圖

3.1.3LCD128x64簡介LCD12864是一種具有4位/8位并行、2線或3線串行多種接口方式,內(nèi)部含有國標(biāo)一級、二級簡體中文字庫的點陣圖形液晶顯示模塊;其顯示分辨率為128×64,內(nèi)置8192個16*16點漢字,和128個16*8點ASCII字符集.利用該模塊靈活的接口方式和簡單、方便的操作指令,可構(gòu)成全中文人機(jī)交互圖形界面。可以顯示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)換電路,無需外加負(fù)壓

無需片選信號,簡化軟件設(shè)計

工作溫度: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復(fù)位端,低電平有效(見注釋2)18VOUT-LCD驅(qū)動電壓輸出端19AVDD背光源正端(+5V)(見注釋3)20KVSS背光源負(fù)端(見注釋3)*注釋1:如在實際應(yīng)用中僅使用并口通訊模式,可將PSB接固定高電平,也可以將模塊上的J8和“VCC”用焊錫短接。*注釋2:模塊內(nèi)部接有上電復(fù)位電路,因此在不需要經(jīng)常復(fù)位的場合可將該端懸空。*注釋3:如背光和模塊共用一個電源,可以將模塊上的JA、JK用焊錫短接。

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

RSR/W功能說明LLMPU寫指令到指令暫存器(IR)LH讀出忙標(biāo)志(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進(jìn)行寫數(shù)據(jù)或指令高DR——>I/O緩沖配合R進(jìn)行讀數(shù)據(jù)或指令低/低——>高無動作

●忙標(biāo)志:BFBF標(biāo)志提供內(nèi)部工作情況.BF=1表示模塊在進(jìn)行內(nèi)部操作,此時模塊不接受外部指令和數(shù)據(jù).BF=0時,模塊為準(zhǔn)備狀態(tài),隨時可接受外部指令和數(shù)據(jù).利用STATUSRD指令,可以將BF讀到DB7總線,從而檢驗?zāi)K之工作狀態(tài).●字型產(chǎn)生ROM(CGROM)字型產(chǎn)生ROM(CGROM)提供8192個此觸發(fā)器是用于模塊屏幕顯示開和關(guān)的控制。DFF=1為開顯示(DISPLAYON),DDRAM的內(nèi)容就顯示在屏幕上,DFF=0為關(guān)顯示(DISPLAYOFF)。DFF的狀態(tài)是指令DISPLAYON/OFF和RST信號控制的。●顯示數(shù)據(jù)RAM(DDRAM)模塊內(nèi)部顯示數(shù)據(jù)RAM提供64×2個位元組的空間,最多可控制4行16字(64個字)的中文字型顯示,當(dāng)寫入顯示數(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之一的地址,它可由設(shè)定指令暫存器來改變,之后只要讀取或是寫入DDRAM/CGRAM的值時,地址計數(shù)器的值就會自動加一,當(dāng)RS為“0”時而R/W為“1”時,地址計數(shù)器的值會被讀取到DB6——DB0中。●

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

在數(shù)字電路中,所有的數(shù)據(jù)都是以0和1保存的,對LCD控制器進(jìn)行不同的數(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)子電路設(shè)計計費(fèi)器系統(tǒng)采用AT89C51單片機(jī),由主電路、鍵盤模塊、顯示模塊、電源模塊及脈沖輸入模塊組成圖5硬件原理圖3.2.1輸入模塊的設(shè)計本系統(tǒng)選擇了將A44E的脈沖輸出口接到P3.3口外部中斷1作為信號的輸入端(這樣可以減少程序設(shè)計的麻煩),車輪每轉(zhuǎn)一圈(設(shè)車輪的周長是1米),霍爾開關(guān)就檢測并輸出信號,引起單片機(jī)的中斷,對脈沖計數(shù),當(dāng)計數(shù)達(dá)到1000次時,即1公里,單片機(jī)就控制將金額自動增加,如圖5。

圖5

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

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

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

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

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

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

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

此觸發(fā)器是用于模塊屏幕顯示開和關(guān)的控制。DFF=1為開顯示(DISPLAYOFF),DDRAM的內(nèi)容就顯示在屏幕上,DFF=0為關(guān)顯示(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ù)功能的,只能用指令設(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與地址和顯示位置的關(guān)系見DDRAM地址表。7.Z地址計數(shù)器

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

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

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

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

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

溫馨提示

  • 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

提交評論