智能電子計(jì)步器畢業(yè)論文

智能電子計(jì)步器畢業(yè)論文

ID:835720

大?。?.44 MB

頁數(shù):44頁

時(shí)間:2017-09-11

上傳者:^_^
智能電子計(jì)步器畢業(yè)論文_第1頁
智能電子計(jì)步器畢業(yè)論文_第2頁
智能電子計(jì)步器畢業(yè)論文_第3頁
智能電子計(jì)步器畢業(yè)論文_第4頁
智能電子計(jì)步器畢業(yè)論文_第5頁
資源描述:

《智能電子計(jì)步器畢業(yè)論文》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫

本科生畢業(yè)論文設(shè)計(jì)題目:_智能電子計(jì)步器__37 上海商學(xué)院本科生畢業(yè)論文論文題目:智能電子計(jì)步器學(xué)生姓名:_____胡黛娟_________學(xué)生學(xué)號:07103040212指導(dǎo)教師:沙立仁二級院系:__信息與計(jì)算機(jī)學(xué)院____專業(yè)班級:072班完成時(shí)間:_____2011年4月20日_______37 目錄聲明II摘要IIIABSTRACTIV第1章概述11.1課題背景11.2課題意義1第2章系統(tǒng)分析與方案比較32.1系統(tǒng)的功能分析32.2系統(tǒng)總體設(shè)計(jì)思路32.3方案論證與比較42.3.1輸入模塊42.3.2顯示模塊5第3章硬件設(shè)計(jì)及介紹63.1微處理器模塊63.1.1外形和電路圖符號63.1.2功能特點(diǎn)和組成63.2傳感模塊83.3顯示模塊83.3.1數(shù)碼管類別93.3.2數(shù)碼管引腳排列103.4元件清單及開發(fā)環(huán)境103.4.1元件清單103.4.2設(shè)計(jì)開發(fā)環(huán)境113.5硬件電路圖設(shè)計(jì)及PCB印刷板113.5.1硬件總電路圖113.5.2關(guān)鍵部分電路圖123.5.3PCB圖14第4章軟件設(shè)計(jì)及調(diào)試164.1總設(shè)計(jì)思路164.2計(jì)步主程序設(shè)計(jì)164.3調(diào)試檢查214.4硬件使用說明21第5章總結(jié)23參考文獻(xiàn)24致謝2437 上海商學(xué)院學(xué)位論文原創(chuàng)性聲明本人鄭重聲明:本人所呈交的學(xué)位論文,系我個(gè)人在導(dǎo)師的指導(dǎo)下進(jìn)行研究工作所取得的成果。除文中已特別加以標(biāo)注和致謝的地方外,不包含其它個(gè)人或機(jī)構(gòu)已經(jīng)發(fā)表或撰寫過的研究成果。對本研究做出貢獻(xiàn)的其它個(gè)人和集體,均已在文中明確說明和致謝。本人充分意識(shí)到本聲明的法律結(jié)果完全由本人承擔(dān)。學(xué)位論文作者簽名:_____日期:年月日學(xué)位論文使用授權(quán)的聲明本人完全了解上海商學(xué)院有關(guān)保留和使用學(xué)位論文的規(guī)定,學(xué)校有權(quán)保留和向有關(guān)部門或機(jī)構(gòu)送交本論文的復(fù)印件和電子版,允許論文被查閱和借閱。學(xué)校可以將本學(xué)位論文的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫,可以采用影印、縮印或其它復(fù)印手段保存和匯編本學(xué)位論文。保密論文在解密后適用本聲明。論文作者簽名:_____論文導(dǎo)師簽名:_____日期:年月日37 基于小波變換的數(shù)字圖像水印技術(shù)摘要隨著經(jīng)濟(jì)不斷增長,在快節(jié)奏、高效率的現(xiàn)代社會(huì)中,人們深知身體健康很重要。在不良飲食習(xí)慣與工作壓力下,不少人處于亞健康狀態(tài)。事實(shí)證明堅(jiān)持步行,就能達(dá)到鍛煉的目的。計(jì)步器的出現(xiàn)滿足了這類人的需求。計(jì)步器的主要功能是檢測步數(shù),通過步數(shù)和步幅可計(jì)算行走的路程,高級的計(jì)步器還可以計(jì)算人體消耗的熱量。但這些計(jì)算的主要依據(jù)是步數(shù)的檢測。本次智能電子計(jì)步器設(shè)計(jì)主要的功能是通過傳感器的感應(yīng)使計(jì)步器計(jì)步數(shù),擴(kuò)展功能是計(jì)時(shí)和計(jì)算頻率,也就是計(jì)走過步數(shù)所用的時(shí)間從而算出每分鐘走多少步數(shù)。設(shè)計(jì)由震蕩傳感器和計(jì)數(shù)器兩部分組成。計(jì)數(shù)部分采用單片機(jī)ET44M210開發(fā)調(diào)試并編入程序。傳感部分使用自己制作的彈珠震蕩模塊來實(shí)現(xiàn),既經(jīng)濟(jì)又實(shí)用。并且考慮到手工制作的會(huì)比較粗糙,可能在震蕩過程中多計(jì)或少計(jì)步數(shù),使計(jì)步不精確。為了解決這個(gè)問題特別加入防抖動(dòng)的部分,使其檢測更精準(zhǔn)。論文主要介紹了本課題的開發(fā)背景,所要完成的功能和開發(fā)的過程。重點(diǎn)說明了系統(tǒng)的設(shè)計(jì)思路和詳細(xì)設(shè)計(jì)過程。關(guān)鍵詞:震蕩傳感器ET44M210單片機(jī)計(jì)步器37 基于小波變換的數(shù)字圖像水印技術(shù)AbstractWiththeeconomygrowinginafastpaced,highefficiency,themodernsociety,peopleknowthathealthisveryimportant.Inunhealthyeatinghabitsandworkingpressure,manypeopleofsub-healthstate.IntheFactswalkcanachievethepurposeoftheexercise.Pedometersatisfiedthedemandforthiskindofperson.Themainfunctionistotestpedometerquantity.Throughthestepsandstridecancalculatethedistance.Seniorpedometercancomputethehumanconsumptionquantityofheat.Butthesecalculationstepsisthemainbasisofdetection.Thisintelligentelectronicpedometerdesignmainfunctionistheinductionbysensorstoprojectpedometerefficiency.Functionexpansionprojectistimingandcalculationfrequency.Itisalsoplanstosteptimeusedpastcalculatehowmanystepsperminutewalk.Designbyvibrationsensorandcounter.Countpartadoptssingle-chipmicrocomputerET44M210developmentofcommissioningandputintoprocedures.Sensingpartusinghomemademarblesconcussionmoduletorealizebymyself.Itiseconomicalandpractical.Consideringthehand-madewillcoarser.Itmaybeinshockprocessmuchplanorlessquantity,andmakeplanprojectsteparenotaccurate.Inordertosolvethisproblemisespeciallytojointhejitterpartandmakeitsdetectionmoreaccurate.Thispapermainlyintroducedthedevelopmentbackgroundandsubjecttocompletethefunctionsanddevelopmentprocess.Keyillustratesthedesigningideaofthesystemanddetaileddesignprocess.Keywords:shocksensor,ET44M210microcontroller,pedometer37 第1章概述1.1課題背景隨著經(jīng)濟(jì)的不斷發(fā)展,快節(jié)奏、高效率的現(xiàn)代社會(huì)中,健康的生活對我們而言越來越重要。當(dāng)今生活的不良飲食習(xí)慣與工作壓力雙重考驗(yàn)下,人們的亞健康趨于嚴(yán)重,而對于繁忙工作的人群來說,鍛煉只可以說是一種美好的向往。因此在交通工具已十分發(fā)達(dá)的今天,最容易被遺忘的健身方法是什么?是步行。下定決心,最容易堅(jiān)持終生的健身方法是什么?也是步行。根據(jù)有關(guān)資料顯示步行對我們的身體健康起到了很大的作用1.步行能增強(qiáng)心臟功能使血管彈,減少血管破裂的可能性。2.步行能增強(qiáng)肌肉力量,強(qiáng)健腿足、筋骨,并能使關(guān)節(jié)靈活,促進(jìn)人體血液循環(huán)和新陳代謝。3.步行可以增強(qiáng)消化腺的分泌功能,促進(jìn)胃腸有規(guī)律的蠕動(dòng),增加食欲,對于防治高血壓、糖尿病、肥胖癥、習(xí)慣性便秘等癥都有良好的作用。4.在戶外新鮮空氣中步行,大腦思維活動(dòng)變得清晰、靈活,可有效消除腦力疲勞,提高學(xué)習(xí)和工作效率。據(jù)有關(guān)專家測試,每周步行三次,每次一小時(shí),連續(xù)堅(jiān)持4個(gè)月者與不喜歡運(yùn)動(dòng)的人相比,前者反映敏銳,視覺與記憶力均占優(yōu)勢。5.步行可以保護(hù)環(huán)境,消除廢氣污染,對強(qiáng)健身體,提高身體免疫力,減少疾病,延年益壽也有積極的推動(dòng)作用。綜上所述為了我們的能擁有一個(gè)健康年輕的身體,也為了不增加城市交通負(fù)擔(dān)和環(huán)境污染,步行可以說是最明智的選擇。1.2課題意義俗話說“百練不如一走”,“步行是運(yùn)動(dòng)之王”??茖W(xué)家最新研究結(jié)果提示,如果一個(gè)人可以步行400米,折算一下是500步左右。這就說明他的身體狀況至少能多活6年以上,而且走得越快,壽命就越長??赡茉诤芏嗳搜劾锟磥恚?7 步行與身體情況以及壽命沒有直接性的聯(lián)系,但根據(jù)多次調(diào)查發(fā)現(xiàn),老年人能否在短時(shí)間內(nèi)可以走完500步是一個(gè)重要的標(biāo)志,并且間接關(guān)系著他們能不能抵御更大的疾病。美國匹茲堡大學(xué)醫(yī)學(xué)院從事該研究的帶頭人艾恩·紐曼教授指出,那些無法走完500步的老年人,在將來的生活中,要比能走完500步的人更加具有面對嚴(yán)重疾病或死亡的危險(xiǎn)。紐曼及其科研小組對2700位年齡介于70~79歲的老年人進(jìn)行了測試,讓他們完成步行任務(wù),并且不帶任何比賽獎(jiǎng)勵(lì)的性質(zhì)。所有參于測試者都事先經(jīng)過體檢,證明其身體健康,他們也都表示走這點(diǎn)路一點(diǎn)也不費(fèi)勁。但最終只有86%的人完成了比賽??茖W(xué)家隨后對所有的參與者進(jìn)行了6年的跟蹤研究。研究發(fā)現(xiàn)完成步行者與未完成者之間出現(xiàn)很大的不同。那些沒有走完全程的人,在后來患上重病或死亡的危險(xiǎn)非常大。完成步行所用時(shí)間也相當(dāng)重要。那些雖然完成步行,但處在最慢的25%人群中的人,其死亡的危險(xiǎn)程度明顯比快行者高出3倍。美國醫(yī)學(xué)專家推薦了一個(gè)用走路自測健康狀況的公式:如果你能在10分鐘內(nèi)走完1000步,說明健康狀況良好;如果能在20分鐘內(nèi)走完2000步,說明健康狀況優(yōu)秀;而如果能在30分鐘內(nèi)走完3000步,那么你的身體狀況與一個(gè)青壯年小伙子一樣棒。正因?yàn)椴叫袑】灯鸬饺绱酥匾淖饔茫中枰容^合理的測出行走的步數(shù),一個(gè)小巧方便的計(jì)步器是不可或缺的。它是一種健康電子產(chǎn)品,顧名思義就是在你走步的時(shí)候幫你計(jì)算一共走了多少步,是一個(gè)既經(jīng)濟(jì)又科學(xué)的小工具。計(jì)步器可以幫我們完成每天走步計(jì)數(shù)目標(biāo)。總的來說,計(jì)步器的開發(fā)研制對健康生活極其關(guān)鍵。它不僅僅是一個(gè)計(jì)數(shù)的機(jī)器,更是一個(gè)督促運(yùn)動(dòng),與健康密切聯(lián)系的必需品。37 第2章系統(tǒng)分析與方案比較2.1系統(tǒng)的功能分析1.基本功能:根據(jù)所學(xué)的知識(shí),設(shè)計(jì)一個(gè)計(jì)步器,要求自行設(shè)計(jì)供電電源,該計(jì)步器能夠?qū)崿F(xiàn)計(jì)步功能。即加1計(jì)數(shù)器:步數(shù)最大值為99999。2.擴(kuò)展功能:(1)記錄本次健身時(shí)間:時(shí)間單位為分鐘。(2)能夠計(jì)算和顯示平均速率:每分鐘走的步數(shù)。2.2系統(tǒng)總體設(shè)計(jì)思路計(jì)步器由控制器模塊,輸入模塊,輸出模塊和電源模塊組成。對仿真器進(jìn)行編程,使單片機(jī)作為主控制設(shè)備對采集到的傳感器信號進(jìn)行處理,最后通過LED數(shù)碼管顯示輸出。系統(tǒng)組成框圖如圖2.1所示。圖2.1系統(tǒng)方案框圖37 2.3方案論證與比較根據(jù)總體設(shè)計(jì)思路分別對輸入模塊和顯示模塊做出分析和比較。2.3.1輸入模塊方案一:采用獨(dú)立式按鍵作為輸入模塊,其特點(diǎn)是直接使用I/O口構(gòu)成單個(gè)按鍵電路,接口電路配置較為靈活,按鍵識(shí)別和軟件結(jié)構(gòu)簡單。但是當(dāng)鍵數(shù)較多時(shí),占用的I/O口較多,比較浪費(fèi)資源,其原理圖如圖2.2所示:圖2.2獨(dú)立的功能按鍵方案二:采用矩陣式鍵盤作為輸入電路,其特點(diǎn)是當(dāng)鍵數(shù)越多時(shí)越節(jié)約I/O口,比較節(jié)省資源,但缺點(diǎn)是電路和軟件結(jié)構(gòu)稍稍繁瑣。其原理圖如圖2.3所示圖2.34*4矩陣式鍵盤電路圖37 綜上所述,本設(shè)計(jì)使用獨(dú)立式按鍵作為計(jì)步器的計(jì)數(shù)按鍵。原因是這個(gè)計(jì)步器按鍵較少,僅需3個(gè)按鍵。若采用鍵盤輸入為軟件設(shè)計(jì)增加負(fù)擔(dān)。并且考慮到本次設(shè)計(jì)中使用的I/O口不是很多,選擇方案一是明智之舉。2.3.2顯示模塊方案一:用LCD顯示,需要使用專用的驅(qū)動(dòng)控制芯片,如PIC16F873,其特點(diǎn)是軟件實(shí)現(xiàn)比較復(fù)雜,且價(jià)格較貴。方案二:采用LED數(shù)碼管串行靜態(tài)顯示,雖然其顯示亮度高,但是如果顯示器位數(shù)較多,需要增加鎖存器,占用I/O口線較多,CPU的消耗大。并且電路連接較為繁瑣。方案三:采用LED數(shù)碼管并行動(dòng)態(tài)顯示,顯示亮度不及靜態(tài)顯示,但電路相對簡單,適合于顯示位數(shù)較多的設(shè)計(jì)。綜上所述,考慮到用到5位數(shù)字顯示,為了不增加電路的負(fù)重感,所以采用方案三使用2個(gè)三位一體并行動(dòng)態(tài)數(shù)碼管。該數(shù)碼管具有程序編寫簡單,對外界環(huán)境要求低,易于維護(hù)的特點(diǎn)。其排列形狀如圖2.4所示。圖2.4數(shù)碼管排列形狀37 第3章硬件設(shè)計(jì)及介紹3.1微處理器模塊本設(shè)計(jì)規(guī)定使用ET44M210芯片,該芯片由臺(tái)灣義統(tǒng)電子股份有限公司(EtomsElectronicsCorp.)設(shè)計(jì),是一款采用CMOS工藝制造,低價(jià)格﹑高性能﹑低功耗的8位SoC微控制器。3.1.1外形和電路圖符號圖3.1外形圖圖3.2電路圖符號3.1.2功能特點(diǎn)和組成ET44M37 210芯片采用RISC指令集架構(gòu),數(shù)據(jù)存儲(chǔ)器容量1.3KB,程序存儲(chǔ)器容量16KB,堆棧層數(shù)16層,中斷源20個(gè)。主要功能特點(diǎn)有:1)具有42個(gè)I/O引腳,可設(shè)置上拉電阻和按鍵喚醒功能2)具有一個(gè)8位定時(shí)/計(jì)數(shù)器TCC和16位長時(shí)定時(shí)器FRC3)具有一個(gè)串行外圍接口SPI4)具有2路﹑16位的脈寬調(diào)制輸出PWM5)具有一個(gè)10位﹑16路模數(shù)轉(zhuǎn)換器ADC6)具有一個(gè)2.4GMH無線射頻調(diào)制解調(diào)器WM7)具有一個(gè)符合USB1.1通信協(xié)議的全速USB接口芯片的內(nèi)部組成如下圖3.3所示:DownstreamPort*3UpstreamPortRFModuleROM/RAMI/OPORTTIMER/CPWMADCSPIMCUUSBHUB+EmbeddedPortWMPLL圖3.3微處理器內(nèi)部組成本次設(shè)計(jì)中所涉及到的微處理器部分是輸入輸出I/O接口,定時(shí)器/計(jì)數(shù),中斷控制。(1)輸入輸出I/O接口芯片最多可以有42個(gè)I/O引腳(PTA0~7,PTB0~7,PTC0~5,PTD0~7,PTE0~7,PTF0~3),通過有關(guān)寄存器的設(shè)置可以定義這些引腳為輸入或輸出。所有引腳都可以選擇內(nèi)部上拉電阻,部分引腳可以選擇集電極開路。此外,還可以選擇按鍵喚醒功能。(2)定時(shí)器/計(jì)數(shù)器芯片除了通常的帶預(yù)除器的8位的計(jì)數(shù)器外,還有一個(gè)16位的“長時(shí)計(jì)數(shù)器”37 ,可以很方便地實(shí)現(xiàn)長時(shí)定時(shí),具有定時(shí)器溢出中斷的功能。(3)中斷控制芯片所有功能模塊的響應(yīng)都是通過中斷工作方式來實(shí)現(xiàn)的。ET44M210將ROM存儲(chǔ)器的0x10到0xA8的區(qū)域作為20個(gè)中斷響應(yīng)入口。本設(shè)計(jì)是用FRC計(jì)時(shí)器0x0020自由計(jì)數(shù)器溢出中斷,自由計(jì)數(shù)器從ffffH到0000H時(shí)可以發(fā)生中斷[1][2]3.2傳感模塊本次設(shè)計(jì)由于沒有現(xiàn)成的傳感器使用,并考慮到降低成本,合理利用身邊易獲得的材料自制一個(gè)震蕩模塊,其由一盒子和一個(gè)小鋼珠組成,用無導(dǎo)電性的有機(jī)玻璃制作成盒子狀,使用氯仿將一塊導(dǎo)電的銅片粘合固定于盒子底部,再將另一塊銅片粘在盒子的正前方玻璃壁上,并確保2塊銅片無連接。最后將能起到導(dǎo)電作用的小鋼珠放置其中,在前后搖動(dòng)盒子的同時(shí),將會(huì)使小鋼珠一前一后運(yùn)動(dòng),使電路導(dǎo)通從而計(jì)步。最后在盒子的前后各連一根導(dǎo)線作為輸入端和接地端,讓震蕩信息轉(zhuǎn)化為開關(guān)信號達(dá)到傳感器的作用。為了方便使用和收納,增加了一個(gè)插座使得計(jì)步器在不使用時(shí)可以與傳感器分開保存,在需要使用時(shí)才連接的作用。本設(shè)計(jì)新穎,構(gòu)思巧妙,改變了現(xiàn)有擺錘與開關(guān)傳感器分離設(shè)計(jì)的思念,合理設(shè)計(jì)成一體化的震蕩模塊,通用于各種造型的殼體或者電路板結(jié)構(gòu)上,確保其計(jì)步精度不因電路板焊接差異而產(chǎn)生誤差,也可大大降低實(shí)際生產(chǎn)成本。結(jié)構(gòu)示意圖如下圖3.4所示:圖3.4自制傳感器示意圖3.3顯示模塊本次設(shè)計(jì)使用的是型號為SP420562K三位一體共陰數(shù)碼管。3.3.1數(shù)碼管類別按照數(shù)碼管上各發(fā)光二極管的電極的連接方式不同,可以將數(shù)碼管分為共陽極37 數(shù)碼管和共陰極數(shù)碼管兩種。共陰極數(shù)碼管是指把a(bǔ)、b、c、d、e、f、g這7個(gè)發(fā)光二極管的陰極連接到一起,形成公共陰極(COM)的數(shù)碼管。共陰極數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極COM接到地線GND上,當(dāng)某一字段發(fā)光二極管的陽極為高電平時(shí),相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陽極為低電平時(shí),相應(yīng)字段就不亮。共陰極數(shù)碼管內(nèi)部連接如圖3.5所示。圖3.5共陰數(shù)碼管內(nèi)部連接圖共陽極數(shù)碼管是指把a(bǔ)、b、c、d、e、f、g這7個(gè)發(fā)光二極管的陽極連接到一起,成公共陽極(COM)的數(shù)碼管。共陽極數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極COM接到+5V電源上,當(dāng)某一字段發(fā)光二極管的陰極為低電平時(shí),相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陰極為高電平時(shí),相應(yīng)字段就不亮。共陽數(shù)碼管內(nèi)部連接如圖3.6所示。圖3.6共陽數(shù)碼管內(nèi)部連接圖數(shù)碼管要正常顯示,就要用驅(qū)動(dòng)電路來驅(qū)動(dòng)數(shù)碼管的各個(gè)段碼,用單片機(jī)驅(qū)動(dòng)LED數(shù)碼管有很多方法,按顯示方式分,有靜態(tài)顯示和動(dòng)態(tài)(掃描)顯示,按譯碼方式可分硬件譯碼和軟件譯碼之分。本設(shè)計(jì)根據(jù)上述比較后選擇了動(dòng)態(tài)顯示驅(qū)動(dòng),動(dòng)態(tài)顯示驅(qū)動(dòng)是將所有數(shù)碼管的8個(gè)顯示筆劃”a,b,c,d,e,f,g,dp”的同名端連在一起。其占用CPU時(shí)間多,顯示數(shù)據(jù)有閃爍感,但能夠節(jié)省大量的I/O端口,硬件開銷小,而且功耗更低,可以降低成本和電源功耗。37 硬件譯碼就是顯示的段碼完全由硬件完成,CPU只要送出標(biāo)準(zhǔn)的BCD碼即可,硬件接線有一定標(biāo)準(zhǔn)。軟件譯碼是用軟件來完成硬件的功能,硬件簡單,接線靈活,顯示段碼完全由軟件來處理,是目前常用的顯示驅(qū)動(dòng)方式。[5]3.3.2數(shù)碼管引腳排列而本次設(shè)計(jì)使用到的數(shù)碼管型號為SP420562K,其中引腳11,7,4,2,1,10,5,3連接輸入端;引腳12,9,8連接輸出端。排列順序以及引腳分布如圖3.7和圖3.8所示。圖3.7數(shù)碼管的排列圖3.8數(shù)碼管的引腳圖3.4元件清單及開發(fā)環(huán)境3.4.1元件清單開發(fā)電路板一塊ET44M210芯片一塊SP420561K(三位)LED數(shù)碼管2組160歐電阻8個(gè),1千歐5個(gè)按鍵3個(gè):開關(guān),切換模式,計(jì)數(shù)S9013NPN型三極管5個(gè)發(fā)光二級管1個(gè):指示燈37 導(dǎo)線若干3.4.2設(shè)計(jì)開發(fā)環(huán)境WindowsXP/2000VisualStudio2008Protel2004ET44M210仿真器軟件:ETUSBWICE2.123.5硬件電路圖設(shè)計(jì)及PCB印刷板3.5.1硬件總電路圖根據(jù)以上的分析和設(shè)計(jì)思路綜合設(shè)計(jì)并使用PROTEL2004軟件畫出總電路圖如圖3.9所示:圖3.9總設(shè)計(jì)電路圖3.5.2關(guān)鍵部分電路圖37 其中,顯示部分使用I/O引腳是PTB0~7作為數(shù)碼管輸入的八個(gè)端口,設(shè)計(jì)時(shí)為避免電流過大而導(dǎo)致數(shù)碼管損壞又在其每個(gè)輸入口串聯(lián)一個(gè)電阻。電阻值根據(jù)電壓3.3伏除以數(shù)碼管電流20毫安計(jì)算得到約為160歐。PTD0~4作為輸出5個(gè)端口,分別輸出個(gè)位到萬位上的數(shù)字,并串聯(lián)S9013NPN型三極管放大電路。其中NPN型三極管的發(fā)射極連接數(shù)碼管的輸入端?;鶚O連接一個(gè)電阻值為1000歐的電阻,集電極接地。實(shí)驗(yàn)過程中使用萬用表區(qū)別三極管的3個(gè)極。首先將萬用表打到1K檔,先用黑表筆接三極管的任意一個(gè)腳,再用紅表筆測其他兩個(gè)腳,直到找到紅表筆測的任意兩個(gè)腳都是數(shù)十K時(shí),說明黑表筆所接的是三極管的基極,另兩個(gè)腳阻值大的是發(fā)射極,阻值小的是集電極。具體電路圖如圖3.10顯示部分所示:圖3.10顯示部分本設(shè)計(jì)采用1.5v電池2節(jié),外形小巧易攜帶。電路圖如下圖3.11所示:37 圖3.11電池部分本設(shè)計(jì)的濾波部分由2個(gè)電容組成,一個(gè)10微法的電解電容,濾除低頻波;另一個(gè)0.1微法的瓷片電容,濾除高頻波。濾波電路圖如下圖3.12所示:圖3.12濾波部分根據(jù)單片機(jī)要復(fù)位,本質(zhì)上是在其RESET腳上保持一定時(shí)間的高電平,檢測到這個(gè)電平保持時(shí)間大于它要求的時(shí)間就會(huì)自動(dòng)復(fù)位的道理。本次復(fù)位電路設(shè)計(jì)是由一個(gè)按鍵一個(gè)較小電容和電阻組成。按鍵按下后:電容相當(dāng)于被短路放電、RST直接和VDD相連,就是高電平,此時(shí)進(jìn)入“復(fù)位狀態(tài)”。松手后:電源開始對電容器充電,此時(shí),充電電流在電阻上,形成高電平送到RST,仍然是“復(fù)位狀態(tài)”,稍后,充電結(jié)束,電流降為0,電阻上的電壓也將為0,RST降為低電平,開始正常工作。電容和電阻的取值則根據(jù)RC電路響應(yīng)時(shí)間,上電對電容充電,充電的時(shí)間保證在復(fù)位高電平要求時(shí)間。一般10uf和10k就可以了,只要復(fù)位腳通過至少2個(gè)時(shí)間機(jī)器周期的高電平,單片機(jī)就復(fù)位。它們選取也是按照大于等于2個(gè)時(shí)間機(jī)器周期的時(shí)間常數(shù)計(jì)算出來的。電路圖如圖3.13所示:37 圖3.13復(fù)位電路3.5.3PCB圖設(shè)計(jì)PCB的流程主要包括:1.準(zhǔn)備原理圖和SPICEnetlist。2.規(guī)劃電路板也就是采用板材的物理尺寸,和元件的封裝形式極其安裝位置,此步極為關(guān)鍵。3.設(shè)置參數(shù)包括元件的布置參數(shù)和布線參數(shù)。4裝入SPICEnetlist及元件封裝完成電路板的自動(dòng)布線。5.布局元件由protel2004自動(dòng)完成。6.自動(dòng)布線和手工調(diào)整。7.保存及輸出文件。其中特別需要注意的有兩點(diǎn):首先,要仔細(xì)考慮PCB尺寸的大小過大導(dǎo)致印制線條長,阻抗增加;過小則散熱不好。其次布線時(shí)要注意輸入/輸出端用的導(dǎo)線應(yīng)盡量避免相鄰平行。本設(shè)計(jì)的PCB如下圖3.14所示:37 圖3.14印制電路板37 第4章軟件設(shè)計(jì)及調(diào)試4.1總設(shè)計(jì)思路本設(shè)計(jì)采用C語言對單片機(jī)進(jìn)行編程。為了使程序條理清晰,整個(gè)程序由計(jì)數(shù),定時(shí),計(jì)算頻率,數(shù)碼管顯示四部分組成。其中定時(shí)器用的是FRC計(jì)時(shí)器,當(dāng)FRCE是1時(shí)開通計(jì)時(shí)器功能,0則關(guān)閉。FRCOF,狀態(tài)寄存器的計(jì)時(shí)器溢出標(biāo)志。當(dāng)FRC的值從ffffH→0000H時(shí),F(xiàn)RC溢出中斷標(biāo)志FRCOF置為1,程序轉(zhuǎn)入該中斷向量地址0x0020去執(zhí)行對應(yīng)的中斷子程序。顯示部分顯示的是5位計(jì)步數(shù)(最大計(jì)數(shù)為99999),步數(shù)走過的時(shí)間(分鐘為單位)以及頻率(取整數(shù))。以下詳細(xì)介紹了主程序的設(shè)計(jì)。[2]4.2計(jì)步主程序設(shè)計(jì)主程序包括開始-停止-清零過程,頻率計(jì)算部分和計(jì)數(shù)部分。主要設(shè)計(jì)思路是:按鍵1與PTC2管腳連接,只有在count_off==1模式下按鍵有效,功能是切換不同的顯示內(nèi)容,默認(rèn)狀態(tài)是Diaplay_mode=0顯示當(dāng)前步數(shù);按下一次Diaplay_mode=1顯示時(shí)間:格式為hh-mm(小時(shí)-分鐘);再按下一次Diaplay_mode=2顯示當(dāng)前時(shí)間內(nèi)的步頻,為步數(shù)比上時(shí)間。如果時(shí)間min<1分鐘按時(shí)間min=1分鐘計(jì)算。按鍵2與PTC4管腳連接。作用是啟動(dòng)/停止/清零計(jì)數(shù)。按鍵3與PTC3管腳連接。作用是模擬傳感器走步,按下一次步數(shù)+1,只有在count_off==0(計(jì)步數(shù)計(jì)時(shí)狀態(tài))下按鍵有效。默認(rèn)狀態(tài)是count_off==2處于清零等待狀態(tài),此時(shí)按下按鍵2,count_off==0,為計(jì)步數(shù)狀態(tài),同時(shí)計(jì)時(shí)開始。按下按鍵3,步數(shù)加1。再次按下按鍵2,count_off==1,為停止計(jì)步數(shù)計(jì)時(shí)狀態(tài),數(shù)據(jù)不清零,此時(shí)按下按鍵1即可切換顯示內(nèi)容。再次按下按鍵2,count_off==2,清零,等待下一次的計(jì)數(shù)周期。計(jì)數(shù)部分流程圖如下圖4.1所示:37 圖4.1計(jì)數(shù)部分流程圖計(jì)算頻率就是周期性信號在單位時(shí)間(1分鐘)內(nèi)變化次數(shù),若在一定時(shí)間間隔T內(nèi)測得這個(gè)周期性信號的重復(fù)變化次數(shù)N,其頻率就表示為f=N/T。具體流程圖如下圖4.2所示:37 圖4.2頻率設(shè)計(jì)流程圖主程序代碼段及注釋://********************************************************************************voidmain(void){IOCA=0x00;IOCB=0x00;IOCC=PUCC=PTC5+PTC4+PTC3+PTC2+PTC1+PTC0;//PTC0~5為輸入端口上拉電阻IOCD=0x00;IOCE=0x00;IOCF=0x00;//PTF0驅(qū)動(dòng)紅色二極管燈37 PTA=0x00;PTB=0x00;//PTB驅(qū)動(dòng)led輸出PTC=0x00;PTD=0x00;//PTD0-4控制led0-45個(gè)數(shù)碼管的通斷PTE=0x00;PTF=0x00;Delay_Nms(1000);//等待1秒穩(wěn)定可以縮短時(shí)間去除也可以//HFRC=21;//FRC定時(shí)器10msVALUE>>8//LFRC=160;INTF=0x00;FRCC=0;PRIE=0x01;INTE=GIE+EINT1E+FRCOE+EINT0E;//中斷設(shè)置FRCOE外部中斷0,1使能INTF=0x00;//請中斷標(biāo)志EINTED=0x00;//下降沿觸發(fā)外部中斷count_P=0;//初始化的時(shí)候步數(shù)為0count_off=2;//初始化的時(shí)候停止計(jì)數(shù)計(jì)時(shí)Diaplay_mode=0;//默認(rèn)顯示走過的步數(shù)PTF=0x01;//開始紅色led亮37 while(1){if(count_off==0)//顯示當(dāng)前計(jì)數(shù)值按下計(jì)數(shù)按鍵顯示增加1{BuShuTran(count_P);}elseif(count_off==1)//如果處于停止計(jì)時(shí)計(jì)數(shù)狀態(tài)led顯示-----//此時(shí)按下顯示模式切換的話可以在屏幕上顯示步數(shù)、走過時(shí)間xx小時(shí)xx分鐘//以及顯示走過的頻率默認(rèn)顯示為走過的步數(shù)//PTC2為模式切換按鍵按下后切換顯示內(nèi)容只有停止計(jì)數(shù)后按下有效{if(!(PTC&PTC2)){Delay_Nms(50);while(!(PTC&PTC2));//按鍵延時(shí)去抖動(dòng)Delay_Nms(50);Diaplay_mode++;//切換模式if(Diaplay_mode>2)37 Diaplay_mode=0;}//********************************************************************************4.3調(diào)試檢查在調(diào)試過程中,我所做的首先是查找電路中是否有焊接位置的錯(cuò)誤,其次檢查是否有虛焊部分。在確保電路焊接無誤的情況下,連接USB下載程序,編譯無錯(cuò)誤。為了檢查程序是否能是電路成功運(yùn)行,我把傳感的部分先用按鍵代替。這樣做的目的是檢查除了傳感部分的其他部分能否正常運(yùn)行。最后才連接自制的震蕩傳感器,在實(shí)驗(yàn)過程中,確實(shí)也碰到了事先預(yù)想的問題,也就是震蕩一次多計(jì)數(shù)的問題,根據(jù)原先的設(shè)想的解決辦法:加入防抖動(dòng)程序或者加長延時(shí)時(shí)間和并聯(lián)一個(gè)較小電容。經(jīng)過實(shí)驗(yàn)比較,三個(gè)方法中較易進(jìn)行的是把延時(shí)時(shí)間變長,程序如下:{if(!(PTC&PTC2)){Delay_Nms(50);while(!(PTC&PTC2));//按鍵延時(shí)去抖動(dòng)}經(jīng)過多次比較后,選擇了最合適的延時(shí)時(shí)間,使計(jì)數(shù)更精確。4.4硬件使用說明按鍵介紹如下:本設(shè)計(jì)一共3個(gè)按鍵,按鍵1在電路板下方左邊起切換作用,按鍵2在中間起開關(guān)作用,按鍵3在右邊代替?zhèn)鞲衅鲿r(shí)使用起計(jì)數(shù)作用。操作過程是如下:1.初始狀態(tài),屏幕顯示”-----”。上電時(shí),默認(rèn)為count_off=37 =2,Diaplay_mode=0狀態(tài)。此時(shí)按下按鍵2,計(jì)數(shù)開始,計(jì)時(shí)也開始。1.按下按鍵3(代替?zhèn)鞲衅鲿r(shí)使用),按一次步數(shù)增加1,指示燈每秒閃一次。2.若想停止計(jì)數(shù),則再次按下按鍵2,此時(shí)屏幕顯示步數(shù)(默認(rèn)Diaplay_mode=0),(如果再按按鍵3計(jì)數(shù)也不會(huì)增加)。這點(diǎn)的好處是在換上震蕩傳感器使用時(shí),不會(huì)因?yàn)閬聿患安鹣露鴮?dǎo)致繼續(xù)計(jì)步,使計(jì)數(shù)測量過程很切實(shí)際。3.此時(shí)可以按下按鍵1,按下一次顯示時(shí)間,再按下顯示頻率,在按下又顯示步數(shù),循環(huán)顯示。4.計(jì)步完畢,需要清零,按下按鍵2,此時(shí)屏幕又重新顯示”-----”,表示清零等待下一個(gè)計(jì)步數(shù)周期。37 第5章總結(jié)經(jīng)過近四個(gè)月的學(xué)習(xí)與努力,我的畢業(yè)設(shè)計(jì)已經(jīng)基本完成。在次過程中由于對仿真軟件不太熟悉,在使用ET_USBICE軟件設(shè)計(jì)過程中遇到過一些困難,在沙立仁導(dǎo)師的幫助下一一解決了,不僅學(xué)會(huì)了一些電路仿真設(shè)計(jì)能力,而且在解決這些問題的過程也是對自身專業(yè)素質(zhì)的一種提高。在制作硬件的過程中心得體會(huì)也是不少。在焊接過程中元件必須清潔和鍍錫,焊接前用小刀刮掉氧化膜,然后再進(jìn)行焊接。焊接時(shí)應(yīng)使電烙鐵的溫度高于焊錫的溫度以烙鐵頭接觸松香剛剛冒煙為好。焊接點(diǎn)的上錫數(shù)量焊接點(diǎn)上的焊錫數(shù)量不能太少,太少了焊接不牢,機(jī)械強(qiáng)度也太差。而太多容易造成外觀一大堆而內(nèi)部未接通。焊錫應(yīng)該剛好將焊接點(diǎn)上的元件引腳全部浸沒,輪廓隱約可見為好。在調(diào)試過程中,首先檢查程序段的邏輯問題。程序段的延時(shí)等部分是否編寫合理,檢查無誤。進(jìn)而檢查電路連接問題。必須檢查有無漏焊、虛焊以及由于焊錫流淌造成的元件短路。虛焊較難發(fā)現(xiàn),可用鑷子夾住元件引腳輕輕拉動(dòng),如發(fā)現(xiàn)搖動(dòng)應(yīng)立即補(bǔ)焊。解決了上述問題后再次進(jìn)行檢測,最終完成了調(diào)試。通過搭建電路板學(xué)習(xí)到手工電烙鐵的焊接技術(shù),能夠獨(dú)立的完成簡單電子產(chǎn)品的安裝與焊接、印制電路板圖的設(shè)計(jì)制作等。熟悉電子產(chǎn)品的安裝工藝的生產(chǎn)流程,了解電子產(chǎn)品的調(diào)試方法。其次,熟悉常用電子器件的類別、型號、規(guī)格、性能及其使用范圍,能查找資料,查閱有關(guān)的電子器件圖書等。最后,雖然還是不夠嫻熟,但基本能編寫一些簡單的程序。這些知識(shí)不僅在課堂上有效,在日常生活中更是有著現(xiàn)實(shí)意義,也對自己的動(dòng)手能力是個(gè)很大的鍛煉。在設(shè)計(jì)中,提高了自己解決問題的能力。通過本次設(shè)計(jì)培養(yǎng)了我理論聯(lián)系實(shí)際的能力,提高了我分析問題和解決問題的能力,增強(qiáng)了獨(dú)立工作的能力。由于本系統(tǒng)從開始的計(jì)劃到后來的具體實(shí)施的這段時(shí)間,無論在時(shí)間和細(xì)致程度來說都是有限的,所以程序真正投入使用還是會(huì)有些許不妥之處,希望各位老師能給予批評和指導(dǎo)。能在今后的不斷的學(xué)習(xí)和努力中,把程序做得更好,真正達(dá)到本設(shè)計(jì)的作用。最后,感謝導(dǎo)師沙立仁老師所給予的幫助。37 參考文獻(xiàn)[1]沙立仁.ET44M210匯編語言講義[2]董勝源.ET44系列USB單片機(jī)控制與實(shí)踐[M].北京:北京航空工業(yè)大學(xué)出版社[3]梁森.自動(dòng)檢測技術(shù)及應(yīng)用[M].北京:機(jī)械工業(yè)出版社[4]楊頌華,馮毛官,孫萬蓉,胡力山.數(shù)字電子技術(shù)基礎(chǔ)[M].西安:西安電子科技大學(xué)出版社[5]李朝青.單片機(jī)原理及接口技術(shù)[M].北京:電子工業(yè)出版社,2004[6]譚博學(xué),苗匯靜.集成電路原理及應(yīng)用[M].北京:電子工業(yè)出版社,2003.9[7]白中英.數(shù)字邏輯與數(shù)字系統(tǒng)(第四版立體化教材)[M].北京:科學(xué)出版社,2008[8]崔武子,趙重敏,李青.c程序設(shè)計(jì)教程[M].北京:清華大學(xué)出版社,2007.6[9]馬忠梅.單片機(jī)的c語言應(yīng)用程序設(shè)計(jì)[M].北京:北京航天大學(xué)出版社,2003.11[10]李義府.模擬電子技術(shù)基礎(chǔ)[M].國際科技大學(xué)出版社,2004[11]HarpritSinghSandhu.RuningSmallMotorswithPICMicrontrollers,McGrawHillProfessional[J].2009[12]BoschRexrothAG.RexrothMTXThenewCNCsystemsolution-perfectcuttingandforming[J].2006致謝在我的論文完成過程中,得到了很多人的幫助與支持。首先,最感謝的是我的導(dǎo)師沙立仁老師,感謝他對我學(xué)業(yè)的關(guān)心與指導(dǎo),他以嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度,給我提出了許多批評與建議,使我受益匪淺。在我完成畢業(yè)設(shè)計(jì)的過程中,他抽出很多時(shí)間和我討論系統(tǒng)的設(shè)計(jì)問題,使我的論文得以如期完成,在此致上最真摯的謝意。其次,感謝家人給予我學(xué)業(yè)上和生活上的支持與照顧。同時(shí)感謝給與我?guī)椭母魑焕蠋熗瑢W(xué)以及朋友們。37 附錄實(shí)物圖:設(shè)計(jì)代碼及詳細(xì)注釋如下://=============================頭文件=================================#include"et44m210C.h"http://****************************************************************************37 #defineVALUE5536//宏定義預(yù)載值VALUE65536-60000//(65536-HFRC:LFRC)*(1/6MHZ)//21160//*******************************變量定義*****************************constunsignedcharLED[12]//0~9DP-數(shù)碼數(shù)據(jù)={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x80,0x40};//0x80代表"."0x40代表"-"unsignedcharLed_Data[5]={0,0,0,0,0};//顯示模式下Led_Data[4]Led_Data[3]顯示小時(shí)數(shù)據(jù)led2顯示"-"作為間隔//Led_Data[1]Led_Data[0]分鐘unsignedintPinlv=0;//中斷計(jì)數(shù)變量tcountunsignedchartcount=0;//中斷計(jì)數(shù)變量tcountunsignedcharsec=0;//設(shè)置秒變量secunsignedintmin=0;//設(shè)置分變量minunsignedintminend=0;//設(shè)置分變量minend存儲(chǔ)最后時(shí)間數(shù)據(jù)unsignedcharhour=0;//設(shè)置時(shí)變量hourunsignedchari=0;//變量unsignedcharcount_off=0;//是否停止計(jì)數(shù)計(jì)時(shí)count_off=0計(jì)數(shù)計(jì)時(shí)開始//count_off=1停止計(jì)數(shù)計(jì)時(shí)此時(shí)可以選擇顯示模式//count_off=2清零頻率時(shí)間步數(shù)數(shù)據(jù)unsignedinttemp=0;//變量unsignedcharDiaplay_mode=0;//設(shè)置顯示狀態(tài)標(biāo)志Diaplay_mode=0顯示走過的步數(shù)//Diaplay_mode=1顯示走過的時(shí)間Diaplay_mode=2顯示走過的頻率(步/分鐘)37 unsignedintcount_P=0,count_Pend=0;//所計(jì)步數(shù)unsignedcharled_dis=0;//*****************************子程序定義***************************voidDelay_Nus(unsignedintn);//延時(shí)NusvoidDelay_Nms(unsignedintn);//延時(shí)NmsvoidLED_Display(void);//LED掃描顯示子程序voidBuShuTran(unsignedintnu);//將步數(shù)轉(zhuǎn)換為led顯示的內(nèi)容voidTimeTran(unsignedintno);//將時(shí)間轉(zhuǎn)換為led顯示的內(nèi)容voidPinlvTran(unsignedintnf);//將頻率轉(zhuǎn)換為led顯示的內(nèi)容//*****************************main主程序**********************voidmain(void){IOCA=0x00;IOCB=0x00;IOCC=PUCC=PTC5+PTC4+PTC3+PTC2+PTC1+PTC0;//PTC0~5為輸入端口上拉電阻IOCD=0x00;IOCE=0x00;IOCF=0x00;//PTF0驅(qū)動(dòng)紅色二極管燈PTA=0x00;PTB=0x00;//PTB驅(qū)動(dòng)led輸出PTC=0x00;PTD=0x00;//PTD0-4控制led0-45個(gè)數(shù)碼管的通斷PTE=0x00;PTF=0x00;Delay_Nms(1000);//等待1秒穩(wěn)定可以縮短時(shí)間去除也可以//HFRC=21;//FRC定時(shí)器10msVALUE>>837 //LFRC=160;INTF=0x00;FRCC=0;PRIE=0x01;INTE=GIE+EINT1E+FRCOE+EINT0E;//中斷設(shè)置FRCOE外部中斷0,1INTF=0x00;//請中斷標(biāo)志EINTED=0x00;//下降沿觸發(fā)外部中斷count_P=0;//初始化的時(shí)候步數(shù)為0count_off=2;//初始化的時(shí)候停止計(jì)數(shù)計(jì)時(shí)Diaplay_mode=0;//默認(rèn)顯示走過的步數(shù)PTF=0x01;//開始紅色led亮while(1){if(count_off==0)//顯示當(dāng)前計(jì)數(shù)值按下計(jì)數(shù)按鍵顯示增加1{BuShuTran(count_P);}elseif(count_off==1)//如果處于停止計(jì)時(shí)計(jì)數(shù)狀態(tài)led顯示//此時(shí)按下顯示模式切換的話可以在屏幕上顯示步數(shù)、走過時(shí)間xx小時(shí)xx分鐘//以及顯示走過的頻率默認(rèn)顯示為走過的步數(shù)//PTC2為模式切換按鍵按下后切換顯示內(nèi)容只有停止計(jì)數(shù)后按下有效{if(!(PTC&PTC2)){37 Delay_Nms(50);while(!(PTC&PTC2));//按鍵延時(shí)去抖動(dòng)Delay_Nms(50);Diaplay_mode++;//切換模式if(Diaplay_mode>2)Diaplay_mode=0;}if(Diaplay_mode==0)//顯示計(jì)數(shù)值{BuShuTran(count_P);//數(shù)碼管顯示當(dāng)前走過的步數(shù)}elseif(Diaplay_mode==1){TimeTran(minend);//數(shù)碼管顯示走過時(shí)間值}elseif(Diaplay_mode==2){PinlvTran(Pinlv);//數(shù)碼顯示走步頻率(取整數(shù))}}elseif(count_off==2)//顯示"-----"表明處于停止計(jì)數(shù)等待開始狀態(tài){Led_Data[0]=11;Led_Data[1]=11;Led_Data[2]=11;Led_Data[3]=11;37 Led_Data[4]=11;LED_Display();}}}//********************************中間按鍵中斷****************************voidINT0_ISR(void)interruptEINT0_VEC//用于顯示停止計(jì)數(shù)時(shí)候的不同顯示內(nèi)容{Delay_Nms(100);//延時(shí)鍵盤去抖動(dòng)while(!(PTC&PTC4));//按鍵按下PTC的PTC4管腳電平為低PTC&PTC4=0PTC4EINT1Delay_Nms(50);count_off++;if(count_off>2)count_off=0;if(count_off==0)INTF&=~FRCOF;elseif(count_off==1)//count_off==1停止計(jì)數(shù)默認(rèn)顯示步數(shù)此時(shí)按下最左邊按鍵可以切換顯示內(nèi)容{//Delay_Nms(20);Pinlv=0;minend=min+1;temp=count_P;while(temp>=minend){temp=temp-minend;37 Pinlv++;}}elseif(count_off==2)//count_off==1清零等待重新開始{min=0;minend=0;count_P=0;sec=0;Diaplay_mode=0;}INTF&=~EINT0F;//清中斷}//******************************最右邊按鍵計(jì)數(shù)中斷**********************************voidINT1_ISR(void)interruptEINT1_VEC//按下一次計(jì)數(shù)+1{Delay_Nms(100);//延時(shí)鍵盤去抖動(dòng)while(!(PTC&PTC3));//按鍵按下PTC的PTC4管腳電平為低PTC&PTC4=0PTC4EINT1Delay_Nms(50);if(count_off==0)//有效計(jì)時(shí)計(jì)數(shù)過程中才計(jì)數(shù){count_P++;//步數(shù)增加}INTF&=~EINT1F;}37 //******************************FRC定時(shí)器中斷***************************voidFRC_ISR(void)interruptFRCO_VEC//從5536計(jì)數(shù)到65536計(jì)60000個(gè)數(shù)耗時(shí)10ms{HFRC=21;//FRC定時(shí)器10msVALUE>>8LFRC=160;tcount++;//10ms加一次if(tcount==100)//100次為1秒{tcount=0;sec++;if(sec>=60){sec=0;min++;}if(count_off==2)//count_off==2清零min計(jì)數(shù){min=0;}PTF=~PTF;}if(count_off==0)//count_off==0計(jì)數(shù)狀態(tài)下才清中斷才能計(jì)時(shí)其他狀態(tài)計(jì)時(shí)停止INTF&=~FRCOF;}//****************************延時(shí)us程序*************************voidDelay_Nus(unsignedintn)37 {while(n--){};}//***********************************延時(shí)ms程序**********************voidDelay_Nms(unsignedintn){unsignedinti=0,j=0;for(i=0;i=10000)//計(jì)算第五位顯示內(nèi)容{count_P-=10000;led_dis++;}Led_Data[4]=led_dis;led_dis=0;while(count_P>=1000)//計(jì)算第四位顯示內(nèi)容{count_P-=1000;led_dis++;}Led_Data[3]=led_dis;37 led_dis=0;while(count_P>=100)//計(jì)算第3位顯示內(nèi)容{count_P-=100;led_dis++;}Led_Data[2]=led_dis;led_dis=0;while(nu>=10)//計(jì)算第2位顯示內(nèi)容{led_dis++;nu-=10;}Led_Data[1]=led_dis;//Led_Data[1]=count_P/10;Led_Data[0]=nu;LED_Display();}voidTimeTran(unsignedintno)//將傳過來的時(shí)間處理顯示于數(shù)碼管{temp=no;led_dis=0;while(temp>=60)//60分鐘1小時(shí){led_dis++;temp=temp-60;}37 Led_Data[4]=0;while(led_dis>=10){Led_Data[4]=Led_Data[4]+1;led_dis=led_dis-10;}Led_Data[3]=led_dis;Led_Data[2]=11;//顯示分隔符號"-"led_dis=0;while(temp>=10){led_dis++;temp=temp-10;}Led_Data[1]=led_dis;Led_Data[0]=temp;LED_Display();}voidPinlvTran(unsignedintnf)//將傳過來的步頻處理顯示于數(shù)碼管{temp=nf;led_dis=0;while(temp>=10000)//計(jì)算第五位顯示內(nèi)容{temp-=10000;led_dis++;}37 Led_Data[4]=led_dis;led_dis=0;while(temp>=1000)//計(jì)算第四位顯示內(nèi)容{temp-=1000;led_dis++;}led_dis=0;while(temp>=100)//計(jì)算第三位顯示內(nèi)容{temp-=100;led_dis++;}Led_Data[2]=led_dis;led_dis=0;while(temp>=10)//計(jì)算第二位顯示內(nèi)容{led_dis++;temp-=10;}Led_Data[1]=led_dis;led_dis=0;Led_Data[0]=temp;LED_Display();//顯示}//******************************數(shù)碼管顯示程序***************************voidLED_Display(void)37 {PTD=0x01;//PTD控制哪一個(gè)led數(shù)碼管顯示5個(gè)led數(shù)碼管for(i=0;i<5;i++){PTB=LED[Led_Data[i]];//查表取顯示數(shù)據(jù)Delay_Nus(200);//延時(shí)保證顯示亮度PTD<<=1;//左移點(diǎn)亮不同的數(shù)碼管}}//****************************************************************************37 SHANGHAIBUSINESSSCHOOL37

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時(shí)聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。
大家都在看
近期熱門
關(guān)閉