速度與里程表設(shè)計(jì)單片機(jī)論文_第1頁(yè)
速度與里程表設(shè)計(jì)單片機(jī)論文_第2頁(yè)
速度與里程表設(shè)計(jì)單片機(jī)論文_第3頁(yè)
速度與里程表設(shè)計(jì)單片機(jī)論文_第4頁(yè)
速度與里程表設(shè)計(jì)單片機(jī)論文_第5頁(yè)
已閱讀5頁(yè),還剩31頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、摘要 本文介紹的速度與里程表設(shè)計(jì)以單片機(jī)最小系統(tǒng)和霍爾傳感器為核心。傳感器將不同的車(chē)速轉(zhuǎn)變?yōu)椴煌l率的脈沖信號(hào)輸錄到單片機(jī)進(jìn)行控制與計(jì)算,再采用LM016L模塊進(jìn)行顯示,使得自行車(chē)的速度與里程數(shù)據(jù)直觀的顯示給使用者。本系統(tǒng)由霍爾傳感器、單片機(jī)AT89C51、液晶顯示模塊LM016L、數(shù)據(jù)存儲(chǔ)電路和鍵盤(pán)矩陣模塊、時(shí)間芯片DS1302組成。通過(guò)單片機(jī)的設(shè)置可使部定時(shí)器T1對(duì)脈沖輸入引腳T0進(jìn)行控制,這樣能精確地算出加到T0引腳的單位時(shí)間檢測(cè)到的脈沖數(shù);設(shè)計(jì)中的速度顯示采用LM016L模塊,通過(guò)速度換算得來(lái)的里程數(shù)采用12C總線并通過(guò)存儲(chǔ)器來(lái)存儲(chǔ),既節(jié)省了所需單片機(jī)的口線和外圍器件,同時(shí)也簡(jiǎn)化了顯示

2、部分的軟件編程本文先對(duì)里程表設(shè)計(jì)當(dāng)中所需的設(shè)備作了詳細(xì)的介紹,對(duì)設(shè)計(jì)中存在的問(wèn)題進(jìn)行了說(shuō)明;而后對(duì)硬件和軟件部分的設(shè)計(jì)和實(shí)現(xiàn)作了認(rèn)真的分析,在此基礎(chǔ)上進(jìn)行了仿真。本里程表的設(shè)計(jì)具有結(jié)構(gòu)簡(jiǎn)單,成本低廉,顯示清晰,穩(wěn)定可靠等優(yōu)點(diǎn)。關(guān)鍵詞:?jiǎn)纹瑱C(jī)最小系統(tǒng),霍爾傳感器,時(shí)間芯片DS1302,液晶顯示模LM016L,矩陣鍵盤(pán)。1 / 36Abstract This paper introduces the speed and odometer design based on SCM system and the smallest Holzer sensor is the core. The sensor

3、 will different speed change into different frequency pulse signal inputting to the microprocessor controlandcalculation, then use LM016L module to display, the bicycle speed and mileage data to display to the user.This system is composed of sensors, MCU, Holzer AT89C51LCD module LM016L, data storin

4、g circuit and a keyboard matrix module, time chip DS1302. Through the computers settings can make the internal timer T1 pulse input pin T0 control, this can be accurately calculated to the T0 pin unit time to detect the pulse number; in the design of speed that the use of the LM016L module, the spee

5、d of conversion to the mileage by using 12C bus and the memory to store, saving the for single-chip mouth lines and peripheral devices, but also simplifies the display portion of the software programmingThis paper first on the odometer design required equipment are introduced in this paper, on the p

6、roblems existing in the design are described; then the hardware and software design and implementation carefully analyzed, on the basis of the simulation.The odometer design has the advantages of simple structure, low cost, clear display, the advantages of stable and reliable.Keywords: single chip m

7、icrocomputer minimum system, a Holzer sensor, time chip DS1302, liquid crystal display module LM016L, matrix keyboard.目 錄摘要Abstract1緒論11.1.課題的背景與意義11.2 課題所要解決的主要問(wèn)題12系統(tǒng)設(shè)計(jì)22.1.系統(tǒng)功能分析22.2 系統(tǒng)設(shè)計(jì)主要任務(wù)與容22.3系統(tǒng)設(shè)計(jì)技術(shù)指標(biāo)33自行車(chē)數(shù)字里程表硬件設(shè)計(jì)33.1概述33.1.1系統(tǒng)硬件構(gòu)成33.1.2設(shè)計(jì)思路33.2數(shù)據(jù)采集模塊43.2.1傳感器43.2.2 時(shí)間芯片63.2.3鍵盤(pán)矩陣113.3控制模塊12

8、3.3.1概述123.3.2單片機(jī)最小系統(tǒng)123.3.3單片機(jī)引腳功能介紹153.3.3.1.基礎(chǔ)知識(shí)153.3.4中斷系統(tǒng)173.3.5定時(shí)器/計(jì)數(shù)器173.4顯示模塊183.5其他介紹213.5.1復(fù)位電路214 自行車(chē)數(shù)字里程表軟件設(shè)計(jì)224.1系統(tǒng)介紹224.2系統(tǒng)流程圖225程序代碼225.1.數(shù)據(jù)采集程序225.2鍵盤(pán)掃描程序255.3.中斷程序276 Proteus仿真286.1 概述286.2仿真電路圖286.3 仿真結(jié)果圖29如下6-2示錯(cuò)誤!未定義書(shū)簽。7系統(tǒng)調(diào)試與結(jié)果分析297.1電路調(diào)試297.1.1硬件調(diào)試297.1.2軟件調(diào)試307.2結(jié)果分析30總結(jié)與展望31致3

9、1參考文獻(xiàn)錯(cuò)誤!未定義書(shū)簽。附錄錯(cuò)誤!未定義書(shū)簽。1緒論1.1.課題的背景與意義中國(guó)的輕型電動(dòng)車(chē)產(chǎn)業(yè)在2000年進(jìn)入產(chǎn)業(yè)化發(fā)展階段,目前正處于產(chǎn)業(yè)生命周期快速增長(zhǎng)階段的初期。盡管處于處處封殺的重壓下,消費(fèi)者對(duì)這一新興交通工具的青睞,推動(dòng)輕型電動(dòng)車(chē)產(chǎn)業(yè)近年來(lái)保持了80%以上的增長(zhǎng)速度。2005年,在整體經(jīng)濟(jì)需求增長(zhǎng)放慢、工業(yè)增速回落的背景下,輕型電動(dòng)車(chē)行業(yè)卻出現(xiàn)令人矚目的“井噴”行情,成為耐用消費(fèi)品市場(chǎng)不多的“亮點(diǎn)”之一。2006產(chǎn)銷(xiāo)量達(dá)到1500萬(wàn)輛。據(jù)此估算,2010年,中國(guó)輕型電動(dòng)車(chē)的產(chǎn)銷(xiāo)量將可能達(dá)到3000萬(wàn)輛,出口量將可能達(dá)到500600萬(wàn)輛。實(shí)現(xiàn)工業(yè)產(chǎn)值700億元,包括上下游帶動(dòng)產(chǎn)值

10、的產(chǎn)業(yè)總體規(guī)模將達(dá)到1300億。我國(guó)是自行車(chē)大國(guó),隨著人們生活水平的不斷提高,自行車(chē)已經(jīng)不僅僅是運(yùn)輸、代步的工具,其輔助功能也變得越來(lái)越重要。因此,人們希望自行車(chē)的娛樂(lè)、休閑、鍛煉的功能越來(lái)越多,能帶來(lái)大家更多的健康與快樂(lè)。在這個(gè)背景下,自行車(chē)?yán)锍瘫碜鳛樽孕熊?chē)的一大輔助工具迅速發(fā)展起來(lái).科學(xué)、美觀、合理設(shè)計(jì)自行車(chē)?yán)锍瘫碛幸欢ǖ膶?shí)用價(jià)值.它能合理計(jì)算出速度與公里數(shù),使運(yùn)動(dòng)者運(yùn)動(dòng)適量,達(dá)到健康運(yùn)動(dòng)與代步的最佳效果。隨著自行車(chē)?yán)锍瘫淼陌l(fā)展,其功能也逐漸從單一的里程顯示發(fā)展到速度、時(shí)間顯示,甚至有的還具有測(cè)量騎車(chē)人的心跳、顯示騎車(chē)人熱量消耗等功能,讓人能清楚地知道當(dāng)前的速度、時(shí)間、里程等物理量。本文介

11、紹的自行車(chē)?yán)锍瘫硎遣捎靡訟T89C51單片機(jī)為中央處理器,結(jié)合高精度的采樣電路、 控制電路、顯示電路,方便地實(shí)現(xiàn)了智能化、 高精度、 高可靠性、 高效率的自行車(chē)?yán)锍瘫淼脑O(shè)計(jì),并且使用方便。1.2 課題所要解決的主要問(wèn)題(1).設(shè)計(jì)一個(gè)輕便、省電、全天候野外使用的自行車(chē)?yán)锍瘫恚?2).可顯示里程、速度、加速度,行駛時(shí)間等信息;(3).適用于各種車(chē)型(不同尺寸),車(chē)型信息可通過(guò)鍵盤(pán)設(shè)置2系統(tǒng)設(shè)計(jì)2.1.系統(tǒng)功能分析本系統(tǒng)可以實(shí)現(xiàn)自行車(chē)或電動(dòng)車(chē)在行駛過(guò)程中速度,里程數(shù)的顯示功能。系統(tǒng)元件簡(jiǎn)單,實(shí)用性強(qiáng)。通過(guò)霍爾傳感器進(jìn)行信號(hào)的采集,每來(lái)一次信號(hào),計(jì)數(shù)器加一,每五秒鐘計(jì)算一次平均速度。本系統(tǒng)的核心在于

12、單片機(jī),把采集到的數(shù)據(jù)送入單片機(jī)后進(jìn)行處理,再通過(guò)單片機(jī)把處理好的數(shù)據(jù)通過(guò)液晶顯示出來(lái),從而實(shí)現(xiàn)速度和里程的顯示。本系統(tǒng)是由數(shù)據(jù)采集,單片機(jī)控制系統(tǒng),鍵盤(pán)顯示,液晶顯示4部分構(gòu)成。其中數(shù)據(jù)的采集是由霍爾傳感器來(lái)完成的,它的輸出是矩形脈沖,其中關(guān)鍵的處理由單片機(jī)系統(tǒng)來(lái)完成,單片機(jī)將對(duì)P1.0腳的信號(hào)進(jìn)行計(jì)數(shù),輸出的信號(hào)由液晶進(jìn)行顯示,顯示當(dāng)前的行駛里程情況。鍵盤(pán)的作用是輸入自行車(chē)的車(chē)型等信息,以上所訴就是整個(gè)系統(tǒng)的總體設(shè)計(jì)思想。6該設(shè)計(jì)能實(shí)時(shí)地將所測(cè)的累計(jì)里程數(shù)顯示出來(lái),主要是將傳感器輸入到單片機(jī)的脈沖信號(hào)的頻率(傳感器將不同車(chē)速轉(zhuǎn)變成不同頻率的脈沖信號(hào))實(shí)時(shí)地測(cè)量出來(lái),通過(guò)單片機(jī)計(jì)算出里程,并

13、由液晶顯示模塊顯示所測(cè)里程。本設(shè)計(jì)的里程數(shù)的算法是一種大概的算法(假設(shè)在一定時(shí)間自行車(chē)是勻速行進(jìn),平均速度與時(shí)間的乘積即為里程數(shù))。 設(shè)計(jì)時(shí),應(yīng)綜合考慮測(cè)速精度和系統(tǒng)反應(yīng)時(shí)間。本設(shè)計(jì)用測(cè)量脈沖頻率來(lái)計(jì)算速度,因而具有較高的測(cè)速精度。在計(jì)算里程時(shí)取了自行車(chē)的理想狀態(tài)。實(shí)際中,誤差控制在幾米之,相對(duì)于整個(gè)里程來(lái)說(shuō)不是很大。另外,還應(yīng)盡量保證其他子模塊在編程時(shí)的通用性和高效性。2.2 系統(tǒng)設(shè)計(jì)主要任務(wù)與容用單片機(jī)設(shè)計(jì)一個(gè)可以適用各種自行車(chē)的數(shù)字里程表,可顯示里程、速度、時(shí)間等信息。學(xué)習(xí)、了解、掌握程序設(shè)計(jì)方法和了解自行車(chē)的數(shù)字里程表的基本工作原理。用傳感器將所測(cè)轉(zhuǎn)速轉(zhuǎn)變?yōu)閿?shù)字脈沖信號(hào),然后再將數(shù)字脈

14、沖信號(hào)數(shù)據(jù)傳輸于核心單片機(jī)處理,單片機(jī)將根據(jù)設(shè)計(jì)程序計(jì)算在一定時(shí)間數(shù)字脈沖的頻率,再由計(jì)數(shù)值最終得到路程里數(shù)并通過(guò)終端顯示設(shè)備顯示出來(lái)。附加報(bào)警功能,在速度超過(guò)某一個(gè)固定值后,指示燈發(fā)亮,提示需要減速。2.3系統(tǒng)設(shè)計(jì)技術(shù)指標(biāo)計(jì)數(shù)方式:十進(jìn)制里程顯示位數(shù):4位速度顯示位數(shù):2位3自行車(chē)數(shù)字里程表硬件設(shè)計(jì)3.1概述自行車(chē)數(shù)字里程表的硬件設(shè)計(jì)主要包括運(yùn)用傳感器對(duì)外部信號(hào)進(jìn)行采集,單片機(jī)對(duì)數(shù)據(jù)進(jìn)行處理,液晶顯示的設(shè)計(jì),單片機(jī)是設(shè)計(jì)的核心。3.1.1系統(tǒng)硬件構(gòu)成系統(tǒng)硬件以AT89C51為核心,包括以下三個(gè)模塊電路:1.數(shù)據(jù)采集模塊(霍爾傳感器采集數(shù)據(jù)、時(shí)間芯片DS1302、鍵盤(pán)矩陣)2.控制模塊(AT8

15、9C51)3.LCD顯示模塊(LM016L)數(shù)據(jù)采集AT89C51LCD顯示外部信號(hào)圖 3-1 系統(tǒng)構(gòu)成框圖3.1.2設(shè)計(jì)思路基本思路:假設(shè)自行車(chē)車(chē)輪的半徑為R,R的值根據(jù)自行車(chē)半徑的不同由編程是部設(shè)定或鍵盤(pán)輸入給定,則L=2*3.14*R。在輪圈上安裝一個(gè)永久磁鐵,則輪子每轉(zhuǎn)一圈,通過(guò)開(kāi)關(guān)型霍爾傳感器的電平就會(huì)發(fā)生一次跳變,跳變產(chǎn)生一個(gè)脈沖信號(hào),從引腳P3.5計(jì)數(shù)器T1端輸入,并通過(guò)計(jì)數(shù)器對(duì)其進(jìn)行計(jì)數(shù)為N在規(guī)定的周期T時(shí)間的路程S=N*L,而在該周期的速度V=S/T,當(dāng)前的總路程為lc=lc+S。 計(jì)時(shí)功能由時(shí)間芯片DS1302來(lái)選取,如果當(dāng)時(shí)間不符合時(shí),則由鍵盤(pán)對(duì)時(shí)間進(jìn)行初始化設(shè)置來(lái)調(diào)整時(shí)

16、間,然后通過(guò)定時(shí)器來(lái)完成時(shí)間計(jì)時(shí)功能,鍵盤(pán)還可以對(duì)不同規(guī)格的自行車(chē)半徑來(lái)作選擇。 在LCD上需顯示的容為time,sd,lc。由AT89C51控制顯示數(shù)據(jù),實(shí)時(shí)刷新。3.2數(shù)據(jù)采集模塊3.2.1傳感器3.2.1.1.傳感器的選擇 里程測(cè)量傳感器的選擇方案有:使用編碼器對(duì)自行車(chē)車(chē)輪的圈數(shù)進(jìn)行測(cè)量、使用紅外光敏電阻對(duì)里程進(jìn)行測(cè)量、利用霍爾傳感器對(duì)自行車(chē)?yán)锍踢M(jìn)行測(cè)量。編碼器的安裝相對(duì)來(lái)說(shuō)比較復(fù)雜;紅外光敏電阻不僅對(duì)光敏感,還對(duì)環(huán)境和天氣的要求也高,這些因素都能?chē)?yán)重影響測(cè)量的效果;而霍爾傳感器完全能避免上述的不足之處,由霍爾元件加整形電路構(gòu)成的霍爾開(kāi)關(guān)系統(tǒng),不僅安裝方便,不受光線和環(huán)境的影響,而且具有

17、輸出響應(yīng)快,數(shù)字脈沖性能好,既簡(jiǎn)單又經(jīng)濟(jì)適用,所以本設(shè)計(jì)采用霍爾傳感器來(lái)對(duì)里程進(jìn)行測(cè)量。3.2.1.2.霍爾傳感器的原理當(dāng)一塊通有電流的金屬或半導(dǎo)體薄片垂直地放在磁場(chǎng)中時(shí),薄片的兩端就會(huì)產(chǎn)生電位差,這種現(xiàn)象就稱(chēng)為霍爾效應(yīng)。兩端具有的電位差值稱(chēng)為霍爾電勢(shì)U,其表達(dá)式為 U=KIB/d,其中K為霍爾系數(shù),I為薄片過(guò)的電流,B為外加磁場(chǎng)的磁感應(yīng)強(qiáng)度,d是薄片的厚度,由此可見(jiàn),霍爾效應(yīng)的靈敏度高低與外加磁場(chǎng)的磁感應(yīng)強(qiáng)度成正比的關(guān)系。而利用霍爾效應(yīng)制成的元件叫做霍爾元件,霍爾元件接線圖如下圖3-1所示。圖 3-1接線圖霍爾傳感器檢測(cè)轉(zhuǎn)速示意圖如下圖3-2示。在非磁材料的圓盤(pán)邊上粘貼一塊磁鋼,霍爾傳感器固

18、定在圓盤(pán)外緣附近。圓盤(pán)每轉(zhuǎn)動(dòng)一圈,霍爾傳感器便輸出一個(gè)脈沖,通過(guò)單片機(jī)測(cè)量產(chǎn)生脈沖的頻率就可以得出圓盤(pán)的轉(zhuǎn)速。 圖 3-2 測(cè)速原理圖霍爾傳感器的外形圖和與磁場(chǎng)的作用關(guān)系如圖3-3所示。磁場(chǎng)由磁鋼提供,所以霍爾傳感器和磁鋼需要配對(duì)使用。圖 3-3霍爾元件產(chǎn)品圖和管腳圖3.2.2 時(shí)間芯片本設(shè)計(jì)時(shí)間芯片采用的了DS1302,DS1302是由美國(guó)DALLAS公司推出的一種具有涓細(xì)電流充電能力的低功耗實(shí)時(shí)時(shí)鐘電路,具有可對(duì)年、月、日、周、日、時(shí)、分、秒進(jìn)行計(jì)時(shí)等的功能,工作電壓為2.5V5.5V。主要的特點(diǎn)是采用串行數(shù)據(jù)傳輸,即使掉電亦不丟失,在DS1302部有一個(gè)318的用于臨時(shí)性存放數(shù)據(jù)的RAM

19、寄存器。DS1302與AT89C51的連接線有三條線:RST引腳、SCLK串行時(shí)鐘引腳、I/O串行數(shù)據(jù)引腳,Vcc2作為備用電源,芯片外接晶振X2,為芯片提供計(jì)時(shí)脈沖。 DS1302是DALLAS公司推出的涓流充電時(shí)鐘芯片,含一個(gè)實(shí)時(shí)時(shí)鐘/日歷和31字節(jié)靜 態(tài)RAM,可以通過(guò)串行接口與單片機(jī)進(jìn)行通信。實(shí)時(shí)時(shí)鐘/日歷電路提供秒、分、時(shí)、日、 星期、月、年的信息,每個(gè)月的天數(shù)和閏年的天數(shù)可自動(dòng)調(diào)整,時(shí)鐘操作可通過(guò)AM/PM標(biāo) 志位決定采用24或12小時(shí)時(shí)間格式。DS1302與單片機(jī)之間能簡(jiǎn)單地采用同步串行的方式進(jìn) 行通信,僅需三根I/O 線:復(fù)位(RST)、I/O 數(shù)據(jù)線、串行時(shí)鐘(SCLK)。時(shí)

20、鐘/RAM 的讀/寫(xiě)數(shù)據(jù)以一字節(jié)或多達(dá)31字節(jié)的字符組方式通信。DS1302工作時(shí)功耗很低,保持?jǐn)?shù)據(jù)和時(shí)鐘信息時(shí),功耗小于1mW。DS1302的外部引腳分配圖如圖3-4所示圖3-4DS1302的外部引腳分配圖DS1302的部結(jié)構(gòu)如表1所示,主要組成部分為:移位寄存器、控制邏輯、振蕩器、實(shí)時(shí)時(shí)鐘以與RAM。雖然數(shù)據(jù)分成兩種,但是對(duì)單片機(jī)的程序而言,其實(shí)是一樣的,就是對(duì) 特定的地址進(jìn)行讀寫(xiě)操作。表1 DS1302的部結(jié)構(gòu)DS1302的部結(jié)構(gòu)圖3-8DS1302外部引腳功能說(shuō)明圖3-5VCC2主電源引腳GND地圖3-6 DS1302封裝圖RST復(fù)位I/O數(shù)據(jù)輸入/輸出SCLK串行時(shí)鐘VCC1電池引腳

21、圖3-5 DS1302外部引腳功能說(shuō)明圖DS1302的結(jié)構(gòu)如圖3-6所示圖3-6DS1302的結(jié)構(gòu)DS1302的部結(jié)構(gòu)如圖3-7所示圖3-7 DS1302的部結(jié)構(gòu)圖DS1302含充電電路,可以對(duì)作為后備電源的可充電電池充電,并可選擇充電使能和串 入的二極管數(shù)目,以調(diào)節(jié)電池充電電壓。不過(guò)對(duì)我們目前而言,最需要熟悉的是和時(shí)鐘相關(guān) 部分的功能,對(duì)于其它參數(shù)請(qǐng)參閱數(shù)據(jù)手冊(cè)。DS1302的工作原理DS1302工作時(shí)為了對(duì)任何數(shù)據(jù)傳送進(jìn)行初始化,需要將復(fù)位腳(RST)置為高電平且 將8位地址和命令信息裝入移位寄存器。數(shù)據(jù)在時(shí)鐘(SCLK)的上升沿串行輸入,前8位指 定訪問(wèn)地址,命令字裝入移位寄存器后,在之

22、后的時(shí)鐘周期,讀操作時(shí)輸出數(shù)據(jù),寫(xiě)操作時(shí) 輸出數(shù)據(jù)。時(shí)鐘脈沖的個(gè)數(shù)在單字節(jié)方式下為8+8(8位地址+8位數(shù)據(jù)),在多字節(jié)方式下為8加最多可達(dá)248的數(shù)據(jù)。各引腳的功能為:Vcc1:主電源:Vcc2:備用電源。當(dāng)Vcc2Vcc1+0.2V時(shí),由Vcc2向DS1302供電,當(dāng)Vcc2Vcc1時(shí),由VCC1向DS1302供電。SCLK:串行時(shí)鐘,輸入,控制數(shù)據(jù)的輸入與輸出;I/O:三線接口時(shí)的雙向數(shù)據(jù)線; CE:輸入信號(hào),在讀、寫(xiě)數(shù)據(jù)期間,必須為高。該引腳有兩 個(gè)功能:第一,CE開(kāi)始控制字訪問(wèn)移位寄存器的控制邏輯;其次,CE提供結(jié)束單字節(jié)或多字節(jié)數(shù)據(jù)傳輸?shù)姆椒?。DS1302有下列幾組寄存器:1)DS

23、1302有關(guān)日歷、時(shí)間的寄存器共有12個(gè),其中有7個(gè)寄存器秒寄存器(81h、80h)的位7定義為時(shí)鐘暫停標(biāo)志(CH)。當(dāng)該 位置為1時(shí),時(shí)鐘振蕩器停止,。DS1302處于低功耗狀態(tài);當(dāng)該位置為0時(shí),時(shí)鐘開(kāi)始運(yùn)行。 控制寄存器(8Fh、8Eh)的位7是寫(xiě)保護(hù)位(WP),其它7位均置為0。在任何的對(duì)鐘和RAM的寫(xiě)操作之前,WP位必須為0。當(dāng)WP位為1時(shí),寫(xiě)保護(hù)位防止對(duì)任一寄存器的寫(xiě)操作。2)DS1302有關(guān)RAM的地址DS1302中附加31字節(jié)靜態(tài)RAM的地址如表3-3所示。表3-3DS1302中附加31字節(jié)靜態(tài)RAM的地址工作模式寄存器讀寄存器寫(xiě)寄存器時(shí)鐘突發(fā)模式寄存器CLOCK BURSTBF

24、hBEhRAM突發(fā)模式寄存器RAM BURSTFFhFEh3) DS1302的工作模式寄存器 所謂突發(fā)模式是指一次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)和RAM 數(shù)據(jù)。 突發(fā)模式寄存器如表3-4所示。表3-4突發(fā)模式寄存器765432101RAMA4A3A2A1A0R DC KW R此外,DS1302還有充電寄存器等。2)讀寫(xiě)時(shí)序說(shuō)明 DS1302是SPI總線驅(qū)動(dòng)方式。它不僅要向寄存器寫(xiě)入控制字, 還需要讀取相應(yīng)寄存器的數(shù)據(jù)。要想與DS1302通信,首先要了解DS1302的控制字。DS1302的控制字如表3-5。表 3-5控制制字(即地址與命令字節(jié))讀地址寫(xiě)地址數(shù)據(jù)圍C1hC0h00-FFhC3hC2h00-

25、FFhC5HC4h00-FFh.FDhFCh00-FFh控制字的最高有效位(位7)必須是邏輯1,如果它為0,則不能把 數(shù)據(jù)寫(xiě)入到。DS1302中。位6:如果為0,則表示存取日歷時(shí)鐘數(shù)據(jù),為1表示存取RAM數(shù)據(jù);位5至位1(A4A0):指示操作單元的地址;位0(最低有效位):如為0,表示要進(jìn)行寫(xiě)操作,為1表示進(jìn)行讀 操作??刂谱挚偸菑淖畹臀婚_(kāi)始輸出。在控制字指令輸入后的下一個(gè)SCLK時(shí)鐘的上升沿時(shí),數(shù)據(jù)被寫(xiě)入DS1302,數(shù)據(jù)輸入從最低位(0位)開(kāi)始。同樣,在緊跟8位的控制字指令后的下一個(gè)SCLK脈沖的 下降沿,讀出DS1302的數(shù)據(jù),讀出的數(shù)據(jù)也是從最低位到最高位。 數(shù)據(jù)讀寫(xiě)時(shí)序如圖3-7所示

26、。圖3-7 數(shù)據(jù)讀寫(xiě)時(shí)序具體操作見(jiàn)驅(qū)動(dòng)程序。(3)電路原理圖:電路原理圖如圖3-8所示, DS1302與單片機(jī)的連接也僅需3條線:CE引腳、SCLK串行時(shí)鐘引腳、I/O串行數(shù)據(jù)引腳,Vcc2為備用電源,外接32.768kHz晶振,為芯片提供計(jì)時(shí)脈沖。圖3-8電路原理圖3.2.3鍵盤(pán)矩陣鍵盤(pán)是4*4的矩陣鍵盤(pán),在設(shè)計(jì)中是用來(lái)調(diào)整時(shí)間的,從上述知道當(dāng)時(shí)間芯片DS1302的時(shí)間不準(zhǔn)確時(shí),就可以通過(guò)鍵盤(pán)來(lái)對(duì)時(shí)間進(jìn)行調(diào)整,當(dāng)然鍵盤(pán)還能對(duì)不同規(guī)格自行車(chē)的半徑進(jìn)行選擇。本系統(tǒng)采用4*4鍵盤(pán),其中使用到的只有其中10個(gè),另外六個(gè)保留,鍵盤(pán)的作用就是設(shè)置輪胎的寬度,和另外的一些參數(shù)值,也可以通過(guò)鍵盤(pán)來(lái)控制程序的

27、運(yùn)行(本系統(tǒng)未使用)。4*4的鍵盤(pán)引出的8個(gè)引腳接單片機(jī)的P2口。鍵盤(pán)掃描原理是按鍵部分由16個(gè)輕觸按鍵按照4行4列排列,連接到P2端口。將行線所接的單片機(jī)的I/O口作為輸出端,而列線所接的I/O口則作為輸入。這樣,當(dāng)按鍵沒(méi)有按下時(shí),所有的輸出端都是高電平,代表無(wú)鍵按下。行線輸出是低電平,一旦有鍵按下,則輸入線就會(huì)被拉低,這樣,通過(guò)讀入輸入線的狀態(tài)就可得知是否有鍵按下了。本系統(tǒng)采用的掃描法,具體如下: 判斷鍵盤(pán)中有無(wú)鍵按下: 將全部行線置低電平,然后檢測(cè)列線的狀態(tài)。只要有一列的電平為低,則表示鍵盤(pán)中有鍵被按下,而且閉合的鍵位于低電平線與4根行線相交叉的4個(gè)按鍵之中。若所有列線均為高電平,則鍵盤(pán)

28、中無(wú)鍵按下。判斷閉合鍵所在的位置: 在確認(rèn)有鍵按下后,即可進(jìn)入確定具體閉合鍵的過(guò)程。方法是:依次將行線置為低電平,即在置某根行線為低電平時(shí),其它線為高電平。確定某根行線位置為低電平后,再逐行檢測(cè)各列線的電平狀態(tài)。若某列為低,則該列線與置為低電平的行線交叉處的按鍵就是閉合的按鍵。3.3控制模塊3.3.1概述單片機(jī)是指一種集成在電路芯片上的微型計(jì)算機(jī),它包括中央處理器CPU、隨機(jī)存儲(chǔ)器RAM、只讀存儲(chǔ)器ROM、并行I/O口、串行I/O口、中斷系統(tǒng)、定時(shí)器/計(jì)數(shù)器、定時(shí)電路與元件等部件集成到一塊芯片上構(gòu)成的一個(gè)小而完善的計(jì)算機(jī)系統(tǒng)。1. 中央處理器2. 中央處理器CPU是單片機(jī)的核心,主要完成運(yùn)算和

29、控制功能。1).隨機(jī)存儲(chǔ)器RAM CPU在運(yùn)行時(shí)可隨時(shí)進(jìn)行數(shù)據(jù)的寫(xiě)入和讀取,斷電后RAM中容丟失。2).只讀存儲(chǔ)器ROM只讀存儲(chǔ)器ROM,顧名思義是指將數(shù)據(jù)寫(xiě)入后不易改寫(xiě)的存儲(chǔ)器,斷電后ROM中容不丟失(如MP3)1)并行I/O口51單片機(jī)有4個(gè)并行I/O口P0、P1、P2、P3,每個(gè)I/O口有8根I/O口線。2) 串行I/O口3)目前比較高檔的8位單片機(jī)均設(shè)置了全雙工串行I/O口,用以實(shí)現(xiàn)與某些終端設(shè)備進(jìn)行串行通信,51單片機(jī)只有一個(gè)串行口P3.0、P3.1。1.中斷系統(tǒng)中斷系統(tǒng)包括中斷裝置和中斷處理程序,是計(jì)算機(jī)的重要組成部分,實(shí)時(shí)控制、故障自動(dòng)處理、計(jì)算機(jī)與外圍設(shè)備間的數(shù)據(jù)傳送廣泛采用中

30、斷系統(tǒng)。2. 定時(shí)器/計(jì)數(shù)器定時(shí)器是由單片機(jī)部提供一個(gè)非常穩(wěn)定的計(jì)數(shù)信號(hào);計(jì)數(shù)器則是記錄單片機(jī)的外部事件的。3)定時(shí)電路與元件計(jì)算機(jī)的整個(gè)工作是在時(shí)鐘信號(hào)的驅(qū)動(dòng)下,按照嚴(yán)格的時(shí)序有規(guī)律的一拍一拍的執(zhí)行各個(gè)操作,單片機(jī)部設(shè)有定時(shí)電路,只需要外接振蕩元件即可工作。3.3.2單片機(jī)最小系統(tǒng)單片機(jī)的最小系統(tǒng)可以為單片機(jī)提供一個(gè)穩(wěn)定無(wú)抖動(dòng)的電源,主要由電源,時(shí)鐘,復(fù)位三部分電路組成。如圖3-9所示單片機(jī)電源電路時(shí)鐘電路復(fù)位電路圖 3-9電路構(gòu)成框圖1).電源電路:向單片機(jī)供電通常圖片都沒(méi)有給出,20腳是地GND, 40腳是電源VCC,一般我們會(huì)選擇在電源VCC處,加一個(gè)瓷片電容,它的目的是能濾掉電源中的

31、高頻雜波,使系統(tǒng)更加安全。需要注意的是51單片機(jī)使用的是5伏直流電源。2).時(shí)鐘電路:時(shí)鐘電路就是振蕩電路,向單片機(jī)提供一個(gè)正弦波信號(hào)作為基準(zhǔn),決定單片機(jī)的執(zhí)行速度。AT89C51片有一個(gè)用于構(gòu)成振蕩器的反相放大器,該反相放大器的輸入為芯片引腳XTAL1(19腳),輸出端為引腳XTAL2(18腳),這兩個(gè)引腳通過(guò)連接一個(gè)12MHz晶振X1和兩個(gè)30pF的瓷片電容C1、C2,構(gòu)成了單片機(jī)的時(shí)鐘電路。振蕩器是單片機(jī)系統(tǒng)正常工作的保證,如果振蕩器不起振,系統(tǒng)將會(huì)不能工作;假如振蕩器運(yùn)行不規(guī)律,系統(tǒng)執(zhí)行程序的時(shí)候就會(huì)出現(xiàn)時(shí)間上的誤差,這在通信中會(huì)體現(xiàn)的很明顯:電路將無(wú)法通信。晶振是石英晶體振蕩器的簡(jiǎn)稱(chēng)

32、,通常用來(lái)構(gòu)成振蕩電路,產(chǎn)生各種頻率信號(hào)。是一種能夠輸出穩(wěn)定的震蕩周期的元件,通過(guò)晶振輸出的時(shí)鐘脈沖,來(lái)安排單片機(jī)的工作,這樣單片機(jī)才能夠有了時(shí)間的概念。但是晶振并不能夠獨(dú)立的使用,圖中的瓷片電容C1和C2起穩(wěn)定作用,所以晶振必須配合合適的負(fù)載電容,否則會(huì)產(chǎn)生錯(cuò)誤,或者是晶振不能正常的工作。晶振所加電容是匹配電容,主要是根據(jù)單片機(jī)部電路和晶振確定的,一般選取30pF左右即可,電容大小對(duì)振蕩的穩(wěn)定性有較大影響,對(duì)頻率有一定的微調(diào),但不明顯。晶振和瓷片電容是沒(méi)有正負(fù)的,注意兩個(gè)瓷片電容相連的那端一定要接地。51單片機(jī)最小系統(tǒng)晶振的振蕩頻率直接影響單片機(jī)的處理速度,頻率越大處理速度越快。圖 3-10

33、時(shí)鐘電路注:時(shí)鐘電路振蕩頻率f = 晶振頻率時(shí)鐘電路振蕩周期 = 1/f單片機(jī)機(jī)器周期 = 振蕩周期12例如:晶振頻率 = 12MHz振蕩頻率 = 12MHz振蕩周期 = 1/12s機(jī)器周期 = 1s3.復(fù)位電路:確定單片機(jī)工作的起始狀態(tài),完成單片機(jī)的啟動(dòng)過(guò)程AT89C51單片機(jī)的復(fù)位信號(hào)時(shí)高電平有效,通過(guò)RST/VPD(9腳)連接復(fù)位電路,復(fù)位電路連接方式有兩種。1)上電復(fù)位:?jiǎn)纹瑱C(jī)接通電源時(shí)產(chǎn)生復(fù)位信號(hào),完成單片機(jī)啟動(dòng),確定單片機(jī)起始工作狀態(tài)。2)手動(dòng)復(fù)位:手動(dòng)按鍵產(chǎn)生復(fù)位信號(hào),完成單片機(jī)啟動(dòng),確定單片機(jī)的初始狀態(tài)。通常在單片機(jī)工作出現(xiàn)混亂或“死機(jī)”時(shí),使用手動(dòng)復(fù)位可實(shí)現(xiàn)單片機(jī)的“重啟”。

34、上電復(fù)位是每個(gè)單片機(jī)都必須有的,一般斷電以后,再上電就復(fù)位了,而手動(dòng)復(fù)位在大型的系統(tǒng)中運(yùn)用比較多,在一般的小東西里面基本不用,所以本設(shè)計(jì)采用了上電復(fù)位方式。 本設(shè)計(jì)的復(fù)位電路是由一個(gè)10uF的電容C3和一個(gè)10K的電阻R1組成的。一般單片機(jī)復(fù)位腳至少需要大約10ms時(shí)間的持續(xù)高電平脈沖,才能保證有效復(fù)位。當(dāng)上電時(shí),電容充電,類(lèi)似于短路,復(fù)位腳就變成高電平,電容充滿電后,復(fù)位腳就變成低電平。同時(shí)應(yīng)注意保證加在RST 引腳上的高電平持續(xù)兩個(gè)機(jī)器周期,才能使單片機(jī)可靠復(fù)位。復(fù)位電路圖如圖3-11所示圖 3-11 復(fù)位電路圖3.3.3單片機(jī)引腳功能介紹3.3.3.1.基礎(chǔ)知識(shí) AT89C51是由美國(guó)A

35、TMEL公司生產(chǎn)的一種低功耗、高性能的CMOS 8位單片機(jī),片含有4K字節(jié)Flash可擦寫(xiě)存儲(chǔ)器(PEROM)以與128字節(jié)的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),AT89C51采用ATMEL公司高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片置通用8位中央處理器(CPU)和Flash存儲(chǔ)單元,功能十分強(qiáng)大的AT89C51單片機(jī)可提供許多高性?xún)r(jià)比的應(yīng)用場(chǎng)合,還可靈活應(yīng)用于各種控制領(lǐng)域。AT89C51 提供的標(biāo)準(zhǔn)功能有:4k 字節(jié)Flash 閃速存儲(chǔ)器,128字節(jié)部RAM,32 個(gè)IO 口線,兩個(gè)16位定時(shí)計(jì)數(shù)器,一個(gè)5向量?jī)杉?jí)中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片振蕩器與時(shí)鐘電路。同時(shí),AT

36、89C51可降至0Hz的靜態(tài)邏輯操作,并且還支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許RAM,定時(shí)計(jì)數(shù)器,串行通信口與中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的容,但振蕩器停止工作并禁止其它所有部件工作直到下一個(gè)硬件復(fù)位。3.3.3.2.主要特性與MCS-51 兼容 4K字節(jié)可編程閃爍存儲(chǔ)器 壽命:1000寫(xiě)/擦循環(huán)數(shù)據(jù)保留時(shí)間:10年全靜態(tài)工作:0Hz-24MHz三級(jí)程序存儲(chǔ)器鎖定1288位部RAM32可編程I/O線兩個(gè)16位定時(shí)器/計(jì)數(shù)器5個(gè)中斷源 可編程串行通道低功耗的閑置和掉電模式片振蕩器和時(shí)鐘電路3.3.3.3.引腳定義與功能 AT89C51引腳圖如下圖3-12所

37、示。按引腳的功能可分為三個(gè)部分1)主電源引腳VCC、GND和晶振VCC:供電電壓,運(yùn)行和程序校驗(yàn)時(shí)接電源正端(+5V)。 GND:接地端。 XTAL1:輸入到單片機(jī)部振蕩器的反相放大器。當(dāng)采用外部振蕩器時(shí),對(duì)HMOS單片微機(jī),此引腳應(yīng)接地;對(duì)CHMOS單片微機(jī),此引腳作驅(qū)動(dòng)端。圖3-12XTAL2:反相放大器的輸出,輸入到部時(shí)鐘發(fā)生器。當(dāng)采用外部振蕩器時(shí),XTAL2接收振蕩器信號(hào),對(duì)CHMOS單片微機(jī),此引腳應(yīng)懸浮。當(dāng)使用片時(shí)鐘電路時(shí),二線用來(lái)外接石英晶體和微調(diào)電容;當(dāng)使用片外時(shí)鐘電路時(shí),XTAL1接收外部時(shí)鐘信號(hào),XTAL2懸空。2)I/O:共4個(gè)口,32根I/O線P0口(P0.0-PO.7

38、)是一個(gè)8位漏級(jí)開(kāi)路型的雙向I/O口, P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的低八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0口則作為輸出原碼,此時(shí)P0外部必須被拉高。P1口(P1.0-P1.7)是一個(gè)部帶提升電阻的準(zhǔn)雙向I/O口,在FLASH編程和校驗(yàn)時(shí),P1口可用于接收低8位的地址信號(hào)。P2口(P2.0-P2.7)是一個(gè)部帶提升電阻的8位準(zhǔn)雙向I/O口,也可用于外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器訪問(wèn)時(shí)的高八位地址。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址和控制信號(hào)。P3口(P3.0-P3.7) 是一個(gè)部帶提升電阻的8位準(zhǔn)雙向I/O口,也可作為

39、AT89C51的一些特殊功能口,備選功能如下:P3.0 RXD(串行輸入口)P3.1 T(串行輸出口)P3.2 /INT0(外部中斷0)P3.3 /INT1(外部中斷1)P3.4 T0(記時(shí)器0外部輸入)P3.5 T1(記時(shí)器1外部輸入)P3.6 /WR(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通)P3.7 /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)3)控制線:3類(lèi)共4根線 A.輸入控制線RST/VPD:復(fù)位輸入信號(hào),高電平有效。在振蕩器工作時(shí),在RST上作用兩個(gè)機(jī)器周期(24個(gè)時(shí)鐘周期)以上的高電平時(shí),將單片微機(jī)復(fù)位。第二功能VPD為部RAM的備用電源輸入端,主電源一旦發(fā)生斷電,降到一定低電壓值時(shí),可通過(guò)VPD為單片機(jī)部RA

40、M提供電源,以保護(hù)片RAM中的信息不丟失,使上電后能繼續(xù)正常運(yùn)行。EA/VPP:片外程序存儲(chǔ)器訪問(wèn)允許信號(hào),低電平有效。當(dāng)EA為高電平時(shí),選擇片程序存儲(chǔ)器(80C51為4KB,80C52為8KB),當(dāng)程序計(jì)數(shù)器PC的值大于4KB,則自動(dòng)執(zhí)行外部程序存儲(chǔ)器容;當(dāng)EA接地時(shí),只訪問(wèn)外部程序存儲(chǔ),而不用管片是否有程序存儲(chǔ)器。第二功能VPP為編程電源輸入。B.輸入、輸出控制線ALE/PROG:地址鎖存允許信號(hào),輸出,高電平有效。在訪問(wèn)片外存儲(chǔ)器或I/O時(shí),用來(lái)鎖存P0擴(kuò)展地址低8位的地址信號(hào),以實(shí)現(xiàn)低8位地址與數(shù)據(jù)的隔離。ALE也以振蕩頻率的1/6的固定速率輸出,可作為對(duì)外輸出的時(shí)鐘或用作外部定時(shí)脈沖

41、。ALE可以驅(qū)動(dòng)8個(gè)LSTTL負(fù)載。第二功能PROG低電平有效,是部ROM編程時(shí)的編程脈沖輸入端。C.輸出控制線PSEN:外部程序存儲(chǔ)器讀選通信號(hào),低電平有效。在從片外程序存儲(chǔ)器取指期間,在每個(gè)機(jī)器周期中,當(dāng)PSEN有效時(shí),程序存儲(chǔ)器的容被送上P0口(數(shù)據(jù)總線)。PSEN可以驅(qū)動(dòng)8個(gè)LSTTL負(fù)載。3.3.4中斷系統(tǒng)中斷源:引起中斷的根源中斷請(qǐng)求:中斷源向CPU提出的處理要求中斷響應(yīng)過(guò)程:CPU中斷事件A,轉(zhuǎn)去執(zhí)行事件B的過(guò)程中斷處理:對(duì)事件B的整個(gè)處理過(guò)程中斷返回:CPU處理完事件B返回到原事件A被中斷的地方繼續(xù)執(zhí)行實(shí)現(xiàn)上述中斷功能中斷系統(tǒng)。AT89C51有5個(gè)中斷源,2個(gè)優(yōu)先級(jí)。3.3.5

42、定時(shí)器/計(jì)數(shù)器AT89C51單片機(jī)部有兩個(gè)定時(shí)/計(jì)數(shù)器T0和T1,其核心是計(jì)數(shù)器,基本功能是加1,對(duì)外部事件脈沖計(jì)數(shù)是計(jì)數(shù)器,對(duì)片機(jī)器周期的脈沖計(jì)數(shù)則是定時(shí)器。3.3.5.1定時(shí)器/計(jì)數(shù)器的結(jié)構(gòu)定時(shí)器/計(jì)數(shù)器T0、T1的邏輯結(jié)構(gòu)如圖3-13所示。圖3-13定時(shí)器/計(jì)數(shù)器T0、T1的邏輯結(jié)構(gòu)3.3.5.2定時(shí)器/計(jì)數(shù)器的工作原理 定時(shí)器/計(jì)數(shù)器實(shí)際上是一個(gè)二進(jìn)制的加1寄存器,當(dāng)啟動(dòng)后就開(kāi)始從所設(shè)定的計(jì)數(shù)初始值開(kāi)始加1計(jì)數(shù),寄存器計(jì)滿回零時(shí)能自動(dòng)產(chǎn)生溢出中斷請(qǐng)求。但定時(shí)與計(jì)數(shù)兩種模式下的計(jì)數(shù)方式卻不一樣,定時(shí)器模式時(shí),每個(gè)機(jī)器周期寄存器增1,即寄存器對(duì)機(jī)器周期計(jì)數(shù)。3.4顯示模塊 顯示設(shè)計(jì)采用LM

43、016L液晶模塊,該點(diǎn)陣的屏顯成本相對(duì)較低,適用于各類(lèi)儀器,小型設(shè)備的顯示領(lǐng)域。在本設(shè)計(jì)中用來(lái)顯示速度、路程、和時(shí)間。LCD模塊引腳與功能如下圖3-14所示 圖 3-14 LM016L引腳VSS:接地VDD(VCC):電源電路,+5VVEE(VO):液晶驅(qū)動(dòng)電壓RS:寄存器選擇(為“1”時(shí),選數(shù)據(jù)寄存器DR,為“0”時(shí)選指令寄存器IR)RW:讀寫(xiě)信號(hào)E:使能,片選,下降沿觸發(fā)DB0-DB7:數(shù)據(jù)線LM016L液晶模塊采用HD44780控制器,hd44780具有簡(jiǎn)單而功能較強(qiáng)的指令集,可以實(shí)現(xiàn)字符移動(dòng),閃爍等功能,LM016L與單片機(jī)MCU通訊可采用8位或4位并行傳輸兩種方式,hd44780控制

44、器由兩個(gè)8位寄存器,指令寄存器(IR)和數(shù)據(jù)寄存器(DR)忙標(biāo)志(BF),顯示數(shù)RAM(DDRAM),字符發(fā)生器ROMA(CGOROM)字符發(fā)生器RAM(CGRAM),地址計(jì)數(shù)器RAM(AC)。IR用于寄存指令碼,只能寫(xiě)入不能讀出,DR用于寄存數(shù)據(jù),數(shù)據(jù)由部操作自動(dòng)寫(xiě)入DDRAM和CGRAM,或者暫存從DDRAM和CGRAM讀出的數(shù)據(jù),BF為1時(shí),液晶模塊處于部模式,不響應(yīng)外部操作指令和接受數(shù)據(jù),DDTAM用來(lái)存儲(chǔ)顯示的字符,能存儲(chǔ)80個(gè)字符碼,CGROM由8位字符碼生成5*7點(diǎn)陣字符160中和5*10點(diǎn)陣字符32種.8位字符編碼和字符的對(duì)應(yīng)關(guān)系,可以查看參考文獻(xiàn)(30)中的表4.CGRAM是

45、為用戶(hù)編寫(xiě)特殊字符留用的,它的容量?jī)H64字節(jié),可以自定義8個(gè)5*7點(diǎn)陣字符或者4個(gè)5*10點(diǎn)陣字符,AC可以存儲(chǔ)DDRAM和CGRAM的地址,如果地址碼隨指令寫(xiě)入IR,則IR自動(dòng)把地址碼裝入AC,同時(shí)選擇DDRAM或CGRAM但愿,LM016L液晶模塊的引腳功能如下表7所示:引腳說(shuō)明 1602字符型LCD通常有14條引腳線或16條引腳線的LCD,多出來(lái)的2條線是背光電源線VCC(15腳)和地線GND(16腳),其控制原理與14腳的LCD完全一樣,其中:表7 LM016L液晶模塊的引腳功能引腳符號(hào)功能說(shuō)明1VSS一般接地2VDD接電源(+5V)3VO液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,

46、接地電源時(shí)對(duì)比度最高(對(duì)比度過(guò)高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過(guò)一個(gè)10K的電位器調(diào)整對(duì)比度)。4RSRS為寄存器選擇,高電平1時(shí)選擇數(shù)據(jù)寄存器、低電平0時(shí)選擇指令寄存器。5R/WR/W為讀寫(xiě)信號(hào)線,高電平(1)時(shí)進(jìn)行讀操作,低電平(0)時(shí)進(jìn)行寫(xiě)操作。6EE(或EN)端為使能(enable)端,下降沿使能。7DB0底4位三態(tài)、 雙向數(shù)據(jù)總線 0位(最低位)8DB1底4位三態(tài)、 雙向數(shù)據(jù)總線 1位9DB2底4位三態(tài)、 雙向數(shù)據(jù)總線 2位10DB3底4位三態(tài)、 雙向數(shù)據(jù)總線 3位11DB4高4位三態(tài)、 雙向數(shù)據(jù)總線 4位12DB5高4位三態(tài)、 雙向數(shù)據(jù)總線 5位13DB6高4位三態(tài)、 雙向數(shù)據(jù)總線

47、 6位14DB7高4位三態(tài)、 雙向數(shù)據(jù)總線 7位(最高位)(也是busy flang)15BLA背光電源正極16BLK背光 電源負(fù)極寄存器選擇控制如表8所示表寄存器選擇控制表RSR/W操作說(shuō)明00寫(xiě)入指令寄存器(清除屏等)01都busy flag(DB7),以與讀取位址計(jì)數(shù)器(DB0DB6)值10寫(xiě)入數(shù)據(jù)寄存器(顯示各字型等)11從數(shù)據(jù)寄存器讀取數(shù)據(jù)注:關(guān)于E=H脈沖開(kāi)始時(shí)初始化E為0,然后置E為1,再清0.busy flag(DB7):在此位為被清除為0時(shí),LCD將無(wú)法再處理其他的指令要求。 字符集1602液晶模塊部的字符發(fā)生存儲(chǔ)器(CGROM)已經(jīng)存儲(chǔ)了160個(gè)不同的點(diǎn)陣字符圖形,這些字符

48、有:阿拉伯?dāng)?shù)字、英文字母的大小寫(xiě)、常用的符號(hào)、和日文假名等,每一個(gè)字符都有一個(gè)固定的代碼,比如大寫(xiě)的英文字母“A”的代碼是01000001B(41H),顯示時(shí)模塊把地址41H中的點(diǎn)陣字符圖形顯示出來(lái),我們就能看到字母“A”。因?yàn)?602識(shí)別的是ASCII碼,試驗(yàn)可以用ASCII碼直接賦值,在單片機(jī)編程中還可以用字符型常量或變量賦值,如A。顯示地址1234567891011121314151600H01H02H03H04H05H06H07H08H09H0AH0BH0CH0DH0EH0FH40H41H42H43H44H45H46H47H48H49H4AH4BH4CH4DH4EH4FH指令集1602

49、通過(guò)D0D7的8位數(shù)據(jù)端傳輸數(shù)據(jù)和指令。顯示模式設(shè)置: (初始化)0011 0000 0x38 設(shè)置162顯示,57點(diǎn)陣,8位數(shù)據(jù)接口;顯示開(kāi)關(guān)與光標(biāo)設(shè)置: (初始化)0000 1DCB D顯示(1有效)、C光標(biāo)顯示(1有效)、B光標(biāo)閃爍(1有效)0000 01NS N=1(讀或?qū)懸粋€(gè)字符后地址指針加1 &光標(biāo)加1),N=0(讀或?qū)懸粋€(gè)字符后地址指針減1 &光標(biāo)減1),S=1 且 N=1 (當(dāng)寫(xiě)一個(gè)字符后,整屏顯示左移)s=0 當(dāng)寫(xiě)一個(gè)字符后,整屏顯示不移動(dòng)數(shù)據(jù)指針設(shè)置:數(shù)據(jù)首地址為80H,所以數(shù)據(jù)地址為80H+地址碼(0-27H,40-67H)其他設(shè)置:01H(顯示清屏,數(shù)據(jù)指針=0,所有顯

50、示=0);02H(顯示回車(chē),數(shù)據(jù)指針=0)。通常推薦的初始化過(guò)程:延時(shí)15ms寫(xiě)指令38H延時(shí)5ms寫(xiě)指令38H延時(shí)5ms寫(xiě)指令38H延時(shí)5ms(以上都不檢測(cè)忙信號(hào))(以下都要檢測(cè)忙信號(hào))寫(xiě)指令38H寫(xiě)指令08H 關(guān)閉顯示寫(xiě)指令01H 顯示清屏寫(xiě)指令06H 光標(biāo)移動(dòng)設(shè)置寫(xiě)指令0cH 顯示開(kāi)與光標(biāo)設(shè)置完畢3.5其他介紹3.5.1復(fù)位電路復(fù)位是使CPU 和系統(tǒng)中其他部件都處于一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開(kāi)始工作。51系列單片機(jī)通常采用上電復(fù)位、手動(dòng)復(fù)位、上電+手動(dòng)的混合復(fù)位等方式。而本設(shè)計(jì)采用上電復(fù)位方式,其實(shí)質(zhì)是一階充放電電路,系統(tǒng)上電時(shí)該電路將提供有效的復(fù)位信號(hào)RST(高電平)直至系統(tǒng)電源

51、穩(wěn)定后撤銷(xiāo)復(fù)位信號(hào)(低電平)。同時(shí)應(yīng)注意保證加在RST 引腳上的高電平持續(xù)兩個(gè)機(jī)器周期,才能使單片機(jī)可靠復(fù)位。3.5.2報(bào)警設(shè)計(jì)報(bào)警設(shè)計(jì)中當(dāng)即時(shí)速度超過(guò)固定值時(shí),指示燈D1會(huì)發(fā)亮,提示需要減速。4 自行車(chē)數(shù)字里程表軟件設(shè)計(jì)4.1系統(tǒng)介紹本系統(tǒng)主要通過(guò)C語(yǔ)言進(jìn)行單片機(jī)編程,從而實(shí)現(xiàn)信號(hào)的讀取與顯示,通過(guò)51單片機(jī)的部中斷來(lái)實(shí)現(xiàn)實(shí)時(shí)的顯示速度和里程數(shù)。鍵盤(pán)掃描,液晶顯示等部分都是通過(guò)軟件來(lái)控制。4.2系統(tǒng)流程圖程序設(shè)本系統(tǒng)的核心部分,系統(tǒng)的各個(gè)方面都是通過(guò)程序來(lái)控制和協(xié)調(diào)。程序的核心部分就是中斷時(shí)間到了之后進(jìn)中斷的各個(gè)數(shù)據(jù)的計(jì)算。程序開(kāi)始的時(shí)候先初始化LMO1602的液晶,然后液晶模塊上會(huì)提示用戶(hù)輸入自行車(chē)的輪胎寬度:width(0-99cm),當(dāng)用戶(hù)輸入完后,這個(gè)數(shù)值將被作為自行車(chē)的輪胎半徑參加計(jì)算。之后程序就初始化中斷模式,之后就進(jìn)入一個(gè)while循環(huán),在循環(huán)中接收信號(hào)和顯示數(shù)據(jù),如果中斷時(shí)間到了,那么進(jìn)入中斷,從新計(jì)算速度跟里程數(shù)。退出中斷后又繼續(xù)顯示新的速度跟里程數(shù)。流程圖如下4-1所示:5程序代碼5.1.數(shù)據(jù)采集程序void recv()if(q!=p)q=p;count+; 上面程序是數(shù)據(jù)的采集,其中sbit p=P35;sbit q;因?yàn)閜是接收脈沖的,時(shí)刻都在改變,所以用q來(lái)保存p的值,每次當(dāng)P5.0口發(fā)生跳變的時(shí)候,計(jì)數(shù)器加一。 開(kāi)始初始化液

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論