【基于單片機(jī)的轉(zhuǎn)速表設(shè)計(jì)20000字(論文)】_第1頁(yè)
【基于單片機(jī)的轉(zhuǎn)速表設(shè)計(jì)20000字(論文)】_第2頁(yè)
【基于單片機(jī)的轉(zhuǎn)速表設(shè)計(jì)20000字(論文)】_第3頁(yè)
【基于單片機(jī)的轉(zhuǎn)速表設(shè)計(jì)20000字(論文)】_第4頁(yè)
【基于單片機(jī)的轉(zhuǎn)速表設(shè)計(jì)20000字(論文)】_第5頁(yè)
已閱讀5頁(yè),還剩38頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

基于單片機(jī)的轉(zhuǎn)速表設(shè)計(jì)摘要本設(shè)計(jì)主要研究以單片機(jī)為核心的電子式轉(zhuǎn)速表,此次設(shè)計(jì)可以比較簡(jiǎn)潔的實(shí)現(xiàn)汽車速度、行駛里程的測(cè)量和顯示,它使用起來(lái)相當(dāng)方便,并且它具有很多優(yōu)點(diǎn),比如精度高、量程寬、靈敏度高、體積小、功耗低等,它對(duì)我們?nèi)粘I詈推嚿a(chǎn)業(yè)的發(fā)展起到了重要作用,它還可以被當(dāng)作測(cè)速處理模塊鑲?cè)肫渌到y(tǒng)中,作為其他主系統(tǒng)的輔助擴(kuò)展?;魻杺鞲衅髋cSTC89C52系列單片機(jī)結(jié)合實(shí)現(xiàn)最簡(jiǎn)的測(cè)速系統(tǒng),該系統(tǒng)具有結(jié)構(gòu)簡(jiǎn)單、抗干擾能力強(qiáng)等特點(diǎn),可以適合于惡劣環(huán)境下進(jìn)行速度里程測(cè)量,有廣泛的應(yīng)用前景。關(guān)鍵詞:里程/速度;霍爾元件;單片機(jī)目錄TOC\o"1-3"\h\u6214第一章前言 127172第二章系統(tǒng)總體方案設(shè)計(jì) 126102第一節(jié)任務(wù)分析與實(shí)現(xiàn) 13951第二節(jié)轉(zhuǎn)速表硬件設(shè)計(jì) 110403第三節(jié)轉(zhuǎn)速表軟件設(shè)計(jì) 35852第三章轉(zhuǎn)速表硬件電路設(shè)計(jì) 128328第一節(jié)概述 120496第二節(jié)傳感器及其測(cè)量系統(tǒng) 116608第三節(jié)單片機(jī)概況 3264第四節(jié)單片機(jī)外圍電路設(shè)計(jì) 1121438第四章轉(zhuǎn)速表軟件程序設(shè)計(jì) 18321第一節(jié)概述 1810805第二節(jié)總體程序設(shè)計(jì) 1829583第三節(jié)中斷子程序設(shè)計(jì) 20211第四節(jié)數(shù)據(jù)處理子程序設(shè)計(jì) 2115168第五節(jié)顯示子程序設(shè)計(jì) 2219131第五章系統(tǒng)仿真與調(diào)試 2428602第六章實(shí)物介紹及演示 2627070結(jié)論 112075參考文獻(xiàn) 126254附錄1 329749附錄2 4前言轉(zhuǎn)速表在我們的生活中出現(xiàn)的很普遍,我們所接觸到的傳統(tǒng)的汽車轉(zhuǎn)速表有兩個(gè)功能他們分別是:一個(gè)是顯示汽車行駛過(guò)程中的的瞬時(shí)速度,它通過(guò)儀表盤上的指針來(lái)顯現(xiàn)出來(lái),另一個(gè)是記錄汽車機(jī)械計(jì)數(shù)的方式,記錄汽車?yán)塾?jì)行駛過(guò)的路程。隨著社會(huì)的發(fā)展,我們生活質(zhì)量的提高,現(xiàn)在生活節(jié)奏的加快,汽車也向高速化方向發(fā)展,車速在逐步提高,而用軟軸驅(qū)動(dòng)的傳統(tǒng)的轉(zhuǎn)速表慢慢顯得落后,正在面臨著很大的挑戰(zhàn)。主要因?yàn)樵诟咚傩D(zhuǎn)中,軟軸受到鋼絲交變應(yīng)力極限的限制容易發(fā)生斷裂。同時(shí),軟軸布置過(guò)長(zhǎng)會(huì)出現(xiàn)運(yùn)動(dòng)減緩或形變過(guò)大等現(xiàn)象,而且在不同車型中轉(zhuǎn)速表的安裝位置也會(huì)受到軟軸長(zhǎng)度、彎曲度的極限的影響。綜上所述,用電子式傳感器控制的電子式轉(zhuǎn)速表在現(xiàn)代生活中得到了很好的發(fā)展,前景光明。系統(tǒng)總體方案設(shè)計(jì)任務(wù)分析與實(shí)現(xiàn)本文的設(shè)計(jì)任務(wù)為:以單片機(jī)控制原理為基礎(chǔ),采用霍爾傳感器與其它控制器構(gòu)建出一個(gè)車輪旋轉(zhuǎn)頻率監(jiān)測(cè)模塊,并通過(guò)將脈沖信號(hào)轉(zhuǎn)換為單片機(jī)能夠識(shí)別的數(shù)字信號(hào),然后通過(guò)單片機(jī)將這些信號(hào)的再次轉(zhuǎn)換為L(zhǎng)CD顯示模塊能夠識(shí)別的信號(hào),顯示給用戶。本文的設(shè)計(jì)思路為:首先將車輪的輪徑定義為L(zhǎng),并假設(shè)車輪上裝配有磁鐵塊m個(gè),傳感器監(jiān)測(cè)出的里程參數(shù)誤差范圍用L/m表示,通過(guò)分析,本次設(shè)計(jì)中把m值取為2,由此,當(dāng)轉(zhuǎn)輪每轉(zhuǎn)一圈將會(huì)采集到兩個(gè)信號(hào),此時(shí)霍爾傳感器會(huì)主動(dòng)將這兩個(gè)信號(hào)轉(zhuǎn)換為脈沖信號(hào),并通過(guò)P3.2引腳將脈沖信號(hào)傳送給單片機(jī),在每完成一個(gè)脈沖信號(hào)的傳輸,就意味著對(duì)系統(tǒng)狀態(tài)的一次沖斷過(guò)程結(jié)束,在兩個(gè)沖斷過(guò)程結(jié)束后,即表示車輪完成了一周的旋轉(zhuǎn),2n表示沖斷兩次,沖斷過(guò)程中的車輪行程為2nL。車輪每完成一圈周轉(zhuǎn)后,計(jì)數(shù)器會(huì)完成一個(gè)計(jì)時(shí)過(guò)程,時(shí)間表示符號(hào)為t。據(jù)此可以得出汽車瞬時(shí)速度的計(jì)算公式,并完成對(duì)瞬時(shí)速度v的求解。設(shè)有超速報(bào)警系統(tǒng),一旦汽車的行駛速度超出預(yù)警值,系統(tǒng)就會(huì)立即激活報(bào)警系統(tǒng),并發(fā)出提示信號(hào),此時(shí)信號(hào)燈會(huì)持續(xù)閃爍。各項(xiàng)標(biāo)準(zhǔn)指標(biāo)的實(shí)現(xiàn)方法為:1.轉(zhuǎn)速表中的數(shù)字每變動(dòng)一次就會(huì)產(chǎn)生一個(gè)霍爾脈沖信號(hào)。2.計(jì)算脈沖信號(hào)在單位時(shí)間內(nèi)的產(chǎn)生數(shù)量。 實(shí)現(xiàn)過(guò)程:霍爾傳感器的脈沖信號(hào)的計(jì)算參考值為單片機(jī)中的計(jì)數(shù)器T1所計(jì)算出的信號(hào)時(shí)序。3.處理相關(guān)數(shù)據(jù),采用LCD模塊將行駛的總里程數(shù)與瞬時(shí)狀態(tài)下的速度參數(shù)顯示出來(lái)。實(shí)現(xiàn):采用編程軟件將計(jì)算得出的數(shù)據(jù)進(jìn)行轉(zhuǎn)化,即可得出目標(biāo)數(shù)值。目標(biāo):使轉(zhuǎn)速表能夠顯示自行車的行駛速度與里程數(shù)。在單片機(jī)微系統(tǒng)的控制下,可以進(jìn)行里程數(shù)與行駛速度的監(jiān)測(cè),并將相關(guān)數(shù)值顯示在顯示模塊中。轉(zhuǎn)速表硬件設(shè)計(jì)速度監(jiān)測(cè):首先要完成參數(shù)的采樣過(guò)程,并借助單片機(jī)組件中的傳感器來(lái)實(shí)現(xiàn)對(duì)速度的動(dòng)態(tài)監(jiān)測(cè),脈沖計(jì)數(shù)法算是比較簡(jiǎn)單的一種方法。通過(guò)轉(zhuǎn)軸的旋轉(zhuǎn)產(chǎn)生的脈沖送入單片機(jī)進(jìn)行計(jì)算,轉(zhuǎn)軸每旋轉(zhuǎn)一周,產(chǎn)生一個(gè)或固定的多個(gè)脈沖,由此可得出實(shí)時(shí)的轉(zhuǎn)速值。使用較多的測(cè)速軟件為:霍爾傳感器、光電傳感器、光電編碼器。其中,里程值的測(cè)量會(huì)用到傳感器中的多種方案,具體為:第一種是基于光敏電阻值對(duì)電流強(qiáng)度經(jīng)常測(cè)量的里程測(cè)量方案。第二種是基于編碼器測(cè)量技術(shù)的輪圈測(cè)量方案。第三種是基于霍爾傳感器的行駛距離測(cè)量方案。第四種是基于干簧管傳感器的行駛里程測(cè)量方案。光敏電阻在強(qiáng)光照射下會(huì)產(chǎn)生較大誤差,尤其是在日光照射較強(qiáng)的環(huán)境下行駛時(shí),外界光源會(huì)對(duì)光敏電阻的信號(hào)測(cè)量產(chǎn)生干擾。同時(shí)光敏電阻還懼怕你傻與灰塵的覆蓋,一旦光敏或者發(fā)光二極管被遮擋,其測(cè)量的偏差范圍就會(huì)迅速擴(kuò)大,甚至無(wú)法繼續(xù)進(jìn)行測(cè)量;編碼器的安裝位置集中在車軸上,安裝的流程較多,操作比較復(fù)雜;而霍爾傳感器與干簧管對(duì)天氣、溫度、濕度、泥沙、灰塵等方面的抗干擾能力較強(qiáng),切安裝效率較高。因此,本文在對(duì)電子轉(zhuǎn)速表與速度表進(jìn)行設(shè)計(jì)的過(guò)程中,選擇采用霍爾傳感器作為測(cè)量器件。車輪的輪盤上設(shè)計(jì)有多個(gè)磁鐵,前叉是霍爾傳感器安裝的主要位置,在車子轉(zhuǎn)動(dòng)的過(guò)程中,,霍爾元件靠近固定住的磁鐵就會(huì)產(chǎn)生信號(hào)并且輸出,轉(zhuǎn)軸不停旋轉(zhuǎn)時(shí)產(chǎn)生的脈沖信號(hào)將會(huì)不斷輸出。一個(gè)磁鐵就會(huì)有一個(gè)輸出信號(hào),多個(gè)磁鐵就會(huì)獲得多個(gè)脈沖的輸出。由此簡(jiǎn)單的結(jié)構(gòu)可使霍爾傳感器獲得脈沖信號(hào)?;魻杺鞲衅鲗?duì)磁場(chǎng)的方向比較敏感,在粘貼磁鐵時(shí)要多加注意,粘貼前可用手持磁鐵在霍爾傳感器較緊的位置接觸一下,以檢查轉(zhuǎn)速表是否會(huì)顯示數(shù)值,如果沒(méi)有顯示,應(yīng)調(diào)換磁極進(jìn)行再次測(cè)試,有信號(hào)輸出再進(jìn)行粘貼?;魻杺鞲衅鲗?duì)磁性的感應(yīng)非常敏銳,是一種高性能的傳感元件。常見的型號(hào)為A44E型,這種型號(hào)的傳感器中具有三個(gè)外接引腳,在結(jié)構(gòu)上與三極管非常詳實(shí),其中一個(gè)引腳可以作為接地電源使用,在工況狀態(tài)下,傳感器的工作電壓具有較廣的范圍,性能非常穩(wěn)定,結(jié)構(gòu)形態(tài)見下圖所示:1-電源引腳(Vcc)2-信號(hào)接收引腳(GND)3-信號(hào)輸出引腳(OUT)圖2-1A44E型傳感器結(jié)構(gòu)圖單片機(jī)中的數(shù)據(jù)處理器與存儲(chǔ)器,以及各個(gè)接口都集中在統(tǒng)一的芯片中,這對(duì)控制功能的優(yōu)化提供了極大的便利,使其具有諸多的優(yōu)點(diǎn):1.結(jié)構(gòu)簡(jiǎn)單、體積較小、運(yùn)行效率高。2.功耗系數(shù)低、抗電磁干擾性能強(qiáng)。3.控制精度高、成本較低、穩(wěn)定性強(qiáng)。4.電路結(jié)構(gòu)簡(jiǎn)單、線路結(jié)構(gòu)清晰。5.幾乎所有的數(shù)據(jù)都是由單片機(jī)負(fù)責(zé)傳接?;趩纹瑱C(jī)的設(shè)備在人們的日常生活中比較常見,如:測(cè)控系統(tǒng)、智能化儀表、遙控器、一體化機(jī)電產(chǎn)品、電冰箱、汽車儀表、航空電子設(shè)備等。本文在設(shè)計(jì)中選擇的單片機(jī)型號(hào)為STC89C52,下圖2-2為本次設(shè)計(jì)的總體框架。外界信號(hào)外界信號(hào)傳感器接收數(shù)據(jù)存儲(chǔ)器STC89C52單片機(jī)顯示監(jiān)測(cè)值顯示速度值超標(biāo)預(yù)警圖2-2總體框架圖轉(zhuǎn)速表軟件設(shè)計(jì)單片機(jī)的主要特點(diǎn)和優(yōu)點(diǎn)是通過(guò)用軟件控制單片機(jī)的功能,程序的設(shè)計(jì)要考慮到是否合理和可讀,設(shè)計(jì)的原則為:按照由上至下的順序來(lái)確保模塊化功能的完整性,確保程序的數(shù)據(jù)接發(fā)效率與處理質(zhì)量。軟件部分的設(shè)計(jì)主要是對(duì)控制機(jī)構(gòu)的子程序、里程計(jì)算程序、延遲監(jiān)測(cè)程序、服務(wù)啟停程序、顯示程序等方面的數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)。其中,中斷子程序主要是通過(guò)對(duì)傳感器信號(hào)的初始化,來(lái)暫停傳感器的工作狀態(tài)。數(shù)據(jù)處理程序主要是通過(guò)調(diào)用編程軟件來(lái)動(dòng)態(tài)編寫顯示數(shù)值,并將這些信號(hào)傳輸給單片機(jī),使其將數(shù)字信號(hào)轉(zhuǎn)換為脈沖控制信號(hào),最后通過(guò)對(duì)監(jiān)測(cè)數(shù)值與脈沖信號(hào)之間的相關(guān)性,來(lái)找出需要顯示的數(shù)值。顯示子程序主要負(fù)責(zé)為顯示模塊提供數(shù)據(jù)處理服務(wù),其提供的數(shù)據(jù)都會(huì)在顯示模塊中直接顯示出來(lái)。系統(tǒng)軟件的交互流程與設(shè)計(jì)結(jié)構(gòu)見下圖所示:初始化初始化P3.0=1?里程參數(shù)計(jì)算顯示計(jì)算結(jié)果計(jì)算測(cè)量的速度顯示計(jì)算的速度值N開始圖2-3軟件總體流程圖轉(zhuǎn)速表硬件電路設(shè)計(jì)概述在設(shè)計(jì)完速度轉(zhuǎn)速表的硬件結(jié)構(gòu)后,要想使其能夠進(jìn)入運(yùn)行狀態(tài),就必須對(duì)其電路結(jié)構(gòu)進(jìn)行設(shè)計(jì)。電路的設(shè)計(jì)內(nèi)容主要為:信號(hào)捕獲線路設(shè)計(jì)、信號(hào)放大電路設(shè)計(jì)、信號(hào)處理電路設(shè)計(jì)、顯示電路設(shè)計(jì)等,傳感器和單片機(jī)是該設(shè)計(jì)的主要的兩大器件。傳感器主要負(fù)責(zé)在行駛狀態(tài)下采集活動(dòng)信息,是整個(gè)轉(zhuǎn)速表中的核心器件,其采集到的信息對(duì)整個(gè)設(shè)備的運(yùn)行具有重要的支撐作用。磁傳感器主要負(fù)責(zé)將電磁信號(hào)轉(zhuǎn)變?yōu)殡娦盘?hào),是信號(hào)轉(zhuǎn)換的重要裝置。隨著科學(xué)技術(shù)的不斷進(jìn)步,各種信息化產(chǎn)業(yè)與工業(yè)產(chǎn)業(yè)以更快的速度朝著自動(dòng)化與智能化的方向發(fā)展,而傳感器在其中具有核心的應(yīng)用地位,其通過(guò)將各種數(shù)據(jù)信號(hào)轉(zhuǎn)換為計(jì)算機(jī)能夠識(shí)別和讀取的電信號(hào),為控制系統(tǒng)提供信號(hào)支持,使系統(tǒng)能夠根據(jù)這些信號(hào)來(lái)生成各項(xiàng)指令,實(shí)現(xiàn)精準(zhǔn)控制。作為信號(hào)輸入的重要器件,磁傳感器技術(shù)成為各個(gè)行業(yè)產(chǎn)業(yè)的重要研究對(duì)象,這對(duì)磁傳感器的發(fā)展起到了巨大的促進(jìn)作用,并逐漸形成了以磁傳感器技術(shù)為核心的產(chǎn)業(yè),其中最典型的產(chǎn)品就是霍爾傳感器?,F(xiàn)代系統(tǒng)的自動(dòng)檢測(cè)功能幾乎都是利用霍爾傳感器測(cè)量轉(zhuǎn)速。本節(jié)內(nèi)容主要是對(duì)單片機(jī)控制模組的設(shè)計(jì),單片機(jī)完成信號(hào)采集與處理后,會(huì)將信號(hào)輸出到轉(zhuǎn)速表的數(shù)據(jù)處理程序中,例如:時(shí)鐘程序、數(shù)據(jù)運(yùn)算程序、信息處理程序等。傳感器及其測(cè)量系統(tǒng)本文為轉(zhuǎn)速表選配了霍爾傳感器,該傳感器的優(yōu)點(diǎn)為:結(jié)構(gòu)簡(jiǎn)單、重量較輕、體積小巧、穩(wěn)定性高、精度準(zhǔn)、安裝簡(jiǎn)單、功耗低、抗震性能強(qiáng)、抗灰塵、耐油污、不易腐蝕等。整個(gè)傳感器采用了無(wú)觸點(diǎn)式設(shè)計(jì),在運(yùn)行狀態(tài)下具有極高的穩(wěn)定性,可以始終在相同的精度下工作,最低工作溫度為-55℃,最高為150℃。從霍爾傳感器的功能上可以將其劃分為兩種類型:第一種是不需要任何外部設(shè)備支持的直接應(yīng)用型傳感器;第二種是需要配件輔助才能工作的間接應(yīng)用型傳感器。其中,直接應(yīng)用型主要以通過(guò)對(duì)被監(jiān)測(cè)目標(biāo)的磁場(chǎng)與磁性的變化作為監(jiān)測(cè)的依據(jù),所有監(jiān)測(cè)信息均是以磁場(chǎng)數(shù)據(jù)進(jìn)行表示。這種傳感器能夠?qū)⒏鞣N電磁之外的物理變量轉(zhuǎn)換為力矩信號(hào)、位置信號(hào)、移動(dòng)信號(hào)、轉(zhuǎn)速信號(hào)、角度信號(hào)、轉(zhuǎn)數(shù)信號(hào),進(jìn)而來(lái)完成整個(gè)監(jiān)測(cè)與控制過(guò)程。一、霍爾傳感器測(cè)量原理霍爾傳感器對(duì)電磁信號(hào)與常規(guī)磁信號(hào)比較敏感,主要以霍爾效應(yīng)原理為核心。當(dāng)輸入的電流I位于磁場(chǎng)中的導(dǎo)體或半導(dǎo)體中,且輸入的電流為垂直磁場(chǎng)B,此時(shí)會(huì)在磁場(chǎng)與電流相垂直的方向上產(chǎn)生Uh電勢(shì)差,即霍爾效應(yīng)。傳感器中的元器件體積非常小,組合的結(jié)構(gòu)較為簡(jiǎn)單,具有較大的響應(yīng)帶寬,信號(hào)的傳輸頻率高,監(jiān)測(cè)靈敏度高、監(jiān)測(cè)范圍大、抗干擾性能強(qiáng)、額定工況壽命長(zhǎng)等是其顯著額特點(diǎn),是目前各個(gè)行業(yè)領(lǐng)域常用的傳感器。基于霍爾效應(yīng)的傳感器監(jiān)測(cè)原理見下圖所示:圖3-1霍爾監(jiān)測(cè)原理圖二、集成開關(guān)型霍爾傳感器A44E型傳感器是集成式霍爾傳感器中的典型代表,其內(nèi)部集成了五個(gè)信號(hào)處理電路,具體如圖3-2(a)所示。集成霍爾開關(guān)的三個(gè)引出端點(diǎn)用圖中(1)、(2)、(3)來(lái)表示。加入電壓Vcc在電源端之后,霍爾傳感器中的電勢(shì)轉(zhuǎn)換器兩端的穩(wěn)壓器A會(huì)立即對(duì)電壓進(jìn)行抑制,使其穩(wěn)定在標(biāo)準(zhǔn)范圍。在霍爾效應(yīng)的原理中,如果霍爾片位于磁場(chǎng)的覆蓋范圍,且內(nèi)部接收到的電流會(huì)與磁場(chǎng)相垂直,進(jìn)而會(huì)在兩者之間產(chǎn)生一個(gè)電勢(shì)差值VH,放大器對(duì)電勢(shì)差進(jìn)行放大處理后,會(huì)將其直接傳輸至施密特觸發(fā)器完成方波化整形過(guò)程,然后再將其傳輸至OC端,如果施加的電磁場(chǎng)達(dá)到一定強(qiáng)度,就會(huì)激活觸發(fā)器的運(yùn)行狀態(tài);而觸發(fā)器在運(yùn)行過(guò)程中會(huì)向三極管輸出高電平電流,使其進(jìn)入導(dǎo)通狀態(tài),在完成這一系列的控制與轉(zhuǎn)換后,OC端會(huì)持續(xù)輸出低電平,傳感器即為開啟狀態(tài)。在磁場(chǎng)的強(qiáng)度達(dá)到釋放標(biāo)準(zhǔn)時(shí),觸發(fā)器會(huì)轉(zhuǎn)向低電壓輸出狀態(tài),進(jìn)而階段三極管上的電流輸出,OC即會(huì)轉(zhuǎn)為高電壓輸出狀態(tài),霍爾傳感器隨之進(jìn)入關(guān)停狀態(tài)。每完成兩次電壓變換過(guò)程,霍爾傳感器的開關(guān)狀態(tài)就實(shí)現(xiàn)了一次轉(zhuǎn)換過(guò)程。霍爾傳感器無(wú)論在任何環(huán)境下其釋放點(diǎn)與工作點(diǎn)之間的電勢(shì)差VO都是恒定的,進(jìn)而確保了開關(guān)狀態(tài)轉(zhuǎn)換的穩(wěn)定性。信號(hào)輸出是傳感器的主要特性,輸出的電流強(qiáng)度介于感應(yīng)強(qiáng)度B與電壓VO之間的電勢(shì)差。A44E霍爾開關(guān)是一款單頻穩(wěn)態(tài)傳感器,會(huì)自動(dòng)將采集的數(shù)據(jù)整理為線性數(shù)據(jù),并傳輸給目標(biāo)程序或軟件中。在工作狀態(tài)下,加入5V直流電壓在1、2兩端,并與2k負(fù)載電阻對(duì)接,其輸出通道會(huì)轉(zhuǎn)向第3端口與第1端口,詳情見圖3-3所示:圖3-2A44E型集成傳感器圖3-3集成霍爾開關(guān)線路結(jié)構(gòu)圖單片機(jī)概況一、單片機(jī)原理簡(jiǎn)介單片機(jī)的集成芯片中存儲(chǔ)著微程序,各個(gè)元件的電路均與芯片的引腳相連,從而構(gòu)建了一個(gè)功能完成的獨(dú)立芯片。單片機(jī)的內(nèi)部元件為:CentralProcessingUnit(中央處理器)、RandomAccessMemory(數(shù)據(jù)閃存器)、Read-onlyMemory(只讀時(shí)存儲(chǔ)器)、Input/Output(信號(hào)輸入輸出轉(zhuǎn)換電路)、時(shí)鐘控制器、定時(shí)器、計(jì)數(shù)器等。各個(gè)部件的連接結(jié)構(gòu)見下圖所示:時(shí)鐘電路時(shí)鐘電路關(guān)??刂破鰿PU數(shù)據(jù)存儲(chǔ)器并行I/O口串口I/O口TXD TXDRXDTINTP0-P3圖3-4單片機(jī)的功能結(jié)構(gòu)(一)單片機(jī)主要組成1.CPU中央處理器該元件是單片機(jī)數(shù)據(jù)處理和運(yùn)算的核心部件。2.RAM存儲(chǔ)器單片機(jī)中的RAM主要安裝在集成芯片中,是存儲(chǔ)檢測(cè)數(shù)據(jù)與控制數(shù)據(jù)的關(guān)鍵部件。3.定時(shí)/計(jì)數(shù)器雖然從字面上看兩者為不同的功能,但實(shí)際上屬于一個(gè)完整結(jié)構(gòu),兩者之間都是通過(guò)對(duì)外部事件的計(jì)數(shù),為單片機(jī)提供數(shù)字信號(hào)。4.中斷系統(tǒng)計(jì)算機(jī)中最關(guān)鍵的控制系統(tǒng)即為中斷系統(tǒng),它能應(yīng)對(duì)突發(fā)事件并且進(jìn)行及時(shí)處理作為一種實(shí)時(shí)控制技術(shù)被現(xiàn)代計(jì)算機(jī)系統(tǒng)中被廣泛應(yīng)用,從而使得系統(tǒng)的實(shí)時(shí)大幅增強(qiáng)。5.I/O口I/O口是一個(gè)串行電信號(hào)傳接端口,這種端口最大的優(yōu)點(diǎn)就是成本較低,具有獨(dú)立的信號(hào)傳接通道;但傳輸?shù)男什桓?,只能適用于靜態(tài)顯示。6.并行I/O口該端口上的所有數(shù)據(jù)均采用了統(tǒng)一傳輸?shù)牟呗?,其最大的?yōu)點(diǎn)就是傳輸?shù)男瘦^高,能夠滿足動(dòng)態(tài)顯示需求,但電路結(jié)構(gòu)比較復(fù)雜,成本較高。STC89C是對(duì)傳統(tǒng)8051單片機(jī)改良后得出的一種全新的單片機(jī),傳輸效率較高,功耗非常低,具有極強(qiáng)的抗干擾性能,內(nèi)部集成了8.51單片機(jī)的所有指令代碼,用戶可以在12個(gè)時(shí)鐘周期與機(jī)器周期中任意選擇。(二)單片機(jī)主要特性改進(jìn)后得8.51單片機(jī),具有多個(gè)時(shí)鐘周期與機(jī)器周期供用戶選擇,能夠識(shí)別和兼容傳統(tǒng)8051單片機(jī)的所有程序和代碼。額定電壓:5V單片機(jī)最高5.5V,最低3.3V;3V單片機(jī)介于3.8V~2.0V之間。信號(hào)輸出頻率為:最小0MHz,最大40MHz,普通8051單片機(jī)為0MHz~80MHz,峰值狀態(tài)下頻率能夠達(dá)到48MHz。RAM閃存器最大存儲(chǔ)字節(jié)為8K。內(nèi)部集成了可存儲(chǔ)512字節(jié)的RAM數(shù)據(jù)存儲(chǔ)器自帶32個(gè)I/O口,在復(fù)位狀態(tài)下P1、P2、P3、P4口為弱上拉電流,能夠?qū)崿F(xiàn)信號(hào)的雙向接發(fā),P0口主要負(fù)責(zé)漏極開路信號(hào)的輸出,當(dāng)處于總線擴(kuò)展端口使用時(shí),不用對(duì)電阻進(jìn)行調(diào)整;上拉電阻后,會(huì)轉(zhuǎn)換為I/O口。ISP為系統(tǒng)編程工具、IAP為應(yīng)用編程工具,在沒(méi)有任何編程器與模擬器的支持下,僅需通過(guò)RxD/P3.0和TxD/P3.1口的對(duì)接,即可完成應(yīng)用程序的下載與安裝。自帶EEPROM閃存功能集成了看門狗預(yù)警功能定時(shí)器的數(shù)量為3個(gè),計(jì)數(shù)器為16位通道;定時(shí)器的數(shù)據(jù)端口味T0、T1、T2擴(kuò)張電路為4個(gè),電路中具有4個(gè)外部中斷通道,在下降沿為低電平輸時(shí),會(huì)進(jìn)入電路輸出通道,在PowerDown模式下會(huì)被外部低電平信號(hào)激活。自帶有UART串行端口,能夠在定時(shí)軟件的支持下擴(kuò)展串口數(shù)量。工業(yè)級(jí)在工況狀態(tài)下的環(huán)境溫度適應(yīng)范圍,最低-40℃,最高+85℃,商業(yè)級(jí)最低為0℃,最高為75℃。均采用一體化PDIP封裝工藝制成。工作模式在掉電狀態(tài)下的功耗低于<0.1μA,,被激活后會(huì)立即執(zhí)行初始化程序設(shè)置。在待機(jī)狀態(tài)的功耗僅為2mA。常態(tài)模式下的:最低功耗為4Ma,峰值為7mA在待機(jī)狀態(tài)下隨時(shí)都能夠被外部中斷喚醒。二、單片機(jī)引腳功能說(shuō)明STC89C52單片機(jī)上的引腳機(jī)構(gòu)見圖(3-5)。引腳功能為:VCC電源輸出端的引腳數(shù)量為40個(gè):主要負(fù)責(zé)電源電壓的輸出。VSS端的引腳數(shù)量為20個(gè),均為接地引腳。P0端上的P0.0口~P0.7口分別與39引腳至32引腳相對(duì)應(yīng):P0口具有8個(gè)電源通道,具有I/O雙向輸出功能,任何一個(gè)引腳輸出的電流都能夠作為8個(gè)TTL的驅(qū)動(dòng)電流,當(dāng)端口作為高阻抗輸入,可以對(duì)P0端口寫入“1”。在單片機(jī)與外部程序或存儲(chǔ)器進(jìn)行數(shù)據(jù)交互時(shí),PO端口能夠作為8通道的數(shù)據(jù)傳接線路使用。在這種情況下PO端口上的電阻會(huì)達(dá)到最佳狀態(tài)。在調(diào)用FlashROM中的數(shù)據(jù)進(jìn)行編程時(shí),PO口會(huì)成為字節(jié)接收端,在對(duì)程序進(jìn)行效驗(yàn)時(shí),PO口會(huì)轉(zhuǎn)向字節(jié)輸出端。在對(duì)數(shù)據(jù)或字節(jié)進(jìn)行驗(yàn)證時(shí),端口的電阻會(huì)增加。本文為單片機(jī)設(shè)計(jì)的P0端口與顯示模塊相連,控制顯示器輸出里程及速度。圖3-5STC89C52引腳圖P1口上的引腳數(shù)量為8個(gè),分別對(duì)應(yīng)P1.0~P1.7端口;p1端口中帶有一個(gè)8通道的I/O轉(zhuǎn)換口,端口中輸出的電流能夠?yàn)?個(gè)ttl提供驅(qū)動(dòng)。當(dāng)端口的參數(shù)為1,電阻會(huì)上拉,并輸出高電平信號(hào),成為會(huì)信號(hào)輸入口。由于內(nèi)部電阻被拉高,是的外部低電流引腳會(huì)輸出一個(gè)強(qiáng)電流脈沖信號(hào)。P1.0對(duì)應(yīng)的引腳可以作為時(shí)鐘定時(shí)器與計(jì)數(shù)器的外部擴(kuò)展接口。P1.1上的引腳能夠作為定時(shí)器與計(jì)數(shù)器2的電流輸入通道。詳情見下表所示:表3-1P1.0與P1.1上的引腳功能型號(hào)功能P1.0引腳T2信號(hào)輸入線路,為時(shí)鐘模塊提供驅(qū)動(dòng)電流P1.1引腳T2EX指令輸出端,為定時(shí)器/計(jì)數(shù)器2傳輸控制信號(hào)。P2端口主要由P2.0至P2.7之間的端口組成,對(duì)應(yīng)的引腳序號(hào)為21~28引腳:P2端口為中的電阻較高,具有8通道雙向i/o轉(zhuǎn)換功能,其主要負(fù)責(zé)向緩沖器輸出電流信號(hào),能夠同時(shí)為4個(gè)TTL提供電流,如果P2端口上的參數(shù)為“1”,則對(duì)應(yīng)的管腳上的電阻會(huì)提高,并輸出高電平電流,此時(shí)轉(zhuǎn)入電流的輸入狀態(tài)。因?yàn)槠鋬?nèi)部電流上拉,導(dǎo)致該端口作為輸入端時(shí),外部的引腳上的電阻會(huì)下降,并成為電流的輸出端。如果將該端口用于數(shù)據(jù)的傳輸端,當(dāng)數(shù)據(jù)地址為1時(shí),其內(nèi)部電阻會(huì)進(jìn)入上拉狀態(tài)。當(dāng)讀取的數(shù)據(jù)地址達(dá)到8位時(shí),P2端口將成為寄存器的數(shù)據(jù)接收口與傳輸口。當(dāng)FlashROM為編程狀態(tài)時(shí),P2端口會(huì)成為高8位地址信號(hào)與其它控制信號(hào)的接收端。P3端口上額定引腳數(shù)量共有8個(gè),分別為10~17引腳,這些引腳分別對(duì)應(yīng)P3.0~P3.7口。P3端口的引腳均為I/O轉(zhuǎn)換端口,電阻為上拉狀態(tài),能夠從TTL中接收4組電流信號(hào)。當(dāng)端口上的電流值顯示為1時(shí),其內(nèi)部的電阻會(huì)增加,此時(shí)轉(zhuǎn)入高電平電流輸入狀態(tài)。同時(shí),因?yàn)橥獠侩娖降南吕?,?dǎo)致其輸出的電流為ILL。FlashROM編程軟件被啟動(dòng)時(shí),P3口會(huì)成為控制信號(hào)的接收通道。P3口在具有I/O口所有功能的基礎(chǔ)上,還具備較強(qiáng)的復(fù)用性。P3口上的引腳功能見下圖所示:表3-2P3口引腳復(fù)用功能序號(hào)功能P3.0引腳RXD串行指令接收通道P3.1引腳TXD串行指令信號(hào)輸出通道P3.2引腳內(nèi)部數(shù)據(jù)接收端P3.3引腳外部中斷數(shù)據(jù)輸出端P3.4引腳T0為0定時(shí)器的外部電流接收端P3.5引腳T1為1號(hào)定時(shí)器的外部電流接收端P3.6引腳內(nèi)部數(shù)據(jù)存儲(chǔ)器的讀寫通道P3.7引腳外部數(shù)據(jù)存儲(chǔ)器的數(shù)據(jù)讀選通道RST由9個(gè)管腳組成,是復(fù)位控制參數(shù)的輸入通道。此引腳是用來(lái)完成單片機(jī)單片機(jī)的復(fù)位初始化操作,只有輸入連續(xù)兩個(gè)機(jī)器周期以上的高電平時(shí)才會(huì)生效,當(dāng)看門狗完成一個(gè)計(jì)時(shí)周期后,RST引腳輸出的晶振電流信號(hào)數(shù)量為96個(gè)。AUXR寄存器在接收8位地址信號(hào)的過(guò)程中,DISRTO位會(huì)成為該功能的開關(guān)控制機(jī)構(gòu)。當(dāng)DISRTO處于初始化狀態(tài)時(shí),會(huì)轉(zhuǎn)入復(fù)位高電平狀態(tài)。ALE/PROG中含有30個(gè)管腳:在訪問(wèn)外部程序儲(chǔ)存器時(shí),地址鎖存控制信號(hào)(ALE)會(huì)自動(dòng)存儲(chǔ)8位地址的脈沖信號(hào)。當(dāng)Flash編程狀態(tài)被激活后,該引腳可以作為脈沖信號(hào)的輸入通道。通常情況下,作為外部定時(shí)器或時(shí)鐘使用時(shí),ALE以晶振六分之一的固定頻率輸出脈沖。但是,在每次對(duì)外部數(shù)據(jù)進(jìn)行訪問(wèn)的過(guò)程中,ALE脈沖并不會(huì)成為信號(hào)指令的輸入通道。在需要的情況下,可以將地址位8EH中的SFR參數(shù)修改為“1”,ALE會(huì)立即從當(dāng)前的狀態(tài)轉(zhuǎn)變?yōu)閿?shù)據(jù)的輸入通道。但這種指令僅能夠在MOVX或MOV指令被執(zhí)行的過(guò)程中才能生效。否則,ALE上的電阻將會(huì)上升。。在ALE電阻的影響下,標(biāo)志位的參數(shù)設(shè)置會(huì)激活微控制器的無(wú)效模式。PSEN是單片機(jī)中的第29號(hào)引腳,其主要負(fù)責(zé)為外部程序存儲(chǔ)器提供選通信號(hào)。如果STC89C52單片機(jī)與外部存儲(chǔ)設(shè)備對(duì)接,并調(diào)用存儲(chǔ)器上的代碼,則所有機(jī)器周期都會(huì)被激活兩次,在無(wú)數(shù)據(jù)調(diào)用的狀態(tài)下,激活無(wú)效。VPP為單片機(jī)中的31管腳,主要負(fù)責(zé)對(duì)外部存儲(chǔ)器中的數(shù)據(jù)信號(hào)進(jìn)行控制。要想確保外部程序儲(chǔ)存器能夠從0000H至FFFFH對(duì)接的外部程序存儲(chǔ)器中接收指令信號(hào),需要將該管腳與GND對(duì)接。當(dāng)管腳電流參數(shù)為1時(shí),將自動(dòng)轉(zhuǎn)入RESET指令通道。在執(zhí)行內(nèi)部程序指令時(shí),需要將該管教與VCC引腳對(duì)接。當(dāng)激活Flash編程任務(wù)時(shí),管腳會(huì)接收12伏大小的VPP電流。XTAL1是單片機(jī)中的19管腳,在時(shí)鐘電路與振蕩器工作狀態(tài)下,會(huì)成為信號(hào)的輸入端。XTAL2為單片機(jī)中的18管腳,主要負(fù)責(zé)為單片機(jī)輸入震蕩信號(hào)。三、單片機(jī)最小系統(tǒng)STC89C51單片機(jī)集成了內(nèi)外時(shí)鐘信號(hào)的產(chǎn)生機(jī)制,內(nèi)部具有一個(gè)專用的時(shí)鐘信號(hào)震蕩電路,當(dāng)XTAL1與XTAL2與外部晶振模塊連接時(shí),會(huì)構(gòu)建出自動(dòng)化震蕩模組,為單片機(jī)提供時(shí)鐘脈沖信號(hào)。電容具有穩(wěn)定信號(hào)頻率,降低震蕩范圍的作用,電容的峰值電阻值為30pF,最小為5pF。CYS晶振器的最小震蕩頻率為1.2MHz、最大為12MHz,在峰值狀態(tài)下通常會(huì)維持在12MHz~11.0592MHz之間。STC89C51單片機(jī)上的RST引腳接收到高電平電流時(shí),會(huì)穩(wěn)定在兩個(gè)時(shí)鐘周期內(nèi),此時(shí)可以對(duì)單片機(jī)參數(shù)進(jìn)行初始化操作。初始化的方式主要有兩種,一種為自動(dòng)初始化;另一種為手動(dòng)初始化。這兩種初始化操作都需要在RST與VCC對(duì)接的情況下才能實(shí)現(xiàn)。最小系統(tǒng)如圖3-6所示。-圖3-6單片機(jī)最小系統(tǒng)的電路結(jié)構(gòu)單片機(jī)的最小系統(tǒng)主要由時(shí)鐘電路、電源電路、復(fù)位電路等部分組成,在這些電路與組件同時(shí)運(yùn)行時(shí),能夠讓單片機(jī)時(shí)鐘處于穩(wěn)定的運(yùn)行狀態(tài)。尤其是電源電路與時(shí)鐘電路的運(yùn)行狀態(tài)對(duì)單片機(jī)的運(yùn)行質(zhì)量具有決定性影響。最小系統(tǒng)是單片機(jī)控制的核心,能夠通過(guò)與外部設(shè)備的對(duì)接來(lái)完成更多的復(fù)雜功能。STC89C51單片機(jī)中自帶有ROM/EPROM存儲(chǔ)功能,為最小系統(tǒng)的運(yùn)行提供了良好的支持。以STC89C52單片機(jī)中的最小系統(tǒng)為主控系統(tǒng)時(shí),僅需將單片機(jī)上的各個(gè)電路對(duì)接后,即可借助單片機(jī)的硬件功能與系統(tǒng)功能來(lái)完成各種控制。但這種控制僅適用于小規(guī)模的控制單元。單片機(jī)最小系統(tǒng)的連接結(jié)構(gòu)見圖3-7所示:時(shí)鐘電路復(fù)位電路時(shí)鐘電路復(fù)位電路STC89C51單片機(jī)I/O口時(shí)鐘電路復(fù)位電路51系列單片機(jī)I/O接口圖3-7最小系統(tǒng)功能架構(gòu)四、單片機(jī)中斷系統(tǒng)介紹當(dāng)單片機(jī)系統(tǒng)在正常運(yùn)行狀態(tài)下,出現(xiàn)了需要處理的緊急事件,中央處理器會(huì)立即發(fā)出中斷當(dāng)前運(yùn)行狀態(tài)的質(zhì)量,并轉(zhuǎn)向執(zhí)行突發(fā)事件的應(yīng)急程序,在處理完成后,CPU會(huì)轉(zhuǎn)回正常狀態(tài),并繼續(xù)執(zhí)行之前的各項(xiàng)控制任務(wù)。STC89C52單片機(jī)集成了5個(gè)中斷控制組件,其中2個(gè)為優(yōu)先出發(fā)等級(jí),能夠同時(shí)完成對(duì)2種不同服務(wù)程序。中央處理器是否響應(yīng)中斷請(qǐng)求是由片內(nèi)特殊功能寄存器中的中斷允許寄存器IE控制的;中斷控制程序的優(yōu)選等級(jí)設(shè)置主要是依據(jù)數(shù)據(jù)寄存器的IP地址長(zhǎng)度為依據(jù)。在相同界別中的各個(gè)終端會(huì)同時(shí)向單片機(jī)控制系統(tǒng)發(fā)出中斷請(qǐng)求,系統(tǒng)在接收到這些請(qǐng)求后,會(huì)根據(jù)不同中斷信號(hào)的存儲(chǔ)邏輯來(lái)自動(dòng)劃分響應(yīng)的順序。外部中斷的方式主要有兩種,一種為基于/P3.2引腳的中斷0;另一種為基于/P3.3引腳的中斷1。外部中斷信號(hào)的發(fā)送同樣具有兩種方式,即電平觸發(fā)與電脈沖信號(hào)觸發(fā)。其中,電平觸發(fā)方式發(fā)出的中斷信號(hào)為低電平信號(hào),當(dāng)與引腳均為低電平狀態(tài),會(huì)立即生成外部中斷信號(hào)。電脈沖信號(hào)的中斷控制只能在脈沖副調(diào)有效的情況下才能生效。在發(fā)出脈沖中斷信號(hào)的過(guò)程中,相鄰的兩個(gè)機(jī)器周期對(duì)應(yīng)的與引腳會(huì)產(chǎn)生電平轉(zhuǎn)換現(xiàn)象,在第一個(gè)機(jī)器周期中,這兩個(gè)引腳為低電平狀態(tài),進(jìn)入第二個(gè)機(jī)器周期后悔立即轉(zhuǎn)換為高電平狀態(tài)。反之,第一個(gè)機(jī)器周期中這兩個(gè)引腳為高電平狀態(tài),進(jìn)入第二周期后會(huì)轉(zhuǎn)為低電平狀態(tài),而外部中斷同樣會(huì)被觸發(fā)。由此可以看出,在脈沖信號(hào)觸發(fā)中斷狀態(tài)的過(guò)程中,中斷信號(hào)的高低電平狀態(tài)會(huì)始終穩(wěn)定在一個(gè)相同的機(jī)器周期中,以確保CPU能夠采集到的穩(wěn)定的電平數(shù)據(jù)。本文結(jié)合設(shè)計(jì)需求,為中斷控制選擇了脈沖觸發(fā)方式。(一)中斷允許控制當(dāng)寄存器IE對(duì)系統(tǒng)中所有中斷源的控制得到處理器允許的情況下,采用程序軟件將IE狀態(tài)設(shè)定為1,即可使相關(guān)的中斷源進(jìn)入中中斷狀態(tài);如果將IE狀態(tài)調(diào)整為0,則對(duì)應(yīng)的中斷源都會(huì)進(jìn)入控制屏蔽狀態(tài)。當(dāng)中央處理器進(jìn)入初始化狀態(tài)后,IE上的數(shù)值會(huì)歸0,此時(shí)無(wú)法進(jìn)行任何中斷控制。IE寄存器的功能定位為:IE參數(shù)為0:外接引腳允許中斷信號(hào)傳輸;IE參數(shù)為1:能夠?qū)崿F(xiàn)對(duì)定時(shí)與計(jì)數(shù)器功能的中斷;IE參數(shù)為2:對(duì)應(yīng)的引腳允許中斷;IE參數(shù)為3:定時(shí)與計(jì)數(shù)器中的T1引腳進(jìn)入中斷狀態(tài);IE參數(shù)為4:激活串行接口的中斷機(jī)制;IE參數(shù)為7:中央處理器CPU允許所有中斷操作;(二)中斷優(yōu)先級(jí)控制STC89C52單片機(jī)中的中斷優(yōu)先級(jí)主要有兩種,能夠同時(shí)對(duì)兩個(gè)服務(wù)程序進(jìn)行中斷控制。其中,調(diào)用有限寄存器IP地址對(duì)應(yīng)的狀態(tài)信號(hào)即可來(lái)定義不同中斷源的控制順序。運(yùn)用軟件對(duì)中斷優(yōu)先級(jí)進(jìn)行管理的過(guò)程中,將優(yōu)先級(jí)寄存器的IP狀態(tài)參數(shù)調(diào)整為1,則相關(guān)的中斷源即為第一個(gè)中斷目標(biāo)。如果將狀態(tài)參數(shù)設(shè)定為0,則目標(biāo)中斷源即為最后一個(gè)中斷源。本文選擇的單片機(jī)在初始化參數(shù)設(shè)置的過(guò)程中,所有IP狀態(tài)均會(huì)恢復(fù)到初始參數(shù)0,每個(gè)中斷源都為低優(yōu)先級(jí)中斷。IP寄存器的中斷控制定義為:IP參數(shù)為0:為首個(gè)中斷通道;IP參數(shù)為1:系統(tǒng)定時(shí)器與計(jì)數(shù)器成為首個(gè)中斷源;IP參數(shù)為2為優(yōu)先級(jí)中斷源;IP參數(shù)為3:定時(shí)/計(jì)數(shù)器為優(yōu)先級(jí)中斷位;IP參數(shù)為4:優(yōu)先中斷的目標(biāo)為串行口。五、單片機(jī)定時(shí)/計(jì)數(shù)功能介紹STC89C52單片機(jī)的控制單元主要為內(nèi)外部寄存器,能夠?qū)崿F(xiàn)對(duì)定時(shí)/計(jì)數(shù)器狀態(tài)的控制。設(shè)置其工作方式的時(shí)候使用TMOD;在對(duì)啟動(dòng)與中斷請(qǐng)求進(jìn)行控制的過(guò)程中,需要運(yùn)用工作狀態(tài)寄存器。(一)TMOD寄存器TMOD是單片機(jī)內(nèi)部的工作寄存器,主要用來(lái)控制定時(shí)器與計(jì)數(shù)器的工作狀態(tài)和運(yùn)行模式。GATE為通道控制位。在GATE=0的狀態(tài)下,將TCON對(duì)應(yīng)的TR0與TR1的狀態(tài)數(shù)值調(diào)整為1,會(huì)立即激活定時(shí)器與計(jì)數(shù)器;當(dāng)GATE=1、且或均為高電平狀態(tài),將TR0或TR1的狀態(tài)參數(shù)修改為1,定時(shí)與計(jì)數(shù)器會(huì)進(jìn)入工作狀態(tài)。為定時(shí)/計(jì)數(shù)模式的選擇控制。在定時(shí)模式開啟時(shí),=0;當(dāng)單片機(jī)進(jìn)入計(jì)數(shù)模式時(shí),=1。M1M2為工作方式的調(diào)整位,能夠完成單片機(jī)定時(shí)/計(jì)數(shù)器的工作方式切換,切換模式的數(shù)量為4種。本文在設(shè)計(jì)中將TMOD設(shè)定為90H,定時(shí)/計(jì)數(shù)器的初始狀態(tài)參數(shù)為1,表明定時(shí)功能被激活,并處于方式1的工作狀態(tài)。單片機(jī)外圍電路設(shè)計(jì)一、時(shí)針電路設(shè)計(jì)時(shí)鐘控制電路是單片機(jī)的核心,所有功能部件均是在時(shí)鐘電路的控制下才能正常運(yùn)行,一步一步的井井有序地工作。因此,時(shí)鐘電路的運(yùn)行質(zhì)量與頻率對(duì)于單片機(jī)的運(yùn)行效率和質(zhì)量密切相關(guān)。STC89C52系列單片機(jī)內(nèi)由振蕩器產(chǎn)生時(shí)鐘,它是由一個(gè)反相放大器構(gòu)成的。我們經(jīng)常用到的時(shí)鐘電路有內(nèi)部時(shí)鐘方式與外部時(shí)鐘方式。本文在設(shè)計(jì)中選擇采用內(nèi)部時(shí)鐘方式。單片機(jī)中集成了一個(gè)高增益反相放大器,它用來(lái)構(gòu)成振蕩器,其輸入端口為XTAL1引腳,輸出通道為XTAL2引腳,這兩個(gè)引腳的一端與電容相連,另一端與石英晶體振蕩器的引腳相連。單片機(jī)時(shí)鐘電路的連接結(jié)構(gòu)見下圖所示:圖3-8內(nèi)振蕩電路連接結(jié)構(gòu)從上圖中可以看出,電容C1與C2的額定電流容量為30p,雖然外接電容的要求較低,但為了確保振蕩器的穩(wěn)定性,必須選擇合理的電容。同時(shí),外接晶體的振蕩頻率取決于單片機(jī)的工作頻率,不同單片機(jī)在工作頻率上存在較大差異,必須選擇合理的晶體振蕩頻率才能確保單片機(jī)的工作頻率不會(huì)受到振蕩信號(hào)的干擾。此外,如果單片機(jī)中設(shè)置有串行通信接口,就應(yīng)當(dāng)以振蕩頻率與通訊頻率的除數(shù)是否為1,來(lái)判斷振蕩晶體的選擇是否合理。因?yàn)楸疚脑谠O(shè)計(jì)中選擇的振蕩晶體額定頻率為12MHz,由此得出技術(shù)周期為1。二、復(fù)位電路設(shè)計(jì)STC89C52單片機(jī)的復(fù)位指令主要通過(guò)RET引腳輸入,該引腳以由上至下的順序向各個(gè)部件發(fā)送復(fù)位控制程序,執(zhí)行程序的起點(diǎn)是程序存儲(chǔ)器中的0000H地址單元。單片機(jī)上的時(shí)鐘電路被激活后,RET引腳需要在多個(gè)機(jī)器周期內(nèi)重復(fù)發(fā)送高電平信號(hào),單片機(jī)中的各個(gè)部件才會(huì)執(zhí)行復(fù)位指令。而RET引腳時(shí)鐘處于高電平輸出狀態(tài)時(shí),單片機(jī)會(huì)進(jìn)入到循環(huán)復(fù)位狀態(tài)。本文為復(fù)位電路配置的為按鍵式復(fù)位控制電路,這種控制電路在單片機(jī)控制系統(tǒng)中的應(yīng)用較為廣泛。在操作人員按下復(fù)位按鍵后,單片機(jī)會(huì)禮金進(jìn)入復(fù)位狀態(tài)。在電源接通的瞬間,電容C會(huì)產(chǎn)生瞬時(shí)短路現(xiàn)象,+5V的電壓會(huì)立即被傳送至RET/VPD端,這個(gè)位置上的高電平信號(hào)會(huì)激活單片機(jī)的復(fù)位功能,進(jìn)而完成上電復(fù)位的國(guó)政。程序在運(yùn)行過(guò)程中,如果因?yàn)榫o急故障需要進(jìn)行復(fù)位,僅需按下復(fù)位按鍵即可。按下按鍵后,+5V的電流會(huì)直接傳送到RET/VPD端,進(jìn)而激活單片機(jī)各個(gè)組件的復(fù)位狀態(tài)。隨后,P0與P3之間的所有端口均會(huì)輸出高電平,而余下的寄存器會(huì)進(jìn)行初始化,但SBUF寄存器不一定會(huì)同時(shí)進(jìn)入復(fù)位狀態(tài)。圖3-9按鍵復(fù)位控制電路按鍵復(fù)位的原理為:按鍵電流導(dǎo)通的瞬間,RC電容開始積聚電流,此時(shí)RST引腳輸出的為高電平電流,當(dāng)輸出的時(shí)間達(dá)到10ms,單片機(jī)就可以有效的復(fù)位。按鍵電路設(shè)計(jì)本文為復(fù)位按鍵設(shè)計(jì)了較低的按鍵布局,在單片機(jī)初始化狀態(tài)下,復(fù)位按鍵輸出的為高電平,在按下按鍵后,會(huì)立即向單片機(jī)發(fā)送一個(gè)低電平信號(hào)。單片機(jī)的鍵盤布局形式主要有兩種,一種為獨(dú)立鍵盤布局,另一種為矩陣鍵盤布局,其中,獨(dú)立鍵盤中的所有I/O口都具有一個(gè)對(duì)應(yīng)的按鍵,而按鍵的另一個(gè)端頭與接地電源對(duì)接,這種電路結(jié)構(gòu)能夠有效提高程序的穩(wěn)定性。矩陣鍵盤的結(jié)構(gòu)非常復(fù)雜,且電路的設(shè)計(jì)非常繁瑣,但占用的I/O通道數(shù)量非常少。基于此,本文在設(shè)計(jì)中采用了獨(dú)立鍵盤電路結(jié)構(gòu)。獨(dú)立鍵盤的控制方法主要是借助單片機(jī)中的i/o端口來(lái)實(shí)現(xiàn)對(duì)電平參數(shù)的讀取來(lái)判斷鍵盤是否被激活。按鍵對(duì)應(yīng)的電路具有一個(gè)接地端和一個(gè)I/O連接段,程序啟動(dòng)后,I/O口會(huì)立即進(jìn)入高電平輸出狀態(tài),在未按下按鍵時(shí),程序會(huì)對(duì)高電平進(jìn)行保護(hù)。在按下案件后,I/O口發(fā)生瞬時(shí)短路,進(jìn)而轉(zhuǎn)向低電平輸出裝填。在放下按鍵后,單片機(jī)中的電阻值會(huì)上升,從而使I/O口穩(wěn)定在高電平輸出狀態(tài)。單片機(jī)在對(duì)鍵盤指令進(jìn)行處理的過(guò)程中,具有一個(gè)關(guān)鍵問(wèn)題,即消除鍵盤的抖動(dòng)。本文所說(shuō)的抖動(dòng)實(shí)際上是單片機(jī)的機(jī)械振動(dòng),鍵盤按下的力度較淺,則極有可能未達(dá)到電平轉(zhuǎn)換的臨界范圍,進(jìn)而產(chǎn)生的電平強(qiáng)度非常不穩(wěn)定,并引發(fā)抖動(dòng)問(wèn)題。正常情況下,抖動(dòng)的持續(xù)時(shí)間為10~200毫秒,雖然這段時(shí)間對(duì)操作者來(lái)說(shuō)是一個(gè)瞬時(shí)過(guò)程,但對(duì)于計(jì)算周期為微秒的單片機(jī)而言,則這個(gè)時(shí)間較長(zhǎng)。抖動(dòng)消除的方式主要有兩種,一種是基于電路優(yōu)化的硬件去抖動(dòng);另一種是基于時(shí)間需優(yōu)化的抖動(dòng)消除方式。基于兩種抖動(dòng)形式的優(yōu)點(diǎn)與不足,本文結(jié)合設(shè)計(jì)需求,選擇采用軟件去抖動(dòng)方式。復(fù)位按鍵的控制電路見下圖所示:圖3-10復(fù)位按鍵電路結(jié)構(gòu)四、報(bào)警電路設(shè)計(jì)蜂鳴器的結(jié)構(gòu)是一個(gè)完整的整體,供電電流為直流電,在各種電子設(shè)備、玩具、打印機(jī)、手機(jī)、電話、定時(shí)器、計(jì)算器等能夠發(fā)聲設(shè)備中的應(yīng)用非常廣泛。蜂鳴器的常見類型主要有兩種,一種是壓電式蜂鳴器;另一種為電磁式蜂鳴器。蜂鳴器的電路中都含有H、HA、FM、LB等標(biāo)識(shí)。壓電式蜂鳴器內(nèi)部集成了多諧振振蕩器、蜂鳴電片、阻抗調(diào)節(jié)器,在外部殼體的封裝下,構(gòu)成了一個(gè)整體結(jié)構(gòu)。多諧振蕩器主要由集成電路、晶體管、外接引腳組成。額定電源為1.5~15V,在連接電源后會(huì)立即向蜂鳴器發(fā)出1.5~2.5kHZ震蕩信號(hào),使蜂鳴器發(fā)聲。壓電式蜂鳴器中的蜂鳴片的常用材料為:壓電陶瓷、鈮鎂酸鉛、鋯鈦酸鉛三種。其中,陶瓷蜂鳴片的兩端都含有一個(gè)由銀材料制成的電極,具有極強(qiáng)的耐老化性能。電磁式蜂鳴器的結(jié)構(gòu)較為簡(jiǎn)單,主要由內(nèi)部振蕩器、電磁感應(yīng)圈、電磁鐵、振動(dòng)片組成。振蕩器在接通電源后,會(huì)立即進(jìn)入運(yùn)行狀態(tài),并生產(chǎn)一系列的音頻信號(hào)發(fā)送給電流線圈,使其產(chǎn)生磁場(chǎng)信號(hào)。蜂鳴器的驅(qū)動(dòng)電路中含有一個(gè)三極管、蜂鳴器、阻流器。蜂鳴器實(shí)際上就是一個(gè)結(jié)構(gòu)簡(jiǎn)的發(fā)聲元件,體積非常小,耗電量非常微弱,但工作頻率較高,發(fā)聲的大小取決于電流的強(qiáng)度。本文在設(shè)計(jì)中采用的是具有獨(dú)立電源驅(qū)動(dòng)模塊的蜂鳴器。三極管中的Q1端為開關(guān)控制端,在開啟狀態(tài)下電路上輸出的為低電平,能夠使三極管進(jìn)入導(dǎo)通狀態(tài),進(jìn)而為蜂鳴器提供驅(qū)動(dòng)電流,使其發(fā)聲。在Q1為關(guān)停狀態(tài)時(shí),輸出的為高電平,三極管會(huì)停止導(dǎo)通,蜂鳴器停止工作。報(bào)警電路圖如圖3-11所示。圖3-11報(bào)警電路圖五、液晶電路設(shè)計(jì)液晶顯示電路采用LCD1602液晶顯示屏。其顯示的內(nèi)容為16X2,即可以顯示兩行,每行16個(gè)字符。LCD1602A主要負(fù)責(zé)顯示光度、煙霧濃度、窗戶狀態(tài)、溫濕度。是一種工業(yè)級(jí)液晶顯示組件,其顯示的內(nèi)容主要為字符,最大顯示數(shù)量為32個(gè),顯示格式為16x02。液晶顯示器是人們?nèi)粘I钪谐R姷娘@示器件,基于液晶顯示模塊的各種設(shè)備早已經(jīng)與人們的日常生活融為一體,例如:電子表、計(jì)算器、電視、手機(jī)、空調(diào)遙控器等?;趩纹瑱C(jī)系統(tǒng)的設(shè)備采用的液晶顯示組件通常是由LCD數(shù)碼顯示管、液晶顯示屏、發(fā)光管等部分組成。在單片機(jī)中加入液晶顯示器具有以下優(yōu)點(diǎn):液晶顯示器亮度比較均衡,能夠在各種溫濕度變量較大的環(huán)境中保持恒定的顯示效果,且畫質(zhì)不存在任何閃爍問(wèn)題。液晶顯示器主要以數(shù)字顯示為主,能夠有效滿足單片機(jī)系統(tǒng)的顯示需求,并且能夠與所有單片機(jī)的接口兼容。液晶顯示器主要是通過(guò)電流對(duì)顯示屏中的液晶分子產(chǎn)生的電刺激,來(lái)激活分子的發(fā)光,從而實(shí)現(xiàn)顯示過(guò)程,體積較小,且重量很輕,維護(hù)性較高。液晶顯示器的功耗量較小,大部分電能的消耗都集中在驅(qū)動(dòng)IC端,具有極高的經(jīng)濟(jì)性。(1)液晶顯示器上的引腳概況:液晶顯示模塊上的引腳一共有16個(gè)。其中,VSS引腳為1#引腳,與接地電源相連。VDD引腳為2#引腳,直接與5V電源正極對(duì)接;VL引腳為3#引腳,該引腳是顯示器的對(duì)比度調(diào)節(jié)端,與正電源導(dǎo)通時(shí),輸出的電流較弱,在接地狀態(tài)下輸出的電流較強(qiáng),對(duì)顯示器的對(duì)比度具有決定性影響;RS引腳為4#引腳,該引腳與數(shù)據(jù)寄存器對(duì)接,主要負(fù)責(zé)傳接各種數(shù)據(jù);R/W引腳與傳感器對(duì)接,主要負(fù)責(zé)傳接各種信號(hào)以及數(shù)據(jù)的讀寫過(guò)程。R/W引腳與RS引腳同時(shí)處于低電平狀態(tài)時(shí),會(huì)進(jìn)入指令寫入模式,并顯示地址對(duì)應(yīng)的數(shù)據(jù)。RS引腳上的電流為低電平,而R/W上的電流為高電平,則能夠進(jìn)入信號(hào)讀取狀態(tài)。E引腳是顯示組件上的使能端,初始情況下E引腳為高電平狀態(tài),在轉(zhuǎn)變?yōu)榈碗娖胶?,?huì)成為顯示模塊的指令輸入端。D0至D7之間的引腳分別對(duì)應(yīng)編號(hào)7#至14#,所有引腳均為雙向數(shù)據(jù)線路,能夠同時(shí)傳接8組數(shù)據(jù)。15#引腳與發(fā)光組件的正極相連;16#引腳與發(fā)光組件的負(fù)極對(duì)接。(2)1602LCD顯示模塊的RAM地址映射特性與相關(guān)字庫(kù)表LCD1602顯示模塊的內(nèi)部字符存儲(chǔ)器在出廠狀態(tài)下,自帶有160種字符與數(shù)字圖形,能夠顯示市面上所有的字符、數(shù)字、字母、阿拉伯?dāng)?shù)字、大寫數(shù)字等。每一種字符都具有對(duì)應(yīng)的代碼集,例如:A的顯示代碼為01000001B,顯示格式為41H,在激活狀態(tài)下,會(huì)根據(jù)41H格式將目標(biāo)字符或圖形顯示出來(lái)。顯示模塊的所有數(shù)據(jù)讀寫過(guò)程與光標(biāo)的移動(dòng)顯示都是在指令編寫的基礎(chǔ)上實(shí)現(xiàn)的。顯示模組中具有6組顯示指令,其中,顯示指令為1時(shí),指令代碼為01H,此時(shí)光標(biāo)會(huì)自動(dòng)恢復(fù)到初始位置。顯示指令為2,則光標(biāo)會(huì)返回00H的位置上。顯示指令為3,光標(biāo)與顯示模式會(huì)自動(dòng)對(duì)I.D進(jìn)行設(shè)置,在光標(biāo)移動(dòng)過(guò)程中,屏幕不同區(qū)域中的發(fā)光液晶電平狀態(tài)也會(huì)隨之變化。S表示屏幕上的文字左右移動(dòng),此時(shí)為高電平狀態(tài)。如果顯示指令為4,顯示器會(huì)進(jìn)入到工作狀態(tài),并將接受到的各種數(shù)據(jù)顯示出來(lái)。顯示指令為5時(shí),光標(biāo)與顯示區(qū)域同時(shí)發(fā)生變化,高電平區(qū)域主要顯示文字,而低電平區(qū)域主要顯示光標(biāo)。顯示指令為6時(shí),控制指令為DL,高電平的總線數(shù)量為4,低電平的線路綜述為8。顯示指令為7時(shí),進(jìn)入到RAM數(shù)據(jù)地址的編寫狀態(tài)。顯示指令為8時(shí),進(jìn)入DDRAM的數(shù)據(jù)地址編寫狀態(tài)。當(dāng)顯示指令為9式,顯示器會(huì)自動(dòng)讀取光標(biāo)的地址與系統(tǒng)發(fā)出的工作信號(hào)。如果顯示的標(biāo)志位BF,則表明當(dāng)前處于高電平忙碌狀態(tài),此時(shí)無(wú)法實(shí)現(xiàn)對(duì)數(shù)據(jù)的傳接。而如果系統(tǒng)的低電平,則表明整個(gè)顯示模塊能夠順利接受各種命令字符與數(shù)據(jù),同時(shí)顯示模塊能夠快速執(zhí)行相關(guān)的操作。顯示指令為10,則表明系統(tǒng)正處于數(shù)據(jù)存儲(chǔ)狀態(tài)。指令為11時(shí),表明系統(tǒng)正在讀取數(shù)據(jù)。液晶顯示模塊的顯示效率較慢,在需要顯示一條指令之前,需要首先執(zhí)行模塊上的電平信號(hào),在不忙的狀態(tài)下,即可立即顯示目標(biāo)指令。在顯示字符之前,會(huì)首先調(diào)用輸入字符的地址,以實(shí)現(xiàn)對(duì)顯示效果的自動(dòng)規(guī)劃。地址顯示流程見下圖所示:圖3-12數(shù)據(jù)顯示地址與顯示規(guī)格如果需要顯示的第二個(gè)行列中的首個(gè)字符為40H,直接在后端寫入40H將無(wú)法實(shí)現(xiàn)對(duì)光標(biāo)位置的控制與選擇。因?yàn)閷懭腼@示地址的過(guò)程中,最高的電平強(qiáng)度應(yīng)當(dāng)為D7=1,由此可以推導(dǎo)出實(shí)際寫入的數(shù)據(jù)為01000000B(40H)+10000000B(80H)=11000000B(C0H)。如果需要對(duì)液晶模塊初始化設(shè)置,應(yīng)首先完成顯示模式的設(shè)置過(guò)程,所有字符顯示順序均是由左向右,不需要任何設(shè)置。在輸入指令的前期,首先需要對(duì)液晶模塊的工作狀態(tài)進(jìn)行觀察。顯示模塊內(nèi)部的字符存儲(chǔ)器為CGROM,在初始化狀態(tài)下集成了160多種字符與圖形,,省去了字符編寫流程,極大的提高了使用效率。液晶顯示器的顯示原理非常簡(jiǎn)單,主要是在液晶的電物理特性的基礎(chǔ)上來(lái)完成對(duì)字符的顯示過(guò)程,通過(guò)對(duì)不同液晶分子的電壓進(jìn)行控制,即可顯示出目標(biāo)圖形。液晶顯示器的厚度具有較強(qiáng)的選擇性,在各個(gè)工業(yè)領(lǐng)域與家電設(shè)備上都能看看到液晶顯示器的身影。隨著科學(xué)技術(shù)的不斷進(jìn)步,液晶顯示器正朝著小型化與微型化的方向發(fā)展。人們?nèi)粘J褂玫氖謾C(jī)、遙控器等均采用了微型液晶顯示組件。電路中液晶接口圖如圖3-13所示:圖3-131602顯示模塊轉(zhuǎn)速表軟件程序設(shè)計(jì)概述在完成硬件部分的設(shè)計(jì)之后,就需要對(duì)軟件部分進(jìn)行設(shè)計(jì),軟件是硬件功能發(fā)揮作用的基礎(chǔ),其重要性與硬件相同。軟件設(shè)計(jì)實(shí)際上就是根據(jù)功能需求來(lái)構(gòu)建各種程序模塊,以實(shí)現(xiàn)對(duì)各種功能的支持。模塊化設(shè)計(jì)的內(nèi)容主要是在完成對(duì)個(gè)系統(tǒng)功能的獨(dú)立設(shè)計(jì)后,在后臺(tái)構(gòu)建出于各個(gè)功能相對(duì)的功能模塊。模塊化設(shè)計(jì)能夠有效簡(jiǎn)化軟件功能的設(shè)計(jì)流程,提高軟件的設(shè)計(jì)效率。尤其是在系統(tǒng)出現(xiàn)故障后,可以按照各個(gè)故障的狀況來(lái)判斷出現(xiàn)問(wèn)題的模塊,從而更加高效的解決這些問(wèn)題?;趩纹瑱C(jī)的電子式轉(zhuǎn)轉(zhuǎn)速表的軟件部分主要有速度監(jiān)測(cè)程序、上電程序、里程監(jiān)測(cè)程序、顯示程序、中斷程序等部分組成。由于設(shè)計(jì)的功能較多,且流程非常復(fù)雜,本文選擇以模塊化的方式來(lái)簡(jiǎn)化設(shè)計(jì)的流程??傮w程序設(shè)計(jì)主程序模塊的設(shè)計(jì)內(nèi)容較多,包括對(duì)各個(gè)接口芯片連接結(jié)構(gòu)的設(shè)計(jì)、芯片選項(xiàng)、車輛里程參數(shù)初始化、速度參數(shù)初始化、中斷控制電路設(shè)計(jì)、顯示模塊設(shè)計(jì)等等。此外,本文在設(shè)計(jì)主程序控制模塊的過(guò)程中還特地設(shè)計(jì)了三種存儲(chǔ)器:第一種為啟動(dòng)寄存器;第二種為里程數(shù)據(jù)寄存器;第三種為速度數(shù)據(jù)寄存器。在設(shè)置完這些存儲(chǔ)器后,本文首先對(duì)這些存儲(chǔ)器的數(shù)據(jù)參數(shù)進(jìn)行了初始化設(shè)置。然后依據(jù)主程序需要寄存的內(nèi)容,在各個(gè)存儲(chǔ)器中構(gòu)建了對(duì)應(yīng)的數(shù)據(jù)集,以實(shí)現(xiàn)對(duì)不同功能數(shù)據(jù)的獨(dú)立存儲(chǔ)。P1.0口是里程數(shù)據(jù)的輸出端口。P1.1口是速度數(shù)據(jù)的輸出端口。P1.2端口、P1.3、P1.6、P1.7口主要負(fù)責(zé)對(duì)車輪行駛?cè)?shù)的設(shè)置,必須在低電平狀態(tài)下才能生效。P3.0口主要負(fù)責(zé)控制里程與速度數(shù)據(jù)的切換,在低電平狀態(tài)下顯示的為速度數(shù)據(jù),高電平狀態(tài)下顯示的為里程數(shù)據(jù)。在對(duì)車輪圈數(shù)進(jìn)行計(jì)數(shù)的過(guò)程中,要想中斷當(dāng)前狀態(tài)可將狀態(tài)參數(shù)調(diào)整為0.?;魻杺鞲衅髟谲囕喢客瓿梢蝗D(zhuǎn)動(dòng)時(shí),都會(huì)輸出一個(gè)低電平脈沖信號(hào)。中斷狀態(tài)1主要是用來(lái)對(duì)定時(shí)器T1啟停的控制,在狀態(tài)參數(shù)為0時(shí),定時(shí)器為關(guān)閉狀態(tài)。該控制信號(hào)是通過(guò)對(duì)輪子轉(zhuǎn)動(dòng)頻率的計(jì)算來(lái)得出的。定時(shí)器T1的開啟時(shí)序與車輪的轉(zhuǎn)完一圈的時(shí)序達(dá)到了一直,在明確車輪周長(zhǎng)L的基礎(chǔ)上,即可計(jì)算出當(dāng)前的行駛速度。具體流程見下圖所示:開始開始初始化P1.2=1?NP1.3=1?P1.6=1?P1.7=1?出錯(cuò)提示將車圈周長(zhǎng)調(diào)入21H開中斷,啟動(dòng)定時(shí)器P3.0=1?調(diào)用里程處理子程序調(diào)用速度處理子程序NNNYYYYNY圖4-1主程序流程圖中斷子程序設(shè)計(jì)定時(shí)中斷的目的主要是為了滿足技術(shù)的時(shí)序需求。單片機(jī)內(nèi)部集成了兩組定時(shí)計(jì)數(shù)器,能夠?qū)崿F(xiàn)對(duì)車輪行程與轉(zhuǎn)速的計(jì)數(shù)。如果定時(shí)的時(shí)間長(zhǎng)度與計(jì)數(shù)得出的數(shù)據(jù)達(dá)到峰值,結(jié)構(gòu)計(jì)數(shù)就會(huì)發(fā)生溢出效應(yīng),這種狀態(tài)下溢出的信號(hào)會(huì)生成中斷請(qǐng)求信號(hào),并形成一個(gè)單片機(jī)可識(shí)別的溢出標(biāo)識(shí),使其生成中斷指令。由于中斷請(qǐng)求指令是在單片機(jī)芯片中生成的,并不需要接入外部輔助器件。TCON為單片機(jī)中的定時(shí)器與計(jì)數(shù)器的數(shù)據(jù)寄存器,最大支持8位字符,數(shù)據(jù)寄存地址為88H。前4位字符主要為定時(shí)器與計(jì)數(shù)器的中斷控制指令,后4位位外部中斷指令,主要由中斷標(biāo)志與觸發(fā)電流,以及地址數(shù)據(jù)構(gòu)成。本文在設(shè)計(jì)中選擇的為定時(shí)中斷機(jī)制。中斷程序的交互流程見下圖所示:關(guān)中斷關(guān)中斷開始現(xiàn)場(chǎng)保護(hù)開中斷中斷處理關(guān)中斷現(xiàn)場(chǎng)恢復(fù)開中斷中斷返回圖4-2中斷信號(hào)的傳輸機(jī)制圖數(shù)據(jù)處理子程序設(shè)計(jì)一、里程計(jì)算子程序單片機(jī)上的P3.2口中輸入的脈沖信號(hào)計(jì)數(shù)主要由外部中斷服務(wù)程序負(fù)責(zé)。計(jì)數(shù)器具有16位數(shù)據(jù)長(zhǎng)度,60H時(shí)表明計(jì)數(shù)器為低位狀態(tài),62H時(shí)為高位狀態(tài)。在每完成一輪計(jì)數(shù)周期后,得出的里程數(shù)據(jù)就會(huì)被自動(dòng)保存在存儲(chǔ)器中。車輪每轉(zhuǎn)一圈都會(huì)產(chǎn)生脈沖信號(hào),并在霍爾傳感器的傳輸下被單片機(jī)接收,然后由計(jì)數(shù)器對(duì)脈沖信號(hào)的數(shù)量和頻率進(jìn)行計(jì)算;最后通過(guò)調(diào)用里程運(yùn)算程序來(lái)完成里程數(shù)的求解過(guò)程。里程計(jì)數(shù)程序交互圖如下所示:里程指示燈亮起里程指示燈亮起啟動(dòng)計(jì)數(shù)車圈數(shù)并換算里程數(shù)在顯示模塊顯示里程值循環(huán)圖4-3里程計(jì)算流程圖二、速度計(jì)算子程序車輪每完成一圈轉(zhuǎn)動(dòng)后,外中斷服務(wù)程序就會(huì)進(jìn)行一次時(shí)序計(jì)算。在OOH標(biāo)志位的狀態(tài)為1時(shí),計(jì)數(shù)值達(dá)到溢出范圍,加入最大時(shí)間參數(shù)#0FFH;當(dāng)標(biāo)志位的狀態(tài)為0時(shí),在68H至6BH單元中引入6CH、TH1、6DH、TL1單元。定時(shí)器會(huì)立即計(jì)算出車輪每完成一圈轉(zhuǎn)動(dòng)的時(shí)序值,并通過(guò)車輪的周長(zhǎng)與時(shí)間的除值作為行駛的速度。速度處理流程見下圖所示:?jiǎn)?dòng)啟動(dòng)速度指示燈點(diǎn)亮檢測(cè)速度發(fā)出警報(bào)顯示速度值NY判斷是否超速?返回第一步圖4-4行駛速度顯示流程圖顯示子程序設(shè)計(jì)接口電路的采用了動(dòng)態(tài)掃描機(jī)制,能夠?qū)崟r(shí)顯示接口電路上的8個(gè)數(shù)據(jù),I/O總線是顯示器上的所有公共級(jí)的控制線路。中央處理器向各個(gè)字段輸出的字形碼的過(guò)程中,會(huì)同時(shí)向顯示器發(fā)出相同的信息;在信息接收以后,COM端會(huì)自動(dòng)對(duì)信息中的數(shù)據(jù)地址進(jìn)行識(shí)別,從而來(lái)制定顯示順序。顯示器中COM的控制機(jī)制主要以分時(shí)算法為基礎(chǔ),能夠確保顯示器中所有顯示區(qū)域的液晶分子都能夠被激活,從而確保顯示效果。在按照點(diǎn)亮順序進(jìn)行顯示的過(guò)程中,不同區(qū)域的點(diǎn)亮延遲時(shí)長(zhǎng)僅為1ms,但在余暉效應(yīng)的影響下,人們看到的顯示數(shù)據(jù)并不存在延遲效果,而是一組流暢的數(shù)據(jù)。信號(hào)選擇通路主要由P2.0口、P2.1口、P2.2口、P2.3口組成,P0.0口與P0.7口之間的端口構(gòu)成了段碼信號(hào)選擇通路,采用編程軟件將需要顯示的數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)存儲(chǔ)器中,然后將這些數(shù)據(jù)匹配至對(duì)應(yīng)的選通地址,最后采用LED將這些數(shù)據(jù)顯示出來(lái)。實(shí)現(xiàn)流程見下圖所示:起始起始展示單元地址采集顯示數(shù)據(jù)匹配通道識(shí)別斷碼地址延遲顯示傳輸至P2口4位顯示結(jié)束返回YN修改顯示地址計(jì)算下一個(gè)選碼圖4-5顯示子程序流程圖系統(tǒng)仿真與調(diào)試在明確電路連接結(jié)構(gòu)與交互機(jī)制之后,需要對(duì)系統(tǒng)的軟件交互流程進(jìn)行仿真測(cè)試,原理圖的具體設(shè)計(jì)流程如圖5-1所示。新建文檔新建文檔定義編程環(huán)境規(guī)劃線路置入元件檢測(cè)電器狀態(tài)建立網(wǎng)絡(luò)表評(píng)估狀態(tài)結(jié)束Y存盤、報(bào)表輸出優(yōu)化N啟動(dòng)圖5-1原理圖設(shè)計(jì)流程圖在原理圖的布線工作結(jié)束后,從PROTEUSISIS編程工具中選擇電器規(guī)則檢查命令對(duì)各個(gè)線路的信號(hào)傳接性能進(jìn)行檢查,并依據(jù)檢測(cè)結(jié)果來(lái)制作錯(cuò)誤報(bào)告,然后分析原因,解決問(wèn)題。PROTEUSVSM是一款功能強(qiáng)大的仿真軟件,是單片機(jī)系統(tǒng)模擬檢測(cè)領(lǐng)域中的一項(xiàng)全新技術(shù)。仿真軟件能夠?qū)⑺谐绦蛟创a整個(gè)在一個(gè)目標(biāo)環(huán)境中,從而大幅簡(jiǎn)化代碼的編輯流程,提高代碼的編輯效率,使們能夠清晰的觀察源程序的設(shè)計(jì)結(jié)果與優(yōu)化后得效果。仿真的測(cè)試必須在源代碼編譯完成后才能開展。在仿真開始后,我們贏詳細(xì)記錄各個(gè)測(cè)試數(shù)據(jù),并不斷分析各種問(wèn)題,找出解決方案,對(duì)設(shè)計(jì)中的不足進(jìn)行優(yōu)化,直至得到完美的測(cè)試結(jié)果。PROTEUS在具備實(shí)例虛擬化功能的基礎(chǔ)上,還能夠模仿單片機(jī)中的各項(xiàng)實(shí)例功能。實(shí)例虛擬化知識(shí)對(duì)程序整體效果的演示,而功能模擬能夠幫助我們分析各項(xiàng)功能的設(shè)計(jì)效果是否達(dá)到預(yù)期。所有元器件與電路與真實(shí)的軟件高度一致。從而取代了傳統(tǒng)的實(shí)驗(yàn)室研發(fā)測(cè)試工作,大幅提高了程序的研發(fā)效率。在軟件仿真過(guò)程中也發(fā)現(xiàn)了一些問(wèn)題,一個(gè)問(wèn)題是數(shù)碼管不顯示,因?yàn)楸敬卧O(shè)計(jì)中數(shù)碼管是采用的共陰極接法,我猜測(cè)在仿真的時(shí)候可能錯(cuò)用共陽(yáng)極數(shù)碼管所以導(dǎo)致數(shù)碼管不顯示,然后我進(jìn)行調(diào)整之后問(wèn)題得到了解決。還有一個(gè)問(wèn)題是P0口顯示高阻態(tài),正常情況下P0口輸出應(yīng)為高低互換(也就是紅藍(lán)互換),但在仿真時(shí)P0口出現(xiàn)了高阻態(tài)(灰色),然后我通過(guò)翻閱資料查得P0口做I/O口時(shí)應(yīng)該在其上接入上拉電阻。最后將上拉電阻加上之后,P0口輸出恢復(fù)正常。實(shí)物介紹及演示實(shí)物制作成品展示一、應(yīng)部件的安裝過(guò)程與調(diào)試(一)焊接后得硬件實(shí)體結(jié)構(gòu):圖6-1LCD1602顯示速度里程值圖6-1是LCD1602顯示的里程和即時(shí)速度,圖6-2是焊接完成的實(shí)物制作圖。如圖5-2中顯示的是本次設(shè)計(jì)的成品,本次設(shè)計(jì)主要用到了STC89C52系列單片機(jī)、LCD1602液晶顯示、霍爾傳感器。首先需要準(zhǔn)備多個(gè)萬(wàn)用板,實(shí)際只需要一個(gè),其他的為了焊接失敗作為備用。其次準(zhǔn)備好本次設(shè)計(jì)所需要的各個(gè)元器件,最后根據(jù)之前所學(xué)過(guò)的焊接知識(shí)進(jìn)行本次試驗(yàn)的焊接工作。根據(jù)本次設(shè)計(jì)的電路原理圖找好每個(gè)管腳所對(duì)應(yīng)的位置進(jìn)行焊接,注意不要把管腳搞混,尤其是單片機(jī),如果焊接出現(xiàn)問(wèn)題可能會(huì)導(dǎo)致單片機(jī)燒壞。在焊接開始前我做足了準(zhǔn)備,首先,我按照已經(jīng)設(shè)計(jì)完美的原理圖,找到了相應(yīng)的位置,將每一個(gè)元器件插到面包板相應(yīng)的位置,以便進(jìn)行接下來(lái)的焊接工作。排列元器件過(guò)程中,我遵循的原則是先大后小,先左后右,我先將LCD1602顯示器、STC89C52RC單片機(jī)、霍爾傳感器和3V直流電機(jī)焊接至面包板上,并將它們做好保護(hù)措施后,開始小型元器件焊接,小型元器件包括,蜂鳴器、發(fā)光二極管、201電位器等,按照原理圖焊接至洞洞板上,最后我開始布線,爭(zhēng)取以最短距離,不飛線的原則進(jìn)行連線,全部焊接完畢后進(jìn)行調(diào)試。圖6-2實(shí)物整體顯示圖(二)硬件調(diào)試在電源沒(méi)有連接的狀態(tài)下,我們需要采用萬(wàn)用對(duì)各個(gè)元器件之間的線路焊接質(zhì)量進(jìn)行檢測(cè),并認(rèn)真查看焊接的元器件的類型與型號(hào)是否正確,以及尺寸規(guī)格是否與設(shè)計(jì)的要求相符。其中,最重要的一個(gè)環(huán)節(jié)就是需要認(rèn)真觀察電源中是否存在電路故障,尤其是正負(fù)極的對(duì)接是否正確。對(duì)于其它類型的元器件,我們需要認(rèn)真檢查地址線路、電源線路、數(shù)據(jù)線路、控制線路等方面是否存在故障隱患。本文通過(guò)一場(chǎng)檢測(cè)并未發(fā)現(xiàn)任何問(wèn)題,因此,在調(diào)試過(guò)程中如果出現(xiàn)問(wèn)題,可以不考慮硬件電路問(wèn)題。此外,我們還需要采用仿真插兜將需要接通的電路與芯片對(duì)接,為后續(xù)的軟件調(diào)試做好基礎(chǔ)準(zhǔn)備。雖然在系統(tǒng)硬件調(diào)試的過(guò)程中遇到了不少款南,但經(jīng)過(guò)對(duì)問(wèn)題原因的分析,最終得以完美解決。但電源電壓有時(shí)存在波動(dòng)現(xiàn)象,會(huì)引發(fā)單片機(jī)無(wú)法正常工作,而這一問(wèn)題目前尚未找出原因,使得本文還需要在未來(lái)的研究中進(jìn)行分析和有效,以確保系統(tǒng)的有效性。結(jié)論轉(zhuǎn)眼間,6個(gè)多月的畢業(yè)論文撰寫工作即將告一段落。論文的撰寫過(guò)程是一個(gè)非常復(fù)雜的過(guò)程,設(shè)計(jì)的內(nèi)容中有很多都是在筆者知識(shí)能力之外,好在對(duì)各種資料的查閱,使得本文的研究與設(shè)計(jì)得以順利完成。在這段寫作期間,我學(xué)到了很多新知識(shí),并深深感受到了學(xué)習(xí)的重要性,這對(duì)本人未來(lái)的成長(zhǎng)具有重要的促進(jìn)作用。這次畢業(yè)設(shè)計(jì)可謂是一波三折,但讓我收獲了大量的知識(shí)與技能。例如:元器件的型號(hào)、適用范圍、選配標(biāo)準(zhǔn)、傳感器類別、傳感器功能、傳感機(jī)制、單片機(jī)控制原理等等。在設(shè)計(jì)過(guò)程中,由于知識(shí)所限,使我遇到了大量的困難與挑戰(zhàn),甚至一度對(duì)自己完成設(shè)計(jì)的能力產(chǎn)生了質(zhì)疑,但好在有老師與同學(xué)們的鼓勵(lì),使我一次次鼓起勇氣,面對(duì)苦難與挑戰(zhàn),奮勇向前,從而完成了設(shè)計(jì)工作?;诖?,本次畢業(yè)設(shè)計(jì),凝結(jié)了老師與同學(xué)們的熱情與關(guān)懷,沒(méi)有他們的幫助與指導(dǎo),本文的設(shè)計(jì)工作將難以進(jìn)行。再次,我要向所有幫助過(guò)我的老師與同學(xué)們表示衷心的感謝。至此,我的畢業(yè)論文就真的要告一段落了,我不會(huì)忘記這幾個(gè)月以來(lái)自己的辛苦付出,更不會(huì)忘記老師同學(xué)們對(duì)我的幫助,這些都會(huì)成為我日后美好的回憶。在這段時(shí)間中,我從同學(xué)老師以及自己身上看到了腳踏實(shí)地、實(shí)事求是、認(rèn)真嚴(yán)謹(jǐn)?shù)膶?duì)待學(xué)習(xí)的態(tài)度,在這個(gè)過(guò)程中也學(xué)習(xí)到了扎實(shí)、寬泛的專業(yè)知識(shí),收獲了滿滿的感動(dòng),再此我要向所有幫助過(guò)我的老師同學(xué)朋友們獻(xiàn)上我最崇高的敬意和深深地感謝。參考文獻(xiàn)張建峰.電子式車速轉(zhuǎn)速表、轉(zhuǎn)速表誤差分析[J].計(jì)量與測(cè)試技術(shù),2018年第32卷第12期:30-30.鐘金德,馬興.電子計(jì)數(shù)式轉(zhuǎn)速表原理測(cè)量結(jié)果的數(shù)據(jù)處理[J].電子元器件與信息技術(shù),2018年12月總第18期:102-104.姚金明,楊俊杰.自行車轉(zhuǎn)速表的設(shè)計(jì)[J].上海力學(xué)院學(xué)報(bào),第29卷第3期2019年6月:250-265.程顯敏.電子車速轉(zhuǎn)速表的單片機(jī)實(shí)現(xiàn)方案[J].黑龍江交通科技,2021年第9期:263-263.田勝.汽車轉(zhuǎn)速表與轉(zhuǎn)速表信號(hào)發(fā)生器制作[J].汽車電器,2021年第7期:33-34.劉燕.基于霍爾傳感器的電子式車速轉(zhuǎn)速表設(shè)[J].現(xiàn)代計(jì)算機(jī),2017年第9期:36-42.王鎖弘.電子車速轉(zhuǎn)速表的單片機(jī)實(shí)現(xiàn)方案[J].國(guó)外電子元器件,2019年第5期2004年5月:7-9.劉宏綱,楊坪照,龔愛蘭.摩托車數(shù)字式轉(zhuǎn)速/轉(zhuǎn)速表應(yīng)用[J].摩托車技術(shù),2020年第3期:35-36.李光舉,馬印忠,李兆軍.基于CS8190的車輛轉(zhuǎn)速/轉(zhuǎn)速表設(shè)計(jì)與實(shí)現(xiàn)[J].農(nóng)業(yè)裝備與車輛工程,2019年第9期(總第218期):13-15.楊學(xué)友,任大海,段發(fā)階,葉聲華.汽車用交叉線圈電腦式轉(zhuǎn)速表及轉(zhuǎn)速表的研究[J].光電工程,第2卷第3期:65-68.趙華峰.基于單片機(jī)的語(yǔ)音式轉(zhuǎn)速表設(shè)計(jì)與實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù),第12卷第19期2019年7月:253-254古敏雄.汽車電子式車速轉(zhuǎn)速表研究[J].中國(guó)高新技術(shù)企業(yè),2019年第9期(總第324期):18-19.LanceHammond,BasemA.Nayfeh,KunleOlukotun.ASingle-ChipMultiprocessor[J]IEEEComputerSocietyPressLosAlamitos,CA,USA.Volume30Issue9,September1997:Pages79-85.KouroshGharachorloo,RobertMcNamara?,AndreasNowatzyk,ShazQadeer?.BartonSano,ScottSmith,RobertStets,andVerghese.Piranha:AScalableArchitectureBasedonSingle-ChipMultiprocessing[J].ConferencePaper,January2000:282-293.MathildeFran?ois,PhilippeCrave,Fran?oisOsiurak,AlexandraFort,JordanNavarro.Digital,analogue,orredundantspeedometersfortruckdriving:Impactonvisualdistraction,effificiencyandusability[J].AppliedErgonomics,65(2017)12-22.附錄1仿真圖附錄2程序#include<reg52.h> //頭文件#defineucharunsignedchar#defineuintunsignedint //宏定義sbitCOUNT_IN=P3^2; //信號(hào)輸入引腳定義//定義1602相關(guān)管腳sbitrs=P2^7; //定義液晶的引腳RSsbiten=P2^6; //定義液晶的引腳EN,這里要說(shuō)明的是,液晶還有一個(gè)RW,因?yàn)槲覀冎恍枰獙憯?shù)據(jù)到液晶,所以RW直接接地就可以了//按鍵定義sbitadd=P3^3; //按鍵加sbitdec=P3^4; //按鍵減sbitBUZZ=P1^0; //蜂鳴器引腳uintcount; //計(jì)數(shù)變量unsignedlongVelocity,Mileage; //速度和里程變量bitflag; //定義位變量ucharcodetab1[]={"V:km/hVH:"}; //液晶的第一行初始化顯示ucharcodetab2[]={"Mileage:.km"}; //液晶的第二行初始化顯示charVH=25; //初始報(bào)警值bitflag_alarm=0; //報(bào)警變量voiddelay(uintx) //延時(shí)函數(shù),大約延時(shí)1ms{ uinti,j; for(i=0;i<x;i++) for(j=0;j<121;j++);}voidinit() //定時(shí)器初始化{ IT0=1; //INT0負(fù)跳變觸發(fā) TMOD=0x01;//定時(shí)器工作于方式1 TH0=0x3c; //50ms TL0=0xb0; EA=1;//CPU開中斷總允許 ET0=1;//開定時(shí)中斷 EX0=1;//開外部INTO中斷TR0=1;//啟動(dòng)定時(shí)}/********液晶寫入指令函數(shù)與寫入數(shù)據(jù)函數(shù),以后可調(diào)用**************/voidwrite_1602com(uch

溫馨提示

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

評(píng)論

0/150

提交評(píng)論