自行車?yán)锍趟俣扔?jì)的設(shè)計(jì)畢業(yè)論文_第1頁
自行車?yán)锍趟俣扔?jì)的設(shè)計(jì)畢業(yè)論文_第2頁
自行車?yán)锍趟俣扔?jì)的設(shè)計(jì)畢業(yè)論文_第3頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、自行車?yán)锍?速度計(jì)的設(shè)計(jì)摘要:本文介紹了用89C52單片機(jī)設(shè)計(jì)自行車?yán)锍?速度計(jì),運(yùn)用單片機(jī)的運(yùn)算和 控制功能,并采用數(shù)碼管實(shí)時(shí)顯示所測(cè)速度和里程的速度里程計(jì)設(shè)計(jì)方案,用分 頻器TC4024實(shí)現(xiàn)二分頻,用來探討24C01傳感器的用途,通過實(shí)用電路的設(shè)計(jì)來 掌握速度及里程傳感器的使用方法及一些性能參數(shù)。本系統(tǒng)含了電子電路技術(shù), 以及常用的AT89C52單片機(jī)工作原理,通過本系統(tǒng)的設(shè)計(jì),把它們倆者有機(jī)結(jié)合。關(guān)鍵詞:AT89C52數(shù)碼管TC4024 24C01傳感器The Odometer/Speedometer' s Design Of The BikeAbstract: This art

2、icle in troduced used the Micro Computer Un it of theAT89C52 desig n The Odometer/Speedometer' s Of The Bike, it utilizes Micro Computer Un it's operatio n and con trol fun cti on, and it uses the nixietube real time display to measure the speed and the course speed hodometer design proposal

3、, it realizes two freque ncy divisi ons with the freque ncy dividerof TC4024,it uses for to discuss the 24C01 sensor's use, through the practical electric circuit'sdesign it grasps the odometer/speedometer ' sapplication method and some performanee parameter 。This system contains the ele

4、ctr onic circuit tech no logy, as well as the com monly used AT89C52 Micro Computer Un it's work prin ciple, through this system's desig n, which pairs them orga nic union。Keywords: AT89C52 Nixietube TC4024 24C01 sen sor1 緒論32 AT89C52 單片機(jī)42.1 AT 89C52單片機(jī)簡介 42.2 AT 89C52的管腳及其含義 43 TC4024 64 2

5、4C01 芯片64.1 24C01 簡介64.2 24C01 的特性:75硬件電路的設(shè)計(jì) 85.1 系統(tǒng)硬件電路 85.2系統(tǒng)的工作原理 86軟件設(shè)計(jì)96.1系統(tǒng)存的規(guī)劃 96.2系統(tǒng)的主要程序設(shè)計(jì) 97系統(tǒng)調(diào)試117.1 硬件調(diào)試117.2軟件調(diào)試128 結(jié)論14致15附錄:系統(tǒng)完整源程序 17傳感器,英文名字為Sensor或Transducer,亦稱換能器、變換器。在科技迅 速發(fā)展的今天,傳感器越來倍受重視。在日常生活、航天、航空,常規(guī)武器、交 通運(yùn)輸,機(jī)械制造、化工、生物醫(yī)學(xué)工程、自動(dòng)化檢測(cè)工程及計(jì)量等各項(xiàng)領(lǐng)域都 被廣泛應(yīng)用。目前,傳感器已向新材料開發(fā),集成化、智能化、數(shù)字化、新工藝,高

6、精度 化及高穩(wěn)定、高可靠化等技術(shù)發(fā)展。特別是霍爾傳感器,鑒于它的價(jià)廉、易于使 用,使它廣泛運(yùn)用于里程計(jì)、速度計(jì)等 。單片微型計(jì)算機(jī)簡稱單片機(jī),又稱微控制器,特別適用于控制領(lǐng)域。通常單 片機(jī)由單塊集成電路構(gòu)成,部包含有計(jì)算機(jī)的基本部件:CPU(中央處理器),存儲(chǔ)器和I/O接口電路等。因此,單片機(jī)只需要與適當(dāng)?shù)能浖巴獠吭O(shè)備相結(jié)合, 便可以成為一個(gè)單片機(jī)控制系統(tǒng)。目前,場上銷售的單片機(jī)有4位、& 16位、32位,并且單片機(jī)朝著高性能 多種方向發(fā)展,尤其是 8位單片機(jī)以經(jīng)成為當(dāng)前單片機(jī)的主流,主要體現(xiàn)在CPU功能增強(qiáng)、部資源增多、引腳的功能化、低電壓和低功好耗化上。單片機(jī)因?yàn)槠潴w積小、功能強(qiáng)

7、,可靠性高,靈活方便等優(yōu)點(diǎn),所以可以用于 各個(gè)領(lǐng)域,對(duì)各行各業(yè)的技術(shù)改造和產(chǎn)品更新?lián)Q代起到重要的推動(dòng)作用。本人經(jīng)過學(xué)習(xí),用AT89C52設(shè)計(jì)了一個(gè)自行車?yán)锍?速度計(jì)。本設(shè)計(jì)可輪流顯 示自行車行使的里程和速度,采用TC4024芯片作為計(jì)數(shù)器以及2C401存儲(chǔ)數(shù)據(jù), 3個(gè)單級(jí)共陰數(shù)碼管作為顯示系統(tǒng)。本系統(tǒng)具有超速信響提醒功能,里程數(shù)據(jù)自動(dòng) 記憶,也可應(yīng)用于電動(dòng)自行車、摩托車、汽車等機(jī)動(dòng)車儀表上。2 AT89C52單片機(jī)2.1 AT89C52單片機(jī)簡介本設(shè)計(jì)選用AT89C52單片機(jī),AT89C52是一種低功耗、高性能CMOS 8位微控 制器。使用Atmel公司高密度非易失性存儲(chǔ)器技術(shù)制造,可與工業(yè)

8、AT89C51產(chǎn) 品指令和引腳完全兼容。2.2 AT89C52的管腳及其含義AT89C52的管腳及各管腳含義如下:12345百7"8g101112口1斗Ir39POJ心跳 ALEIntoPSENlNTfP2.7TOP2.£71P25唾P2.4EDP2,3STAL2F22STALlP2.1PNO383736353433至3T"30232B2726252423圖 2.2 89C52管腳圖各引腳功能說明:VCC電源電壓;GN 接地;P0 口 P0 口是一組8位漏極開路型雙向I/O 口,也即地址/數(shù)據(jù)總線復(fù)用口。 作為輸出口用時(shí),每

9、位能吸收電流的方式驅(qū)動(dòng) 8個(gè)TTL邏輯門電路,對(duì)端口 P0寫1”時(shí),可作為高阻抗輸入端用;在訪問外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),這組口線分時(shí)轉(zhuǎn)換地址(低8位)和數(shù) 據(jù)總線復(fù)用,在訪問期間激活部上拉電阻;在FLASH編程時(shí),P0 口接收指令字節(jié),而在程序校驗(yàn)時(shí),輸出指令字節(jié),校驗(yàn)時(shí), 要求外接上拉電阻;P1 口 P1 口是一個(gè)帶部上拉電阻的8位雙向I/O 口,P1的輸出緩沖級(jí)可驅(qū)動(dòng)(吸 收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)端口寫“1”通過部的上拉電阻把端口拉 到高電平,此時(shí)可作輸出口。作輸入口使用時(shí),因?yàn)椴看嬖谏侠娮瑁硞€(gè)引腳 被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流;與AT89C51不同之處是,P1.

10、0和P1.1還可分別作為定時(shí)/計(jì)數(shù)器2的外部計(jì)數(shù)輸入(P1.0/T2 )和輸入(P1.1/T2EX);FLASH編程和程序校驗(yàn)期間,P1接收低8位地址;P1.0和P1.1的第二功能:P1.0 T2 (定時(shí)/計(jì)數(shù)器2外部計(jì)數(shù)脈沖輸入),時(shí)鐘輸出;P1.1 T2EX (定時(shí)/計(jì)數(shù)2捕獲/重裝載觸發(fā)和方向控制);P2 口 P2是一個(gè)帶部上拉電阻的8位雙向I/O 口,P2的輸出緩沖級(jí)可驅(qū)動(dòng)(吸 收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)端口 P2寫“ 1”,通過部的上拉電阻把端 口拉到高電平,此時(shí)可作輸入口,作輸入口使用時(shí),因?yàn)椴看嬖谏侠娮?,某個(gè) 引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流;在訪問外部程序存儲(chǔ)器

11、或16位地址的外部數(shù)據(jù)存儲(chǔ)器時(shí),P2 口送出高8位地址數(shù) 據(jù)。在訪問8位地址的外部數(shù)據(jù)存儲(chǔ)器時(shí),P2 口輸出P2鎖存器的容;FLASH編程或校驗(yàn)時(shí),P2亦接收高位地址和一些控制信號(hào);P3口 P3 口是一組帶有部上拉電阻的8位雙向I/O 口。P3口輸出緩沖級(jí)可驅(qū)動(dòng) (吸收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)P3 口寫入“T時(shí),它們被部上拉電阻拉高并可作為輸入端口。此時(shí),被外部拉低的P3 口將用上拉電阻輸出電流;P3口除了作為一般的I/O 口線外,更重要的用途是它的第二功能:P3.0 RXD(串行輸入口)P3.1 TXD(串行輸出口)P3.2 INTO(外中斷 0)P3.3 INT1(外中斷 1)

12、P3.4 TO(定時(shí)/計(jì)數(shù)器0)P3.5 T1(定時(shí)/計(jì)數(shù)器1)P3.6 WR(外部數(shù)據(jù)存儲(chǔ)器寫選通)P3.7 RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)此外,P3口還接收一些用于FLASH閃存編程和程序校驗(yàn)的控制信號(hào);RST復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將是 單片機(jī)復(fù)位;ALE/PRO當(dāng)訪問外部程存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE仍以時(shí)鐘振蕩頻率的1/6輸出固 定的脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。要注意的是:每當(dāng)訪問 外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過一個(gè)ALE脈沖;對(duì)FLASH存儲(chǔ)器編程期間,該引腳還用于輸入

13、編程脈沖(PROG ;EA端為高電平(接VCc端),CPU則執(zhí)行部程序存儲(chǔ)器的指令。3 TC4024本程序采用TC4024芯片,它是一個(gè)7位的計(jì)數(shù)器,計(jì)數(shù)器具有分頻的作用,它包含有14個(gè)管腳,其7腳接地,14腳接+5V, 1腳接AT89C52的 INT0,即12腳, 在系統(tǒng)中此芯片起到了二分頻的作用。4 24C01芯片4.1 24C01 簡介24C01是一個(gè)1K位串行CMOS EEPROI部含有128個(gè)8位字節(jié),CATALYST勺 先進(jìn)CMO技術(shù)實(shí)際上減少了器件的功耗,24C01是一個(gè)8位字節(jié)頁寫緩沖器,該 器件通過l2C總線接口進(jìn)行操作,即此芯片采用l2C協(xié)議進(jìn)行讀寫數(shù)據(jù)。有一個(gè)專 門的寫保

14、護(hù)功能。24C01是|2C接口的,但標(biāo)準(zhǔn)51是不帶|2C接口的,串口方式0是不行的,需 要用IO模擬,所以隨便接兩個(gè)IO都可以,而且都要接上拉電阻,大概幾 K就行 了,因?yàn)椴皇强偩€方式,所以不能用MOV旨令,也不能用SBUF要判斷是否為滿, 可以在程序里設(shè)個(gè)變量。在這里要注意hp芯片的壽命(一般是讀寫100萬次,足夠了)。存儲(chǔ)數(shù)據(jù)的 時(shí)候,可以對(duì)操作數(shù)和存儲(chǔ)的數(shù)據(jù)進(jìn)行比較,不相等則存儲(chǔ),這樣可以增加使用 壽命,比有些每隔1秒鐘進(jìn)行存儲(chǔ)的會(huì)好多了。以下是 24C01的管腳圖:JJOAl肢mSCLSBA圖4.1管腳圖表3.1 24C01的管腳描述管腳名稱功能A0 A1、A2器件地址選擇SDA串行數(shù)

15、據(jù)/地址SCL串行時(shí)鐘WP寫保護(hù)VCC+1.8V 6.0V工作電壓VSS接地4.2 24C01的特性:24C01芯片具有以下特性:1. 與400KHZ的I2C總線兼容;2. +1.8-6.0V 工作電壓圍;3. 低功耗CMO技術(shù);4. 寫保護(hù)功能:當(dāng) WF為高電平時(shí)進(jìn)入寫保護(hù)狀態(tài);5. 頁寫緩沖器;6. 自定時(shí)擦寫周期;7. 1, 000,000編程擦除/周期;8. 可保存數(shù)據(jù)100年;9. 8 腳 DIP、SOIC TSSOP寸裝;10溫度圍:商業(yè)級(jí)、工業(yè)級(jí)和汽車級(jí)。5硬件電路的設(shè)計(jì)5.1 系統(tǒng)硬件電路自行車?yán)锍?速度計(jì)能自動(dòng)顯示自行車行駛的總里程數(shù)及行車速度,具有超速 信響提醒功能,里程數(shù)

16、據(jù)自動(dòng)記憶,也可應(yīng)用于電動(dòng)自行車、摩托車、汽車等機(jī) 動(dòng)車儀表上。其硬件電路原理圖如圖 5.1 o圖5.1系統(tǒng)原理圖5.2系統(tǒng)的工作原理本設(shè)計(jì)能實(shí)時(shí)地將所測(cè)的速度與累計(jì)里程數(shù)顯示出來,主要是將24C01傳感器輸入到單片機(jī)的脈沖信號(hào),將頻率實(shí)時(shí)地測(cè)量出來,然后通過單片機(jī)計(jì)算出速度 和里程,再將所得的數(shù)據(jù)存儲(chǔ)到TC4024芯片中,通過AT89C52單片機(jī)計(jì)算出來的 速度和里程的數(shù)據(jù),必須通過 BCD碼的轉(zhuǎn)換才能輸出給數(shù)碼管。最后由共陰數(shù)碼 管顯示所測(cè)速度與里程。自行車?yán)锍?速度計(jì)采用AT89C52單片機(jī)作控制,速度及里程傳感器采用霍爾元件,其電器原理圖如圖5.1所示。P0 口和P2 口用于七段LED

17、顯示器的段碼及掃 描輸出,在顯示里程時(shí),第三位小數(shù)點(diǎn)用17腳P3.7 口控制點(diǎn)亮。P1.0和P1.1 口分別用于顯示里程狀態(tài)和速度狀態(tài)。P1.2、P1.3、P1.6和P1.7 口分別用于設(shè)置輪圈的大小。P3.0 口的開關(guān)用于確定顯示的方式,當(dāng)開關(guān)閉合時(shí),顯示速度; 打開時(shí)顯示里程。第12腳外中斷0用于對(duì)輪子圈數(shù)的計(jì)數(shù)輸入,輪子每轉(zhuǎn)一圈, 霍爾傳感器輸出一個(gè)地電平脈沖。第 13腳外中斷1用于控制定時(shí)器T1的啟停, 當(dāng)輸入為0時(shí)關(guān)閉定時(shí)器。此控制信號(hào)是將輪子圈數(shù)的計(jì)數(shù)脈沖經(jīng)二分頻后形成 (見圖5.1),這樣,每次定時(shí)器T1的開啟時(shí)間剛好為轉(zhuǎn)一圈的時(shí)間。根據(jù)輪子的 周長就可以計(jì)算出自行車的速度。P1

18、.4和P1.5 口用于EEPR0存儲(chǔ)器24C01的存取控制。11腳輸出用于速度超速時(shí)的報(bào)警。6軟件設(shè)計(jì)6.1系統(tǒng)存的規(guī)劃由于本系統(tǒng)處理功能較多,因而一部分存單元用于特定的用處。其主要存單元用處如下:50H:EEPRO器件尋址字節(jié)存放單元;51H:EEPR0傳送字節(jié)數(shù)存放單元;30H:EEPRO發(fā)送數(shù)據(jù)緩沖單元;40H:EEPRO讀出數(shù)據(jù)存放單元;0A0H:EEPR0尋址字節(jié)字節(jié)寫;0A1H:EEPRC尋址字節(jié)字節(jié)讀;62 H:DPTR計(jì)數(shù)器擴(kuò)展高8位;6C H:定時(shí)器T1計(jì)數(shù)器擴(kuò)展高8位;6D H:定時(shí)器T1計(jì)數(shù)器擴(kuò)展高816位;60 H、61 H、62 H :里程計(jì)數(shù)單元;68 H、69 H

19、、6A H、6B H:存放自行車每圈時(shí)間數(shù);70 H、71 H、72 H、73 H :顯示BCD碼數(shù)據(jù)存放用;11 H15 H :存放被除數(shù);16 H19 H :存放除數(shù)。6.2系統(tǒng)的主要程序設(shè)計(jì)1. 初始化程序在本系統(tǒng)初始化程序中,主要完成以下工作:將 T1設(shè)為外部控制定時(shí)器 方式;外中斷0及外中斷1設(shè)為邊沿觸發(fā)方式;將部分存單元清零;設(shè)置輪子 周長值;開中斷及定時(shí)器;將 EEPRO中的數(shù)據(jù)調(diào)入存等。2. 輪圈設(shè)置出錯(cuò)處理程序P1.2、P1.3、P1.6、P1.7端口的開關(guān)用于設(shè)定輪子的周長,當(dāng)沒有設(shè)定時(shí)(至少讓一個(gè)開關(guān)閉合),能從P3.1 口輸出一個(gè)周期為0.5S的方波信號(hào), 用作發(fā)光管閃

20、爍及信響器提醒。3. 主程序主程序根據(jù)P3.0的開關(guān)狀態(tài)選擇里程或速度顯示,其流程圖如圖6.2所示。圖6.2 主程序流程圖4. 里程計(jì)數(shù)程序(外中斷0服務(wù)程序)外中斷0服務(wù)程序用于對(duì)12腳輸入的圈脈沖進(jìn)行計(jì)數(shù),為十六進(jìn)制計(jì)數(shù)器。60H為低位,62H為高位。每計(jì)數(shù)一次后,對(duì)里程數(shù)據(jù)進(jìn)行一次存儲(chǔ)操作。5. 外中斷1服務(wù)程序外中斷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的值放入68H-6BH單元。6. EEPR0存取程序本系統(tǒng)使用歸一化I2C串口存取子程序,使用一

21、條數(shù)據(jù)線和時(shí)鐘線,采用 ATME公司的24C01串口存儲(chǔ)器,應(yīng)用簡單方便。7. 顯示子程序當(dāng)顯示里程時(shí),先要將圈數(shù)計(jì)數(shù)器中的數(shù)據(jù)進(jìn)行運(yùn)算, 求出總里程。當(dāng)要 顯示速度時(shí),要將輪子的這周長和轉(zhuǎn)一圈的時(shí)間數(shù)相除,然后換算成 Km/h單 位。最后放入70H 73H,進(jìn)行數(shù)據(jù)顯示。7系統(tǒng)調(diào)試要完成一個(gè)產(chǎn)品的設(shè)計(jì),有很多紛繁復(fù)雜的步驟和過程,其中最為重要 和最為關(guān)鍵的就是系統(tǒng)調(diào)試。調(diào)試的步驟和方法有很多。本人也看過不少,在 這次系統(tǒng)調(diào)試的中調(diào)試的過程我充分的發(fā)揮了仿真器的作用。7.1 硬件調(diào)試硬件的焊接是一個(gè)比較繁瑣的過程,繁瑣的地方在于 3個(gè)單聯(lián)數(shù)碼管的 連接,線路較多,在焊接時(shí)要特別的細(xì)心,在焊接完

22、成并燒入程序之后通電 發(fā)現(xiàn)數(shù)碼管不亮,檢查了好幾遍,電路無焊沒有錯(cuò)誤,于是我就懷疑可能是 數(shù)碼管的問題,拿去貝爾(學(xué)院的社團(tuán))測(cè)試沒問題,數(shù)碼管并沒有燒壞。在插入芯片時(shí)要特別注意不能把芯片插反,否則就會(huì)把芯片燒掉;也要注意極性電容的方向,長的腳為正,短的為負(fù),不能把負(fù)的接+5V,正的接地; 在焊接三極管時(shí)也要注意其三個(gè)管腳的排布,還有為保護(hù)三極管不被燒換, 所以3個(gè)三極管要各自接一個(gè)限流電阻(這里為 4.7K)。7.2軟件調(diào)試軟件調(diào)試是調(diào)試的重點(diǎn),同時(shí)也是出錯(cuò)最多的地方;在整個(gè)軟件調(diào)試調(diào)試過 程中我采取先部分后整體的調(diào)試方法。在整個(gè)程序的編寫調(diào)試過程中我首先調(diào)試的是數(shù)碼管顯示系統(tǒng),為此我編寫了

23、以下一段程序用于數(shù)碼管顯示調(diào)試,要求數(shù)碼管顯示0、1、2。ORG 0000HMAIN: MOV P2, #0FFHMOV P0, 0C0HMOV P2, #0FEHACALL DELAY1MOV P2, #0FFHMOV P0, 0F9HMOV P2, #0FDHACALL DELAY1MOV P2, #0FFHMOV P0, 0A4HMOV P2, #OFBHMOV P2, #0FFHAJMP MAINDELAY1: MOV R6, #02HAGAIN: MOV R7, #8FHDELAY: DJNZ R7, DELAYDJNZ R6, AGAINRETEND結(jié)果數(shù)碼管正確顯示了 0、1、2

24、這三個(gè)數(shù),顯示系統(tǒng)調(diào)試成功。 軟件測(cè)試要注意一下幾點(diǎn):1.在編寫I2C串行歸一化存儲(chǔ)子程序時(shí)本來出了點(diǎn)錯(cuò),后經(jīng)過多次調(diào)試才運(yùn)行正確。3. 顯示系統(tǒng)最好先調(diào)試。4. 用韋幅軟件進(jìn)行仿真時(shí)要充分利用其逐步調(diào)試功能。8結(jié)論本設(shè)計(jì)能自動(dòng)顯示自行車行駛的總里程數(shù)及行車速度,具有超速信響報(bào)警提 醒以及里程數(shù)據(jù)自動(dòng)記憶的功能,也可應(yīng)用于電動(dòng)自行車、摩托車、汽車等機(jī)動(dòng) 車的儀表上。由于本系統(tǒng)采用的是動(dòng)態(tài)掃描 LED顯示且共陰數(shù)碼管的驅(qū)動(dòng)電流不 是很大,所以數(shù)碼管的顯示不是特別亮。但可以通過更換小點(diǎn)的電阻增大其驅(qū)動(dòng) 電流(最大驅(qū)動(dòng)電流不能超過 20毫安)使數(shù)碼管變得更亮。首先,我要感宋復(fù)成老師在本次畢業(yè)設(shè)計(jì)中,

25、宋老師不厭其煩的指導(dǎo)我,在 整個(gè)畢業(yè)設(shè)計(jì)制作過程中,使得我在單片機(jī)方面的技能得到了進(jìn)一步提高。宋老 師給予了全程的幫作、鼓勵(lì)與指導(dǎo),在此我表示衷心的感!同時(shí)感王玉芝老師在 各方面給予的幫助,使我能夠有一個(gè)良好的環(huán)境,在做此課程設(shè)計(jì)時(shí)王老師還為 我免費(fèi)提供仿真器等器材,為我更好的完成本系統(tǒng)的設(shè)計(jì)提供了先決條件。另外,我還要感我的父母,沒有他們的支持,我是無法完成這個(gè)系統(tǒng)設(shè)計(jì)的, 他們給予我的,我將來一定會(huì)努力回報(bào)他們的。最后,我還要感我身邊的同學(xué)、朋友,他們也給了我很大的幫助。參考文獻(xiàn)1 玉峰、倪虹霞 MCS-51系列單片機(jī)原理與接口技術(shù)第一版: 人民郵電.20042 周興華.手把手教你學(xué)單片機(jī)

26、.第一版.:航空航天大學(xué).20053 曾一江.單片微機(jī)原理與接口技術(shù).第一版.:科學(xué).20064 俊謨.單片機(jī)中級(jí)教程一原理與應(yīng)用.第二版:航空航天大學(xué). 2006. P1-11 友德、志英、涂時(shí)亮單片機(jī)微型機(jī)原理、應(yīng)用與實(shí)驗(yàn)第五版:復(fù) 旦大學(xué).2006. P24-276 呂泉.現(xiàn)代傳感器原理及應(yīng)用.第一版:清華大學(xué) 2006.P1-57 毅剛、喜元.單片機(jī)原理與應(yīng)用設(shè)計(jì).第一版.:工業(yè)大學(xué).8 自美.電子線路設(shè)計(jì).實(shí)驗(yàn).測(cè)試M.:華中科技大學(xué),20009 曲家駭,王季秩,伺服控制系統(tǒng)中的傳感器10 鄔寬民.單片機(jī)外圍器件實(shí)用手冊(cè),數(shù)據(jù)傳輸接口器件分冊(cè).航空航天大學(xué).2001 : 189-19

27、511 王貴悅,新編傳感器實(shí)用手冊(cè).水利電力.2002 : 67-8912 自行車電子里程表的初步設(shè)計(jì)刁文興 工業(yè)職業(yè)技術(shù)學(xué)院后勤總公司13 數(shù)字式汽車?yán)锍瘫淼脑O(shè)計(jì)諸德宏,天紅,朱湘臨 大學(xué)電氣信息工程學(xué)院,14 電子車速里程表的單片機(jī)實(shí)現(xiàn)方案 王鎖弘,威海雙豐電子傳感威海15 福學(xué)。傳感器使用電路150例.中國技術(shù)M.1992年16 Embedded Microcontrollers and Processor Design ,嵌入式微控 制器與處理器設(shè)計(jì),Greg Osborn,機(jī)械工業(yè)17 Altium Desig ner (Protel),機(jī)械工業(yè)18 Programmi ng 8-b

28、it PIC Microc on trollers in C with In teractiveHardware Simulation, 8位單片機(jī) C語言編程:基于 PIC16 ,Martin P.Bates,人民郵電附錄:系統(tǒng)完整源程序以下是控制系統(tǒng)完整源程序SPEED/MILE OR IKE PROGRAM60H, 61H, 62H作里程計(jì)數(shù)單元,6CH 6DH作T1計(jì)數(shù)擴(kuò)充單元,68H,69H, 6AH 6BH存放自行車每圈時(shí)間數(shù),70H, 71H, 72H, 73H作顯示BCD碼存放數(shù)用,11H-15H存放被除數(shù),16H-19H存放除數(shù)定義VSDAEQUP1.5;EEPROM數(shù)據(jù)傳送

29、口VSCLEQUP1.4;EEPROM時(shí)鐘傳送口SLAEQU50H;EEPROM器件尋址字節(jié)存放單元NUMBYT EQU51H;EEPROM傳送字節(jié)數(shù)存放單元MTDEQU30H;EEPROM發(fā)送數(shù)據(jù)緩沖單元MRDEQU40H;EEPROM讀出數(shù)據(jù)存放單兀SLAWEQU0A0H;EEPROM尋址字節(jié)寫SLAREQU0A1H;EEPROM尋址字節(jié)讀DPHHEQU62H;DPTR計(jì)數(shù)擴(kuò)展高8位TH1HEQU6CH;定時(shí)器T1擴(kuò)展高8位TH1HHEQU6DH;定時(shí)器T1擴(kuò)展高8-16位J J J J J J J J J J J J J J J J J J JORGJ J J J J J J J J J

30、 J J J J J J J J J J J J J J J J J J0000HLJMPSTARTORG0003HLJMPINTEX0ORG000BHRETIORG0013HLJMPINTEX1ORG001BHLJMPINTT1ORG0023HRETIPRO GRAM INPUT ;ORG 002BHRETI;程序執(zhí)行開始地址;跳至START;外中斷0中斷程序入口;跳至INTEX0中斷服務(wù)程序;定時(shí)器T0中斷程序入口中斷返回;外中斷1中斷入口;跳至INTEX1中斷服務(wù)程序;定時(shí)器T1中斷程序入口;跳至INTT1中斷服務(wù)程序;串口中斷入口地址中斷返回;定時(shí)器T2中斷入口地址中斷返回PROGRA

31、M CLEAR;上電初始化程序CLEARMEN: MOV TMOD, #90H;T1 為16位外部控制定時(shí)器MOV SP, #75H堆棧在75H開始SETBPX0;外中斷0優(yōu)先級(jí)為1SETBIT0;外中斷0用邊沿觸發(fā)SETBIT1;外中斷1用邊沿觸發(fā)MOV20H, A;清存中特疋單元MOV6CH, A;MOV6DH, A;MOV70H, A;MOV71H, A;MOV72H, A;MOV73H, A;MOV60H, A;MOV61H, A;MOV62H, A;MOV63H, A;清存中特疋單元DECA;A為#0FFHMOV68H, A;存置數(shù)據(jù)#0FFHMOV 69H, A;存置數(shù)據(jù)#0FFH

32、MOV 6AH, A;存置數(shù)據(jù)#0FFHMOV6BH, A;存置數(shù)據(jù)#0FFHMOVP1, A;P1口置1CLEAR1:JBP1.2, KEY1;根據(jù) P1.2,P1.3,P1.6,P1.7 設(shè)置狀態(tài)J在21地址單元賦自行車周長值MOV21H, #0FH; 22寸自行車周長值LJMPCLEAR2;轉(zhuǎn) CLEAR2KEY1:JBP1.3, KEY2;MOV21H, #12H; 24寸自行車周長值LJMPCLEAR2;CLEAR2KEY2:JB P1.6, KEY3MOV21H, #14H;26寸自行車周長值LJMPCLEAR2J轉(zhuǎn) CLEAR2KEY3:JBP1.7, ERRJ四個(gè)開關(guān)都沒合上,

33、轉(zhuǎn)出錯(cuò)處理MOV21H, #19H;28寸自行車周長值CLEAR2:SETB TR1;開定時(shí)器T1SETB EA;開中斷允許SETB EXO;開外中斷0SETB ET1;開定時(shí)中斷T1SETB P3.1;關(guān)報(bào)警器LCALL VIICREAD;將EEPROI中原里程數(shù)據(jù)調(diào)入存RET;子程序返回ERR:CPL P3.1;輪周長設(shè)置出錯(cuò),LED燈閃提醒ALL DL5S;延時(shí)LJMP CLEAR1;重新初始化,等待輪周長設(shè)置開J關(guān)合上PROGRAM START ;START:LCALLCLEARMEN ;上電初始化START1:JBP3.0, DISPLAYS;P3.0=1,顯示里程LCALL DIS

34、PLAYV;顯示速度START2:JSJMPSTART1;轉(zhuǎn) START1循環(huán)J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J J;INTEXO PROGRAMJ J J J J JJ J;里程計(jì)數(shù)程序,用外中斷O實(shí)現(xiàn),計(jì)數(shù)用6OH-62H存單元。INTEXO:PUSH ACC;累加器堆棧保護(hù)PUSHPSW;狀態(tài)字堆棧保護(hù)INC60H;圈加1CLRA;清ACJNEA, 60H, INTEXOOUT ;計(jì)數(shù)沒溢出轉(zhuǎn)INTEXOOUTINC61H;溢出進(jìn)位(61H加1)CJNEA, 61H, INTEXOOU

35、T ;計(jì)數(shù)沒溢出轉(zhuǎn)INTEXOOUTINC62H; 溢出進(jìn)位(62H加1)INTEXOOUT: LCALL VIICWRITE;里程數(shù)據(jù)存入EEPROMSETBEX1;開外中斷1POPPSW;狀態(tài)字恢復(fù)POPACC;累加器恢復(fù)RETI;中斷返回INTEX1 PROGRAM68H-6BH單元中。堆棧保護(hù)關(guān)外中斷1溢出標(biāo)志為0轉(zhuǎn)INTEX11溢出時(shí)計(jì)時(shí)單元賦#OFFH(顯示速度為零);每轉(zhuǎn)1圈時(shí)間計(jì)數(shù)處理程序,每圈時(shí)間放在INTEX1:PUSH ACC;PUSH PSW;CLR EX1;JNB00H, INTEX11;MOVTL1, #OFFH;MOVTH1, #OFFH;MOV6CH, #OFF

36、H;MOV6DH, #OFFH;INTEX11:MOV 68H, TL1MOV 69H, TH1 ;將時(shí)間計(jì)數(shù)值移入暫存單元68H-6BHMOV6AH, 6CH;MOV6BH, 6DH;CLRA;清AMOVTL1, A;計(jì)時(shí)單元置MOVTH1, A;MOV6CH, A;MOV6DH, A;CLR00H;清溢出標(biāo)志POPPSW;堆?;謴?fù)POPACC;RETIJ中斷返回INTT1 PROGRAM;T1計(jì)數(shù)器中斷服務(wù)程序。(計(jì)數(shù)器T1由外中斷1輸入控制,當(dāng)為高電平時(shí)計(jì)時(shí) 開始)INTT1:PUSH ACC;堆棧保護(hù)PUSHPSW;INC6CH;6CH計(jì)時(shí)單元加1MOVA, 6CH;移入AJNZINT

37、T11;不等于0轉(zhuǎn)INTT11INC6DH;進(jìn)位,6DH單元加1MOVA, 6DH;移入AJNZINTT11;不等于0轉(zhuǎn)INTT11SETB00H;計(jì)時(shí)器溢出,置溢出標(biāo)志INTT11:POP PSW;恢復(fù)堆棧POP ACC;RETI中斷返回DISPLAY S;里程顯示控制程序DISPLAYS:SETB P1.0CLR P1.1SETB P3.7LCALL SSSLCALL DISPLAYLJMP START1點(diǎn)亮LED1 (顯示里程狀態(tài))關(guān)閉速度指示燈顯示小數(shù)點(diǎn)(最小顯示為0.1公里)將圈數(shù)轉(zhuǎn)為公里數(shù)顯示公里數(shù)據(jù)跳回START1DISPLAY V ;;速度顯示控制程序DISPLAYV:CLR

38、P1.0SETB P1.1CLR P3.7;LCALL VVV;MOV A, 71H;SUBB A, #04HJNC WARINGSETB P3.1V1:LCALL DISPLAYRETWARING:CLR P3.1AJMP V1關(guān)閉LED1 (里程)燈點(diǎn)亮LED2顯示時(shí)速狀態(tài))關(guān)小數(shù)點(diǎn)顯示每圈時(shí)間換算為公里/小時(shí)程序?qū)⑹粩?shù)(BCD碼)值移入A與預(yù)定報(bào)警值比較時(shí)速超過40時(shí)報(bào)警關(guān)報(bào)警燈顯亮一次(為了改善閃爍)子程序返回報(bào)警燈LED3點(diǎn)亮(并嗚叫)轉(zhuǎn)V1退出dvns# VisAOIAIlA9NdMnnvonHLO# lAaiAinNAOIAImvis# VisAOIAIH09# la丄l/l

39、AOI/I :aV3d9IIA衛(wèi)寅HZ9-H09'(戦捕l/l即)自割用蟄lOBdmm羽一日:aV3d9IIA 二丄"AOIAIM 靈 ZNra冷 9NI03 9NIV 3 AOIAILd V AOIAI:AOIAIMH60# '乙3AOIAIHd9#lLdAOIAICl丄l/l# l0dAOIAIH09# lHd9 AOIAI:6AOIAIM丄"lA9NdMnnvonH60# IxaiAinNAOIAIMV1S# VISAOIAI6 AOIAIM 11V9V :31ldM9IIA衛(wèi)寅魯H09丑嫌Y型'(戦MIW)自割Y熾103d羽 羽一ET31ld

40、M9IIA 二MOV NUMBYT, #08HLCALL RDNBYTACALL RMOV8RETRMOV8:MOV R0, #MRDMOV R1, #60HMOV R2, #08HRMOV:MOV A, R0MOV R1, AINC R0INC R1DJNZ R2, RMOVRET;VIIC PROGRAM ;I 2c串行歸一化存儲(chǔ)子程序STA:SETB VSDASETB VSCLNOPNOPNOPNOPCLR VSDANOPCLR VSDANOPCLR VSCLRETSTOP:CLR VSDASETBVSCLNOPNOPNOPNOPSETBVSDANOPNOPNOPNOPCLRVSDACL

41、RVSCLRETMACK:CLR VSDASETBVSCLNOPNOPNOPNOPCLRVSCLSETBVSDARETMNACK:SETB VSDASETB VSCLNOPCLR VSCLCLR VSDARETCACK:SETB VSDASETB VSCLCLR F0MOV C, VSDAJNC CENDSETB F0CEND:CLR VSCLRETWRBYT:MOV R0, #08HWLP:RLC AJC WR1AJMP WR0WLP1:DJNZ R0, WLPRETWR1:SETB VSDASETB VSCLNOPNOPNOPNOPCLR VSCLCLR VSDAAJMP WLP1WR0:

42、CLR VSDASETB VSCLNOPNOPNOPCLR VSCLAJMP WLP1RDBYT:MOV R0, #08HRLP:SETB VSDASETBVSCLMOVC, VSDAMOVA, R2RLCAMOVR2, ACLRVSCLDJNZR0, RLPRETWRNBYT:MOV R3, NUMBYTLCALLSTAMOVA, SLALCALLWRBYTLCALLCACKJBF0, WRNBYTMOVR1, #MTDWRDA:MOV A, R1LCALLWRBYTLCALLCACKJBF0, WRNBYTINCR1DJNZR3, WRDALCALL STOPRETRDNBYT:MOV R

43、3, NUMBYTLCALLSTAMOVA, SLALCALLWRBYTLCALLCACKJBF0, RDNBYTRDN:MOVR1, #MRDRDN1:LCALL RDBYTMOVR1, ADJNZR3, ACKLCALLMNACKLCALLSTOPRETACK:LCALL MACKINCR1SJMPRDN1DISPLAY PROGRAM ;顯示程序。顯示BCD碼在70H-73H單元,采用共陰LED數(shù)碼管DISPLAY:MOV R1, #70H;顯示單元首址;掃描字MOVR2, #0FEHPLAY:MOV A, R2;掃描字入AMOVP2, A;放到端口MOVA, R1;取顯示數(shù)據(jù)ANLA,

44、 #0FH;去掉高四位(為0)MOVDPTR, #TAB;取段碼表首址MOVCA, A+DPTR;查顯示數(shù)據(jù)對(duì)應(yīng)段碼MOVP0,A;段碼輸出LCALLDL1MS;點(diǎn)亮1毫秒INCR1;指向下一顯示數(shù)據(jù)地址MOVA, R2;取掃描字JNBACC.3, ENDOUT ;已掃描到第四位,轉(zhuǎn)ENDOU退 出RLA;循環(huán)左移MOVR2, A;放回R2AJMPPLAY;轉(zhuǎn)PLAY循環(huán)ENDOUT:SETB P2.0;關(guān)掃描SETBP2.1;關(guān)掃描SETBP2.2;關(guān)掃描SETBP2.3;關(guān)掃描RET;掃描結(jié)束;共陰段碼表(可顯示0-F)TAB:DB3FH, 06H, 5BH, 4FH, 66H, 6DH,

45、 7DH, 07HDB 7FH, 6FH, 77H, 7CH, 39H, 5EH, 79H, 71HDB 00HSSS PROGRAM里程處理程序,將自行車圈數(shù)據(jù)換算成公里數(shù)SSS:MOV19H,#64H;除數(shù)最高位賦值MOV18H,#00H;除數(shù)賦值MOV17H,#00H;除數(shù)賦值MOV16H,#00H;除數(shù)賦值MOV11H,#00H;被除數(shù)賦值MOV12H,#00H;被除數(shù)賦值MOV13H,62H;被除數(shù)賦值MOV14H, 61H;被除數(shù)賦值MOV15H,60H;被除數(shù)賦值LCALLDIVST;調(diào)除法程序LCALL BCDST;調(diào)二進(jìn)制轉(zhuǎn)BCD碼程序MOVA, 25H;結(jié)果處理,將25H數(shù)移入AANLA, #0FH;將高四位置為0MOV70H, A;放入70H單元

溫馨提示

  • 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)論