歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > DOCX文檔下載  

基于單片機(jī)的多功能自行車防丟系統(tǒng)設(shè)計

  • 資源ID:116520872       資源大?。?span id="uldsmfu" class="font-tahoma">2.69MB        全文頁數(shù):41頁
  • 資源格式: DOCX        下載積分:15積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要15積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機(jī)號,方便查詢和重復(fù)下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號:
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認(rèn)打開,此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請知曉。

基于單片機(jī)的多功能自行車防丟系統(tǒng)設(shè)計

龍巖學(xué)院畢業(yè)設(shè)計 題目: 基于單片機(jī)的多功能自行車防丟系統(tǒng)設(shè)計 專業(yè): 電子信息工程 學(xué)號: 2014041817 作者: 柯慶烽 指導(dǎo)教師(職稱): 曾瑋 副教授 2016年5 月20 日基于單片機(jī)的多功能自行車防丟系統(tǒng)設(shè)計【摘要】在社會不斷進(jìn)步的同時,人們的生活水平也隨之提高。越來越多的人開始喜歡上了自行車,它不僅成為一種交通工具或者代步工具。隨著社會的進(jìn)步,自行車上的輔助功能也變得越來越多,于此同時,人們也非常希望自行車上能夠有休閑、鍛煉等功能,這樣能夠在騎自行車的同時給人帶來更多舒適和健康。雖然自行車騎行是一個老少皆宜的運(yùn)動,但是在騎行的過程時,人們對自身的安全非常重視。同時在沒有騎行時,對自行車停放的位置也是有點(diǎn)顧慮和擔(dān)憂的。本設(shè)計是利用STC12C5A60S2單片機(jī)來實(shí)現(xiàn)自行車的多功能自行車防丟系統(tǒng),主要分為主機(jī)和副機(jī)兩個部分來實(shí)現(xiàn)自行車的轉(zhuǎn)向燈的功能,運(yùn)動時心率檢測功能,和自行車防丟功能?!娟P(guān)鍵字】STC12C5A60S2 轉(zhuǎn)向燈 防丟功能 心率檢測Multifunctional bicycle lost prevention system based on single chip microcomputerAbstract in the continuous progress of society, peoples living standards will be improved. More and more people began to love on the bike, it not only as a means of transport or transport. With the progress of the society, bicycle auxiliary function has become more and more, at the same time, people also very much hope that bike to leisure, exercise, and other functions, this can in riding a bicycle also brings more comfort and health. Although the cycling is an ages of movement, but in the process of riding, people for their own safety very seriously. At the same time in the absence of riding, the location of the bicycle parking is also a bit of concern and worry. This design is uses STC12C5A60S2 to achieve a bike multifunctional bicycle anti lost system, mainly divided into two parts: the host machine and the auxiliary machine to achieve a bike of steering lamp function, movement heart rate detection function, and the bicycle anti lost functions.keyword STC12C5A60S2 Steering light Anti drop function Heart rate detection目錄第1章 緒論11.1研究的背景及意義11.1.1課題研究背景11.1.2課題研究意義1第2章 課題的目標(biāo)任務(wù)22.1 課題的主要內(nèi)容22.1.1 課題總體介紹體22.1.2 工作內(nèi)容22.1.3 課題具體任務(wù)2第3章 硬件設(shè)計33.1 硬件系統(tǒng)選型33.1.1 控制芯片的選擇33.1.2 無線通信模塊選擇33.1.3 心率檢測傳感器的選擇43.2 系統(tǒng)硬件設(shè)計43.2.1 單片機(jī)控制電路設(shè)計43.2.2 無線通信模塊電路設(shè)計43.2.3 按鍵模塊電路63.2.4 心率檢測模塊設(shè)計63.2.5 報警電路設(shè)計7第4章 軟件設(shè)計84.1 系統(tǒng)功能介紹84.2 程序總體框圖84.2.1 主機(jī)的程序框圖84.2.2 副機(jī)的程序框圖84.3 程序設(shè)計的總體思路94.3.1 NRF24L01無線通信模塊的設(shè)計思路94.3.2 自行車轉(zhuǎn)向燈模塊的設(shè)計思路94.3.3 心率檢測模塊的設(shè)計思路94.4 部分程序流程圖104.4.1 NRF24L01無線收發(fā)模塊的程序流程圖設(shè)計104.4.2 主機(jī)流程圖設(shè)計104.4.2 副機(jī)流程圖設(shè)計11第5章 系統(tǒng)調(diào)試125.1 硬件系統(tǒng)調(diào)試125.1.1 基本電路檢測125.1.2 基本連線檢查125.2 軟件系統(tǒng)調(diào)試135.2.1 基本輸入輸出調(diào)試135.2. 基本功能的調(diào)試13第6章 結(jié)論146.1 基本成果146.2 改進(jìn)展望146.3 經(jīng)驗(yàn)總結(jié)14致謝15參考文獻(xiàn)16附錄17附錄一:基于單片機(jī)的多功能自行車防丟系統(tǒng)設(shè)計的電路原理圖17附錄二:基于單片機(jī)的多功能自行車防丟系統(tǒng)設(shè)計的PCB圖18附錄三:基于單片機(jī)的多功能自行車防丟系統(tǒng)設(shè)計的部分程序.194第1章 緒論1.1研究的背景及意義1.1.1課題研究背景 在科技不斷的發(fā)展和社會不斷的進(jìn)步條件下,人們的生活也隨著不斷的改善,從而人們越來越注重自身的身體健康,越來越多的人會選擇不同的運(yùn)動方式。自行車現(xiàn)在不僅僅是人們的代步工具,從而也成為人們的運(yùn)動工具。但是人們將自行車騎在馬路上的時候,馬路上總是有汽車等機(jī)動車,由于當(dāng)自行車在轉(zhuǎn)向的時候,讓后方的機(jī)動車無法及時的判斷出自行車的轉(zhuǎn)向,從而容易導(dǎo)致事故的發(fā)生;同時,總是會聽說自行車放在露天或者停下自行車去買個東西的時候,發(fā)生了自行車丟失的事件,這讓那些丟車的車主頭痛,也讓那些原本想買自行車的人望而祛步。作為一些專業(yè)的運(yùn)動者而言,總是希望有一個良好是數(shù)據(jù)能夠體現(xiàn)出自己當(dāng)前的運(yùn)動心率,用來提醒自己的身體能否承受更大的運(yùn)動。所以,在這樣的背景條件下,自行車的輔助功能就顯得尤為重要,同時能夠讓自行車賦予更多的運(yùn)用功能。1.1.2課題研究意義本課題的設(shè)計是將自行車的轉(zhuǎn)向燈、自行車的無線防丟以及心率檢測三個功能結(jié)合起來,這樣能夠讓使用自行車的人在馬路上騎行的時候,不要擔(dān)心身后的機(jī)動車無法判別出自己的轉(zhuǎn)向而會發(fā)生車禍;同時也讓那些車主在停放自行車的時候,不用擔(dān)心自己的自行車發(fā)生丟失,從而使自己的心情變差。于此同時,也可以讓那些以自行車為運(yùn)動工具的人在運(yùn)動是檢測到自己的心率,從而來體現(xiàn)自己當(dāng)前的運(yùn)動量是否超過了自己身體是承受能力。第2章 課題的目標(biāo)任務(wù)2.1 課題的主要內(nèi)容2.1.1 課題總體介紹體本課題是基于單片機(jī)的多功能自行車防丟系統(tǒng)的設(shè)計和制作,同時對相應(yīng)的硬件和軟件進(jìn)行設(shè)計與制作。2.1.2 工作內(nèi)容(1)完成多功能自行車防丟系統(tǒng)的總體系統(tǒng)方案的設(shè)計與電路設(shè)計。(2)制作與連接好完整的硬件電路,同時能調(diào)試出正確的結(jié)果。2.1.3 課題具體任務(wù)多功能自行車防丟系統(tǒng)是基于單片機(jī)控制的,系統(tǒng)電路分為主機(jī)和副機(jī)兩個部分。主機(jī)的系統(tǒng)電路設(shè)計主要由單片機(jī)的最小系統(tǒng)電路、按鍵輸入電路、LCD1602顯示電路、無線收發(fā)電路、 LED顯示電路和報警電路;副機(jī)主要由單片機(jī)的最小系統(tǒng)電路、無線收發(fā)電路、LED顯示電路和報警電路。軟件的設(shè)計由程序輸入檢測、軟件的處理和輸出的刷新三個部分組成?;救蝿?wù):能夠?qū)崿F(xiàn)無線防丟的功能;實(shí)現(xiàn)轉(zhuǎn)向燈的按鍵控制;實(shí)現(xiàn)心率檢測,同時通過按鍵改變心率預(yù)設(shè)值的加減。第3章 硬件設(shè)計3.1 硬件系統(tǒng)選型3.1.1 控制芯片的選擇 本次的芯片使用STC12C5A60S22單片機(jī)。STC12C5A60S2有256字節(jié)的RAM和64 K單周期的Flash可以為一個周期的工作。STC12C5A60S2單片機(jī)的引腳和編程與傳統(tǒng)的8051單片機(jī)是兼容的,同時擁有豐富的應(yīng)用程序編程基礎(chǔ)和經(jīng)驗(yàn),當(dāng)P0口作為輸出時,不要像傳統(tǒng)的單片機(jī)一樣外接上拉電阻,使系統(tǒng)的設(shè)計會更加的簡單、輕松。同時在單個周期模式的條件下運(yùn)行時,它的運(yùn)行速度比傳統(tǒng)的51單片機(jī)快8至12倍左右的速度。STC12C5A60S2單片機(jī)即可滿足本次設(shè)計需求,同時價格低,外圍電路簡單,系統(tǒng)整體制作性價比較高。具體的管腳圖如圖3-1所示。圖3-1 STC12C5A60S2引腳圖3.1.2 無線通信模塊選擇本次的無線通信采用的是2.4G技術(shù)進(jìn)行的短距離傳輸?shù)腘RF24L01無線接收與發(fā)送模塊。NRF24L01無線發(fā)送和接收模塊具有成本低、體積較小、功耗低、穩(wěn)定性好、運(yùn)行的速度較快、抗干擾能力強(qiáng)等優(yōu)點(diǎn)。同時該模塊結(jié)構(gòu)簡單,功能強(qiáng)大,能夠?qū)崿F(xiàn)雙向的報警。3.1.3 心率檢測傳感器的選擇 本次的心率檢測采用的是pulse sensor心率傳感器,此傳感器采用的是觀點(diǎn)容積法對人體中的血管波動是造成的透光率的變化來檢測脈搏的值。此傳感器容易開發(fā),能夠快速的完成心率脈搏的檢測。同時,該傳跟其體積小,便于攜帶,功耗低等特點(diǎn)。3.2 系統(tǒng)硬件設(shè)計3.2.1 單片機(jī)控制電路設(shè)計本次設(shè)計中的單片機(jī)選用的是STC12C5A60S2單片機(jī),該單片機(jī)運(yùn)行的最基本的條件分別是振蕩電路和電源。在本次的設(shè)計中采用的是外部石英晶振作為單片機(jī)系統(tǒng)的時鐘源,在晶振兩側(cè)分別連接這一個22pF的獨(dú)石電容來幫助晶振起到起振的作用。單片機(jī)的外部電路連接圖如圖3-2所示。圖3-2 單片機(jī)外部電路接線圖單片機(jī)有共有4組的I/O口,分別是P0口、P1口、P2口和P3口。其中主機(jī)中的按鍵分別連接單片機(jī)的P3.3-P3.6口,同時無線通信模塊NRF24L01的6個引腳分別連接單片機(jī)的P2.0-P2.5口。3.2.2 無線通信模塊電路設(shè)計本設(shè)計采用NRF24L01無線通信模塊實(shí)現(xiàn)主機(jī)和副機(jī)之間的通信,它是利用nRF24L01芯片制作而成的,nRF24L01無線收發(fā)器是一個工作在2.4GHz2.5GHz,同時能夠?qū)嚯x的信號進(jìn)行發(fā)送和接收。同時NRF24L01芯片體積較小,功率損耗低,性能穩(wěn)定,實(shí)用能力強(qiáng)等特點(diǎn)。NRF24L01芯片可實(shí)現(xiàn)自動應(yīng)答、循環(huán)冗余校驗(yàn)碼檢測、自動重發(fā)等功能。NRF24L01芯片可以設(shè)置的幾個主要模式分別為接收模式、發(fā)送模式、待機(jī)模式、待機(jī)模式和斷電模式。NRF24L01模塊外接有8個管腳,如表3-1所示。表3-1 NRF24L01模塊引腳說明引腳功能說明CSN芯片的片選線,CSN為低電平芯片工作SCK芯片控制的時鐘線(SPI時鐘)MISOSPI輸出MISISPI輸入IRQ中斷輸出CE工作模式選擇VCC電源GND接地 將NRF24L01模塊的8個引腳與單片機(jī)的P2.0-P2.5口相連接,VCC接電源,GND接地,接線圖有圖3-3所示圖3-3 NRF24L01模塊接線圖在NRF24L01模塊的無線發(fā)送和接收過程中,對數(shù)據(jù)包的處理方式有兩種模式,分別是ShockBurstTM模式和增強(qiáng)型ShockBurstTM模式。這兩種模式都是將單片機(jī)與NRF24L01無線發(fā)送和接收模塊通過串行外圍接收SPI進(jìn)行連接起來。增強(qiáng)型ShockBurstTM模式在保持與單片機(jī)工作的同時,還能夠?qū)崿F(xiàn)自動應(yīng)答和自動重發(fā)的功能,這樣在一定程度上比ShockBurstTM模式更為方便,收發(fā)功能更為自動。本次的設(shè)計中采用了的是增強(qiáng)型ShockBurstTM模式。增強(qiáng)型ShockBurstTM模式的主要工作流程如下:首先是由發(fā)送端發(fā)出信號,然后當(dāng)接收端接收到發(fā)出的信號,則會通過自動應(yīng)答功能對發(fā)送端進(jìn)行反饋,由發(fā)送端對反饋的信息進(jìn)行檢測。當(dāng)信息檢測無誤時,則發(fā)送端就會繼續(xù)發(fā)送下一條信息;如果信息檢測有誤時,則會執(zhí)行自動重發(fā)功能,一直到信息傳輸無誤為止。3.2.3 按鍵模塊電路在本次的設(shè)計中,按鍵模塊主要用于主機(jī)上,它的工作原理主要是當(dāng)按下按鍵時,就會在單片機(jī)的輸入、輸出接口輸入低電平,其主要的功能是用于控制兩個LED燈的閃爍和關(guān)閉,同時也用于對心率預(yù)設(shè)值的增減。其中,按下K1的按鍵,LED3會一直處于閃爍狀態(tài),當(dāng)再次按下K1按鍵后,LED3燈滅。K3和K4按鈕連接著單片機(jī)的P3.4口和P3.5口,通過軟件設(shè)計來對心率預(yù)設(shè)值進(jìn)行增減。按鍵模塊的接線圖如圖3-4所示。圖3-4 按鍵模塊的接線圖同時,在按鍵按下的過程中會出現(xiàn)了抖動的現(xiàn)象。為了解決這種現(xiàn)象,一般采用的方式分為硬件去抖動和軟件去抖動。硬件抖動就是電平的不穩(wěn)定,這種抖動持續(xù)的時間范圍在10200ms之間。硬件消抖就是能夠及時的對硬件電路進(jìn)行處理;軟件消抖是跳過抖動的時間,等到按鍵保持穩(wěn)定的時候,再對其進(jìn)行處理。本設(shè)計采用的是軟件去抖動的方式。3.2.4 心率檢測模塊設(shè)計在本次的設(shè)計中,心率檢測采用的Pules sensor傳感器,它是一款用于脈搏心率測量的光電反射式模擬傳感器,此傳感器較小,可以佩戴在手指或者耳垂處。它可以通過導(dǎo)線與單片機(jī)連接,將模擬信號轉(zhuǎn)換為數(shù)字信號,再通過單片機(jī)進(jìn)行簡單的計算后得心率的值。此傳感器共有三個借口,分別是S口,+極口和極口,其中S口是脈搏信號輸出口,需要與單片機(jī)的AD口相連接,在本次的設(shè)計中,S口連接單片機(jī)的P1.7口。傳統(tǒng)的脈搏檢測有三種方法:第一種是在心電信號中提?。坏诙N是對血壓測量的時候壓力傳感器測得到的波動來計算脈搏;第三種是采用光電容積法。前面兩種測量的方法會限制了測量人員的活動范圍,如果長時間的測量會給測量人員造成不適,而第三種方法具有測量方法簡單、佩戴方便等特點(diǎn)。Pulse sensor心率傳感器的接線圖如圖3-5所示圖3-5 心率傳感器接線圖光電容積法是利用人體組織在血管搏動時造成透光率的不同而進(jìn)行脈搏測量的,此傳感器有光電變換器和光源兩個部分所組成,通過繃帶固定在測量人員的手指上來進(jìn)行測量。光源采用的是動脈血中氧和血紅蛋白有選擇性的一定波長(500nm700nm)的發(fā)光二極管。當(dāng)光束透過人體血管時,由于動脈搏動從學(xué)容積變化導(dǎo)致光束透光率的變化,此時的觀點(diǎn)傳感器接收到人體組織反射的光線,從而轉(zhuǎn)變?yōu)殡娦盘柌⑵浞糯蠛洼敵?。由于脈搏波動是隨著周期性變化的,所以動脈血管容積也是隨著周期性變化的,因此光電變化器的變化周期就是脈搏率。3.2.5 報警電路設(shè)計本次設(shè)計中的主機(jī)和副機(jī)中都采用了報警電路,其中主機(jī)的報警電路主要是用于當(dāng)心率超過預(yù)設(shè)值時,蜂鳴器發(fā)出聲響;副機(jī)中的報警電路主要是用于當(dāng)主機(jī)與副機(jī)斷開連接時,副機(jī)上的蜂鳴器發(fā)出聲響。報警電路如圖3-6所示。圖3-6 報警電路圖第4章 軟件設(shè)計4.1 系統(tǒng)功能介紹本次的設(shè)計是基于單片機(jī)的多功能無線防丟系統(tǒng),主要包括自行車無線防丟功能、自行車轉(zhuǎn)向燈以及心率檢測這三個功能。主要分為主機(jī)和副機(jī),當(dāng)主機(jī)斷電時,副機(jī)上的蜂鳴器會發(fā)出聲音,代表主機(jī)丟失;或者是當(dāng)副機(jī)斷電是,主機(jī)上的LCD1602顯示屏上會顯示LOST字樣,表示副機(jī)丟失。當(dāng)主機(jī)和副機(jī)在接通電源的情況下,兩塊超過一定的距離,副機(jī)上的蜂鳴器會發(fā)出聲響或主機(jī)上的LCD1602顯示屏?xí)@示LOST字樣表示丟失。同時將手指放在Pulse sensor心率傳感器時,會檢測到心率,同時心率的值會顯示在顯示屏上,同時顯示屏上還有心率的預(yù)設(shè)值,當(dāng)檢測到心率的值超過了預(yù)設(shè)值,主機(jī)上的蜂鳴器會發(fā)出聲響。主機(jī)上還設(shè)有四個按鍵,兩個按鍵表示左右轉(zhuǎn)向燈的,第一次按下左轉(zhuǎn)向燈的按鈕時,左邊的LED燈會閃爍,再次按下,LED燈滅。右轉(zhuǎn)向燈同左轉(zhuǎn)向燈的方法是一樣的。剩下的兩個按鈕分別是心率預(yù)設(shè)值的增與減,按下按鈕就可以設(shè)置預(yù)設(shè)值。4.2 程序總體框圖4.2.1 主機(jī)的程序框圖 由于本次設(shè)計中分為了主機(jī)和副機(jī),其中主機(jī)的程序框圖如圖4-1所示時鐘電路Pulse sensor心率傳感器復(fù)位電路NRF24L01無線通信模塊圖4-1 主機(jī)的程序框圖4.2.2 副機(jī)的程序框圖副機(jī)的程序框圖如圖4-2所示圖4-2 副機(jī)的程序框圖4.3 程序設(shè)計的總體思路4.3.1 NRF24L01無線通信模塊的設(shè)計思路使用NRF24L01無線通信模塊,首先要對此模塊進(jìn)行初始化,在初始化完畢后,要此模塊配置發(fā)送地址和接收地址,并且將CE為配置為高電平后,讀取NRF24L01模塊中的STATUS寄存器中的數(shù)據(jù)。同時配置TX_DS和RX_DS后,兩個NRF24L01模塊進(jìn)行連接。這樣就可以達(dá)到無線通信的功能。4.3.2 自行車轉(zhuǎn)向燈模塊的設(shè)計思路自行車轉(zhuǎn)向燈模塊采用的是兩個按鍵控制兩個LED燈,將兩個LED燈連接到P1.5口和P1.6口,按鍵分別連接P3.3口和P3.4口,通過對單片機(jī)的程序編程,當(dāng)按鍵按下時,LED燈會發(fā)生0.5s閃爍,若再次按下后,LED燈滅。4.3.3 心率檢測模塊的設(shè)計思路本次的設(shè)計中,采用的是Pules sensor心率傳感器,在使用此傳感器是,首先要I/O口、串口、中斷進(jìn)行初始化,定義變量,建立時間去讀脈沖信號傳感器,將檢測到的信號進(jìn)行計算后得到心率值,并顯示在LCD1602顯示屏上,同時將測得的值與預(yù)設(shè)值進(jìn)行比較,如果超過預(yù)設(shè)值,蜂鳴器會發(fā)出聲響。在心率檢測中,還有兩個按鍵就預(yù)設(shè)值進(jìn)行增減。4.4 部分程序流程圖4.4.1 NRF24L01無線收發(fā)模塊的程序流程圖設(shè)計 NRF24L01模塊流程圖如圖4-3所示圖4-3 NRF24L01無線通信模塊流程圖4.4.2 主機(jī)流程圖設(shè)計主機(jī)流程圖如圖4-4所示圖4-4 主機(jī)流程圖4.4.2 副機(jī)流程圖設(shè)計主機(jī)流程圖如圖4-4所示圖4-4 主機(jī)流程圖第5章 系統(tǒng)調(diào)試5.1 硬件系統(tǒng)調(diào)試5.1.1 基本電路檢測 在前期的硬件設(shè)計中完成了電路圖的繪制,同時將電路板塊制作出來并進(jìn)行焊接,在焊接成功后,對焊接好的電路板進(jìn)行檢查,主要分為以下幾個步驟:(1)查看電路板在制作過程中有沒有出現(xiàn)線路的出現(xiàn)短路,或者是焊盤后有沒有松動或脫離而造成電路板在后期焊接上的錯誤。(2)檢查線路是否與設(shè)計的相符合,并用萬用表檢查看在斷電的情況下有沒有焊接上的錯誤,以免在后期通電時發(fā)生的短路。(3)雖然在前期采用萬用表檢查了電路,但是在后期通電狀態(tài)下,用手指觸摸下芯片看芯片是否發(fā)熱,若發(fā)熱,應(yīng)立即斷開電源,對電路再次進(jìn)行檢測,如果線路正常,也可查看芯片的是否插反,若插反應(yīng)立即插好。 5.1.2 基本連線檢查在硬件調(diào)試的過程中,要對所設(shè)計的每一個部分有清楚的了解,并且知道它的工作特性和優(yōu)缺點(diǎn),便于在檢查和調(diào)試過程中出現(xiàn)的問題進(jìn)行更好的解決。硬件調(diào)試時,必須對每一部分的部件清楚了解,明白他的工作特性,知道它的優(yōu)點(diǎn)、缺點(diǎn),以便在檢查和后續(xù)的調(diào)試過程中對出現(xiàn)問題很好的解決。若問題不是很大的話,可以在電路板上直接加焊或者搭線焊接。在本次的設(shè)計中,我謹(jǐn)記這幾個要求,認(rèn)真的焊接,在焊接中節(jié)省了不少的時間。電路板焊接完成后,如圖5-1和圖5-2所示。在焊接完成后,先不急著上電,首先打開設(shè)計原理圖,然后用萬用表對應(yīng)著設(shè)計原理圖認(rèn)真的檢查焊接好的板是否有焊接錯誤的,或者出現(xiàn)虛焊的。同時使用萬用表檢查無線通信模塊與單片圖5-2 焊接好的正面圖圖5-2 焊接好后的反面圖對應(yīng)引腳是否接通;然后再檢測兩塊板的電源、地線是否和單片機(jī)連通;再檢測板上的按鍵是否焊接正常,按下時按鍵兩側(cè)是否能導(dǎo)通;最后檢測板上其他的引出腳是否與單片機(jī)正常連接。經(jīng)過檢查,主機(jī)的板和副機(jī)的板焊接正常,與單片機(jī)I/O引腳均正常接通。5.2 軟件系統(tǒng)調(diào)試5.2.1 基本輸入輸出調(diào)試在硬件系統(tǒng)制作和調(diào)試完成后,下一步要進(jìn)行的就是軟件程序的編寫。首先是對于一整個軟件系統(tǒng)的編程,也需要分部、分塊進(jìn)行編寫調(diào)試。在本次調(diào)試過程中,首先調(diào)試的是兩個轉(zhuǎn)向燈是否可以按照預(yù)初設(shè)計的那樣正常顯示,當(dāng)編好程序好,將程序?qū)氲礁睓C(jī)的單片機(jī)中,按下與單片機(jī)P3.3相連接的按鍵,與單片機(jī)P1.5口相連的LED燈是否正常閃爍;再次按下這個按鍵,LED燈滅。經(jīng)過檢測,P3.3口和P3.4口的兩個按鍵按下的現(xiàn)象正常。然后檢查P3.5口和P3.6口,分別按下按鍵,然后觀察顯示屏上的預(yù)設(shè)值是否能夠進(jìn)行增、減,經(jīng)過檢測,按鍵的程序正常。5.2. 基本功能的調(diào)試在程序變成好后分別下載到主機(jī)模塊和副機(jī)模塊的單片機(jī)中,然后檢查LCD1602顯示屏能夠正常顯示程序中所設(shè)計的字幕,如果顯示屏的對比度過低,調(diào)節(jié)板上的調(diào)節(jié)電阻,使顯示屏上的字幕更加的清晰。然后檢查一下無線通信模塊和心率檢測模塊在通電的狀態(tài)下是否能夠正常的連接,數(shù)據(jù)能夠正常的顯示在液晶顯示屏上,經(jīng)過檢測,能夠正常的連接和顯示。轉(zhuǎn)向燈的設(shè)計在基本輸入輸出調(diào)試中對按鍵和LED燈進(jìn)行了調(diào)試,所以轉(zhuǎn)向燈的功能也能夠正常的顯示出來。第6章 結(jié)論6.1 基本成果經(jīng)過多次的實(shí)驗(yàn)和調(diào)試,最后成功完成了多功能自行車防丟系統(tǒng)的設(shè)計與制作,實(shí)現(xiàn)了自行車在轉(zhuǎn)向時的閃爍提醒、自行車在騎行后的心率檢測以及自行車的無線防丟的設(shè)計。這樣給以往傳統(tǒng)的自行車有了更多的輔助功能。6.2 改進(jìn)展望在多功能自行車的設(shè)計完成后,實(shí)現(xiàn)了預(yù)期設(shè)想的設(shè)。但是這樣還是不足的,比如這次的無線防丟功能,它的功能是有局限性的,在超過一定的范圍距離,無論副機(jī)是否丟失,主機(jī)上都會發(fā)出聲響。在今后的學(xué)習(xí)和生活中,我會繼續(xù)努力學(xué)習(xí)和研究,并對此進(jìn)行改進(jìn)。在無線防丟功能上進(jìn)行更近一步的改進(jìn)。同時,最為本次系統(tǒng)的設(shè)計這,我的目的是希望讓大家在騎自行車的時候,對自己的人身安全有了保障,并且在停放自行車的時候不要再對自行車的丟失而發(fā)愁。同時這次的設(shè)計也是對我在學(xué)校中的一個學(xué)習(xí)成功的展示。希望我的多功能自行車無線防丟系統(tǒng)的設(shè)計能夠應(yīng)用在現(xiàn)實(shí)的生活中,被更多的人所接受。6.3 經(jīng)驗(yàn)總結(jié)畢業(yè)設(shè)計就是考察學(xué)生在大學(xué)中所學(xué)習(xí)到的知識進(jìn)行一次綜合性的考察,以及對學(xué)生的動手能力的檢驗(yàn)。通過設(shè)計能夠體現(xiàn)出學(xué)生在對學(xué)習(xí)過的對知識掌握能力和發(fā)現(xiàn)問題、分析問題、解決問題和實(shí)踐能力。在本次的設(shè)計、制作和論文的撰寫中然我學(xué)習(xí)到了很多的東西,首先是對單片機(jī)有了更深一步的認(rèn)識,同時繪圖的能力有明顯提高。在本次的畢業(yè)設(shè)計的過程中,起初開始是沒有頭緒的,也不知道從何下手,但是在設(shè)計的過程中讓我明白了,分步、分模塊的設(shè)計和調(diào)試,能夠讓設(shè)計變得更為的簡單。所以我認(rèn)為分步、分模塊的設(shè)計這個是尤為重要的。同時在本次的設(shè)計中先查閱資料,從芯片選型到電路的設(shè)計,再到硬件焊接的檢查,最后到程序的編程和調(diào)試,分步的進(jìn)行讓我的設(shè)計過程更為的順利。同時在寫論文的時候,我發(fā)現(xiàn)以我一個人的知識是遠(yuǎn)遠(yuǎn)不夠的,在此過程中,記住了網(wǎng)絡(luò)和同學(xué)之間的幫忙、同時到圖書館翻閱資料來完成自己的論文,在此過程中,學(xué)到了不少的東西。 在做畢業(yè)設(shè)計的這段時間里,不斷的查閱的相關(guān)資料,于此同時增強(qiáng)了自己對知識的理解,其中很多以前不是很懂的問題現(xiàn)在都解決了,也豐富了自己,也讓我受益匪淺。致謝經(jīng)過這段時間的忙碌和學(xué)習(xí),本次的設(shè)計也已經(jīng)接近了尾聲,在這里,非常感謝這段時間以來幫助我的同學(xué)和老師。同時在曾瑋老師的指導(dǎo)下,我的畢業(yè)設(shè)計和畢業(yè)論文能夠如期完成,在此我對增瑋老師給予的幫助表示衷心的感謝。除了指導(dǎo)老師,也要感謝在我大學(xué)生活中所以的老師和同學(xué),感謝老師們在平時悉心的教導(dǎo)和同學(xué)們在平時中對我的幫助。大學(xué)的生活即將結(jié)束,我們也即將步入社會,我會老師們平時對我們的教導(dǎo),在今后的工作和生活中要更加的努力和認(rèn)真,同時也祝老師們今后的工作順利,身體健康。參考文獻(xiàn)1 宏晶科技(深圳).STC12C5A60S2系列單片機(jī)器件手冊M. 2006, 1-22 王嘯東. 尤鳳翔. 基于單片機(jī)的智能防丟器系統(tǒng)設(shè)計J. 河南科技, 2011, (21): 61-61. 3郭天祥. 新概念51單片機(jī)C語言教程M北京:電子工業(yè)出版社,2009, 240-258 4李蛟, 楊仁錕. 肖峻. 2.4GHz無線技術(shù)標(biāo)準(zhǔn)及ZigBee抗干擾性能J. 電信工程技術(shù)與標(biāo)準(zhǔn)化, 2006, 19(3): 31-35. 5劉雅琨;冷劉偉;汽車尾燈智能控制電路設(shè)計J;科技經(jīng)濟(jì)市場;2011年05期6 朱勇.單片機(jī)原理與應(yīng)用技術(shù)M.清華大學(xué)出版社.2005, 200-2207李朝青.單片機(jī)原理及接口技術(shù)M.第三版.北京:北京航空航天大學(xué)出社.2005, 86-748沈勇, 蔣文雄, 段勇. 基于nRF24L01的通用無線通信模塊設(shè)計J. 電子設(shè)計工程, 2013, 21(18): 84-86. 9 元增民,張文希.單片機(jī)原理與應(yīng)用基礎(chǔ).長沙M:國防科技大學(xué)出版社. 2006.6,112-11910 陶國正.單片機(jī)與接口應(yīng)用技術(shù)M.蘇州:蘇州大學(xué)出版社,2004:137-146,190202.11Maxim.+5V Single-Supply,IMsps,16-Bit Self-Calibrating ADCDB/CD,2000.附錄附錄一:基于單片機(jī)的多功能自行車防丟系統(tǒng)設(shè)計的電路原理圖主機(jī)原理圖:副機(jī)原理圖:附錄二:基于單片機(jī)的多功能自行車防丟系統(tǒng)設(shè)計的PCB圖主機(jī)PCB圖:副機(jī)PCB圖:附錄三:基于單片機(jī)的多功能自行車防丟系統(tǒng)設(shè)計的部分程序主機(jī)主程序:#include common.h#include uart.h#include nRF24L01P.h#define false 0#define true 1#define FOSC 11059200L#define T0MS (65536-FOSC/12/500)/500HZ in 12T MODE#define ADC_POWER 0 x80/ADC POWER CONTROL BIT#define ADC_FLAG 0 x10/ADC COMPLETE FLAG#define ADC_START 0 x08;/ADC START CONTROL BIT#define ADC_SPEEDLL 0 x00/540 CLOCKS#define ADC_SPEEDL 0 x20/360 CLOCKS#define ADC_SPEEDH 0 x40/180 CLOCKS#define ADC_SPEEDHH 0 x60/90 CLOCKS#define ADC_MASK 0 x01sbit beep_alarm =P27;sbit loft_alarm_led=P15;sbit init_alarm_led=P14;unsigned char PulsePin = 7; / Pulse Sensor purple wire connected to analog pin 0(P1.0?aAD?)/sbit blinkPin = P20; / pin to blink led at each beat/sbit fadePin = P23; / pin to do fancy classy fading blink at each beat/sbit led1 = P21;/sbit led2 = P22;int fadeRate = 0; / used to fade LED on with PWM on fadePin/ these variables are volatile because they are used during the interrupt service routine!volatile unsigned int BPM; / used to hold the pulse ratevolatile unsigned int Signal; / holds the incoming raw datavolatile unsigned int IBI = 600; / holds the time between beats, must be seeded!volatile bit Pulse = false; / true when pulse wave is high, false when its lowvolatile bit QS = false; / becomes true when Arduoino finds a beat.volatile int rate10; / array to hold last ten IBI valuesvolatile unsigned long sampleCounter = 0; / used to determine pulse timingvolatile unsigned long lastBeatTime = 0; / used to find IBIvolatile int Peak =512; / used to find peak in pulse wave, seededvolatile int Trough = 512; / used to find trough in pulse wave, seededvolatile int thresh = 512; / used to find instant moment of heart beat, seededvolatile int amp = 100; / used to hold amplitude of pulse waveform, seededvolatile bit firstBeat = true; / used to seed rate array so we startup with reasonable BPMvolatile bit secondBeat = false; / used to seed rate array so we startup with reasonable BPMstatic unsigned char order=0;unsigned char DisBuff4= 0;unsigned int xdata heart_rate = 0;unsigned int xdata loft_time = 0;void ADC_init(unsigned char channel);void T0_init(void);void main(void) char ret; unsigned char RX_BUFTX_PLOAD_WIDTH; unsigned char TX_BUFTX_PLOAD_WIDTH; ADC_init(PulsePin); uart_init(UART_B9600); printf(OKrn); T0_init(); / sets up to read Pulse Sensor signal every 2mS while (NRF24L01_Check() init_alarm_led = init_alarm_led; delay_ms(500); NRF24L01_RT_Init(); init_alarm_led = 0; while(1) if (QS = true) / Quantified Self flag is true when arduino finds a heartbeat fadeRate = 255; / Set fadeRate Variable to 255 to fade LED with pulse QS = false; / reset the Quantified Self flag for next time heart_rate = BPM; printf(B:%srn,DisBuff); ret = NRF24L01_RxPacket(RX_BUF,250); if (!ret) if (RX_BUF0 = 0 xaa & RX_BUF1 = 0 xbb & RX_BUF2 = 0 xcc & RX_BUF3 = 0 xdd) delay_ms(100); loft_time = 0; TX_BUF0 = heart_rate & 0 xFF; / 數(shù)據(jù)送到緩存 TX_BUF1 = (heart_rate 8 )& 0 xFF;/ 數(shù)據(jù)送到緩存 TX_BUF2 = (heart_rate 16 )& 0 xFF; / 數(shù)據(jù)送到緩存 TX_BUF3 = (heart_rate 24 )& 0 xFF; / 數(shù)據(jù)送到緩存 ret =NRF24L01_TxPacket(NRF_DEFAULT_CH,TX_BUF,200); NRF24L01_RX_Mode(NRF_DEFAULT_CH);/ 配置為接收模式 if (loft_time + 8) loft_alarm_led = 0; beep_alarm = 0; else loft_alarm_led = 1; beep_alarm = 1; delay_ms(1); ;void T0_init(void) / Initializes Timer0 to throw an interrupt every 2mS. TMOD |= 0 x01;/16bit TIMER TL0=T0MS; TH0=T0MS8; TR0=1;/start Timer 0 ET0=1;/enable Timer Interrupt EA=1; / MAKE SURE GLOBAL INTERRUPTS ARE ENABLEDvoid ADC_init(unsigned char channel) P1ASF=ADC_MASKchannel;/enable PlusePin as ADC INPUT ADC_RES=0;/clear former ADC result ADC_RESL=0;/clear former ADC result AUXR1 |= 0 x04;/adjust the format of ADC result ADC_CONTR=channel|ADC_POWER|ADC_SPEEDLL|ADC_START;/power on ADC and start conversionunsigned int analogRead(unsigned char channel)unsigned int result; ADC_CONTR &=!ADC_FLAG;/clear ADC FLAG result=ADC_RES; result=result8;/reload 16 bit TIMER0 Signal = analogRead(PulsePin); / read the Pulse Sensor sampleCounter += 2; / keep track of the time in mS with this variable N = sampleCounter - lastBeatTime; / find the peak and trough of the pulse waveif(Signal (IBI/5)*3)/ avoid dichrotic noise by waiting 3/5 of last IBI if (Signal thresh & Signal Peak) / thresh condition helps avoid noise Peak = Signal; / P is the peak if (N 250) / avoid high frequency noise if ( (Signal thresh) & (Pulse = false) & (N (IBI/5)*3) ) Pulse = true; / set the Pulse flag when we think there is a pulse /blinkPin=0; / turn on pin 13 LED IBI = sampleCounter - lastBeatTime; / measure time between beats in mS lastBeatTime = sampleCounter; / keep track of time for next pulse if(secondBeat) / if this is the second beat, if secondBeat = TRUE secondBeat = false; / clear secondBeat flag for(i=0; i=9; i+) / seed the running total to get a realisitic BPM at startup ratei = IBI; if(firstBeat) / if its the first time we found a beat, if firstBeat = TRUE firstBeat = false; / clear firstBeat flag secondBeat = true; / set the second beat flag EA=1; / enable interrupts again return; / IBI value is unreliable so discard it for(i=0; i200)BPM=200; if(BPM30)BPM=30; DisBuff2 = BPM%10+48; DisBuff1 = BPM%100/10+48; DisBuff0 = BPM/100+48; if(DisBuff0=48) DisBuff0=32; QS = true; / set Quantified Self flag / QS FLAG IS NOT CLEARED INSIDE THIS ISR if (Signal 2500) / if 2.5 seconds go by without a beat thresh = 512; / set thres

注意事項(xiàng)

本文(基于單片機(jī)的多功能自行車防丟系統(tǒng)設(shè)計)為本站會員(good****022)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!