664524473畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)的自行車測(cè)速系統(tǒng)設(shè)計(jì)_第1頁
664524473畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)的自行車測(cè)速系統(tǒng)設(shè)計(jì)_第2頁
664524473畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)的自行車測(cè)速系統(tǒng)設(shè)計(jì)_第3頁
664524473畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)的自行車測(cè)速系統(tǒng)設(shè)計(jì)_第4頁
664524473畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)的自行車測(cè)速系統(tǒng)設(shè)計(jì)_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、i摘 要 隨著居民生活水平的不斷提高,自行車不再僅僅是普通的運(yùn)輸、代步的工具,而是成為人們娛樂、休閑、鍛煉的首選。自行車的速度里程表能夠滿足人們最基本的需求,讓人們能清楚地知道當(dāng)前的速度、里程等物理量。因此愛好自行車運(yùn)動(dòng)的人十分需要一款能測(cè)速的裝置,以知道自己的運(yùn)動(dòng)情況,并根據(jù)外界條件,如溫度,風(fēng)速等進(jìn)行適當(dāng)?shù)恼{(diào)節(jié),以達(dá)到最佳運(yùn)動(dòng)的效果。本論文主要闡述一種基于霍爾元件的自行車速度里程表的設(shè)計(jì)。以 at89c52 單片機(jī)為核心,a44e 霍爾傳感器測(cè)轉(zhuǎn)數(shù),實(shí)現(xiàn)對(duì)自行車?yán)锍?速度的測(cè)量統(tǒng)計(jì),采用 24c02 實(shí)現(xiàn)在系統(tǒng)掉電的時(shí)候保存里程信息,并能將自行車的里程數(shù)及速度用 led 實(shí)時(shí)顯示。文章詳細(xì)

2、介紹了自行車的速度里程表的硬件電路和軟件設(shè)計(jì)。硬件部分利用霍爾元件將自行車每轉(zhuǎn)一圈的脈沖數(shù)傳入單片機(jī)系統(tǒng),然后單片機(jī)系統(tǒng)將信號(hào)經(jīng)過處理送入顯示。軟件部分用匯編語言進(jìn)行編程,采用模塊化設(shè)計(jì)思想。該系統(tǒng)硬件電路簡(jiǎn)單,子程序具有通用性,完全符合設(shè)計(jì)要求。關(guān)鍵詞關(guān)鍵詞:里程里程/ /速度,霍爾元件,單片機(jī),速度,霍爾元件,單片機(jī),ledled 顯示顯示iiabstractwith the developing of peoples life, the bicycle is not only the universal tool of transportation and substitute for

3、walking, but becomes the first choice of entertainment and exercising. the bicycle mileage/speed can fulfill the basic need of peoples life, so that they can learn the speed and the mileage of the bicycle. therefore hobby cycling people can speed devices, in order to know their movement. and accordi

4、ng to the external conditions, such as temperature, wind speed proper adjustment, has reached the best movement effect. in this paper, the bicycle mileage/speed design based on the hall element is elaborated. by at89c52 as kernel, using a44e hall element to measure revolution, the measure and statis

5、tic are achieved. the range information is saved by 24c02 when the power is off, the bicycle speed can be displayed on led. in this article, the hardware circuit and software design of bicycle mileage/speed instrument are introduced in detail. about the hardware, the pulse number is transmitted of o

6、ne cycle of the bicycle into single chip microcomputer system. then the signal processed by single chip microcomputer system is sent to display scream. about the software, in assemble language; the program is designed in the mode of modules. the system has simple hardware, common sub-program, and me

7、ets the demand of design.keyword:mileage / speed,hall element, single chip microcomputer,lediii目目 錄錄 第 1 章 引言 .1第 2 章 系統(tǒng)總方案分析與設(shè)計(jì) .22.1 課題主要任務(wù)及內(nèi)容 .22.2 任務(wù)分析與實(shí)現(xiàn) .2第 3 章 硬件電路設(shè)計(jì) .43.1 硬件電路設(shè)計(jì)概述 .43.2 傳感器概述 .43.2.1 傳感器的選擇.53.2.2 傳感器及其測(cè)量系統(tǒng).53.2.3 霍爾傳感器的測(cè)量原理.63.2.4 集成開關(guān)型霍爾傳感器.63.3 單片機(jī)概述 .73.3.1at89c52 單片機(jī)簡(jiǎn)介

8、.83.3.2 單片機(jī)的引腳功能介紹 .93.3.3 單片機(jī)中斷系統(tǒng)介紹.123.3.4 單片機(jī)定時(shí)器/計(jì)數(shù)器功能介紹.133.4 其它器件的介紹 .133.4.1 儲(chǔ)存器的介紹.143.4.2 74ls74 芯片的介紹.143.4.3 74ls244 芯片的介紹.163.4.4 時(shí)鐘電路的設(shè)計(jì).163.4.5 復(fù)位電路的設(shè)計(jì) .173.4.6 顯示電路的設(shè)計(jì) .17第 4 章 軟件程序設(shè)計(jì) .194.1 軟件方案設(shè)計(jì) .194.2 總體程序設(shè)計(jì) .204.3 中斷子程序設(shè)計(jì) .22iv4.4 里程計(jì)算子程序 .234.5 速度計(jì)算子程序 .234.6 顯示子程序的設(shè)計(jì) .24結(jié) 論 .26參

9、考文獻(xiàn) .27附錄 .28附錄 a 系統(tǒng)源程序 .28附錄 b 系統(tǒng)硬件電路圖 .31致謝 .32 引言1第 1 章 引言 眾所周知,自行車被發(fā)明及使用到現(xiàn)在已有兩百多年的歷史,這兩百年間人類在不斷的嘗試與研發(fā)過程中,將玩具式的木馬車轉(zhuǎn)換到今日各式新穎休閑運(yùn)動(dòng)自行車,自行車發(fā)展的目的也從最早的交通代步的工具轉(zhuǎn)換成休閑娛樂運(yùn)動(dòng)的選擇。早在 1890 年,荷蘭就修建了世界上第一條自行車專用車道,被世界上公認(rèn)為自行車王國(guó)。目前中國(guó)是世界上使用自行車人數(shù)最多的國(guó)家,也是使用范圍最廣的國(guó)家。擁有億輛以上的自行車,約占世界自行車總量的/4。在目前私人汽車尚未大范圍普及的情況下,自行車仍然是我國(guó)大多數(shù)百姓首

10、選的代步工具,正由于自行車在我國(guó)以及整個(gè)世界的廣泛使用,使得這一制造行業(yè)發(fā)展迅捷,產(chǎn)品也不斷更新?lián)Q代。而在我們國(guó)家的城市里,主要使用這兩大類自行車:第一類是傳統(tǒng)式自行車,主要特征是彎曲著的手柄;第二類是山地(仿山地)式自行車,主要特征是一字式的手柄。另外,年長(zhǎng)者多用第一類自行車,而年輕者則大多喜歡用第二類自行車了。自行車在中國(guó)普遍作為代步工具。而在國(guó)外,自行車卻是一項(xiàng)十分受歡迎的健身運(yùn)動(dòng)。而對(duì)于自行車運(yùn)動(dòng)員來說,最為關(guān)心的莫過于一段時(shí)間內(nèi)的訓(xùn)練效果。此外,由于能源的枯竭以及現(xiàn)今社會(huì)的不斷發(fā)展人們素質(zhì)的慢慢提升,汽車等耗能產(chǎn)品將會(huì)達(dá)到一個(gè)飽和,這就給自行車的進(jìn)一步普及帶來機(jī)會(huì),同時(shí)也響應(yīng)了國(guó)務(wù)院

11、節(jié)能減排的號(hào)召!因此,此設(shè)計(jì)很有必要,使大家對(duì)使用自行車更有興趣。本設(shè)計(jì)采用了 mcs-52 系列單片機(jī)設(shè)計(jì)一種體積小、操作簡(jiǎn)單的便攜式自行車的速度里程表,它能自動(dòng)地顯示當(dāng)前自行車行走的距離及運(yùn)行的速度。要知道當(dāng)前速度,測(cè)速裝置則必不可少。測(cè)速裝置在控制系統(tǒng)中占據(jù)重要地位,能夠精確的掌握電機(jī)的運(yùn)轉(zhuǎn)速度,才能更好更安全的進(jìn)行調(diào)速控制。對(duì)自行車車速的測(cè)量有很多種方法,按照測(cè)速原理可分為機(jī)械式與電子式兩大類。這兩類都能很好的實(shí)現(xiàn)對(duì)自行車的速度的測(cè)量。具體來說:機(jī)械式的就是利用機(jī)械計(jì)數(shù)器,輪子轉(zhuǎn)一圈就觸發(fā)計(jì)數(shù)器加一個(gè)數(shù)字。這個(gè)裝置不需要電源,在目前自行車上應(yīng)用最多。電子式的就必須用到單片機(jī)與一個(gè)電磁感

12、應(yīng)器用來計(jì)算行進(jìn)中車輪所轉(zhuǎn)動(dòng)的圈數(shù)。輸入車輪的外徑,計(jì)算單位時(shí)間內(nèi)車輪所轉(zhuǎn)圈數(shù)即得。此設(shè)計(jì)是一種基于霍爾傳感器的速度測(cè)量?jī)x器,不僅成本低,精度高,可用于測(cè)量電機(jī)轉(zhuǎn)速,實(shí)現(xiàn)汽車超速報(bào)警等,而且稍加改動(dòng)便可實(shí)現(xiàn)磁場(chǎng)測(cè)量等拓展功能?;魻柺絺鞲衅鹘Y(jié)構(gòu)簡(jiǎn)單,體積小,堅(jiān)固,頻率響應(yīng)寬,動(dòng)態(tài)范圍(輸出電勢(shì)的變化)大,無觸點(diǎn),使用壽命長(zhǎng),可靠性高,易微型化和集成電路化,因此在測(cè)量技術(shù)、自動(dòng)控制、電磁測(cè)量、計(jì)算裝置以及現(xiàn)代軍事技術(shù)等領(lǐng)域中得到廣泛應(yīng)用。 系統(tǒng)總方案分析與設(shè)計(jì) 2第 2 章 系統(tǒng)總方案分析與設(shè)計(jì) 2.1 課題主要任務(wù)及內(nèi)容本課題主要任務(wù)是利用霍爾元件、單片機(jī)等部件設(shè)計(jì)一個(gè)可用 led 數(shù)碼管實(shí)時(shí)顯

13、示里程和速度的自行車的速度里程表。本文主要介紹了自行車的速度里程表的設(shè)計(jì)思想、電路原理、方案論證以及元件的選擇等內(nèi)容,整體上分為硬件部分設(shè)計(jì)和軟件部分設(shè)計(jì)。本文首先扼要對(duì)該課題的任務(wù)進(jìn)行方案論證,包括硬件方案和軟件方案的設(shè)計(jì);繼而具體介紹了自行車的速度里程表的硬件設(shè)計(jì),包括傳感器的選擇、單片機(jī)的選擇、顯示電路的設(shè)計(jì);然后闡述了該自行車的速度里程表的軟件設(shè)計(jì),包括數(shù)據(jù)處理子程序的設(shè)計(jì)、顯示子程序的設(shè)計(jì);最后對(duì)本次設(shè)計(jì)進(jìn)行了系統(tǒng)的總結(jié)。具體的硬件電路包括 at89c52 單片機(jī)的外圍電路以及 led 顯示電路等。軟件設(shè)計(jì)包括:芯片的初始化程序、定時(shí)中斷采樣子程序、顯示子程序等,軟件采用匯編語言編寫

14、,軟件設(shè)計(jì)的思想主要是自頂向下,模塊化設(shè)計(jì),各個(gè)子模塊逐一設(shè)計(jì)。 2.2 任務(wù)分析與實(shí)現(xiàn)本設(shè)計(jì)的任務(wù)是:以通用 mcs-52 單片機(jī)為處理核心,用傳感器將車輪的轉(zhuǎn)數(shù)轉(zhuǎn)換為電脈沖,進(jìn)行處理后送入單片機(jī)。里程及速度的測(cè)量,是經(jīng)過 mcs-52的定時(shí)/計(jì)數(shù)器測(cè)出總的脈沖數(shù)和每轉(zhuǎn)一圈的時(shí)間,再經(jīng)過單片機(jī)的計(jì)算得出,其結(jié)果通過 led 顯示器顯示出來。本系統(tǒng)總體思路如下:假定輪圈的周長(zhǎng)為 l,在輪圈上安裝 m 個(gè)永久磁鐵,則測(cè)得的里程值最大誤差為 l/m。經(jīng)綜合分析,本設(shè)計(jì)中取 m=1。當(dāng)輪子每轉(zhuǎn)一圈,通過開關(guān)型霍爾元件傳感器采集到一個(gè)脈沖信號(hào),并從引腳 p3.2 中斷 0 端輸入,傳感器每獲取一個(gè)脈沖

15、信號(hào)即對(duì)系統(tǒng)提供一次計(jì)數(shù)中斷。每次中斷代表車輪轉(zhuǎn)動(dòng)一圈,中斷數(shù) n 和周長(zhǎng) l 的乘積為里程值。計(jì)數(shù)器 t1 計(jì)算每轉(zhuǎn)一圈所用的時(shí)間 t,就可以計(jì)算出即時(shí)速度 v。當(dāng)里程鍵按下時(shí),里程指示燈亮,led 切換顯示當(dāng)前里程;當(dāng)速度鍵按下時(shí),速度指示燈亮,led 切換顯示當(dāng)前速度。要求達(dá)到的各項(xiàng)指標(biāo)及實(shí)現(xiàn)方法如下:1. 利用霍爾傳感器產(chǎn)生里程數(shù)的脈沖信號(hào)。 系統(tǒng)總方案分析與設(shè)計(jì) 32. 對(duì)脈沖信號(hào)進(jìn)行計(jì)數(shù)。實(shí)現(xiàn):利用單片機(jī)自帶的計(jì)數(shù)器 t1 對(duì)霍爾傳感器脈沖信號(hào)進(jìn)行計(jì)數(shù)。3. 對(duì)數(shù)據(jù)進(jìn)行處理,要求用 led 顯示里程總數(shù)和即時(shí)速度。實(shí)現(xiàn):利用軟件編程,對(duì)數(shù)據(jù)進(jìn)行處理得到需要的數(shù)值。最終實(shí)現(xiàn)目標(biāo):自行

16、車的速度里程表具有里程、速度測(cè)試與顯示功能,采用單片機(jī)作控制,顯示電路可顯示里程及速度。 硬件電路設(shè)計(jì)4第 3 章 硬件電路設(shè)計(jì)3.1 硬件電路設(shè)計(jì)概述自行車的速度里程表的硬件電路設(shè)計(jì)是基礎(chǔ)部分,它包括信號(hào)的捕獲、放大、整形,單片機(jī)的計(jì)算處理,數(shù)碼管的實(shí)時(shí)顯示和單片機(jī)外圍基本電路的設(shè)計(jì),兩大主要器件就是傳感器和單片機(jī)。目前,單片機(jī)被廣泛的應(yīng)用于測(cè)控系統(tǒng)、工業(yè)自動(dòng)化、智能儀表、集成智能傳感器、機(jī)電一體化產(chǎn)品、家用電器領(lǐng)域、辦公自動(dòng)化領(lǐng)域、汽車電子與航空航天器電子系統(tǒng)以及單片機(jī)的多機(jī)系統(tǒng)等領(lǐng)域。本次設(shè)計(jì)的系統(tǒng)的原理框圖如圖 3.1 所示。外部信號(hào)霍爾傳感器外部存儲(chǔ)器at89c52 單片機(jī)里程顯示速

17、度顯示圖 3.1 系統(tǒng)的原理框圖3.2 傳感器概述國(guó)家標(biāo)準(zhǔn) gb7665-87 對(duì)傳感器下的定義是:“能感受規(guī)定的被測(cè)量并按照一定的規(guī)律轉(zhuǎn)換成可用信號(hào)的器件或裝置,通常由敏感原件和轉(zhuǎn)換元件組成”。傳感器是一種檢測(cè)裝置,能感受到被測(cè)量的信息,并能將檢測(cè)感受到的信息,按一定規(guī)律變換成為電信號(hào)或其他所需形式的信息輸出,以滿足信息的傳輸、處理、存儲(chǔ)、顯示、記錄和控制等要求。它是實(shí)現(xiàn)自動(dòng)檢測(cè)和自動(dòng)控制的首要環(huán)節(jié)。傳感器是一種物理裝置或生物器官,能夠探測(cè)、感受外界的信號(hào)、物理?xiàng)l件(如光、熱、濕度)或化學(xué)組成(如煙霧),并將探知的信息傳遞給其他裝置或器官。它是獲取自然或生產(chǎn)領(lǐng)域中信息的關(guān)鍵器件,是現(xiàn)代信息系

18、統(tǒng)和各種設(shè)備不可缺少的信息采集工具。磁傳感器是一種將磁學(xué)量信號(hào)轉(zhuǎn)變?yōu)殡娦盘?hào)的器件或裝置。隨著信息產(chǎn)業(yè)、工業(yè)自動(dòng)化、交通運(yùn)輸、電力電子技術(shù)、辦公自動(dòng)化、家 硬件電路設(shè)計(jì)5用電器、醫(yī)療儀器等等的飛速發(fā)展和計(jì)算機(jī)應(yīng)用的普及,需要大量的傳感器將需進(jìn)行測(cè)量和控制的非電量,轉(zhuǎn)換成可以與計(jì)算機(jī)兼容的信號(hào),作為他們的輸入信號(hào),這就給磁傳感器的快速發(fā)展提供了機(jī)會(huì),形成了相當(dāng)可觀的磁傳感器產(chǎn)業(yè)。其中最具代表的磁傳感器就是霍爾傳感器。在自動(dòng)檢測(cè)系統(tǒng)中,霍爾傳感器是一種基本的測(cè)量工具。3.2.1 傳感器的選擇測(cè)速,首先要解決是采樣的問題。使用單片機(jī)進(jìn)行測(cè)速,可以使用簡(jiǎn)單的脈沖計(jì)數(shù)法。只要轉(zhuǎn)軸每旋轉(zhuǎn)一周,產(chǎn)生一個(gè)或固定

19、的多個(gè)脈沖,將脈沖送入單片機(jī)中進(jìn)行計(jì)算,即可獲得轉(zhuǎn)速的信息。常用的測(cè)速元件有霍爾傳感器、光電傳感器和光電編碼器。里程測(cè)量傳感器的選擇也有以下幾種方案:使用光敏電阻對(duì)里程進(jìn)行測(cè)量、利用編碼器對(duì)車輪的圈數(shù)進(jìn)行測(cè)量、利用霍爾傳感器對(duì)里程進(jìn)行測(cè)量、利用干簧管傳感器測(cè)量里程。光敏電阻對(duì)光特別敏感,當(dāng)白天行駛時(shí),外界光源將導(dǎo)致光敏電阻發(fā)出錯(cuò)誤信號(hào);光敏電阻對(duì)環(huán)境的要求相當(dāng)高,如果光敏或發(fā)光二極管被泥沙或灰塵所覆蓋,光敏電阻就不能再進(jìn)行準(zhǔn)確測(cè)量;而編碼器必須安裝在車軸上,安裝較為復(fù)雜;霍爾元件或干簧管不但不受天氣的影響,即使被泥沙或灰塵覆蓋也不會(huì)有影響,而且安裝方便。所以本設(shè)計(jì)采用霍爾元件對(duì)里程與速度進(jìn)行測(cè)

20、量,既簡(jiǎn)單易行,又經(jīng)濟(jì)適用。3.2.2 傳感器及其測(cè)量系統(tǒng)本次設(shè)計(jì)信號(hào)的捕獲采用的是霍爾傳感器。 霍爾器件具有許多優(yōu)點(diǎn),它們的結(jié)構(gòu)牢固、體積小、重量輕、壽命長(zhǎng)、安裝方便、功耗小、頻率高(可達(dá)1mhz)、耐震動(dòng)、不怕灰塵、油污、水汽及煙霧等的污染或腐蝕。霍爾線性器件的精度高、線性度好;霍爾開關(guān)器件無觸點(diǎn)、無磨損、輸出波形清晰、無抖動(dòng)、無回跳、位置重復(fù)精度高。取用各種補(bǔ)償和保護(hù)措施的霍爾器件工作溫度范圍寬,可達(dá)55150。按照霍爾器件的功能可將它們分為:霍爾線性器件和霍爾開關(guān)器件,前者輸出模擬量,后者輸出數(shù)字量。 按被檢測(cè)對(duì)象的性質(zhì)可將它們的應(yīng)用分為:直接應(yīng)用和間接應(yīng)用。前者是直接檢測(cè)出受檢測(cè)對(duì)象

21、本身的磁場(chǎng)或磁特性,后者是檢測(cè)受檢對(duì)象上人為設(shè)置的磁場(chǎng),用這個(gè)磁場(chǎng)來作被檢測(cè)的信息的載體。通過它,將許多非電、非磁的物理量例如力、力矩、位置、位移、速度、加速度、角度、角速度、轉(zhuǎn)數(shù)、轉(zhuǎn)速以及工作狀態(tài)發(fā)生變化的時(shí)間等,轉(zhuǎn)變成電量來進(jìn)行檢測(cè)和控制。 硬件電路設(shè)計(jì)6使用霍爾傳感器獲得脈沖信號(hào),其機(jī)械結(jié)構(gòu)也可以做得較為簡(jiǎn)單,只要在轉(zhuǎn)軸的齒輪盤上粘上一粒磁鋼,霍爾元件固定在前叉上,當(dāng)車子轉(zhuǎn)動(dòng)時(shí)霍爾元件靠近磁鋼,就有信號(hào)輸出,轉(zhuǎn)軸旋轉(zhuǎn)時(shí),就會(huì)不斷地產(chǎn)生脈沖信號(hào)輸出。如果在齒輪盤上粘上多粒磁鋼,可以實(shí)現(xiàn)旋轉(zhuǎn)一周,獲得多個(gè)脈沖輸出。在粘磁鋼時(shí)要注意,霍爾傳感器對(duì)磁場(chǎng)方向敏感,安裝之前可以先手動(dòng)接近一下傳感器,

22、如果沒有信號(hào)輸出,可以換一個(gè)方向再試。這種傳感器不怕灰塵、油污,在工業(yè)現(xiàn)場(chǎng)應(yīng)用廣泛。霍爾傳感器是對(duì)磁敏感的傳感元件,常用于信號(hào)采集的有 a44e,該傳感器是一個(gè) 3 端器件,外形與三極管相似,只要接上電源、地,即可工作。工作電壓范圍寬,使用非常方便。a44e 的外形如圖 3.2 所示。1- 2-gnd 3-outvcc圖 3.2 a44e 外形圖3.2.3 霍爾傳感器的測(cè)量原理霍爾傳感器是利用霍爾效應(yīng)制成的一種磁場(chǎng)傳感器。在置于磁場(chǎng)中的導(dǎo)體或半導(dǎo)體通入電流 i,若電流垂直磁場(chǎng) b,則在與磁場(chǎng)和電流都垂直的方向上會(huì)出現(xiàn)一個(gè)電勢(shì)差 uh,這種現(xiàn)象稱為霍爾效應(yīng)。利用霍爾效應(yīng)制成的元件稱為霍爾元件。因

23、為它具有結(jié)構(gòu)簡(jiǎn)單、頻率響應(yīng)寬、靈敏度高、測(cè)量線性范圍大、抗干擾能力強(qiáng)以及體積小、使用壽命長(zhǎng)等一系列特點(diǎn),因此被廣泛應(yīng)用于測(cè)量、自動(dòng)控制及信息處理等領(lǐng)域。3.2.4 集成開關(guān)型霍爾傳感器 a44e 集成霍爾開關(guān)由穩(wěn)壓器 a、霍爾電勢(shì)發(fā)生器(即硅霍爾片)b、差分放大器 c、施密特觸發(fā)器 d 和 oc 門輸出 e 五個(gè)基本部分組成。它的三個(gè)引線分別代表集成霍爾開關(guān)的三個(gè)引出端點(diǎn)。在電源端加電壓 vcc,經(jīng)穩(wěn)壓器穩(wěn)壓后加在霍爾電勢(shì)發(fā)生器的兩端,根據(jù)霍爾效應(yīng)原理,當(dāng)霍爾片處在磁場(chǎng)中時(shí),在垂直于磁a44e 硬件電路設(shè)計(jì)7場(chǎng)的方向通以電流,則與這二者相垂直的方向上將會(huì)產(chǎn)生霍爾電勢(shì)差 vh 輸出,該 vh 信

24、號(hào)經(jīng)放大器放大后送至施密特觸發(fā)器整形,使其成為方波輸送到 oc 門輸出。當(dāng)施加的磁場(chǎng)達(dá)到工作點(diǎn)時(shí),觸發(fā)器輸出高電壓(相對(duì)于低電位),使三極管導(dǎo)通,此時(shí) oc 門輸出端輸出低電壓,通常稱這種狀態(tài)為開 。當(dāng)施加的磁場(chǎng)達(dá)到釋放點(diǎn)時(shí),觸發(fā)器輸出低電壓,三極管截止,使 oc 門輸出高電壓,這種狀態(tài)為關(guān) 。這樣兩次電壓變換,使霍爾開關(guān)完成了一次開關(guān)動(dòng)作。工作點(diǎn)與釋放點(diǎn)的差值一定,此差值稱為磁滯,在此差值內(nèi),v0 保持不變,因而使開關(guān)輸出穩(wěn)定可靠,這也就是集成霍爾開關(guān)傳感器優(yōu)良特性之一。傳感器主要特性是它的輸出特性,即輸入磁感應(yīng)強(qiáng)度 b 與輸出電壓 v0 之間的關(guān)系。a44e 集成霍爾開關(guān)是單穩(wěn)態(tài)型,測(cè)量時(shí)

25、,在 1、2 兩端加 5v 直流電壓,在輸出端 3 與 1 之間接一個(gè) 2k 的負(fù)載電阻,如圖 3.3 所示。a44e5v1232kr13out圖 3.3 集成霍爾開關(guān)接線圖3.3 單片機(jī)概述單片機(jī)就是在一塊半導(dǎo)體硅片上集成了微處理器(cpu),存儲(chǔ)器(ram,rom,eprom)和各種輸入、輸出接口(定時(shí)器 /計(jì)數(shù)器,并行 i/o 口,串行口,a/d 轉(zhuǎn)換器以及脈寬調(diào)制器 pwm 等),這樣一塊集成電路芯片具有一臺(tái)計(jì)算機(jī)的屬性,因而被稱為單片微型計(jì)算機(jī),簡(jiǎn)稱單片機(jī)。單片機(jī)是本次設(shè)計(jì)的核心部件,它是信號(hào)從采集到輸出的橋梁,而且包括計(jì)算、定時(shí)、信息處理等功能。目前,單片機(jī)被廣泛的應(yīng)用于測(cè)控系統(tǒng)、

26、工業(yè)自動(dòng)化、智能儀表、集成智能傳感器、機(jī)電一體化產(chǎn)品、家用電器領(lǐng)域、辦公自動(dòng)化領(lǐng)域、汽車電子與航空航天器電子系統(tǒng)以及單片機(jī)的多機(jī)系統(tǒng)等領(lǐng)域。在設(shè)計(jì)中選用的是 at89c52 單片機(jī)。單片機(jī)由于將 cpu、內(nèi)存和一些必要的接口集成到一個(gè)芯片上,并且面向控制功能將結(jié)構(gòu)作了一定的優(yōu)化,所以它有一般芯片不具有的特點(diǎn):1. 體積小、重量輕;2. 電源單一、功耗低; 硬件電路設(shè)計(jì)83. 功能強(qiáng)、價(jià)格低;4. 全部集成在一塊芯片上,布線短、合理;3.3.1at89c52 單片機(jī)簡(jiǎn)介 at89c52 是一個(gè)低電壓,高性能 cmos 8 位單片機(jī),片內(nèi)含 8k bytes 的可反復(fù)擦寫的 flash 只讀程序存

27、儲(chǔ)器和 256 bytes 的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(ram),器件采用 atmel 公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn) mcs-51 指令系統(tǒng),片內(nèi)置通用 8 位中央處理器和 flash 存儲(chǔ)單元,at89c52 單片機(jī)在電子行業(yè)中有著廣泛的應(yīng)用。主要功能特性1、兼容 mcs51 指令系統(tǒng) 2、8k 可反復(fù)擦寫(大于 1000 次)flash rom; 3、32 個(gè)雙向 i/o 口; 4、256x8bit 內(nèi)部 ram; 5、3 個(gè) 16 位可編程定時(shí)/計(jì)數(shù)器; 6、時(shí)鐘頻率 0-24mhz; 7、2 個(gè)串行中斷,可編程 uart 串行通道; 8、2 個(gè)外部中斷源,共 5 個(gè)中斷源;

28、9、2 個(gè)讀寫中斷口線,3 級(jí)加密位; 10、低功耗空閑和掉電模式,軟件設(shè)置睡眠和喚醒功能; 11、有 pdip、pqfp、tqfp 及 plcc 等幾種封裝形式,以適應(yīng)不同產(chǎn)品的需求。單片機(jī)內(nèi)部結(jié)構(gòu)示意圖如圖 3.4 所示。 硬件電路設(shè)計(jì)9定時(shí)/計(jì)數(shù)器中斷系統(tǒng)cpu存儲(chǔ)器并行 i/o 口串口 i/o 口txdrxdtintp0-p3圖 3.4 單片機(jī)內(nèi)部結(jié)構(gòu)示意圖3.3.2 單片機(jī)的引腳功能介紹 p1.01p1.12p1.23p1.34p1.45p1.56p1.67p1.78rst/vpd9rxd p3.010txd p3.111int0 p3.212int1 p3.313t0 p3.414

29、t1 p3.515wr p3.616rd p3.717xtal 218xtal 119vss20at89c52p2.021p2.122p2.223p2.324p2.425p2.526p2.627p2.728psen29ale/prog30ea/vpp31p0.732p0.633p0.534p0.435p0.336p0.237p0.138p0.039vcc40圖 3.5 at89c52 引腳圖at89c52 提供以下標(biāo)準(zhǔn)功能:8k 字節(jié) flash 閃爍存儲(chǔ)器,256 字節(jié)內(nèi)部ram,32 個(gè) i/o 口線,3 個(gè) 16 位定時(shí)/計(jì)數(shù)器,6 個(gè)中斷源,一個(gè)全雙工串行通信口,片內(nèi)具有振蕩器及時(shí)鐘電

30、路。at89c52 管腳圖如圖 3.5 所示。at89c52 為 8 位通用微處理器,采用工業(yè)標(biāo)準(zhǔn)的 c51 內(nèi)核,在內(nèi)部功能及管腳排布上與通用的 8xc52 相同,其主要用于會(huì)聚調(diào)整時(shí)的功能控制。功能包括對(duì) 硬件電路設(shè)計(jì)10會(huì)聚主 ic 內(nèi)部寄存器、數(shù)據(jù) ram 及外部接口等功能部件的初始化,會(huì)聚調(diào)整控制,會(huì)聚測(cè)試圖控制,紅外遙控信號(hào) ir 的接收解碼及與主板 cpu 通信等。主要管腳有:xtal1(19 腳)和 xtal2(18 腳)為振蕩器輸入輸出端口,外接 12mhz 晶振。rst/vpd(9 腳)為復(fù)位輸入端口,外接電阻電容組成的復(fù)位電路。vcc(40 腳)和 vss(20 腳)為供

31、電端口,分別接+5v 電源的正負(fù)端。p0p3 為可編程通用 i/o 腳,其功能用途由軟件定義。p0 口p0 口是一組 8 位漏極開路型雙向 i/o 口, 也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時(shí),每位能驅(qū)動(dòng) 8 個(gè) ttl 邏輯門電路,對(duì)端口 p0 寫“1”時(shí),可作為高阻抗輸入端用。 在訪問外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),這組口線分時(shí)轉(zhuǎn)換地址(低 8 位)和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。 在 flash 編程時(shí),p0 口接收指令字節(jié),而在程序校驗(yàn)時(shí),輸出指令字節(jié),校驗(yàn)時(shí),要求外接上拉電阻。 p1 口p1 是一個(gè)內(nèi)部帶上拉電阻的 8 位雙向 i/o 口, p1 的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收

32、或輸出電流)4 個(gè) ttl 邏輯 門電路。對(duì)端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口。作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(iil)。 與 at89c51 不同之處是,p1.0 和 p1.1 還可分別作為定時(shí)/計(jì)數(shù)器 2 的外部計(jì)數(shù)輸入(p1.0/t2)和輸入(p1.1/t2ex)。 參見下表 1。 flash 編程和程序校驗(yàn)期間,p1 接收低 8 位地址。 表 1 p1.0 和 p1.1 的第二功能 引腳號(hào)功能特性p1.0t2;時(shí)鐘輸出p1.1t2 ex (定時(shí)/計(jì)數(shù)器 2)p2 口p2 是一個(gè)帶有內(nèi)部上拉電阻的 8 位雙向 i

33、/o 口,p2 的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4 個(gè) ttl 邏輯門電路。對(duì)端口 p2 寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口,作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(iil)。 硬件電路設(shè)計(jì)11在訪問外部程序存儲(chǔ)器或 16 位地址的外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行 movx dptr 指令)時(shí),p2 口送出高 8 位地址數(shù)據(jù)。在訪問 8 位地址的外部數(shù)據(jù)存儲(chǔ)器(如執(zhí)行 movx ri 指令)時(shí),p2 口輸出 p2 鎖存器的內(nèi)容。 flash 編程或校驗(yàn)時(shí),p2 亦接收高位地址和一些控制信號(hào)。 p3 口p3 口是一組帶有內(nèi)部上拉電阻的

34、8 位雙向 i/o 口。p3 口輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4 個(gè) ttl 邏輯門電路。對(duì) p3 口寫入“1”時(shí),它們被內(nèi)部上拉電阻拉高并可作為輸入端口。此時(shí),被外部拉低的 p3 口將用上拉電阻輸出電流(iil)。 p3 口除了作為一般的 i/o 口線外,更重要的用途是它的第二功能。此外 ,p3 口還接收一些用于 flash 閃爍存儲(chǔ)器編程和程序校驗(yàn)的控制信號(hào)。 rst復(fù)位輸入。當(dāng)振蕩器工作時(shí),rst 引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將使單片機(jī)復(fù)位。 ale/prog當(dāng)訪問外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ale 用于鎖存地址的低 8 位字 節(jié)。一般情況下,ale 仍以時(shí)鐘振蕩頻率的 1/6

35、輸出固定的脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。要注意的是:每當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過一個(gè)ale 脈沖。 對(duì) flash 存儲(chǔ)器編程期間,該引腳還用于輸入編程脈沖(prog)。 如有必要,可通過對(duì)特殊功能寄存器(sfr)區(qū)中的 8eh 單元的 d0 位置位,可禁止 ale 操作。該位置位后,只有一條 movx 和 movc 指令才能將 ale 激活。此外,該引腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置 ale 禁止位無效。 psen程序儲(chǔ)存允許(psen)輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng) at89c52 由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次 psen 有效,即

36、輸出兩個(gè)脈沖。在此期間,當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器,將跳過兩次 psen 信號(hào)。 ea/vpp外部訪問允許。欲使 cpu 僅訪問外部程序存儲(chǔ)器(地址為 0000hffffh),ea 端必須保持低電平(接地)。需注意的是:如果加密位 lb1 被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存 ea 端狀態(tài)。如 ea 端為高電平(接 vcc 端),cpu 則執(zhí)行內(nèi)部程序存儲(chǔ)器中的指令。flash 存儲(chǔ)器編程時(shí),該引腳加上+12v 的編程允許電源 vpp,當(dāng)然這必須要求該器件是使用 12v 編程電壓 vpp。 xtal1 硬件電路設(shè)計(jì)12振蕩器反相放大器及內(nèi)部時(shí)鐘發(fā)生器的輸入端。 xtal2振蕩器反相放大器的輸出端。如果把前述的信

37、號(hào)定義為引腳第一功能的話,則根據(jù)需要再定義的信號(hào)就是它的第二功能。p3 的 8 條口線都有定義第二功能,如表 2 所示。對(duì)于內(nèi)部 eprom 的單片機(jī)芯片(例如 87c51),為寫入程序須提供專門的編程脈沖和編程電源。它們也由引腳以第二功能的形式提供的。 表 2 p3 口引腳與第二功能引腳第二功能 信號(hào)名稱p3.0rxd串行數(shù)據(jù)輸入口p3.1txd串行數(shù)據(jù)輸出口p3.20int外部中斷 0 請(qǐng)求p3.31int外部中斷 1 請(qǐng)求p3.4t0定時(shí)/計(jì)數(shù)器 0 的外部輸入p3.5t1定時(shí)/計(jì)數(shù)器 1 的外部輸入p3.6wr外部數(shù)據(jù)存儲(chǔ)器寫選通p3.7rd外部數(shù)據(jù)存儲(chǔ)器讀選通3.3.3 單片機(jī)中斷系

38、統(tǒng)介紹中斷是指當(dāng)計(jì)算機(jī)執(zhí)行正常程序時(shí),系統(tǒng)中出現(xiàn)某些急需處理的事件,cpu暫時(shí)中止當(dāng)前的程序,轉(zhuǎn)去執(zhí)行服務(wù)程序,以對(duì)發(fā)生的更緊迫的事件進(jìn)行處理,待處理結(jié)束后,cpu 自動(dòng)返回原來的程序執(zhí)行。at89c52 系列單片機(jī)的系統(tǒng)有 6 個(gè)中斷源,2 個(gè)優(yōu)先級(jí),可實(shí)現(xiàn)二級(jí)中斷服務(wù)嵌套。由片內(nèi)特殊功能寄存器中的中斷允許寄存器 ie 控制 cpu 是否響應(yīng)中斷請(qǐng)求;由中斷優(yōu)先級(jí)寄存器 ip 安排各中斷源的優(yōu)先級(jí);同一優(yōu)先級(jí)內(nèi)各中斷源同時(shí)提出中斷請(qǐng)求時(shí),由內(nèi)部的查詢邏輯確定其響應(yīng)次序。采用的外部中斷方式包括外部中斷 0 和外部中斷 1,它們的中斷請(qǐng)求信號(hào)分別由單片機(jī)引腳0int/p3.2 和1int/p3.

39、3 輸入 。外部中斷請(qǐng)求有兩種信號(hào)方式:電平觸發(fā)方式和脈沖觸發(fā)方式。電平觸發(fā)方式的中斷請(qǐng)求是低電平有效。只要在0int和1int引腳上出現(xiàn)有效低電平時(shí),就激活外部中斷方式。脈沖觸發(fā)方式的中斷請(qǐng)求則是脈沖的負(fù)跳變有效。在這種方式 硬件電路設(shè)計(jì)13下,在兩個(gè)相鄰機(jī)器周期內(nèi),0int和 1int引腳電平發(fā)生變化,即在第一個(gè)機(jī)器周期內(nèi)為高電平,第二個(gè)機(jī)器周期內(nèi)為低電平,就激活外部中斷。由此可見,在脈沖方式下,中斷請(qǐng)求信號(hào)的高電平和低電平狀態(tài)都應(yīng)至少維持一個(gè)機(jī)器周期,以使 cpu 采樣到電平狀態(tài)的變化,本次設(shè)計(jì)所采用的觸發(fā)方式為脈沖觸發(fā)方式。3.3.4 單片機(jī)定時(shí)器/計(jì)數(shù)器功能介紹at89c52 單片機(jī)

40、定時(shí)器/計(jì)數(shù)器的工作由兩個(gè)特殊功能寄存器控制。tmod 用于設(shè)置其工作方式;tcon 用于控制其啟動(dòng)和中斷請(qǐng)求。1.工作方式寄存器 tmod工作方式寄存器 tmod 用于設(shè)置定時(shí)/計(jì)數(shù)器的工作方式。gate:門控制。gate=0 時(shí),只要用軟件使 tcon 中的 tr0 或 tr1 為 1,就可以啟動(dòng)定時(shí)/計(jì)數(shù)器工作;gate=1 時(shí),要用軟件 tr0 或 tr1 為 1,同時(shí)外部中斷引腳或也為高電平時(shí),才能啟動(dòng)定時(shí)/計(jì)數(shù)器工作。0int1intc/:定時(shí)/計(jì)數(shù)模式選擇位。c/=0 為定時(shí)模式;c/=1 時(shí)為計(jì)數(shù)模式。tttm1m2:工作方式設(shè)置位。定時(shí)/計(jì)數(shù)器有 4 種工作方式,由 m1m2

41、 進(jìn)行設(shè)置。本次設(shè)計(jì) tmod 為 90h,即選通定時(shí)/計(jì)數(shù)器為 1、定時(shí)功能、工作方式 1.工作方式為 16 位定時(shí)/計(jì)數(shù)器。2.控制寄存器 tcontf1(tcon.7)定時(shí)/計(jì)數(shù)器 t1 溢出中斷請(qǐng)求標(biāo)志位。定時(shí)/計(jì)數(shù)器 t1 計(jì)數(shù)溢出時(shí)由硬件自動(dòng)置 tf1 為 1。cpu 響應(yīng)中斷后 tf1 由硬件自動(dòng)清零。t1 工作時(shí),cpu 可隨時(shí)查詢 tf 的狀態(tài)。所以,tf1 可用作查詢測(cè)試的標(biāo)志。tf1 也可以用軟件置 1 或清零,同硬件置 1 或清零的效果一樣。tr1(tcon.6)定時(shí)/計(jì)數(shù)器 t1 運(yùn)行控制位。tr1 置 1 時(shí),定時(shí)/計(jì)數(shù)器 t1 開始工作;tr1 置 0 時(shí),定時(shí)/

42、計(jì)數(shù)器 t1 停止工作。tr1 由軟件置 1 或清 0。tf0(tcon.5)定時(shí)/計(jì)數(shù)器 t0 溢出中斷請(qǐng)求標(biāo)志位。tr0(tcon.4)定時(shí)/計(jì)數(shù)器 t0 運(yùn)行控制位。3.4 其它器件的介紹 硬件電路設(shè)計(jì)143.4.1 儲(chǔ)存器的介紹 at24c02 是一個(gè) 2k 位串行 cmose2prom。內(nèi)部含有 256 個(gè) 8 位字節(jié),atmel公司的先進(jìn) cmos 技術(shù)實(shí)質(zhì)上減少了器件的功耗。at24c02 有一個(gè) 16 字節(jié)寫緩沖器,該器件通過 i2c 總線接口進(jìn)行操作有一個(gè)專門的寫保護(hù)功能。at24c02 支持i2c 總線數(shù)據(jù)傳送協(xié)議。數(shù)據(jù)傳送是由產(chǎn)生串行時(shí)鐘和所有起始停止信號(hào)的主器件控制的。

43、主器件和從器件都可以作為發(fā)送器或接收器,但由主器件控制傳送數(shù)據(jù)(發(fā)送或接收)的模式,通過器件地址輸入端 a0、a1 和 a2 可以實(shí)現(xiàn)將最多 8個(gè) 24c02 器件連接到總線上。管腳圖如 3.6 所示。 a01a12a23vss4sda5scl6wp7vcc824c02圖圖圖圖 3.6 24c02 管腳圖scl 串行時(shí)鐘:at24c02 串行時(shí)鐘輸入管腳用于產(chǎn)生器件所有數(shù)據(jù)發(fā)送或接收的時(shí)鐘。sda 串行數(shù)據(jù)/地址:at24c02 雙向串行數(shù)據(jù)/地址管腳用于器件所有數(shù)據(jù)的發(fā)送或接收,它是一個(gè)開漏輸出管腳。 wp 寫保護(hù):如果 wp 管腳連接到 vcc,則所有的內(nèi)容都被寫保護(hù),只能讀。當(dāng) wp 管

44、腳連接到 vss 或懸空,允許器件進(jìn)行正常的讀/寫操作。本次設(shè)計(jì)采用的 24c02 是為了防止掉電時(shí)里程數(shù)據(jù)的丟失,由于 24c02 的數(shù)據(jù)線和地址線是復(fù)用的,采用串口的方式傳輸數(shù)據(jù),所以只用兩根線 scl 和 sda與單片機(jī)傳輸數(shù)據(jù)。在軟件編程時(shí)采用2e prom程序包來控制 24c02 發(fā)送或接受數(shù)據(jù)。3.4.2 74ls74 芯片的介紹74ls74 是 d 觸發(fā)器的一種,它是一個(gè)具有記憶功能的二進(jìn)制信息存儲(chǔ)器件,是構(gòu)成多種時(shí)序電路的最基本邏輯單元。觸發(fā)器具有兩個(gè)穩(wěn)定狀態(tài),即“0”和 硬件電路設(shè)計(jì)15“1”,在一定的外界信號(hào)作用下,可以從一個(gè)穩(wěn)定狀態(tài)翻轉(zhuǎn)到另一個(gè)穩(wěn)定狀態(tài)。由于其狀態(tài)的更新發(fā)

45、生在 cp 脈沖的邊沿,故又稱之為上升沿觸發(fā)的邊沿觸發(fā)器,d 觸發(fā)器的狀態(tài)只取決于時(shí)鐘到來前 d 端的狀態(tài)。引腳圖如圖 3.7 所示。clr11d12clk 13rp 14q15q16gnd7q28d212clr 213vcc14q29pr210clk211 圖 3.7 74ls74 引腳圖在本題目中 74ls74 芯片起分頻的作用。當(dāng)車輪每轉(zhuǎn)一圈,霍爾傳感器輸出一個(gè)低電平脈沖,通過 74ls74 進(jìn)行二分頻后,定時(shí)器 t1 的開啟時(shí)間為車輪轉(zhuǎn) 1圈的時(shí)間,這樣就可以算出自行車的速度。分頻前后對(duì)比圖如圖 3.8 所示。tt00vv霍爾輸出脈沖二分頻后的波形圖 3.8 分頻前后對(duì)比圖由圖可見,二

46、分頻后的波形的高或低電平的時(shí)間正好是霍爾傳感器開關(guān)的一個(gè)周期,霍爾傳感器輸出脈沖到0int,即 p3.2 口接收到對(duì)圈數(shù)計(jì)數(shù)的脈沖。經(jīng)74ls74 二分頻后的信號(hào)輸入到1int,內(nèi)部定時(shí)計(jì)數(shù)器測(cè)得每轉(zhuǎn)一圈所用的時(shí)間,通過計(jì)算即可得里程值和即時(shí)速度。 硬件電路設(shè)計(jì)163.4.3 74ls244 芯片的介紹本次設(shè)計(jì)采用的驅(qū)動(dòng)數(shù)碼管芯片為 74ls244,74ls244 為三態(tài)輸出的八位緩沖器和線驅(qū)動(dòng)器,若單片機(jī)輸出口直接接顯示部分電路,則電流太小,會(huì)導(dǎo)致顯示部分不能正常工作。所以在單片機(jī)輸出口先接入驅(qū)動(dòng)芯片 74ls244,增大電流,使 led 能夠正常工作。由 74ls244 原理圖可知,它由

47、2 組組成,每組由四路輸入、輸出構(gòu)成。每組有一個(gè)控制端高或低電平?jīng)Q定該組數(shù)據(jù)被接通還是斷開。3.4.4 時(shí)鐘電路的設(shè)計(jì)時(shí)鐘是單片機(jī)的心臟,單片機(jī)各功能部件的運(yùn)行都是以時(shí)鐘頻率為基準(zhǔn),有條不紊地一拍一拍地工作。因此,時(shí)鐘頻率直接影響單片機(jī)的速度,時(shí)鐘電路的質(zhì)量也直接影響單片機(jī)系統(tǒng)的穩(wěn)定性。at89c52 片內(nèi)由一個(gè)反相放大器構(gòu)成振蕩器,可以由它產(chǎn)生時(shí)鐘。常用的時(shí)鐘電路有兩種方式,一種是內(nèi)部時(shí)鐘方式,另一種為外部時(shí)鐘方式。本設(shè)計(jì)采用前者。單片機(jī)內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器,該高增益反相放大器的輸入為芯片引腳 xtal1,輸出端為引腳 xtal2。這兩個(gè)引腳跨接石英晶體振蕩器和電容,就

48、構(gòu)成一個(gè)穩(wěn)定的自激振蕩器。單片機(jī)內(nèi)部時(shí)鐘方式的振蕩電路如圖 3.9 所示。at89c52xtal 2xtal 133pfc133pfc21212mhz圖 3.9 單片機(jī)片內(nèi)振蕩電路電路中的電容 c1 和 c2 常選擇為 30pf 左右。對(duì)外接電容的值雖然沒有嚴(yán)格的要求,但電容的大小會(huì)影響振蕩器的高低、振蕩器的穩(wěn)定性、起振的快速性和溫度的穩(wěn)定性。而外接晶體的振蕩頻率的大小,主要取決于單片機(jī)的工作頻率范圍,每一種單片機(jī)都有自己的最大工作頻率,外接的晶體振蕩頻率不大于單片機(jī)的最大工作頻率即可。此外,如果單片機(jī)有串行通信,則應(yīng)該選擇振蕩頻率除以串行通信頻率可以除盡的晶體。本設(shè)計(jì)晶振采用 12mhz,故

49、計(jì)數(shù)周期為 1us。 硬件電路設(shè)計(jì)173.4.5 復(fù)位電路的設(shè)計(jì)at89c52 單片機(jī)的復(fù)位輸入引腳 ret 為 at89c52 提供了初始化的手段。有了它可以使程序從指定處開始執(zhí)行,即從程序存儲(chǔ)器中的 0000h 地址單元開始執(zhí)行程序。在 89c52 的時(shí)鐘電路工作后,只要在 ret 引腳上出現(xiàn)兩個(gè)機(jī)器周期以上的高電平時(shí),單片機(jī)內(nèi)部則初始復(fù)位。只要 ret 保持高電平,則 89c52 循環(huán)復(fù)位。只有當(dāng) ret 由高電平變成低電平以后,89c52 才從 0000h 地址開始執(zhí)行程序。本系統(tǒng)的復(fù)位電路是采用按鍵復(fù)位的電路,如圖 3.10 所示,是常用復(fù)位電路之一。單片機(jī)復(fù)位通過按動(dòng)按鈕產(chǎn)生高電平

50、復(fù)位稱手動(dòng)復(fù)位。上電時(shí),剛接通電源,電容 c 相當(dāng)于瞬間短路,+5v 立即加到 ret/vpd端,該高電平使 89c52 全機(jī)自動(dòng)復(fù)位,這就是上電復(fù)位;若運(yùn)行過程中需要程序從頭執(zhí)行,只需按動(dòng)按鈕即可。按下按鈕,則直接把+5v 加到了 ret/vpd端從而復(fù)位稱為手動(dòng)復(fù)位。復(fù)位后,p0 到 p3 并行 i/o 口全為高電平,其它寄存器全部清零,只有 sbuf 寄存器狀態(tài)不確定。at89c52rstc1+50.2kr98.2kr822uf圖 3.10 按鍵復(fù)位電路工作原理:通電瞬間,rc 電路充電,rst 引腳出現(xiàn)高電平,只要 rst 端保持24ms 以上高電平,就能使單片機(jī)有效地復(fù)位。3.4.6

51、 顯示電路的設(shè)計(jì)本設(shè)計(jì)中采用 led 數(shù)碼管顯示。在單片機(jī)系統(tǒng)中,通常用 led 數(shù)碼顯示器來顯示各種數(shù)字或符號(hào)。由于它具有顯示清晰、亮度高、使用電壓低、壽命長(zhǎng)的特點(diǎn),因此使用非常廣泛。八段 led 顯示器由 8 個(gè)發(fā)光二極管組成。其中 7 個(gè)發(fā)光二極管構(gòu)成字型“8”的各個(gè)筆畫段,另一個(gè)小數(shù)點(diǎn)為 dp 發(fā)光二極管。led 顯示器有兩種不同的形式:一種是發(fā)光二極管的陽極都連在一起的,稱之為共陽極led 顯示器;另一種是發(fā)光二極管的陰極都連在一起的,稱之為共陰極 led 顯示器。本次設(shè)計(jì)采用共陰極接法。 硬件電路設(shè)計(jì)18led 顯示方式有動(dòng)態(tài)顯示和靜態(tài)顯示兩種方式。本系統(tǒng)采用動(dòng)態(tài)掃描顯示接口電路,

52、動(dòng)態(tài)顯示接口電路是把所有顯示器的 7 個(gè)筆劃段 a-g 同名端連在一起,而每一個(gè)顯示器的公共極 com 各自獨(dú)立地受 i/o 線控制。cpu 向字段輸出口送出字型碼時(shí),所有顯示器接收到相同的字型碼,但究竟是哪個(gè)顯示器亮,則取決于com 端。也就是說我們可以采用分時(shí)的方法,輪流控制各個(gè)顯示器的 com 端,使各個(gè)顯示器輪流點(diǎn)亮。在輪流點(diǎn)亮掃描過程中,每位顯示器的點(diǎn)亮?xí)r間是極為短暫的(約 1ms),由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實(shí)際上各位顯示器并非同時(shí)點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會(huì)有閃爍感。 本設(shè)計(jì) p2.0、p2.1、p2.2、p2.3 信

53、號(hào)一起組成位選通的位選信號(hào),p0.0p0.6 信號(hào)一起組成段碼選通的段選信號(hào),通過軟件編程,先把所要顯示的數(shù)據(jù)放入存儲(chǔ)單元,然后把數(shù)據(jù)送入段選通對(duì)應(yīng)的地址,再選通另一個(gè) led,逐步完成四個(gè) led 的顯示。 軟件程序設(shè)計(jì)19第 4 章 軟件程序設(shè)計(jì)軟件設(shè)計(jì),實(shí)際就是用各種各樣的技術(shù)和原理,并用它們足夠詳細(xì)的定義一個(gè)設(shè)備、一個(gè)程序或系統(tǒng)的物理實(shí)現(xiàn)的過程。模塊化結(jié)構(gòu)設(shè)計(jì)即是根據(jù)要求和硬件設(shè)計(jì)的結(jié)構(gòu),將整個(gè)系統(tǒng)的功能分成許多小的功能模塊,再根據(jù)這些小的功能模塊進(jìn)行程序編寫的過程。這樣的設(shè)計(jì)方法,使得系統(tǒng)的整個(gè)功能和各部分的功能趨于明朗化。當(dāng)系統(tǒng)出現(xiàn)問題,就可以根據(jù)功能設(shè)置找出問題的根源,從而更快地

54、解決問題。所以說,在整個(gè)設(shè)計(jì)過程中,軟件設(shè)計(jì)必須與硬件設(shè)計(jì)緊密地結(jié)合在一起。 基于霍爾傳感器自行車的速度里程表的軟件設(shè)計(jì)包括上電初始化程序、中斷子程序、速度調(diào)用子程序、里程調(diào)用子程序、led 顯示子程序、延時(shí)子程序等幾大部分。由于要實(shí)現(xiàn)很多功能,所以采用模塊化設(shè)計(jì),下面就其主要部分分別加以分析。4.1 軟件方案設(shè)計(jì)通過軟件控制單片機(jī)的功能是單片機(jī)的主要特點(diǎn)和優(yōu)點(diǎn),程序的設(shè)計(jì)要考慮合理性和可讀性,遵循模塊化設(shè)計(jì)的原則,采用自頂向下的設(shè)計(jì)方法。模塊化設(shè)計(jì)使程序的可讀性好、修改及完善方便。軟件設(shè)計(jì)包括主程序、行車過程中里程和速度計(jì)算子程序、延時(shí)子程序、中斷服務(wù)子程序、顯示子程序等等。中斷子程序是將傳

55、感器產(chǎn)生的信號(hào)接入外部中斷 0,將經(jīng)過 74ls74 分頻后的信號(hào)接入外部中斷 1,利用中斷和定時(shí)器分別對(duì)里程進(jìn)行累加,每轉(zhuǎn)一周的時(shí)間進(jìn)行測(cè)量。數(shù)據(jù)處理子程序是將進(jìn)入單片機(jī)的脈沖信號(hào)與實(shí)際要顯示值之間有一定的對(duì)應(yīng)關(guān)系,經(jīng)過軟件編程顯示所需要的值。顯示子程序是將數(shù)據(jù)處理的結(jié)果送顯示器顯示。 系統(tǒng)軟件總體流程圖如圖 4.1 所示。 軟件程序設(shè)計(jì)20初始化p3.0=1?計(jì)算里程顯示里程計(jì)算速度顯示速度n開始圖 4.1 軟件總體流程圖4.2 總體程序設(shè)計(jì)在主程序模塊中,需要完成對(duì)各接口芯片的初始化、自行車?yán)锍毯退俣鹊某跏蓟⒅袛嘞蛄康脑O(shè)計(jì)以及開中斷、循環(huán)等待等工作。另外,在主程序模塊中還需要設(shè)置啟動(dòng)/

56、清除標(biāo)志寄存器、里程寄存器、速度寄存器,并對(duì)它們進(jìn)行初始化。然后主程序?qū)⒏鶕?jù)各標(biāo)志寄存器的內(nèi)容,分別完成啟動(dòng)、清除、計(jì)程和計(jì)速等不同的操作。p1.0 和 p1.1 口分別用于顯示里程狀態(tài)和速度狀態(tài)。p1.2、p1.3、p1.6 和 p1.7口分別用于設(shè)置輪圈的大小,低電平有效。p3.0 是用于里程和速度切換的,低電平為顯示速度,高電平為顯示里程。中斷 0 是對(duì)輪子圈數(shù)的計(jì)數(shù)輸入,輪子每轉(zhuǎn)一圈,霍爾傳感器輸出一個(gè)低電平脈沖。將根據(jù)里程寄存器中的內(nèi)容計(jì)算和判斷出行駛里程數(shù)。中斷 1 用于控制定時(shí)器 t1 的啟/停,當(dāng)輸入為 0 時(shí)關(guān)閉定時(shí)器。此控制信號(hào)是將輪子圈數(shù)的計(jì)數(shù)經(jīng)二分頻后形成。這樣,每次定

57、時(shí)器 t1 的開啟時(shí)間剛好為轉(zhuǎn)一圈的時(shí)間,根據(jù)輪子的周長(zhǎng)就可以計(jì)算出自行車的速度。其程序流程如圖 4.2 所示。 軟件程序設(shè)計(jì)21開始初始化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.2 主程序流程圖 軟件程序設(shè)計(jì)224.3 中斷子程序設(shè)計(jì)定時(shí)中斷是為滿足定時(shí)或計(jì)數(shù)的需要而設(shè)置的。在單片機(jī)內(nèi)部有兩個(gè)定時(shí)/計(jì)數(shù)器,以對(duì)其中的計(jì)數(shù)結(jié)構(gòu)進(jìn)行計(jì)數(shù)的方法,來實(shí)現(xiàn)定時(shí)或計(jì)數(shù)功能。當(dāng)結(jié)構(gòu)發(fā)生計(jì)數(shù)溢出時(shí),即表明定時(shí)時(shí)間或計(jì)數(shù)值已滿,這時(shí)就以計(jì)數(shù)溢出信號(hào)作為中斷請(qǐng)求,去置位一

58、個(gè)溢出標(biāo)志,作為單片機(jī)接受中斷請(qǐng)求的標(biāo)志。這種中斷請(qǐng)求是在單片機(jī)芯片內(nèi)部發(fā)生的,因此無須在芯片上設(shè)置引入端。定時(shí)/計(jì)數(shù)器控制寄存器 tcon 是 8 位寄存器,地址為 88h,可以位尋址。其高 4 位用于定時(shí)/計(jì)數(shù)器中斷控制,低 4 位借給外部中斷,用做中斷標(biāo)志和觸發(fā)方式選擇位。本設(shè)計(jì)采用定時(shí)中斷,對(duì)自行車的里程和速度進(jìn)行計(jì)數(shù)。中斷子程序流程圖如圖 4.3 所示。關(guān)中斷開始現(xiàn)場(chǎng)保護(hù)開中斷中斷處理關(guān)中斷現(xiàn)場(chǎng)恢復(fù)開中斷中斷返回圖 4.3 中斷子程序流程圖 軟件程序設(shè)計(jì)234.4 里程計(jì)算子程序 外部中斷 0 服務(wù)程序用于對(duì)單片機(jī) p3.2 口輸入的圈數(shù)脈沖進(jìn)行計(jì)數(shù),為十六進(jìn)制計(jì)數(shù)器。60h 為低位

59、,62h 為高位。每次計(jì)數(shù)一次后,對(duì)里程數(shù)據(jù)進(jìn)行一次存儲(chǔ)操作。當(dāng)車輪每轉(zhuǎn)一圈,通過霍爾元件將脈沖數(shù)輸入單片機(jī)內(nèi),通過計(jì)數(shù)器計(jì)出脈沖數(shù),再用乘法子程序算出里程數(shù)。里程處理子程序流程圖如圖 4.4 所示。開始點(diǎn)亮里程指示將車圈數(shù)轉(zhuǎn)換成里程顯示里程值返回 圖 4.4 里程處理子程序流程圖4.5 速度計(jì)算子程序外中斷 1 服務(wù)程序用于處理輪子轉(zhuǎn)動(dòng)一圈后的計(jì)時(shí)數(shù)據(jù)。當(dāng)標(biāo)志位(00h)為 1 時(shí),計(jì)數(shù)溢出,放入最大時(shí)間值(為#0ffh);當(dāng)標(biāo)志位為 0 時(shí),將計(jì)數(shù)單元(tl1、th1、6ch、6dh)的值放入 68h6bh 單元。定時(shí)器計(jì)出每轉(zhuǎn)一圈所用的時(shí)間,用自行車車輪的周長(zhǎng)除以時(shí)間就得出自行車的速度。

60、如圖 4.5 所示。 軟件程序設(shè)計(jì)24開始計(jì)算速度開速度指示燈顯示速度返回圖 4.5 速度處理子程序流程圖4.6 顯示子程序的設(shè)計(jì)采用動(dòng)態(tài)掃描顯示接口電路,動(dòng)態(tài)顯示接口電路是把所有顯示器的 7 個(gè)筆劃段 a-g 同名端連在一起,而每一個(gè)顯示器的公共極 com 各自獨(dú)立地受 i/o 線控制。cpu 向字段輸出口送出字型碼時(shí),所有顯示器接收到相同的字型碼,但究竟是哪個(gè)顯示器亮,則取決于 com 端。可以采用分時(shí)的方法,輪流控制各個(gè)顯示器的com 端,使各個(gè)顯示器輪流點(diǎn)亮。在輪流點(diǎn)亮掃描過程中,每位顯示器的點(diǎn)亮?xí)r間是極為短暫的(約 1ms),由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實(shí)際上各位

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論