




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、摘 要隨著居民生活水平的不斷提高,人們對于生活質量的要求也日益增加,尤其是對健身的要求。自行車不再僅僅是普通的運輸、代步的工具,而是成為人們娛樂、休閑、鍛煉的首選。自行車的速度里程表能夠滿足人們最基本的需求,讓人們能清楚地知道當前的速度、里程等物理量。而對于自行車運動員來說,最為關心的莫過于一段時間內的訓練效果。因為教練要根據一段時間內運動員的訓練效果進行評估,從而進行適當的調整已使運動員達到最佳的狀態。因此愛好自行車運動的人十分學要一款能測速的裝置,以知道自己的運動情況。并根據外界條件,如溫度,風速等進行適當的調節,已達到最佳運動的效果。 關鍵詞:單片機、LED顯示、里程/速度、霍爾元件第一
2、章系統總方案分析與設計1.1 課題主要任務及內容本課題主要任務是利用霍爾元件、單片機等部件設計一個可用LED數碼管實時顯示里程和速度的自行車的速度里程表。本文主要介紹了自行車的速度里程表的設計思想、電路原理、方案論證以及元件的選擇等內容,整體上分為硬件部分設計和軟件部分設計。本文首先扼要對該課題的任務進行方案論證,包括硬件方案和軟件方案的設計;繼而具體介紹了自行車的速度里程表的硬件設計,包括傳感器的選擇、單片機的選擇、顯示電路的設計;然后闡述了該自行車的速度里程表的軟件設計,包括數據處理子程序的設計、顯示子程序的設計;最后對本次設計進行了系統的總結。具體的硬件電路包括AT89C52單片機、霍爾
3、元件以及LED顯示電路等。軟件設計包括:中斷子程序設計,里程計算子程序設計,顯示子程序設計。軟件采用匯編語言編寫,軟件設計的思想主要是自頂向下,模塊化設計,各個子模塊逐一設計。 1.2 任務分析與實現本設計的任務是:以通用AT89C52單片機為處理核心,用傳感器將車輪的轉數轉換為電脈沖,進行處理后送入單片機。里程及速度的測量,是經過AT89C52的定時/計數器測出總的脈沖數和每轉一圈的時間,再經過單片機的計算得出,其結果通過LED顯示器顯示出來。本系統總體思路如下:假定輪圈的周長為L,在輪圈上安裝m個永久磁鐵,則測得的里程值最大誤差為L/m。經綜合分析,本設計中取m=1。當輪子每轉一圈,通過開
4、關型霍爾元件傳感器采集到一個脈沖信號,并從引腳P3.2中斷0端輸入,傳感器每獲取一個脈沖信號即對系統提供一次計數中斷。每次中斷代表車輪轉動一圈,中斷數n和周長L的乘積為里程值。計數器T1計算每轉一圈所用的時間t,就可以計算出即時速度v。當里程鍵按下時,里程指示燈亮,LED切換顯示當前里程;當速度鍵按下時,速度指示燈亮,LED切換顯示當前速度。要求達到的各項指標及實現方法如下:1. 利用霍爾傳感器產生里程數的脈沖信號。2. 對脈沖信號進行計數。實現:利用單片機自帶的計數器T1對霍爾傳感器脈沖信號進行計數。3. 對數據進行處理,要求用LED顯示里程總數和即時速度。實現:利用軟件編程,對數據進行處理
5、得到需要的數值。最終實現目標:自行車的速度里程表具有里程、速度測試與顯示功能,采用單片機作控制,顯示電路可顯示里程及速度。第二章系統主要單元模塊和速度算法概述2.1 傳感器選型方案一、光電傳感器。光電傳感器是應用非常廣泛的一種器件,各種各樣的形式,如透射式、反射式等,基本原理就是當發射管光照射到接收管時,接收管導通,反之關斷。以透射式為例,如圖2-1所示,當不透光的物體擋住發射與接收之間的間隙時,開關管關斷,否則打開。為此可以制作一個遮光葉片如圖2-2所示,安裝在轉軸上,當扇葉經過時,產生脈沖信號。當葉片數較多時,旋轉一周可以獲得多個脈沖信號。圖2-1 光電傳感器的原理圖圖2-2 遮光葉片將光
6、敏電阻安裝在自行車前又的一側,在同等高度的另一側安上一個高亮度的發光二極管。在同等高度的輻條上貼上一圈黑色材料,并在黑色材料上打上等間距的小孔,這樣當小孔經過光敏電阻時,光敏電阻根據光電流的變化發出脈沖, 從而測量里程。方案二、光電編碼器 光電編碼器的工作原理與光電傳感器一樣,不過它已將光電傳感器、電子電路、碼盤等做成一個整體,只要用連軸器將光電傳感器的軸與轉軸相連,就能獲得多種輸出信號。它廣泛應用于數控機床、回轉臺、伺服傳動、機器人、雷達、軍事目標測定等需要檢測角度的裝置和設備中。將旋轉編碼器安裝在車軸上,這樣每當車輪轉過一定的距離編碼器就會發出一個脈沖。利用脈沖數對里程進行測量。
7、方案三、霍爾傳感器霍爾傳感器是對磁敏感的傳感元件,常用于開關信號采集的有CS3020、CS3040、A04E等,這種傳感器是一個3端器件,外形與三極管相似,只要接上電源、地,即可工作,輸出通常是集電極開路(OC)門輸出,工作電壓范圍寬,使用非常方便。圖2-3 霍爾元件和磁鋼實際圖使用霍爾傳感器獲得脈沖信號,其機械結構也可以做得較為簡單,只要在轉軸的圓周上粘上一粒磁鋼,讓霍爾開關靠近磁鋼,就有信號輸出,轉軸旋轉時,就會不斷地產生脈沖信號輸出。如果在圓周上粘上多粒磁鋼,可以實現旋轉一周,獲得多個脈沖輸出, 單片機根據脈沖數來計算里程。霍爾元件和磁鋼如圖2-3所示。在粘磁鋼時要注意,霍爾傳感器對磁場
8、方向敏感,粘之前可以先手動接近一下傳感器,如果沒有信號輸出,可以換一個方向再試。這種傳感器不怕灰塵、油污,在工業現場應用廣泛。光敏電阻對光特別敏感,當白天行駛時,外界光敏電阻對光特別敏感,當白天行駛時,外界光源導致光敏電阻發出錯誤信號;光敏電阻對環境的要求相當高,如果光敏電阻或發光二極管被泥沙或灰塵所覆蓋,光敏電阻就不能再進行測量;在霧天和雨天光敏電阻的測量的效果也不好。而編碼器必須安裝在車軸上,這樣安裝就會給用戶帶來很多不便。霍爾元件不受天氣的影響,即便被泥沙或灰塵覆蓋對測量也不會有任何影響。由霍爾元件加整形電路構成的霍爾開關系統,具有輸出響應快,數字脈沖性能好,安裝方便,性能可靠,不受光線
9、、泥水等因素影響,價格便宜的優點。所以本設計采用方案三霍爾傳感器。2.2 單片機選型本設計用89C52單片機設計自行車里程/速度計。AT89C52是51系列單片機的一個型號,它是ATMEL公司生產的。 一個低電壓,高性能CMOS 8位單片機,片內含8k bytes的可反復擦寫的Flash只讀程序存儲器和256 bytes的隨機存取數據存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術生產,兼容標準MCS-51指令系統,片內置通用8位中央處理器和Flash存儲單元,功能強大的AT89C52單片機可為您提供許多較復雜系統控制應用場合。 AT89C52有40個引腳,32個外部雙向輸入
10、/輸出(I/O)端口,同時內含2個外中斷口,3個16位可編程定時計數器,2個全雙工串行通信口,2個讀寫口線,AT89C52可以按照常規方法進行編程,但不可以在線編程(S系列的才支持在線編程)。其將通用的微處理器和Flash存儲器結合在一起,特別是可反復擦寫的Flash存儲器可有效地降低開發成本2.3 顯示模塊選型單片機系統中常用的顯示器有:發光二極管LED顯示器、液晶LCD顯示器等。在這里由于單片機測速系統比較簡單,所以只考慮LED顯示器和LCD顯示器。LED顯示器工作方式有兩種靜態顯示方式和動態顯示方式。方案一 LED靜態顯示器:靜態顯示的特點是每個數碼管的段選必須接一個8位數據線來保持顯示
11、字形碼。當送入一次字形碼后,顯示字形可一直保持,直到送入新字形碼為止。這種方法的優點是占用CPU時間少,顯示便于監測和控制。缺點是硬件電路比較復雜,成本較高。LED動態顯示器:動態顯示的特點是將所有位數碼管的段選線并聯在一起,由位選線控制是哪一位數碼管有效。這樣一來,就沒有必要每一位數碼管配一個鎖存器,從而大大地簡化了硬件電路。選亮數碼管采用動態掃描顯示。所謂動態掃描顯示即輪流向各位數碼管送出字形碼和相應的位選,利用發光管的余輝和人眼視覺暫留作用,使人的感覺好像各位數碼管同時都在顯示,給人的印象就是一組穩定的顯示數據,不會有閃爍感。動態顯示的亮度比靜態顯示要差一些,所以在選擇限流電阻時應略小于
12、靜態顯示電路中的。 方案二 用液晶顯示器LCD顯示信息。LCD顯示器工作原理就是利用液晶的物理特性;通電時排列變得有序,使光線容易通過;不通電時排列混亂,阻止光線通過,說簡單點就是讓液晶如閘門般地阻隔或讓光線穿透。 LCD的好處有:與CRT顯示器相比,LCD的優點主要包括零輻射、低功耗、散熱小、體積小、圖像還原精確、字符顯示銳利等。LED背光源技術能夠大幅度提升電視畫面的對比度和色彩表現力,同時具有節能環保等諸多優點,勢必成為未來電子顯示技術的發展趨勢。LED技術具有非常明顯的三大優勢。第一,它顯示的色彩更加豐富,色彩數量可超過目前傳統CCFL冷陰極熒光管背光燈的1倍以上;第二,LED背光源亮
13、度可以隨著畫面亮度進行主動調節,可節能30%以上;第三,LED背光源不含鉛和汞等有毒有害物質,是真正的綠色環保光源。本課題選用LED動態顯示器。2.4 算法概述假定輪圈的周長為L,在輪圈上安裝m個永久磁鐵,則測得的里程值最大誤差為L/m。經綜合分析,本設計中取m=1。當輪子每轉一圈,通過開關型霍爾元件傳感器采集到一個脈沖信號,并從引腳P3.2中斷0端輸入,傳感器每獲取一個脈沖信號即對系統提供一次計數中斷。每次中斷代表車輪轉動一圈,中斷數n和周長L的乘積為里程值。計數器T1計算每轉一圈所用的時間t,就可以計算出即時速度v。第三章系統硬件設計3.1 單片機主控電路3.1.1 單片機概述單片機就是在
14、一塊半導體硅片上集成了微處理器(CPU),存儲器(RAM,ROM,EPROM)和各種輸入、輸出接口(定時器 /計數器,并行I/O口,串行口,A/D轉換器以及脈寬調制器PWM等),這樣一塊集成電路芯片具有一臺計算機的屬性,因而被稱為單片微型計算機,簡稱單片機。單片機是本次設計的核心部件,它是信號從采集到輸出的橋梁,而且包括計算、定時、信息處理等功能。目前,單片機被廣泛的應用于測控系統、工業自動化、智能儀表、集成智能傳感器、機電一體化產品、家用電器領域、辦公自動化領域、汽車電子與航空航天器電子系統以及單片機的多機系統等領域。在設計中選用的是AT89C52單片機。單片機由于將CPU、內存和一些必要的
15、接口集成到一個芯片上,并且面向控制功能將結構作了一定的優化,所以它有一般芯片不具有的特點:1. 體積小、重量輕;2. 電源單一、功耗低;3. 功能強、價格低;4. 全部集成在一塊芯片上,布線短、合理;本設計用89C52單片機設計自行車里程/速度計。AT89C52是51系列單片機的一個型號,它是ATMEL公司生產的。 一個低電壓,高性能CMOS 8位單片機,片內含8k bytes的可反復擦寫的Flash只讀程序存儲器和256 bytes的隨機存取數據存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術生產,兼容標準MCS-51指令系統,片內置通用8位中央處理器和Flash存儲單元,
16、功能強大的AT89C52單片機可為您提供許多較復雜系統控制應用場合。 (背景色)AT89C52有40個引腳,32個外部雙向輸入/輸出(I/O)端口,同時內含2個外中斷口,3個16位可編程定時計數器,2個全雙工串行通信口,2個讀寫口線,AT89C52可以按照常規方法進行編程,但不可以在線編程(S系列的才支持在線編程)。其將通用的微處理器和Flash存儲器結合在一起,特別是可反復擦寫的Flash存儲器可有效地降低開發成本。 AT89C52有PDIP、PQFP/TQFP及PLCC等三種封裝形式,以適應不同產品的需求。 本設計選用AT89C52單片機,AT89C52是一種低功耗、高性能CMOS 8位微
17、控制器。使用Atmel 公司高密度非易失性存儲器技術制造,可與工業AT89C51 產品指令和引腳完全兼容。 AT89C52是一個低電壓,高性能CMOS 8位單片機,片內含8k bytes的可反復擦寫的Flash只讀程序存儲器和256 bytes的隨機存取數據存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術生產,兼容標準MCS-51指令系統,片內置通用8位中央處理器和Flash存儲單元,AT89C52單片機在電子行業中有著廣泛的應用。主要功能特性1、兼容MCS51指令系統 2、8k可反復擦寫(大于1000次)Flash ROM; 3、32個雙向I/O口; 4
18、、256x8bit內部RAM; 5、3個16位可編程定時/計數器; 6、時鐘頻率0-24MHz; 7、2個串行中斷,可編程UART串行通道; 8、2個外部中斷源,共5個中斷源; 9、2個讀寫中斷口線,3級加密位; 10、低功耗空閑和掉電模式,軟件設置睡眠和喚醒功能; 11、有PDIP、PQFP、TQFP及PLCC等幾種封裝形式,以適應不同產品的需求。單片機內部結構示意圖如圖3-1所示。定時/計數器中斷系統CPU存儲器并行I/O口串口I/O口TXDTXDRXDTINTP0-P3 圖3-13.1.2 單片機的引腳功能介紹AT89C52是美國ATMEL公司生產的低電壓,高性能CMOS 8位單片機,片
19、內含8K Bytes的可反復擦寫的只讀程序存儲器(EPROM)和256 字節的隨機存取數據存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術生產,與標準MCS-51指令系統及8052產品引腳兼容,片內置通用8位中央處理器(CPU)和Flash存儲單元,功能強大,AT89C52單片機適合于許多較為復雜控制場合應用。圖3-2 AT89C52引腳圖AT89C52提供以下標準功能:8K字節Flash閃速存儲器,256字節內部RAM,32個I/O口線,3個16位定時/計數器,5個中斷源,一個全雙工串行通信口,片內具有振蕩器及時鐘電路。AT89C52管腳圖如圖2.3所示。AT89C2051
20、芯片的20個引腳功能為: 1. Vcc:電源電壓。 2. P1口:P1口是一8位雙向I/O口。P1.0和P1.1要求外部上拉電阻。P1.0和P1.1還分別作為片內精密模擬比較器的同相輸入(AIN0)和反相輸入(AIN1)。P1口輸出緩沖器可吸收20mA電流并能直接驅動LED顯示。當P1口引腳寫入“1”時,其可用作輸入端。當引腳P1.2P1.7用作輸入并被外部拉低時,它們將因內部的上拉電阻而流出電流(IIL)。 P1口還在閃速編程和程序校驗期間接收代碼數據。 3. P3口:P3口的P3.0P3.5、P3.7是帶有內部上拉電阻的七個雙向I/0引腳。P3.6用于固定輸入片內比較器的輸出信號并且它作為
21、一通用I/O引腳而不可訪問。P3口緩沖器可吸收20mA電流。用作輸入時,被外部拉低P3口引腳將用上拉電阻而流出電流(IIL)。 P3口還用于實現AT89C2051的各種功能,如下表3-3所示。P3口還接收一些用于閃速存儲器編程和程序校驗的控制信號。 4. RST:復位輸入。RST一旦變成高電平,所有的I/O引腳就復位到“1”。當振蕩器正在運行時,持續給出RST引腳兩個機器周期的高電平便可完成復位。每一個機器周期需12個振蕩器或時鐘周期。 5. XTAL1:作為振蕩器反相放大器的輸入和內部時鐘發生器的輸入。 6. XTAL2:作為振蕩器反相放大器的輸出。 表3-3 P3口的
22、功能P3口引腳功能P3.0P3.1P3.2P3.3P3.4P3.5RXD(串行輸入端口)TXD(串行輸出端口)INT0(外中斷0)INT1(外中斷1)TO(定時器0外部輸入)T1(定時器1外部輸入)3.1.3 單片機中斷系統介紹中斷是指當計算機執行正常程序時,系統中出現某些急需處理的事件,CPU暫時中止當前的程序,轉去執行服務程序,以對發生的更緊迫的事件進行處理,待處理結束后,CPU自動返回原來的程序執行AT89C52系列單片機的系統有5個中斷源,2個優先級,可實現二級中斷服務嵌套。由片內特殊功能寄存器中的中斷允許寄存器IE控制CPU是否響應中斷請求;由中斷優先級寄存器IP安排各優中斷源的優先
23、級;同一優先級內各終端同時提出中斷請求時,由內部的查詢邏輯確定其響應次序。采用的外部中斷方式包括外部中斷0和外部中斷1,它們的中斷請求信號分別由單片機引腳/P3.2和/P3.3輸入。外部中斷請求有兩種信號方式:電平觸發方式和脈沖觸發方式。電平觸發方式的中斷請求是低電平有效。只要在和引腳上出現有效低電平時,就激活外部中斷方式。脈沖觸發方式的中斷請求則是脈沖的負跳變有效。在這種方式下,在兩個相鄰機器周期內,和 引腳電平發生變化,即在第一個機器周期內為高電平,第二個機器周期內為低電平,就激活外部中斷。由此可見,在脈沖方式下,中斷請求信號的高電平和低電平狀態都應至少維持一個機器周期,以使CPU采樣到電
24、平狀態的變化,本次設計所采用的觸發方式為脈沖觸發方式。3.1.4 單片機定時器/計數器功能介紹AT89C52單片機定時器/計數器的工作由兩個特殊功能寄存器控制。TMOD用于設置其工作方式;TCON用于控制其啟動和中斷請求。1.工作方式寄存器TMOD工作方式寄存器TMOD用于設置定時/計數器的工作方式。GATE:門控制。GATE=0時,只要用軟件使TCON中的TR0或TR1為1,就可以啟動定時/計數器工作;GATE=1時,要用軟件TR0或TR1為1,同時外部中斷引腳或也為高電平時,才能啟動定時/計數器工作。C/:定時/計數模式選擇位。C/=0為定時模式;C/=1時為計數模式。M1M2:工作方式設
25、置位。定時/計數器有4種工作方式,由M1M2進行設置。本次設計TMOD為90H,即選通定時/計數器為1、定時功能、工作方式1.工作方式為16位定時/計數器。2.控制寄存器TCONTF1(TCON.7)定時/計數器T1溢出中斷請求標志位。定時/計數器T1計數溢出時由硬件自動置TF1為1。CPU響應中斷后TF1由硬件自動清零。T1工作時,CPU可隨時查詢TF的狀態。所以,TF1可用作查詢測試的標志。TF1也可以用軟件置1或清零,同硬件置1或清零的效果一樣。TR1(TCON.6)定時/計數器T1運行控制位。TR1置1時,定時/計數器T1開始工作;TR1置0時,定時/計數器T1停止工作。TR1由軟件置
26、1或清0。TF0(TCON.5)定時/計數器T0溢出中斷請求標志位。TR0(TCON.4)定時/計數器T0運行控制位。3.2 霍爾傳感器的測溫原理在信號脈沖發生源上,本系統采用的是開關型霍爾傳感器。以磁場作為媒介,利用霍爾傳感器可以檢測多種物理量,如位移、振動、轉速、加速度、流量、電流、電功率等。它不僅可以實現非接觸測量,并且采用永久磁鐵產生磁場,不需附加能源。另外霍爾傳感器尺寸小、價格便宜、應用電路簡單、性能可靠,因而獲得極為廣泛的應用。除了直接利用霍爾傳感器外,還利用它開發出各種派生的傳感器。金屬或半導體薄片的兩個端面通以控制電流Ic,并在薄片的垂直方向上施加磁感應強度為B的磁場,則在垂直
27、于電流和磁場的方向上將產生電勢Uh,稱為霍爾電勢或霍爾電壓(如圖l所示)。霍爾電勢Uh=KhIcB(其中Kh為霍爾元件靈敏度,它與所用的材料及幾何尺寸有關)。這種現象稱為霍爾效應,而用這種效應制成的元件稱為霍爾元件。由于霍爾元件輸出的電壓信號較小,并且有一定溫度誤差,目前已較少直接使用霍爾元件作傳感器。霍爾傳感器原理圖如圖3-4所示。圖3-4 霍爾傳感器磁場效應本系統采用開關型霍爾傳感器A04E。開關型霍爾傳感器是一種集成傳感器,它內部含有霍爾元件、放大器、穩壓電源、帶一定滯后特性的比較器及集電極開路輸出部分等,如圖3-5所示。 圖3-5 開關型霍爾傳感器內部結構圖開關型霍爾傳感器的工作特性如
28、圖3-6 所示。圖3-6 開關型霍爾傳感器工作特性當外加的磁感應強度超過動作點Bop時,傳感器輸出低電平,但磁感應強度降到動作點Bop以下時,傳感器輸出電平不變,一直要降到釋放點BRE時,傳感器才由低電平躍變為高電平。Bop與Bre之間的滯后(或稱為回差)使開關動作更為可靠。 圖3-7 霍爾傳感器檢測轉速示意圖霍爾傳感器檢測轉速示意圖3-7如下。在非磁材料的圓盤邊上粘貼一塊磁鋼,霍爾傳感器固定在圓盤外緣附近。圓盤每轉動一圈霍爾傳感器便輸出一個脈沖。通過單片機測量產生脈沖的頻率,就可以得出圓盤的轉速。同樣道理,根據圓盤(車輪)的轉速,再結合圓盤的周長就是計算出物體的位移。如果要增加測量位移精度,
29、可以在圓盤(車輪)上多增加幾個磁鋼。由于傳感器內部為集電極開路輸出,所以需外接一個上拉電阻,其阻值與電源電壓大小有關,一般取12k,如圖3-8所示。圖3-8 傳感器輸出電路3.3 存儲器電路AT24C02是美國ATMEL公司的低功耗CMOS串行EEPROM,它是內含256×8位存儲空間,具有工作電壓寬(2.55.5V)、擦寫次數多(大于10000次)、寫入速度快(小于10ms)等特點。AT24C02的1、2、3腳是三條地址線,用于確定芯片的硬件地址。在AT89C2051試驗開發板上它們都接地,第8腳和第4腳分別為正、負電源。第5腳SDA為串行數據輸入/輸出,數據通過這條雙向I2C總線
30、串行傳送,在AT89C2051試驗開發板上和單片機的P3.5連接。第6腳SCL為串行時鐘輸入線,在AT89C2051試驗開發板上和單片機的P3.6連接。SDA和SCL都需要和正電源間各接一個5.1K的電阻上拉。第7腳需要接地。AT24C02中帶有片內地址寄存器。每寫入或讀出一個數據字節后,該地址寄存器自動加1,以實現對下一個存儲單元的讀寫。所有字節均以單一操作方式讀取。為降低總的寫入時間,一次操作可寫入多達8個字節的數據。AT24C02是CMOS2048位串行E2PROM,在內部的組織成256×8位。AT24C02的特點是具有允許在簡單的二線總線上工作的串行接口和軟件協議。在本設計中
31、用芯片AT24C02的SDA端與單片機的P3.7口相連,SCL端與單片機的P3.5口相連。因為在這個I2C總線上只有一個器件,所以把AT24C02的地址設為000,即把A0、A2、A3都接地。單片機計算出來的里程數據通過SDA、SCL向AT24C02輸送數據。單片機首先向AT24C02發送寫信號,當確認后從單片機內部的數據儲存單元提取數據然后向AT24C02的內部地址傳送數據。當顯示里程時,單片機首先向AT24C02發送讀信號,然后確認后,單片機從AT24C02內部的地址向單片機的讀出單元字節讀出數據,供顯示所用。與單片機的接口如圖3-9所示。圖3-9 AT24CO2與單片機的接口電路
32、0;3.4 74LS74芯片本次設計中的采用驅動數碼管的芯片為74LS244,74LS244為三態輸出的八位緩沖器和線驅動器,若單片機輸出口直接接顯示部分電路,則電流太小,會導致顯示部分不能正常工作。所以在單片機輸出口先接入驅動芯片74LS244,增大電流,使LED能夠正常工作。其邏輯圖如圖3-10所示,可以看出74LS244由2組組成、每組由四路輸入、輸出構成。每組有一個控制端高或低電平決定該組數據被接通還是斷開。圖3-10 74LS244邏輯圖74LS74是D觸發器的一種,它是一個具有記憶功能的二進制信息存儲器件,是構成多種時序電路的最基本邏輯單元。觸發器具有兩個穩定狀態,即“0”和“1”
33、,在一定的外界信號作用下,可以從一個穩定狀態翻轉到另一個穩定狀態。由于其狀態的更新發生在CP脈沖的邊沿故又稱之為上升沿觸發的邊沿觸發器,D觸發器的狀態只取決于時針到來前D端的狀態。引腳圖如圖3-11所示。 圖3-11 74LS74引腳圖在本題目中74LS74芯片起分頻的作用。當車輪每轉一圈,霍爾傳感器輸出一個低電平脈沖,通過74LS74進行二分頻后,定時器T1的開啟時間為車輪轉1圈的時間,這樣就可以算出自行車的速度。分頻前后對比圖如圖3-12所示。tt00vv霍爾輸出圈脈沖二分頻后的波形圖3-12 分頻前后對比圖由圖可見,二分頻后的波形的高或地電平的時間正好是霍爾傳感器開關的一個周期,霍爾傳感
34、器輸出脈沖到,即P3.2口接收到對圈數計數的脈沖。經74LS74二分頻后的信號輸入到,內部定時計數器測得每轉一圈所用的時間,通過計算即可得里程值和即時速度。3.5 時鐘電路的設計時鐘是單片機的心臟,單片機各功能部件的運行都是以時鐘頻率為基準,有條不紊地一拍一拍地工作。因此,時鐘頻率直接影響單片機的速度,時鐘電路的質量也直接影響單片機系統的穩定性。AT89C52片內由一個反相放大器構成振蕩器,可以由它產生時鐘。常用的時鐘電路有兩種方式,一種是內部時鐘方式,另一種為外部時鐘方式。本設計采用前者。單片機內部有一個用于構成振蕩器的高增益反相放大器,該高增益反相放大器的輸入為芯片引腳XTAL1,輸出端為
35、引腳XTAL2。這兩個引腳跨接石英晶體振蕩器和電容,就構成一個穩定的自激振蕩器。單片機內部時鐘方式的振蕩電路如圖3-13所示。圖3-13單片機片內振蕩電路電路中的電容C1和C2常選擇為30PF左右。對外接電容的值雖然沒有嚴格的要求,但電容的大小會影響振蕩器的高低、振蕩器的穩定性、起振的快速性和溫度的穩定性。而外接晶體的振蕩頻率的大小,主要取決于單片機的工作頻率范圍,每一種單片機都有自己的最大工作頻率,外接的晶體振蕩頻率不大于單片機的最大工作頻率即可。此外,如果單片機有串行通信,則應該選擇振蕩頻率除以串行通信頻率可以除盡的晶體。本設計晶振采用12MHz,故計數周期為1us。3.6 復位電路的設計
36、AT89C52單片機的復位輸入引腳RET為AT89C52提供了初始化的手段。有了它可以使程序從指定處開始執行,即從程序存儲器中的0000H地址單元開始執行程序。在89C52的時鐘電路工作后,只要在RET引腳上出現兩個機器周期以上的高電平時,單片機內部則初始復位。只要RET保持高電平,則89C52循環復位。只有當RET由高電平變成低電平以后,89C52才從0000H地址開始執行程序。本系統的復位電路是采用按鍵復位的電路,如圖3-14所示,是常用復位電路之一。單片機復位通過按動按鈕產生高電平復位稱手動復位。上電時,剛接通電源,電容C相當于瞬間短路,+5V立即加到RET/VPD端,該高電平使89C5
37、2全機自動復位,這就是上電復位;若運行過程中需要程序從頭執行,只需按動按鈕即可。按下按鈕,則直接把+5V加到了RET/VPD端從而復位稱為手動復位。復位后,P0到P3并行I/O口全為高電平,其它寄存器全部清零,只有SBUF寄存器狀態不確定。圖3-14 按鍵復位電路工作原理:通電瞬間,RC電路充電,RST引腳出現高電平,只要RST端保持24ms以上高電平,就能使單片機有效地復位。3.7 顯示電路的設計本設計中采用LED數碼管顯示。在單片機系統中,通常用LED數碼顯示器來顯示各種數字或符號。由于它具有顯示清晰、亮度高、使用電壓低、壽命長的特點,因此使用非常廣泛。八段LED顯示器由8個發光二極管組成
38、。其中7個發光二極管構成字型“8”的各個筆畫段,另一個小數點為dp發光二極管。LED顯示器有兩種不同的形式:一種是發光二極管的陽極都連在一起的,稱之為共陽極LED顯示器;另一種是發光二極管的陰極都連在一起的,稱之為共陰極LED顯示器。如圖3-15所示。本次設計采用共陰極接法。LED顯示方式有動態顯示和靜態顯示兩種方式。本系統采用動態掃描顯示接口電路,動態顯示接口電路是把所有顯示器的8個筆劃段a-h同名端連在一起,而每一個顯示器的公共極COM各自獨立地受I/O線控制。CPU向字段輸出口送出字型碼時,所有顯示器接收到相同的字型碼,但究竟是哪個顯示器亮,則取決于COM端。也就是說我們可以采用分時的方
39、法,輪流控制各個顯示器的COM端,使各個顯示器輪流點亮。在輪流點亮掃描過程中,每位顯示器的點亮時間是極為短暫的(約1ms),由于人的視覺暫留現象及發光二極管的余輝效應,盡管實際上各位顯示器并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩定的顯示數據,不會有閃爍感。圖3-15 七(八)段LED顯示器本設計P2.0、P2.1、P2.2、P2.3信號一起組成位選通的位選信號,P0.0P0.7信號一起組成段碼選通的段選信號,通過軟件編程,先把所要顯示的數據放入存儲單元,然后把數據送入段選通對應的地址,再選通某一個LED,逐步完成四個LED的顯示。第四章 系統軟件設計4.1 概述在硬件設計完畢
40、之后,接下來就是設計中最核心和最為主要的軟件部分設計。所謂軟件設計就是把軟件需求變換成軟件的具體設計方案(即模塊結構)的過程。模塊化結構設計即是根據要求和硬件設計的結構,將整個系統的功能分成許多小的功能模塊,再根據這些小的功能模塊進行程序編寫的過程。這樣的設計方法,使得系統的整個功能和各部分的功能趨于明朗化。當系統出現問題,就可以根據功能設置找出問題的根源,從而更快地解決問題。所以說,在整個設計過程中,軟件設計必須與硬件設計緊密地結合在一起。 基于霍爾傳感器自行車的速度里程表的軟件設計包括中斷子程序、里程調用子程序、LED顯示子程序等幾大部分。由于要實現很多功能,所以采用模塊化設計,下面就其主
41、要部分分別加以分析。4.2 總體程序設計在主程序模塊中,需要完成對各接口芯片的初始化、自行車里程和速度的初始化、中斷向量的設計以及開中斷、循環等待等工作。另外,在主程序模塊中還需要設置啟動/清除標志寄存器、里程寄存器、速度寄存器,并對它們進行初始化。然后主程序將根據各標志寄存器的內容,分別完成啟動、清除、計程和計速等不同的操作。P1.0和P1.1口分別用于顯示里程狀態和速度狀態。P1.2、P1.3、P1.6和P1.7口分別用于設置輪圈的大小,低電平有效。P3.0是用于里程和速度切換的,低電平為顯示速度,高電平為顯示里程。中斷0是對輪子圈數的計數輸入,輪子每轉一圈,霍爾傳感器輸出一個低電平脈沖。
42、將根據里程寄存器中的內容計算和判斷出行駛里程數。中斷1用于控制定時器T1的啟/停,當輸入為0時關閉定時器。此控制信號是將輪子圈數的計數經二分頻后形成。這樣,每次定時器T1的開啟時間剛好為轉一圈的時間,根據輪子的周長就可以計算出自行車的速度。其程序流程如圖4-1所示。開始初始化P1.2=1?NP1.3=1?P1.6=1?P1.7=1?出錯提示將車圈周長調入21H開中斷,啟動定時器P3.0=1?調用里程處理子程序調用速度處理子程序NNNYYYYNY圖4-1 主程序流程圖系統程序設計如下:$INCLUDE (REG52.INC) DISPBUF EQU 59H
43、0;顯示緩沖區從5AH開始 SecCoun EQU 58H SpCoun EQU 56H 速度計時器單元57H和58H,高位在前(57H單元中) Count EQU 55H; 顯示時的計數器 SpCalc bit 00h 要求計算速度的標志,該位為1則主程序進行速度計算,然后清該位 Hidden EQU 16 消隱碼 ORG 0000H AJMP STAR
44、T ORG 1BH JMP TIMER1 定時中斷1入口 ORG 30HSTART: MOV SP,#5FH 設置堆棧 MOV P1,#0FFH MOV P0,#0FFH MOV P2,#0FF H 初始化,所有顯示器、LED滅 MOV TMOD,#00010101B 定時器T1工作于方式1,定時器0工作方式1,計數器 MOV TH1,#HIGH(655
45、36-3686) MOV TL1,#LOW(65536-3686) SETB TR1 SETB ET1 開定時器1中斷 SETB EALOOP: JNB SpCalc,LOOP 如果未要求計算,轉本身循環;標號: 功能:雙字節二進制無符號數乘法;入口條件:被乘數在R2、R3中,乘數在R6、R7中。;出口信息:乘積在R2、R3、R4、R5中。;影響資源:PSW、A、B、R2R7 堆棧需求:
46、160; 字節 MOV R2,SpCoun MOV R3,SpCoun+1 MOV R6,#0 MOV R7,#5 測得的數值是每秒計數值,轉為分(每一轉測12次,故乘5而非60) CALL MULDSEND: MOV SBUF,R2SLP1: JBC TI,SN1 是否送完? AJMP SLP1SN1: MOV SBUF,R3SLP2: JBC TI,
47、SN2 AJMP SLP2SN2: MOV SBUF,R4SLP3: JBC TI,SN3 AJMP SLP3SN3: MOV SBUF,R5SLP4: JBC TI,SN4 AJMP SLP4SN4:;標號: 功能:雙字節十六進制整數轉換成雙字節碼整數;入口條件:待轉換的雙字節十六進制整數在R6、R7中。;出口信息:轉換后的三字節碼整數在R3、R4、R5中。;影響資源:PSW、A、R2R7 堆
48、棧需求: 字節 MOV A,R4 MOV R6,A MOV A,R5 MOV R7,A 將乘得的結果送R6R7準備轉換,這里結果不可能超過2字節 CALL HB2 MOV DISPBUF,R3 最高位 MOV A,R4 ANL A,#0F0H 去掉低4位 SWAP A 將高4位切換到低4位 MOV DISPBUF+1,A MOV A,R4 ANL A,#0FH MOV DISPBUF+2,A MOV A,R5 ANL A,#0F0H SWAP A MOV DISPBUF+3,A MOV A,R5 ANL A,#0FH MOV DISPBUF+4,A &
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年股份質押擔保借款合同范本
- 軌道交通線網云平臺系統用戶需求書-中心部分網絡安全專用技術要求
- 2025酒店管理承包合同模板
- 2025廢舊鋼材購銷合同范本
- 2025店面轉讓合同樣本
- 2025上海市空氣凈化設備維護保養合同
- 2025雇傭離職人員的勞務合同
- 2025年三資企業承包經營合同范本
- 2025版終止房屋租賃合同范本
- 2025建筑工程分包合同(2)
- 藥劑科考試試題
- 2024年中國醫養及康復醫療產業發展研究報告
- 湖北省華中師大第一附中2025屆高考物理四模試卷含解析
- 扎實推動科技創新和產業創新深度融合
- 內蒙古鄂爾多斯市2020年中考英語試題(解析版)
- 聲紋鑒定知識考核試題
- 養殖業勞動合同樣本
- 保險公司增額終身壽主講課件
- Vue.js前端開發實戰(第2版) 課件 第2章 Vue.js開發基礎
- 上海市2023-2024學年五年級下冊第1-3單元期中模擬測試數學試卷(滬教版)
- 異面直線 高一下學期數學湘教版(2019)必修第二冊
評論
0/150
提交評論