




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
圖4-2所示。圖4-2數(shù)碼管顯示流程圖4.3籃球計分軟件設(shè)計籃球計分的軟件設(shè)計是應(yīng)該單片機的定時器進行定時,按照籃球比賽的計時方式進行倒計時,需要對定時器進行初始化,實現(xiàn)周期為1秒的計時。如圖4-3。圖4-3計分軟件設(shè)計流程圖主函數(shù)的相關(guān)的代碼如下所示。voidJS_Count(){ if(JS_Running) { ms--; if(ms==0) { ms=99; sec--; if(sec<=0) { ms=0; sec=0; Buzzer=0; JS_Running=0; } } JS_Refresh=1; }5系統(tǒng)仿真5.1仿真設(shè)計電路圖設(shè)計選用Proteus完成對系統(tǒng)的驗證,打開軟件繪制系統(tǒng)電路圖,和代碼進行聯(lián)機調(diào)試。仿真設(shè)計圖如圖5-1。仿真包括顯示控制、按鍵輸入、聲音控制、主控制器。圖5-1系統(tǒng)仿真電路圖5.2數(shù)碼管顯示啟動仿真,數(shù)碼管顯示內(nèi)容如圖5-2所示。1000表示比賽總時長,24表示表示24秒進攻時間,000表示A對和B對的比分。圖5-2系統(tǒng)液晶顯示仿真5.3系統(tǒng)啟動仿真系統(tǒng)啟動仿真后,通過啟動按鍵,比賽開始,比賽時間進行倒計時,24秒進行倒計時。如圖5-3所示。圖5-3系統(tǒng)啟動仿真5.4系統(tǒng)比賽分數(shù)控制仿真通過分數(shù)設(shè)置按鍵,可以對A隊和B隊的比分進行設(shè)置,如圖5-4。A對比分2,B對比分4。圖5-4系統(tǒng)比分控制仿真5.5實物測試結(jié)果與分析系統(tǒng)調(diào)試完成后,購買器件,器件清單如下:準備烙鐵、焊錫、吸搶、高溫棉、鑷子等常用工具。進行實物焊接組裝[10]。組裝完成后不可立即上電,首先需要用萬用板測量電源正負是否短路,防止在焊接過程中有虛焊,造成電源短路,上電是燒壞電路板。電源不短路后,上電測試所有功能。實物效果如圖5-5、5-6所示。圖5-5實物圖圖5-6實物圖總結(jié)在本次實際設(shè)計當中使我們對單片機的工作原理及其應(yīng)用有個更加深刻地認知,同時在系統(tǒng)的設(shè)計過程中還更加深入地了解了硬件和軟件的各組成部件和相關(guān)程序。通過細致且認真地分析,還在設(shè)計過程中發(fā)現(xiàn)了自己專業(yè)知識較為薄弱的方面,這可以為我今后更加全面地學習研究單片機提供借鑒和參考。在本文的設(shè)計中,軟件程序部分借助了C語言知識,而設(shè)計過程中最困難的部分正在于如何實現(xiàn)程序與電路的匹配。在本次設(shè)計中,受自身能力的影響還存在著許多的不足,甚至現(xiàn)有設(shè)計中也并沒做到十全十美,但經(jīng)過這次的實踐,單片機的應(yīng)用以及與之相關(guān)的知識使我能夠更加清楚而直觀地感受到,此外在操作仿真軟件的能力方面也有了大幅提升。盡管此次的設(shè)計過程十分艱辛,問題也多種多樣,但最終還是在我的努力下,在各位同學和師長的幫助下克服了困難,完成最終的設(shè)計,使我受益良多。參考文獻[1]夏志華.基于單片機的溫度控制系統(tǒng)的研究與實現(xiàn)[J].煤炭技術(shù),2013,(02):191-193.[2]姜寶華,齊強.基于單片機的無線遙控智能小車的設(shè)計與制作[J].電子世界,2013,(03):24-25.[3]程望斌,劉凌,楊陳明,李慧,李璇.基于單片機的火災煙霧報警系統(tǒng)設(shè)計[J].湖南理工學院學報(自然科學版),2014,(03):41-44[4]劉兵.基于單片機的家庭報警系統(tǒng)的研究與設(shè)計[D].山東大學,2015.[5]李劍雄,梁春美.基于單片機的無線防盜報警器設(shè)計研究[J].信息與電腦(理論版),2015,(08):3-4+8.[6]賈應(yīng)煒.基于STC89C52單片機的火災報警系統(tǒng)設(shè)計[J].機械電子,2015,(04):50-53.[7]劉裕舸.單片機門禁系統(tǒng)的設(shè)計與研究[J].電子測試,2016,(07):13+25.聶茹,屈艷.基于單片機的紅外報警監(jiān)控系統(tǒng)設(shè)計與實現(xiàn)[J].微處理機,2016,(03):90-92.[8]吳育軍.淺析單片機的應(yīng)用與發(fā)展[J].無線互聯(lián)科技,2016,(13):22-23.[9]馬宏坤.51系列單片機C語言應(yīng)用[J].工業(yè)控制計算機,2016,(01):132-134+139.[10]封杰文.單片機的發(fā)展與應(yīng)用[J].電子制作,2016,(12):91.[11]杜洪林.論單片機應(yīng)用系統(tǒng)的可靠性設(shè)計[J].電子技術(shù)與軟件工程,2016,(06):257.[12]申景,張麗麗.基于單片機的家用無線火災報警系統(tǒng)設(shè)計[J].消防科學技術(shù),2016,(10):1421-1424.[13]杜朝.基于單片機的嵌入式系統(tǒng)開發(fā)[J].無線互聯(lián)科技,2016,(01):56-57.LindaJ,Engelman.InteractingontheInternet.IrwinBookTeam.U.S.A,2016
附錄#include<reg51.h>#defineLEDDataP0unsignedcharcodeLEDCode[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};intminit,second,count,count1; //分,秒,計數(shù)器charmin=15,sec=0;sbitadd1=P1^0; //甲對加分,每按一次加1分/在未開始比賽時為加時間分sbitdec1=P1^1; //甲對減分,每按一次減1分 /在未開始比賽時為減時間分sbitexchange=P1^2; //交換場地sbitadd2=P1^3; //乙對加分,每按一次加1分 /在未開始比賽時為加時間秒sbitdec2=P1^4; //乙對減分,每按一次減1分 /在未開始比賽時為減時間秒sbitp24_sec=P1^5;sbitsecondpoint=P0^7; //秒閃動點//依次點亮數(shù)碼管的位sbitled1=P2^7;sbitled2=P2^6;sbitled3=P2^5;sbitled4=P2^4;sbitled5=P2^3;sbitled6=P2^2;sbitled7=P2^1;sbitled8=P2^0;sbitled9=P3^7;sbitled10=P3^6;sbitled11=P3^5;sbitled12=P3^4;sbitalam=P1^7; //報警bitplayon=0; //比賽進行標志位,為1時表示比賽開始,計時開啟bittimeover=0; //比賽結(jié)束標志位,為1時表示時間已經(jīng)完bitAorB=0; //甲乙對交換位置標志位bithalfsecond=0; //半秒標志位unsignedintscoreA; //甲隊得分unsignedintscoreB; //乙隊得分unsignedcharsec24=24; voidDelay5ms(void){ unsignedinti; for(i=100;i>0;i--);}voiddisplay(void){//顯示時間分 LEDData=LEDCode[minit/10]; led1=0; Delay5ms(); led1=1; LEDData=LEDCode[minit%10]; led2=0; Delay5ms(); led2=1;//秒點閃動 if(halfsecond==1) LEDData=0x7f; else LEDData=0xff; led2=0; Delay5ms(); led2=1; secondpoint=0;//顯示時間秒 LEDData=LEDCode[second/10]; led3=0; Delay5ms(); led3=1; LEDData=LEDCode[second%10]; led4=0; Delay5ms(); led4=1;//顯示1組的分數(shù)百位 if(AorB==0) LEDData=LEDCode[scoreA/100]; else LEDData=LEDCode[scoreB/100]; led5=0; Delay5ms(); led5=1;//顯示1組分數(shù)的十位 if(AorB==0) LEDData=LEDCode[(scoreA%100)/10]; else LEDData=LEDCode[(scoreB%100)/10]; led6=0; Delay5ms(); led6=1;//顯示1組分數(shù)的個位 if(AorB==0) LEDData=LEDCode[scoreA%10]; else LEDData=LEDCode[scoreB%10]; led7=0; Delay5ms(); led7=1;//顯示2組分數(shù)的百位 if(AorB==1) LEDData=LEDCode[scoreA/100]; else LEDData=LEDCode[scoreB/100]; led8=0; Delay5ms(); led8=1;//顯示2組分數(shù)的十位 if(AorB==1) LEDData=LEDCode[(scoreA%100)/10]; else LEDData=LEDCode[(scoreB%100)/10]; led9=0; Delay5ms(); led9=1;//顯示2組分數(shù)的個位 if(AorB==1) LEDData=LEDCode[scoreA%10]; else LEDData=LEDCode[scoreB%10]; led10=0; Delay5ms(); led10=1;//顯示時間分 LEDData=LEDCode[sec24/10]; led11=0; Delay5ms(); led11=1; LEDData=LEDCode[sec24%10]; led12=0; Delay5ms(); led12=1;}//=========================按鍵檢測程序================================================voidkeyscan(void){ if(playon==0) { if(add1==0) { display(); if(add1==0); { if(minit<99) minit++; else minit=99; min=minit; } do display(); while(add1==0); } if(dec1==0) { display(); if(dec1==0); { if(minit>0) minit--; else minit=0; min=minit; } do display(); while(dec1==0); } if(add2==0) { display(); if(add2==0); { if(second<59) second++; else second=59; sec=second; } do display(); while(add2==0); } if(dec2==0) { display(); if(dec2==0); { if(second>0) second--; else second=0; sec=second; } do display(); while(dec2==0); } if(exchange==0) { display(); if(exchange==0); { TR1=0; //關(guān)閉T1計數(shù)器 alam=1; //關(guān)報警 AorB=~AorB; //開啟交換 minit=min; //并將時間預設(shè)為15:00 second=sec; sec24=24; } do display(); while(exchange==0); } } else { if(add1==0) { display(); if(add1==0); { if(AorB==0) { if(scoreA<999) scoreA++; else scoreA=999; } else { if(scoreB<999) scoreB++; else scoreB=999; } } do display(); while(add1==0); } if(dec1==0) { display(); if(dec1==0); { if(AorB==0) { if(scoreA>0) scoreA--; else scoreA=0; } else { if(scoreB>0) scoreB--; else scoreB=0; } } do display(); while(dec1==0); } if(add2==0) { display(); if(add2==0); { if(AorB==1) { if(scoreA<999) scoreA++; else scoreA=999; } else { if(scoreB<999) scoreB++; else scoreB=999; } } do display(); while(add2==0); } if(dec2==0) { display(); if(dec2==0); { if(AorB==1) { if(scoreA>0) scoreA--; else scoreA=0; } else { if(scoreB>0) scoreB--; else scoreB=0; } } do display(); while(dec2==0); } if(p24_sec==0) { display(); if(p24_sec==0) { sec24=24; TR0=1; alam=1; while(p24_sec==0)display(); } } }}//******************************主函數(shù)*************************************************voidmain(void){ TMOD=0x11; TL0=0xb0; TH0=0x3c; TL1=0xb0; TH1=0x3c; minit=min; //初始值為15:00 second=sec; EA=1; ET0=1; ET1=1; TR0=0; TR1=0; EX0=1; IT0=1; IT1=1;// EX1=1; PX0=1;// PX1=1; PT0=0; P1=0xFF; P3=0xFF; alam=1; while(1) { keyscan(); display(); }}voidPxInt0(void)interrupt0{ Delay5ms(); EX0=0; alam=1; TR1=0; if(timeover==1) { timeover=0; } if(playon==0) { playon=1; //開始標志位 TR0=1; //開啟計時 if((minit+second)==0) { sec24=24; minit=min; second=sec; } } else { playon=0; //開始標志位清零,表示暫停 TR0=0; //暫時計時 } EX0=1; //開中斷 }/*voidPxInt1(void)interrupt2{ Delay5ms(); EX1=0; //關(guān)中斷 if(timeover==1) //比賽結(jié)束標志,必須一節(jié)結(jié)束后才可以交換,中途不能交換場地 { TR1=0; //關(guān)閉T1計數(shù)器 alam=1; //關(guān)報警 Aor
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 有機食品連鎖超市項目可行性報告
- 可行性研究報告編寫
- 化妝品與日用化學品制造業(yè)作業(yè)指導書
- 季度工作進展計劃及部署方案
- 新媒體運營實踐與優(yōu)化指南
- 農(nóng)業(yè)項目資金申請手冊
- 外科復習題復習試題及答案
- 三農(nóng)村基本公共服務(wù)均等化實施方案
- 項目進度匯報及下一步計劃演講詞
- 農(nóng)村人居環(huán)境整治法律法規(guī)指南
- 老年人譫妄護理
- 2023年國家林業(yè)和草原局直屬事業(yè)單位招聘筆試真題
- 垃圾分類處理及綜合利用項目可行性研究報告
- 2024年湖北省公務(wù)員錄用考試《行測》試題及答案解析
- 中建做好現(xiàn)場五大材料消耗量管控
- 獸醫(yī)入門基礎(chǔ)知識單選題100道及答案解析
- 口腔頜面部損傷(口腔頜面外科學課件)
- 《中國心力衰竭診斷和治療指南 2024》要點解讀
- 申論范文:數(shù)字經(jīng)濟-揚帆起航3篇
- 2024年新聞宣傳、新聞采編專業(yè)及理論知識考試題(附含答案)
- 2024至2030年中國成人藝術(shù)培訓行業(yè)市場預測與投資規(guī)劃分析報告
評論
0/150
提交評論