版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、i摘 要隨著居民生活水平的不斷提高,自行車不再僅僅是普通的運輸、代步的工具,而是成為人們娛樂、休閑、鍛煉的首選。自行車的速度里程表能夠滿足人們最基本的需求,讓人們能清楚地知道當前的速度、里程等物理量。本論文主要闡述一種基于霍爾元件的自行車的速度里程表的設(shè)計。以 at89c52 單片機為核心,a44e 霍爾傳感器測轉(zhuǎn)數(shù),實現(xiàn)對自行車里程/速度的測量統(tǒng)計,采用 24c02 實現(xiàn)在系統(tǒng)掉電的時候保存里程信息,并能將自行車的里程數(shù)及速度用 led 實時顯示。文章詳細介紹了自行車的速度里程表的硬件電路和軟件設(shè)計。硬件部分利用霍爾元件將自行車每轉(zhuǎn)一圈的脈沖數(shù)傳入單片機系統(tǒng),然后單片機系統(tǒng)將信號經(jīng)過處理送顯
2、示。軟件部分用匯編語言進行編程,采用模塊化設(shè)計思想。該系統(tǒng)硬件電路簡單,子程序具有通用性,完全符合設(shè)計要求。關(guān)鍵詞:關(guān)鍵詞:里程/速度;霍爾元件;單片機;led 顯示iiabstractwith the developing of peoples life, the bicycle is not only the universal tool of transportation and substitute for walking, but becomes the first choice of entertainment and exercising. the bicycle mileage
3、/speed can fulfill the basic need of peoples life, so that they can learn the speed and the mileage of the bicycle. 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 statistic
4、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 one c
5、ycle 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 meets
6、the demand of design.key words: mileage / speed; hall element; single chip microcomputer; led iii目 錄摘 要.i第一章 緒 論 .11.1 課題簡介.11.2 單片機發(fā)展趨勢.11.3 課題的主要任務及內(nèi)容.3第二章 系統(tǒng)總體方案設(shè)計.42.1 設(shè)計總體思想.42.2 硬件方案設(shè)計.62.3 軟件方案設(shè)計.8第三章 硬件電路設(shè)計.103.1 概述.103.2 傳感器及其測量系統(tǒng).103.2.1 霍爾傳感器的測量原理.113.2.2 集成開關(guān)型霍爾傳感器.123.3 單片機的原理及應用.133.3.
7、1 單片機原理簡介.133.3.2 單片機的引腳功能介紹.153.3.3 單片機中斷系統(tǒng)介紹.183.3.4 單片機定時/計數(shù)功能介紹.203.4 其他元器件的選擇.213.4.1 存儲器的選擇.213.4.2 觸發(fā)器的選擇.223.4.3 74ls244 芯片的介紹.243.5 單片機外圍電路的設(shè)計.243.5.1 時鐘電路的設(shè)計.243.5.2 復位電路的設(shè)計.263.5.3 顯示電路的設(shè)計.273.6 本章小結(jié).29iv第四章 軟件程序設(shè)計.304.1 總體論述.304.2 總體程序設(shè)計.304.3 中斷子程序的設(shè)計.334.4 數(shù)據(jù)處理子程序的設(shè)計.344.5 顯示子程序的設(shè)計.35第
8、五章 系統(tǒng)調(diào)試與分析.385.1 系統(tǒng)仿真調(diào)試.385.2 調(diào)試故障及原因分析.395.3 設(shè)計總結(jié).415.4 改進與創(chuàng)新.41致 謝.43參考文獻.45附 錄.471第一章 緒 論1.1 課題簡介自行車被發(fā)明及使用到現(xiàn)在已有兩百多年的歷史,這兩百年間人類在不斷的嘗試與研發(fā)過程中,將玩具式的木馬車轉(zhuǎn)換到今日各式新穎休閑運動自行車,自行車發(fā)展的目的也從最早的交通代步的工具轉(zhuǎn)換成休閑娛樂運動的用途。隨著居民生活水平的不斷提高,自行車不再僅僅是普通的運輸、代步的工具,而是成為人們娛樂、休閑、鍛煉的首選。因此,人們希望自行車的功用更強大,能給人們帶來更多的方便。自行車里程速度表作為自行車的一大輔助工
9、具也正是隨著這個要求而迅速發(fā)展的,其功能也逐漸從單一的里程顯示發(fā)展到速度、時間顯示,甚至有的還具有測量騎車人的心跳、顯示騎車人熱量消耗等功能。本設(shè)計采用了 mcs-51 系列單片機設(shè)計一種體積小、操作簡單的便攜式自行車的速度里程表,它能自動地顯示當前自行車行走的距離及運行的速度。 1.2 單片機發(fā)展趨勢現(xiàn)在可以說單片機是百花齊放,百家爭鳴的時期,世界上各大芯片制造公司都推出了自己的單片機,從 8 位、16 位到 32 位,數(shù)不勝數(shù),應有盡有,有與主流 c51 系列兼容的,也有不兼容的,但它們各具特色,互成互補,為單片機的應用提供廣闊的天地??v觀單片機的發(fā)展過程,可以預示單片機的發(fā)展趨勢,大致有
10、: 1.低功耗 cmos 化 mcs-51 系列的 8031 推出時的功耗達 630mw,而2現(xiàn)在的單片機普遍都在 100mw 左右,隨著對單片機功耗要求越來越低,現(xiàn)在的各個單片機制造商基本都采用了 cmos(互補金屬氧化物半導體工藝)。象 80c51 就采用了 hmos(即高密度金屬氧化物半導體工藝)和chmos(互補高密度金屬氧化物半導體工藝)。cmos 雖然功耗較低,但由于其物理特征決定其工作速度不夠高,而 chmos 則具備了高速和低功耗的特點,這些特征,更適合于在要求低功耗象電池供電的應用場合。所以這種工藝將是今后一段時期單片機發(fā)展的主要途徑。 2.微型單片化現(xiàn)在常規(guī)的單片機普遍都是
11、將中央處理器(cpu)、隨機存取數(shù)據(jù)存儲(ram)、只讀程序存儲器(rom)、并行和串行通信接口,中斷系統(tǒng)、定時電路、時鐘電路集成在一塊單一的芯片上,增強型的單片機集成了如 a/d 轉(zhuǎn)換器、pmw(脈寬調(diào)制電路)、wdt(看門狗)、有些單片機將 lcd(液晶)驅(qū)動電路都集成在單一的芯片上,這樣單片機包含的單元電路就更多,功能就越強大。甚至單片機廠商還可以根據(jù)用戶的要求量身定做,制造出具有自己特色的單片機芯片。此外,現(xiàn)在的產(chǎn)品普遍要求體積小、重量輕,這就要求單片機除了功能強和功耗低外,還要求其體積要小?,F(xiàn)在的許多單片機都具有多種封裝形式,其中 smd(表面封裝)越來越受歡迎,使得由單片機構(gòu)成的系
12、統(tǒng)正朝微型化方向發(fā)展。 3.主流與多品種共存現(xiàn)在雖然單片機的品種繁多,各具特色,但仍以 80c51 為核心的單片機占主流,兼容其結(jié)構(gòu)和指令系統(tǒng)的有 philips公司的產(chǎn)品,atmel 公司的產(chǎn)品和中國臺灣的 winbond 系列單片機。所以 c8051 為核心的單片機占據(jù)了半壁江 1 山。而 microchip 公司的 pic精簡指令集(risc)也有著強勁的發(fā)展勢頭,中國臺灣的 holtek 公司近年的單片機產(chǎn)量與日俱增,與其低價質(zhì)優(yōu)的優(yōu)勢,占據(jù)一定的市場分額。此外還有 motorola 公司的產(chǎn)品,日本幾大公司的專用單片機。3在一定的時期內(nèi),這種情形將得以延續(xù),將不存在某個單片機一統(tǒng)天下
13、的壟斷局面,走的是依存互補,相輔相成,共同發(fā)展的道路1.3 課題的主要任務及內(nèi)容本課題主要任務是利用霍爾元件、單片機等部件設(shè)計一個可用 led 數(shù)碼管實時顯示里程和速度的自行車的速度里程表。本文主要介紹了自行車的速度里程表的設(shè)計思想、電路原理、方案論證以及元件的選擇等內(nèi)容,整體上分為硬件部分設(shè)計和軟件部分設(shè)計。本文首先扼要對該課題的任務進行方案論證,包括硬件方案和軟件方案的設(shè)計;繼而具體介紹了自行車的速度里程表的硬件設(shè)計,包括傳感器的選擇、單片機的選擇、顯示電路的設(shè)計;然后闡述了該自行車的速度里程表的軟件設(shè)計,包括數(shù)據(jù)處理子程序的設(shè)計、顯示子程序的設(shè)計;最后針對仿真過程遇到的問題進行了具體說明
14、與分析,對本次設(shè)計進行了系統(tǒng)的總結(jié)。具體的硬件電路包括:at89c52 單片機的外圍電路以及 led 顯示電路等。軟件設(shè)計包括:芯片的初始化程序、定時中斷采樣子程序、顯示子程序等,軟件采用匯編語言編寫,軟件設(shè)計的思想主要是自頂向下,模塊化設(shè)計,各個子模塊逐一設(shè)計。 4第二章 系統(tǒng)總體方案設(shè)計2.1 設(shè)計總體思想方案一:本設(shè)計的任務是:以通用 mcs-51 單片機為處理核心,用傳感器將車輪的轉(zhuǎn)數(shù)轉(zhuǎn)換為電脈沖,進行處理后送入單片機。里程及速度的測量,是經(jīng)過 mcs-51 的定時/計數(shù)器測出總的脈沖數(shù)和每轉(zhuǎn)一圈的時間,再經(jīng)過單片機的計算得出,其結(jié)果通過 led 顯示器顯示出來。本系統(tǒng)總體思路如下:假
15、定輪圈的周長為 l,在輪圈上安裝 m 個永久磁鐵,則測得的里程值最大誤差為 l/m。經(jīng)綜合分析,本設(shè)計中取m=1。當輪子每轉(zhuǎn)一圈,通過開關(guān)型霍爾元件傳感器采集到一個脈沖信號,并從引腳 p3.2 中斷 0 端輸入,傳感器每獲取一個脈沖信號即對系統(tǒng)提供一次計數(shù)中斷。每次中斷代表車輪轉(zhuǎn)動一圈,中斷數(shù) n 輪圈的周長為 l 的乘積為里程值。計數(shù)器 t1 計算每轉(zhuǎn)一圈所用的時間 t,就可以計算出即時速度 v。當里程鍵按下時,里程指示燈亮,led 切換顯示當前里程,與當速度鍵按下時,速度指示燈亮,led 切換顯示當前速度,若自行車超速,系統(tǒng)發(fā)出報警信號,指示燈閃爍。要求達到的各項指標及實現(xiàn)方法如下:1.利
16、用霍爾傳感器產(chǎn)生里程數(shù)的脈沖信號。2.對脈沖信號進行計數(shù)。實現(xiàn):利用單片機自帶的計數(shù)器 t1 對霍爾傳感器脈沖信號進行計數(shù)。3.對數(shù)據(jù)進行處理,要求用 led 顯示里程總數(shù)和即時速度。5實現(xiàn):利用軟件編程,對數(shù)據(jù)進行處理得到需要的數(shù)值。最終實現(xiàn)目標:自行車的速度里程表具有里程、速度測試與顯示功能,采用單片機作控制,顯示電路可顯示里程及速度。方案二:設(shè)計采用了 st1101 紅外光電傳感器,進行非接觸式檢測。當有物體擋在紅外光電發(fā)光二極管和高靈敏度的光電晶體管之間時,傳感器將會輸出一個低電平,而當沒有物體擋在中間時則輸出為高電平,從而形成一個脈沖。 該系統(tǒng)在自行車后輪的軸處保持著與輪子旋轉(zhuǎn)切面平
17、行的方向延伸附加一個鋁盤,在這個鋁盤的邊沿處挖出若干個圓形過孔,把傳感器的檢測部分放在圓孔的圓心位置。每當鋁盤隨著后輪旋轉(zhuǎn)的時候,傳感器將向外輸出若干個脈沖。把這些脈沖通過一系列的波形整形成單片機可以識別的 ttl 電平,即可算出輪子即時的轉(zhuǎn)速。 鋁盤的圓孔的個數(shù)決定了測量的精度,個數(shù)越多,精度越高。這樣就可以在單位時間內(nèi)盡可能多地得到脈沖數(shù),從而避免了因為兩個過孔之間的距離過大,而車子正好在過孔之間或者是在下個過孔之前停止了,造成較大的誤差。 本設(shè)計在鋁盤過孔的設(shè)計上采用 11 個過孔,從而留下了 10 個同等的間距。這樣在以后的軟件設(shè)計中能夠較為方便的計算出速度里程。系統(tǒng)的信號預處理電路由
18、二級電路構(gòu)成,第一級是由開關(guān)三極管組成的零偏置放大器,采用開關(guān)三極管可以保證放大器具有良好的高頻響應。當輸入信號為零或負電壓時,三極管截止,電路輸出高電平;而當輸入信號為正電壓時,三極管導通,此時輸出電壓隨著輸入電壓的上升而下降,這使得速度里程表既可以測量任意方波信號的頻率,也可以測量正弦波6信號的頻率。由于放大器的放大功能降低了對待測信號的幅度要求,因此,系統(tǒng)能對任意大于 0.5v 的正弦波和脈沖信號進行測量。預處理電路的第二級采用帶施密特觸發(fā)器的反相器 dm74ls14 來把放大器生成的單相脈沖轉(zhuǎn)換成與 coms 電平相兼容的方波信號。從傳感器得到的矩形脈沖經(jīng)傳輸后往往發(fā)生波形畸變。當傳輸
19、線上的電容較大時,波形的上升沿將明顯變壞;當傳輸線較長,而且接受端的阻抗與傳輸線的阻抗不匹配時,在波形的上升沿和下降沿將產(chǎn)生振蕩現(xiàn)象;當其他脈沖信號通過導線間的分布電容或公共電源線疊加到矩形脈沖信號時,信號上將出現(xiàn)附加的噪聲。無論出現(xiàn)上述的那一種情況,都可以通過用施密特反相觸發(fā)器整形而得到比較理想的矩形脈沖波形。只要施密特觸發(fā)器的 vt+和 vt-設(shè)置得合適,均能受到滿意的整形效果。通過比較論證方案一的硬件容易實現(xiàn),且理論較為簡單容易實現(xiàn)。方案二在測量中會存在較大的誤差,故選擇方案一。2.2 硬件方案設(shè)計測速,首先要解決是采樣的問題。使用單片機進行測速,可以使用簡單的脈沖計數(shù)法。只要轉(zhuǎn)軸每旋轉(zhuǎn)
20、一周,產(chǎn)生一個或固定的多個脈沖,將脈沖送入單片機中進行計算,即可獲得轉(zhuǎn)速的信息。常用的測速元件有霍爾傳感器、光電傳感器和光電編碼器。里程測量傳感器的選擇也有以下幾種方案:使用光敏電阻對里程進行測量、利用編碼器對車輪的圈數(shù)進行測量、利用霍爾傳感器對里程進行測量、利用干簧管型傳感器測量里程。光敏電阻對光特別敏感,當白天行駛時,外界光源將導致光敏電阻發(fā)出錯誤信號;光敏電阻對環(huán)境的要求相當高,如果光敏或發(fā)光二極管被7泥沙或灰塵所覆蓋,光敏電阻就不能再進行準確測量;而編碼器必須安裝在車軸上,安裝較為復雜;霍爾元件或干簧管不但不受天氣的影響,即使被泥沙或灰塵覆蓋也不會有影響,而且安裝方便。所以本設(shè)計采用霍
21、爾元件對里程與速度進行測量,既簡單易行,又經(jīng)濟適用。使用霍爾傳感器獲得脈沖信號,其機械結(jié)構(gòu)也可以做得較為簡單,只要在轉(zhuǎn)軸的齒輪盤上粘上一粒磁鋼,霍爾元件固定在前叉上,當車子轉(zhuǎn)動時霍爾元件靠近磁鋼,就有信號輸出,轉(zhuǎn)軸旋轉(zhuǎn)時,就會不斷地產(chǎn)生脈沖信號輸出。如果在齒輪盤上粘上多粒磁鋼,可以實現(xiàn)旋轉(zhuǎn)一周,獲得多個脈沖輸出。在粘磁鋼時要注意,霍爾傳感器對磁場方向敏感,粘之前可以先手動接近一下傳感器,如果沒有信號輸出,可以換一個方向再試。這種傳感器不怕灰塵、油污,在工業(yè)現(xiàn)場應用廣泛?;魻杺鞲衅魇菍Υ琶舾械膫鞲性?,常用于信號采集的有 a44e,該傳感器是一個 3 端器件,外形與三極管相似,只要接上電源、地,
22、即可工作,工作電壓范圍寬,使用非常方便。a44e 的外形如圖 2-1 所示。a44e123 1-vcc 2-gnd 3-out圖 2-1 a44e 外形圖單片機由于將 cpu、內(nèi)存和一些必要的接口集成到一個芯片上,并且面向控制功能將結(jié)構(gòu)作了一定的優(yōu)化,所以它有一般芯片不具有的特點:1.體積小、重量輕;82.電源單一、功耗低;3.功能強、價格低;4.全部集成在一塊芯片上,布線短、合理;5.數(shù)據(jù)大部分在單片機內(nèi)傳送,運行速度快、抗干擾能力強、可靠性高。目前,單片機被廣泛的應用于測控系統(tǒng)、工業(yè)自動化、智能儀表、集成智能傳感器、機電一體化產(chǎn)品、家用電器領(lǐng)域、辦公自動化領(lǐng)域、汽車電子與航空航天器電子系統(tǒng)
23、以及單片機的多機系統(tǒng)等領(lǐng)域。在設(shè)計中選用的是 at89c52 單片機。外部信號霍爾傳感器外部存儲器at89c52 單片機里程顯示速度顯示報警部分圖 2-2 系統(tǒng)的原理框圖2.3 軟件方案設(shè)計通過軟件控制單片機的功能是單片機的主要特點和優(yōu)點,程序的設(shè)計要考慮合理性和可讀性,遵循模塊化設(shè)計的原則,采用自頂向下的設(shè)計方法。模塊化設(shè)計使程序的可讀性好、修改及完善方便。軟件設(shè)計包括主程序、行車過程中里程和速度計算子程序、延時子程序、中斷服務子程序、顯示子程序等等。中斷子程序是將傳感器產(chǎn)生的信號接入外部中斷 0,將經(jīng)過 74ls749分頻后的信號接入外部中斷 1,利用中斷和定時器對分別對里程進行累加、每轉(zhuǎn)
24、一周的時間進行測量。數(shù)據(jù)處理子程序是將進入單片機的脈沖信號與實際要顯示值之間有一定的對應關(guān)系,經(jīng)過軟件編程顯示所需要的值。顯示子程序是將數(shù)據(jù)處理的結(jié)果送顯示器顯示。系統(tǒng)軟件總體流程圖如圖 2-3 所示。 初始化p3.0=1?計算里程顯示里程計算速度顯示速度n開始圖 2-3 軟件總體流程圖10第三章 硬件電路設(shè)計3.1 概述自行車的速度里程表的硬件電路設(shè)計是基礎(chǔ)部分,它包括信號的捕獲、放大、整形,單片機的計算處理,數(shù)碼管的實時顯示和單片機外圍基本電路的設(shè)計,兩大主要器件就是傳感器和單片機。傳感器是獲取自然或生產(chǎn)領(lǐng)域中信息的關(guān)鍵器件,是現(xiàn)代信息系統(tǒng)和各種設(shè)備不可缺少的信息采集工具。磁傳感器是一種將
25、磁學量信號轉(zhuǎn)變?yōu)殡娦盘柕钠骷蜓b置。隨著信息產(chǎn)業(yè)、工業(yè)自動化、醫(yī)療儀器等的飛速發(fā)展和計算機應用的普及,需要大量的傳感器將被測或被控的非電信號轉(zhuǎn)換成可與計算機兼容的電信號。作為輸入信號,這就給磁傳感器的快速發(fā)展提供了機遇,形成了磁傳感器的產(chǎn)業(yè)。其中最具代表的磁傳感器就是霍爾傳感器,在自動檢測系統(tǒng)中,利用霍爾傳感器測轉(zhuǎn)數(shù)是一種最基本的測量工作。單片機是本次設(shè)計的核心部件,它是信號從采集到輸出的橋梁,而且包括計算、定時、信息處理等功能。3.2 傳感器及其測量系統(tǒng)本次設(shè)計信號的捕獲采用的是霍爾傳感器。 霍爾器件具有許多優(yōu)點,它們的結(jié)構(gòu)牢固、體積小、重量輕、壽命長、安裝方便、功耗小、頻率高(可達 1mh
26、z) 、耐震動、不怕灰塵、油污、水汽及煙霧等的污染或腐蝕?;魻柧€性器件的精度高、線性度好;霍爾開關(guān)器件無觸點、無磨損、11輸出波形清晰、無抖動、無回跳、位置重復精度高。取用各種補償和保護措施的霍爾器件工作溫度范圍寬,可達55150。按照霍爾器件的功能可將它們分為:霍爾線性器件和霍爾開關(guān)器件,前者輸出模擬量,后者輸出數(shù)字量。 按被檢測對象的性質(zhì)可將它們的應用分為:直接應用和間接應用。前者是直接檢測出受檢測對象本身的磁場或磁特性,后者是檢測受檢對象上人為設(shè)置的磁場,用這個磁場來作被檢測的信息的載體。通過它,將許多非電、非磁的物理量例如力、力矩、位置、位移、速度、加速度、角度、角速度、轉(zhuǎn)數(shù)、轉(zhuǎn)速以及
27、工作狀態(tài)發(fā)生變化的時間等,轉(zhuǎn)變成電量來進行檢測和控制。 3.2.1 霍爾傳感器的測量原理霍爾傳感器是利用霍爾效應制成的一種磁敏傳感器。在置于磁場中的導體或半導體通入電流 i,若電流垂直磁場 b,則在與磁場和電流都垂直的方向上會出現(xiàn)一個電勢差 uh,這種現(xiàn)象稱為霍爾效應。利用霍爾效應制成的元件稱為霍爾元件。因為它具有結(jié)構(gòu)簡單、頻率響應寬、靈敏度高、測量線性范圍大、抗干擾能力強以及體積小、使用壽命長等一系列特點,因此被廣泛應用于測量、自動控制及信息處理等領(lǐng)域?;魻栃韴D如圖 3-1 所示。12xyzbiluhbd圖 3-1 霍爾效應原理圖3.2.2 集成開關(guān)型霍爾傳感器a44e 集成霍爾開關(guān)由
28、穩(wěn)壓器 a、霍爾電勢發(fā)生器(即硅霍爾片)b、差分放大器 c、施密特觸發(fā)器 d 和 oc 門輸出 e 五個基本部分組成,如圖3.2(a)所示。(1)、(2)、(3)代表集成霍爾開關(guān)的三個引出端點。在電源端加電壓 vcc,經(jīng)穩(wěn)壓器穩(wěn)壓后加在霍爾電勢發(fā)生器的兩端,根據(jù)霍爾效應原理,當霍爾片處在磁場中時,在垂直于磁場的方向通以電流,則與這二者相垂直的方向上將會產(chǎn)生霍爾電勢差 vh 輸出,該 vh 信號經(jīng)放大器放大后送至施密特觸發(fā)器整形,使其成為方波輸送到 oc 門輸出。當施加的磁場達到工作點時,觸發(fā)器輸出高電壓(相對于地電位),使三極管導通,此時 oc 門輸出端輸出低電壓,通常稱這種狀態(tài)為開 。當施加
29、的磁場達到釋放點時,觸發(fā)器輸出低電壓,三極管截止,使 oc 門輸出高電壓,這種狀態(tài)為關(guān) 。這樣兩次電壓變換,使霍爾開關(guān)完成了一次開關(guān)動作。工作點與釋放點的差值一定,此差值稱為磁滯,在此差值內(nèi),v0 保持不變,因而使開關(guān)輸出穩(wěn)定可靠,這也就是集電成霍爾開關(guān)傳感器優(yōu)良特性之一。傳感器主要特性是它的輸出特性,即輸入磁感13應強度 b 與輸出電壓 v0 之間的關(guān)系。a44e 集成霍爾開關(guān)是單穩(wěn)態(tài)型,由測量數(shù)據(jù)作出的輸出特性曲線如圖 3-2(b)所示。測量時,在 1、2 兩端加 5v 直流電壓,在輸出端 3 與 1 之間接一個 2k 的負載電阻,如圖3-3 所示。dabcevcc(1)(2)gndout
30、(3)(a)0510152036912vo/vb/mt釋放點(off)工作點(on)(v)(b)圖 3-2 集成開關(guān)型霍爾傳感器圖 3-3 集成霍爾開關(guān)接線圖3.3 單片機的原理及應用3.3.1 單片機原理簡介單片機是指集成在一個芯片上的微型計算機,也就是把組成微型計算14機的各種功能部件,包括 cpu(central processing unit)、隨機存儲器 ram(random access memory)、只讀存儲器 rom(read-only memory)、基本輸入/輸出(input/output)接口電路。定時器/計數(shù)器等部件都制作在一塊集成芯片上,構(gòu)成一個完整的微型計算機從而
31、實現(xiàn)微型計算機的基本功能。單片機內(nèi)部結(jié)構(gòu)示意圖如圖 3-4 所示。 定時/計數(shù)器中斷系統(tǒng)cpu存儲器并行 i/o 口串口 i/o 口txdtxdrxdtintp0-p3圖 3-4 單片機內(nèi)部結(jié)構(gòu)示意圖1.中央處理器(cpu)中央處理器是單片機最核心的部分,主要完成運算和控制能。2.內(nèi)部存儲器內(nèi)部存儲器包括內(nèi)部數(shù)據(jù)存儲器(內(nèi)部 ram)和內(nèi)部程序存儲器。存儲器是由大量的寄存器所組成,其中每一個寄存器就稱為一個存儲單元。3.定時/計數(shù)器單片機的定時器和計數(shù)器是同一結(jié)構(gòu),只是計數(shù)器記錄的是單片機外15部發(fā)生的事件,由單片機的外部電路提供計數(shù)信號;而定時器是由單片機內(nèi)部提供一個非常穩(wěn)定的計數(shù)信號。4.
32、中斷系統(tǒng)中斷系統(tǒng)在計算機中起著十分重要的作用,是現(xiàn)代計算機系統(tǒng)中廣泛采用的一種實時控制技術(shù),能對突發(fā)事件進行及時處理,從而大大提高系統(tǒng)的實時性能。5.串行 i/o 接口串行 i/o 口的數(shù)據(jù)各位按順序傳輸,其特點是需要一對傳輸線,成本低;但速度慢,效率低,適合靜態(tài)顯示。6.并行 i/o 接口并行 i/o 接口的數(shù)據(jù)所有位同時傳送。其特點是傳輸速度快,效率高;但傳送多少位就需要多少根傳輸線,因此傳送成本高,適合動態(tài)顯示。3.3.2 單片機的引腳功能介紹at89c52 是美國 atmel 公司生產(chǎn)的低電壓,高性能 cmos 8 位單片機,片內(nèi)含 8k bytes 的可反復擦寫的只讀程序存儲器(ep
33、rom)和256 字節(jié)的隨機存取數(shù)據(jù)存儲器(ram) ,器件采用 atmel 公司的高密度、非易失性存儲技術(shù)生產(chǎn),與標準 mcs-51 指令系統(tǒng)及 8052 產(chǎn)品引腳兼容,片內(nèi)置通用 8 位中央處理器(cpu)和 flash 存儲單元,功能強大,at89c52 單片機適合于許多較為復雜控制場合應用。16圖 3-5 at89c52 引腳圖at89c52 提供以下標準功能:8k 字節(jié) flash 閃速存儲器,256 字節(jié)內(nèi)部 ram,32 個 i/o 口線,3 個 16 位定時/計數(shù)器,5 個中斷源,一個全雙工串行通信口,片內(nèi)具有振蕩器及時鐘電路。at89c52 管腳圖如圖3.5 所示。at89c
34、52 的主要管腳功能如下:p0.0p0.7:p0 口是一組 8 位漏極開路型雙向 i/o 口,也是地址/數(shù)據(jù)總線復用口。p1.0p1.7:p1 是一個帶內(nèi)部上拉電阻的 8 位雙向 i/o 口。p2.0p2.7:p2 是一個帶內(nèi)部上拉電阻的 8 位雙向 i/o 口。p3.0p3.7:p3 是一個帶內(nèi)部上拉電阻的 8 位雙向 i/o 口。ale:地址鎖存控制信號。在系統(tǒng)擴展時,ale 用于控制把 p0 口輸出的低 8 位地址鎖存起來,以實現(xiàn)低位地址和數(shù)據(jù)的分時傳送。此外,由于 ale 是以晶振 16 的固定頻率輸出的正脈沖,因此,可作為外部時鐘或外部定時脈沖使用。17:外部程序存儲器讀選通信號。在
35、讀外部 rom 時,有效psenpsen(低電平),以實現(xiàn)外部 rom 單元的讀操作。:訪問程序存儲控制信號。當信號為低電平時,對 rom 的讀操eaea作限定在外部程序存儲器;當信號為高電平時,對 rom 的讀操作是ea從內(nèi)部程序存儲器開始,并可延至外部程序存儲器。rst:復位信號。當輸入的復位信號延續(xù)兩個機器周期以上的高電平時即為有效,用以完成單片機的復位初始化操作。xtall 和 xtal2:外接晶體引線端。當使用芯片內(nèi)部時鐘時,此二引線端用于外接石英晶體和微調(diào)電容;當使用外部時鐘時,用于接外部時鐘脈沖信號。vss:地線。 vcc:+5v 電源。如果把前述的信號定義為引腳第一功能的話,則
36、根據(jù)需要再定義的信號就是它的第二功能。p3 的 8 條口線都定義有第二功能,如表 3-1 所示對于有內(nèi)部 eprom 的單片機芯片(例如 87c51),為寫入程序須提供專門的編程脈沖和編程電源。它們也由引腳以第二功能的形式提供的,即:編程脈沖:30 腳()/ale prog編程電壓(25v):31 腳()/ea vpp18表 3-1 p3 口引腳與第二功能引腳第二功能信號名稱p3.0rxd串行數(shù)據(jù)接收p3.1txd串行數(shù)據(jù)接收p3.20int外部中斷 0 申請p3.31int外部中斷 1 申請p3.4t0定時/計數(shù)器 0 的外部輸入p3.5t1定時/計數(shù)器 1 的外部輸入p3.6wr外部 ra
37、m 寫選通p3.7rd外部 ram 讀選通3.3.3 單片機中斷系統(tǒng)介紹中斷是指當計算機執(zhí)行正常程序時,系統(tǒng)中出現(xiàn)某些急需處理的事件,cpu 暫時中止當前的程序,轉(zhuǎn)去執(zhí)行服務程序,以對發(fā)生的更緊迫的事件進行處理,待處理結(jié)束后,cpu 自動返回原來的程序執(zhí)行 at89c52 系列單片機的系統(tǒng)有 5 個中斷源,2 個優(yōu)先級,可實現(xiàn)二級中斷服務嵌套。由片內(nèi)特殊功能寄存器中的中斷允許寄存器 ie 控制 cpu 是否響應中斷請求;由中斷優(yōu)先級寄存器 ip 安排各優(yōu)中斷源的優(yōu)先級;同一優(yōu)先級內(nèi)各終端同時提出中斷請求時,由內(nèi)部的查詢邏輯確定其響應次序。采用的外部中斷方式包括外部中斷 0 和外部中斷 1,它們
38、的中斷請求信號分別由單片機引腳/p3.2 和/p3.3 輸入 。0int1int19外部中斷請求有兩種信號方式:電平觸發(fā)方式和脈沖觸發(fā)方式。電平觸發(fā)方式的中斷請求是低電平有效。只要在和引腳上出現(xiàn)有0int1int效低電平時,就激活外部中斷方式。脈沖觸發(fā)方式的中斷請求則是脈沖的負跳變有效。在這種方式下,在兩個相鄰機器周期內(nèi),和 0int引腳電平發(fā)生變化,即在第一個機器周期內(nèi)為高電平,第二個機器1int周期內(nèi)為低電平,就激活外部中斷。由此可見,在脈沖方式下,中斷請求信號的高電平和低電平狀態(tài)都應至少維持一個機器周期,以使 cpu 采樣到電平狀態(tài)的變化,本次設(shè)計所采用的觸發(fā)方式為脈沖觸發(fā)方式。1.中斷
39、允許控制cpu 對中斷系統(tǒng)所有中斷以及某個中斷源的開放和屏蔽是由中斷允許寄存器 ie 控制的。ie 的狀態(tài)可通過程序由軟件設(shè)定,某位設(shè)定為 1,相應的中斷源中斷允許;某位設(shè)定為 0,相應的中斷源中斷屏蔽。cpu復位時,ie 各位為 0,禁止所有中斷。ie 寄存器各位的定義如下。ex0(ie.0)外部中斷允許位;0intet0(ie.1)定時/計數(shù)器 t0 中斷允許位;ex1(ie.2)外部中斷允許位;1intet1(ie.3)定時/計數(shù)器 t1 中斷允許位;es(ie.4)串行口中斷允許位;ea(ie.7)cpu 中斷允許位。2.中斷優(yōu)先級控制at89c52 單片機有兩個中斷優(yōu)先級,即可實現(xiàn)二
40、級中斷服務嵌套。每個中斷源的中斷優(yōu)先級都是由中斷優(yōu)先級寄存器 ip 中的相應的狀態(tài)來規(guī)定的。ip 的狀態(tài)由軟件設(shè)定,某位設(shè)定為 1,則相應的中斷源為高優(yōu)先級中斷;某位設(shè)定為 0.則相應的中斷源為低優(yōu)先級中斷。單片機復20位時,ip 各位清 0,各中斷源同為低優(yōu)先級中斷。ip 寄存器各位的定義如下。px0(ip.0)外部中斷優(yōu)先級設(shè)定位;0intpt0(ip.1)定時/計數(shù)器 t0 中斷優(yōu)先級設(shè)定位;px1(ip.2)外部中斷中斷優(yōu)先級設(shè)定位;1intpt1(ip.3)定時/計數(shù)器 t1 中斷優(yōu)先級設(shè)定位;ps(ip.4)串行口中斷優(yōu)先級設(shè)定位。3.3.4 單片機定時/計數(shù)功能介紹at89c52
41、 單片機定時/計數(shù)器的工作由兩個特殊功能寄存器控制。tmod 用于設(shè)置其工作方式;tcon 用于控制其啟動和中斷請求。1.工作方式寄存器 tmod工作方式寄存器 tmod 用于設(shè)置定時/計數(shù)器的工作方式。gate:門控位。gate=0 時,只要用軟件使 tcon 中的 tr0 或 tr1 為1,就可以啟動定時/計數(shù)器工作;gate=1 時,要用軟件 tr0 或 tr1 為1,同時外部中斷引腳或也為高電平時,才能啟動定時/計數(shù)0int1int器工作。:定時/計數(shù)模式選擇位。=0 為定時模式; =1 為計數(shù)模/c t/c t/c t式。m1m2:工作方式設(shè)置位。定時/計數(shù)器有 4 種工作方式,由
42、m1m2 進行設(shè)置。本次設(shè)計 tmod 為 90h,即選通定時/計數(shù)器 1、定時功能。工作方式16 位定時/計數(shù)器。212.控制寄存器 tcontf1(tcon.7)定時/計數(shù)器 t1 溢出中斷請求標志位。定時/計數(shù)器t1 計數(shù)溢出時由硬件自動置 tf1 為 1。cpu 響應中斷后 tf1 由硬件自動清零。t1 工作時,cpu 可隨時查詢 tf 的狀態(tài)。所以,tf1 可用作查詢測試的標志。tf1 也可以用軟件置 1 或清零,同硬件置 1 或清零的效果一樣。tr1(tcon.6)定時/計數(shù)器 t1 運行控制位。tr1 置 1 時時,定時/ 計數(shù)器 t1 開始工作;tr1 置 0 時,定時/計數(shù)器
43、 t1 停止工作。tr1 由軟件置 1 或清 0。tf0(tcon.5):定時/計數(shù)器 t0 溢出中斷請求標志位。tr0(tcon.4):定時/計數(shù)器 t0 運行控制位。3.4 其他元器件的選擇3.4.1 存儲器的選擇at24c02 是一個 2k 位串行 cmose2prom。內(nèi)部含有 256 個 8 位字節(jié),atmel 公司的先進 cmos 技術(shù)實質(zhì)上減少了器件的功耗。at24c02 有一個16 字節(jié)頁寫緩沖器,該器件通過 i2c 總線接口進行操作有一個專門的寫保護功能。at24c02 支持 i2c 總線數(shù)據(jù)傳送協(xié)議。數(shù)據(jù)傳送是由產(chǎn)生串行時鐘和所有起始停止信號的主器件控制的。主器件和從器件都
44、可以作為發(fā)送器或接收器,但由主器件控制傳送數(shù)據(jù)(發(fā)送或接收)的模式,通過器件地址輸入端 a0、a1 和 a2 可以實現(xiàn)將最多 8 個 24c02 器件連接到總線上。管腳圖如 3-6 所示。 22圖 3-6 24c02 管腳圖scl 串行時鐘:at24c02 串行時鐘輸入管腳用于產(chǎn)生器件所有數(shù)據(jù)發(fā)送或接收的時鐘。sda 串行數(shù)據(jù)/地址:cat24wc02 雙向串行數(shù)據(jù)/地址管腳用于器件所有數(shù)據(jù)的發(fā)送或接收,是一個開漏輸出管腳可與其它開漏輸出或集電極開路輸出進行線或(wire-or) 。wp 寫保護:如果 wp 管腳連接到 vcc 所有的內(nèi)容都被寫保護,只能讀。當 wp 管腳連接到 vss 或懸空
45、,允許器件進行正常的讀/寫操作。本次設(shè)計采用的 24c02 是為了防止掉電時里程數(shù)據(jù)的丟失,由于24c02 的數(shù)據(jù)線和地址線是復用的,采用串口的方式傳輸數(shù)據(jù),所以只用兩根線 scl 和 sda 與單片機傳輸數(shù)據(jù)。在軟件編程時采用程2e prom序包來控制 24c02 發(fā)送或接受數(shù)據(jù)。3.4.2 觸發(fā)器的選擇74ls74 是 d 觸發(fā)器的一種,它是一個具有記憶功能的二進制信息存儲器件,是構(gòu)成多種時序電路的最基本邏輯單元。觸發(fā)器具有兩個穩(wěn)定狀態(tài),即“0”和“1” ,在一定的外界信號作用下,可以從一個穩(wěn)定狀態(tài)翻轉(zhuǎn)到另一個穩(wěn)定狀態(tài)。由于其狀態(tài)的更新發(fā)生在 cp 脈沖的邊沿故又稱之為上升沿觸發(fā)的邊沿觸發(fā)
46、器,d 觸發(fā)器的狀態(tài)只取決于時針到來前d 端的狀態(tài)。引腳圖如圖 3-7 所示。23圖 3-7 74ls74 引腳圖在本題目中 74ls74 芯片起分頻的作用。當車輪每轉(zhuǎn)一圈,霍爾傳感器輸出一個低電平脈沖,通過 74ls74 進行二分頻后,定時器 t1 的開啟時間為車輪轉(zhuǎn) 1 圈的時間,這樣就可以算出自行車的速度。分頻前后對比圖如圖 3-8 所示。 tt00vv霍爾輸出圈脈沖二分頻后的波形圖 3-8 分頻前后對比圖由圖可見,二分頻后的波形的高或地電平的時間正好是霍爾傳感器開關(guān)的一個周期,霍爾傳感器輸出脈沖到,即 p3.2 口接收到對圈0int數(shù)計數(shù)的脈沖。經(jīng) 74ls74 二分頻后的信號輸入到,
47、內(nèi)部定時計數(shù)1int器測得每轉(zhuǎn)一圈所用的時間,通過計算即可得里程值和即時速度。243.4.3 74ls244 芯片的介紹本次設(shè)計中的采用驅(qū)動數(shù)碼管的芯片為 74ls244,74ls244 為三態(tài)輸出的八位緩沖器和線驅(qū)動器,若單片機輸出口直接接顯示部分電路,則電流太小,會導致顯示部分不能正常工作。所以在單片機輸出口先接入驅(qū)動芯片 74ls244,增大電流,使 led 能夠正常工作。其邏輯圖如圖 3-9 所示,可以看出 74ls244 由 2 組組成、每組由四路輸入、輸出構(gòu)成。每組有一個控制端高或低電平?jīng)Q定該組數(shù)據(jù)被接通還是斷開。圖 3-9 74ls244 邏輯圖3.5 單片機外圍電路的設(shè)計3.5
48、.1 時鐘電路的設(shè)計時鐘是單片機的心臟,單片機各功能部件的運行都是以時鐘頻率為基準,有條不紊地一拍一拍地工作。因此,時鐘頻率直接影響單片機的速度,時鐘電路的質(zhì)量也直接影響單片機系統(tǒng)的穩(wěn)定性。at89c52 片內(nèi)由一個反相放大器構(gòu)成振蕩器,25可以由它產(chǎn)生時鐘。常用的時鐘電路有兩種方式,一種是內(nèi)部時鐘方式,另一種為外部時鐘方式。本設(shè)計采用前者。單片機內(nèi)部有一個用于構(gòu)成振蕩器的高增益反相放大器,該高增益反相放大器的輸入為芯片引腳 xtal1,輸出端為引腳 xtal2。這兩個引腳跨接石英晶體振蕩器和電容,就構(gòu)成一個穩(wěn)定的自激振蕩器。單片機內(nèi)部時鐘方式的振蕩電路如圖 3-10 所示。圖 3-10 單片
49、機片內(nèi)振蕩電路電路中的電容 c1 和 c2 常選擇為 30p 左右。對外接電容的值雖然沒有嚴格的要求,但電容的大小會影響振蕩器的高低、振蕩器的穩(wěn)定性、起振的快速性和溫度的穩(wěn)定性。而外接晶體的振蕩頻率的大小,主要取決于單片機的工作頻率范圍,每一種單片機都有自己的最大工作頻率,外接的晶體振蕩頻率不大于單片機的最大工作頻率即可。此外,如果單片機有串行通信,則應該選擇振蕩頻率除以串行通信頻率可以除盡的晶體。本設(shè)計晶振采用 12mhz,則計數(shù)周期為26s61112 10112thz()3.5.2 復位電路的設(shè)計at89c52 單片機的復位輸入引腳 ret 為 at89c52 提供了初始化的手段。有了它可
50、以使程序從指定處開始執(zhí)行,即從程序存儲器中的 0000h 地址單元開始執(zhí)行程序。在 89c52 的時鐘電路工作后,只要在 ret 引腳上出現(xiàn)兩個機器周期以上的高電平時,單片機內(nèi)部則初始復位。只要 ret 保持高電平,則 89c52 循環(huán)復位。只有當 ret 由高電平變成低電平以后,89c52 才從 0000h 地址開始執(zhí)行程序。本系統(tǒng)的復位電路是采用按鍵復位的電路,如圖 3-11 所示,是常用復位電路之一。單片機復位通過按動按鈕產(chǎn)生高電平復位稱手動復位。上電時,剛接通電源,電容 c 相當于瞬間短路,+5v 立即加到 ret/vpd端,該高電平使 89c52 全機自動復位,這就是上電復位;若運行
51、過程中需要程序從頭執(zhí)行,只需按動按鈕即可。按下按鈕,則直接把+5v 加到了 ret/vpd 端從而復位稱為手動復位。復位后,p0 到 p3 并行 i/o 口全為高電平,其它寄存器全部清零,只有 sbuf 寄存器狀態(tài)不確定。圖 3-11 按鍵復位電路工作原理:通電瞬間,rc 電路充電,rst 引腳出現(xiàn)高電平,只要 rst27端保持 10ms 以上高電平,就能使單片機有效地復位。3.5.3 顯示電路的設(shè)計本設(shè)計中采用 led 數(shù)碼管顯示。在單片機系統(tǒng)中,通常用 led 數(shù)碼顯示器來顯示各種數(shù)字或符號。由于它具有顯示清晰、亮度高、使用電壓低、壽命長的特點,因此使用非常廣泛。八段 led 顯示器由 8
52、 個發(fā)光二極管組成。其中 7 個發(fā)光二極管構(gòu)成字型“8”的各個筆畫段,另一個小數(shù)點為 dp 發(fā)光二極管。led 顯示器有兩種不同的形式:一種是發(fā)光二極管的陽極都連在一起的,稱之為共陽極 led 顯示器;另一種是發(fā)光二極管的陰極都連在一起的,稱之為共陰極 led 顯示器。如圖 3.12所示。本次設(shè)計采用共陰極接法。led 顯示方式有動態(tài)顯示和靜態(tài)顯示兩種方式。本系統(tǒng)采用動態(tài)掃描顯示接口電路,動態(tài)顯示接口電路是把所有顯示器的 8 個筆劃段 a-h同名端連在一起,而每一個顯示器的公共極 com 各自獨立地受 i/o 線控制。cpu 向字段輸出口送出字型碼時,所有顯示器接收到相同的字型碼,但究竟是哪個
53、顯示器亮,則取決于 com 端。也就是說我們可以采用分時的方法,輪流控制各個顯示器的 com 端,使各個顯示器輪流點亮。在輪流點亮掃描過程中,每位顯示器的點亮時間是極為短暫的(約 1ms) ,由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應,盡管實際上各位顯示器并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會有閃爍感。28圖 3-12 八段 led 顯示器本設(shè)計 p2.0、p2.1、p2.2、p2.3 信號一起組成位選通的位選信號,p0.0p0.7 信號一起組成段碼選通的段選信號,通過軟件編程,先把所要顯示的數(shù)據(jù)放入存儲單元,然后把數(shù)據(jù)送入段選通對應的地址,再選通某一個
54、led,逐步完成四個 led 的顯示。3.5.4 報警電路的設(shè)計本次報警電路采用蜂鳴器報警,當即時速度超過預定值是蜂鳴器響,指示燈閃爍,提示應該減速。報警電路圖如圖 3-13 所示。圖 3-13 報警電路圖293.6 本章小結(jié) 本章介紹了自行車速度里程表硬件設(shè)計電路。硬件部分包括信號的捕捉,信號的放大,信號的整形等。以 at89c52 作為核心計算處理數(shù)據(jù)。傳感器選擇霍爾傳感器,因其具有結(jié)構(gòu)牢固,體積小,重量輕等諸多優(yōu)點。通過他將許多非電、非磁的物理量例如力、力矩、位置、位移、速度、加速度、角度、角速度、轉(zhuǎn)數(shù)、轉(zhuǎn)速以及工作狀態(tài)發(fā)生變化的時間等,轉(zhuǎn)變成電量來進行檢測和控制。at24c02 是一個
55、 2k 位的串行cmose2prom。采用它是為了防止掉電丟失數(shù)據(jù),起到保護數(shù)據(jù)資源的作用。驅(qū)動數(shù)碼管采用了 74ls244 這款芯片,他是一個三態(tài)輸出的八位緩沖器和線驅(qū)動器,接入它可以增大電流,使 led 能夠正常穩(wěn)定工作。時鐘電路運用內(nèi)部時鐘方式,at89c52 內(nèi)部有一個構(gòu)成振蕩器的高增益反向放大器,輸入引腳是 xtal1,輸出引腳是 xtal2。復位電路是按鍵觸發(fā)方式,是最常見的方式之一。顯示電路采用 led 數(shù)碼管顯示,由于它有顯示清晰,亮度高,節(jié)能,壽命長等優(yōu)點。其接入方式有共陰極和共陽極兩種。本設(shè)計采用共陰極。引入一個報警電路,使設(shè)計更加人性化,合理化。30第四章 軟件程序設(shè)計4
56、.1 總體論述在硬件設(shè)計完畢之后,接下來就是設(shè)計中最核心和最為主要的軟件部分設(shè)計。所謂軟件設(shè)計就是把軟件需求變換成軟件的具體設(shè)計方案(即模塊結(jié)構(gòu))的過程。模塊化結(jié)構(gòu)設(shè)計即是根據(jù)要求和硬件設(shè)計的結(jié)構(gòu),將整個系統(tǒng)的功能分成許多小的功能模塊,再根據(jù)這些小的功能模塊進行程序編寫的過程。這樣的設(shè)計方法,使得系統(tǒng)的整個功能和各部分的功能趨于明朗化。當系統(tǒng)出現(xiàn)問題,就可以根據(jù)功能設(shè)置找出問題的根源,從而更快地解決問題。所以說,在整個設(shè)計過程中,軟件設(shè)計必須與硬件設(shè)計緊密地結(jié)合在一起。 基于霍爾傳感器自行車的速度里程表的軟件設(shè)計包括上電初始化程序、中斷子程序、速度調(diào)用子程序、里程調(diào)用子程序、led 顯示子程序
57、、延時子程序等幾大部分。由于要實現(xiàn)很多功能,所以采用模塊化設(shè)計,下面就其主要部分分別加以分析。4.2 總體程序設(shè)計在主程序模塊中,需要完成對各接口芯片的初始化、自行車里程和速度的初始化、中斷向量的設(shè)計以及開中斷、循環(huán)等待等工作。另外,在主程序模塊中還需要設(shè)置啟動/清除標志寄存器、里程寄存器、速度寄存器,并對它們進行初始化。然后主程序?qū)⒏鶕?jù)各標志寄存器的內(nèi)容,分別完成啟動、清除、計程和計速等不同的操作。31p1.0 和 p1.1 口分別用于顯示里程狀態(tài)和速度狀態(tài)。p1.2、p1.3、p1.6和 p1.7 口分別用于設(shè)置輪圈的大小,低電平有效。p3.0 是用于里程和速度切換的,低電平為顯示速度,高
58、電平為顯示里程。中斷 0 用于對輪子圈數(shù)的計數(shù)輸入,輪子每轉(zhuǎn)一圈,霍爾傳感器輸出一個低電平脈沖。將根據(jù)里程寄存器中的內(nèi)容計算和判斷出行駛里程數(shù)。中斷 1 用于控制定時器 t1 的啟/停,當輸入為 0 時關(guān)閉定時器。此控制信號是將輪子圈數(shù)的計數(shù)經(jīng)二分頻后形成。這樣,每次定時器 t1 的開啟時間剛好為轉(zhuǎn)一圈的時間,根據(jù)輪子的周長就可以計算出自行車的速度。其程序流程如圖 4-1 所示。32開始初始化p1.2=1?np1.3=1?p1.6=1?p1.7=1?出錯提示將車圈周長調(diào)入 21h開中斷,啟動定時器p3.0=1?調(diào)用里程處理子程序調(diào)用速度處理子程序nnnyyyyny圖 4-1 主程序流程圖334
59、.3 中斷子程序的設(shè)計定時中斷是為滿足定時或計數(shù)的需要而設(shè)置的。在單片機內(nèi)部有兩個定時/計數(shù)器,以對其中的計數(shù)結(jié)構(gòu)進行計數(shù)的方法,來實現(xiàn)定時或計數(shù)功能。當結(jié)構(gòu)發(fā)生計數(shù)溢出時,即表明定時時間或計數(shù)值已滿,這時就以計數(shù)溢出信號作為中斷請求,去置位一個溢出標志,作為單片機接受中斷請求的標志。這種中斷請求是在單片機芯片內(nèi)部發(fā)生的,因此無須在芯片上設(shè)置引入端。定時/計數(shù)器控制寄存器 tcon 是 8 位寄存器,地址為 88h,可以位尋址。其高 4 位用于定時/計數(shù)器中斷控制,低 4 位借給外部中斷,用做中斷標志和觸發(fā)方式選擇位。本設(shè)計采用定時中斷,對自行車的里程和關(guān)中斷開始現(xiàn)場保護開中斷中斷處理關(guān)中斷現(xiàn)
60、場恢復開中斷中斷返回34速度進行計數(shù)。中斷子程序流程圖如圖 4-2 所示。 圖 4-2 中斷子程序流程圖4.4 數(shù)據(jù)處理子程序的設(shè)計1.里程計算子程序外中斷 0 服務程序用于對單片機 p3.2 口輸入的圈脈沖進行計數(shù),為十六進制計數(shù)器。60h 為低位,62h 為高位。每次計數(shù)一次后,對里程數(shù)據(jù)進行一次存儲操作。當車輪每轉(zhuǎn)一圈,通過霍爾元件將脈沖數(shù)輸圖 4-3 里程處理子程序流程圖入單片機內(nèi),通過計數(shù)器計出脈沖數(shù),再用乘法子程序算出里程數(shù)。里程處理子程序流程圖如圖 4-3 所示。2.速度計算子程序外中斷 1 服務程序用于處理輪子轉(zhuǎn)動一圈后的計時數(shù)據(jù)。當標志位(00h)為 1 時,計數(shù)溢出,放入最
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 湘教版九年級數(shù)學下冊2.5直線與圓的位置關(guān)系2.5.3切線長定理聽評課記錄
- 小學數(shù)學五年級數(shù)學《植樹問題》聽評課記錄
- 生態(tài)物流服務合同(2篇)
- 教科版道德與法治九年級下冊第十四課《第一次選擇》聽課評課記錄
- 湘教版數(shù)學八年級上冊4.3《一元一次不等式的解法》聽評課記錄1
- 華師大版數(shù)學七年級上冊《角》聽評課記錄2
- 新版蘇教版小學數(shù)學(二年級上冊)聽評課記錄【含教學計劃】
- 蘇州蘇教版三年級下冊數(shù)學第七單元《37、認識幾分之一》聽評課記錄
- 蘇科版數(shù)學九年級下冊5.4《二次函數(shù)與一元二次方程》(第2課時)講聽評課記錄
- 北師大版歷史七年級下冊第22課《明清皇權(quán)膨脹與文化專制》聽課評課記錄
- 教體局校車安全管理培訓
- 導播理論知識培訓班課件
- 行車起重作業(yè)風險分析及管控措施
- 空氣能安裝合同
- 電廠檢修安全培訓課件
- 初二上冊的數(shù)學試卷
- 四大名繡課件-高一上學期中華傳統(tǒng)文化主題班會
- 大模型關(guān)鍵技術(shù)與應用
- 起重機械生產(chǎn)單位題庫質(zhì)量安全員
- 高中生物選擇性必修1試題
- 后顱窩腫瘤的護理
評論
0/150
提交評論