版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
...wd......wd......wd...桂林電子科技大學信息科技學院單片機原理及應用實訓報告題目籃球計分牌學號0951100228姓名謝锎指導教師韓桂明張錕趙志鵬2011年9月23日1.系統(tǒng)設計1.1設計要求1.1.1.根本要求1設計一個基于單片機的籃球計分牌,實現(xiàn)兩隊的計分功能與24秒計時功能2結合硬件能夠正常計分3能夠正常顯示分值。4能夠正常修改工作模式〔計分與24秒〕5能夠24秒的誤差不小于1秒1.1.2.發(fā)揮局部112分鐘倒計時2能夠兩隊球員犯規(guī)次數(shù)計數(shù)3重置24秒表4倒計時完畢報警512分鐘倒計時完畢紅燈全部亮1.2設計原理1.2.1框圖設計1.2.2程序流程1.2.2.1加分程序流程中斷開場中斷開場中斷開場a隊顯示分數(shù)加1b隊顯示分數(shù)加1a按鍵按下成功否b按鍵按下成功否中斷返回中斷返回YYNN1.2.2.2犯規(guī)程序流程中斷開場中斷開場中斷開場a隊顯示犯規(guī)加1b隊顯示犯規(guī)加1a按鍵按下成功否b按鍵按下成功否中斷返回中斷返回YYNN1.2.2.3選擇顯示程序流程Q=1?Q=1?Q=0?Q=3?Q=2?Q=?加分顯示24秒倒計時顯示12分鐘倒計時顯示犯規(guī)次數(shù)顯示YYYYNNN1.3方案比擬1.3.1方案1:是通過按不同的鍵來切換不同的輸入,使用不同的LED燈的亮滅來顯示不同的隊加分。電路圖:1.3.2方案2:通過一個鍵來切換分數(shù),24s倒計時,12分鐘倒計時和犯規(guī)次數(shù),通過LED燈的亮來判斷是那個隊加分,那個隊犯規(guī),12分鐘倒計時完畢。另外,給a隊b隊加分和加犯規(guī)次數(shù)。通過按鍵,選擇哪種顯示方式,暫停/開場24s倒計時,重置24s;電路圖:1.4方案論證1.4.1總體思路7個按鍵實現(xiàn)對應功能:P1^6對應a隊加分,第一個紅燈亮;P1^0對應b隊加分,第二個紅燈亮;P1^1對應顯示切換,切換有四類顯示方式,第一類是a隊跟b隊的比分顯示,且各兩個數(shù)碼管顯示。第二類是24s倒計時的顯示。第三類是12分鐘倒計時的顯示。第四類是a隊跟b隊的犯規(guī)次數(shù)顯示;P1^2對應24秒倒計時暫停/開場;P1^3對應重置24s倒計時,同時24s倒計時暫停;P1^4對應a隊加犯規(guī)次數(shù),同時第三個紅燈亮;P1^5對應b隊加犯規(guī)次數(shù),同時第四個紅燈亮;外加復位鍵,按下則清零;24秒倒數(shù)為0時蜂鳴器響起警報,重新倒數(shù)時蜂鳴器關閉。12分鐘倒計時完畢時,蜂鳴器響起警報,紅燈全亮。1.4.2設計方案使用了延時子程序〔delay〕用來按鍵消抖,還有定時中斷程序來顯示數(shù)碼管,啟止24s倒計時,12分鐘倒計時,使用了P0口作為數(shù)碼管的段選和P2口的位選,使用P1口作為按鍵作為輸入,P3口的發(fā)光二極管作為判斷a隊和b隊的選擇和作為模式的選擇局部和蜂鳴器作為倒計時24秒的計時的時間到;在主程序里面有各按鍵的功能,a隊加分,b隊加分,切換功能,重置24s功能,a隊加犯規(guī),b隊加犯規(guī);2、模塊電路的設計2.1AT89S51單片機芯片在本設計中P3.7~P3.4口接LED燈,P2.7口〔28腳〕接蜂鳴器電路,P1.0~P1.6〔1~7腳〕口接7個按鍵,RST〔9腳〕接復位電路,,P2.0~P2.4〔21~24腳〕接四位數(shù)碼管的位選腳,P0.0~P0.7(32~39腳)接四位數(shù)碼管段位腳,18、19腳接晶振電路,20腳接GND,31腳、40腳接VCC。2.2四位共陰數(shù)碼管電路2.3復位電路2.4內振蕩電路〔時鐘電路〕2.5蜂鳴器電路2.6下載口電路2.7二極管顯示電路3、開發(fā)軟件及編程語言簡介3.1KeilC編程軟件3.1.1系統(tǒng)概述KeilC51是德國KeilSoftware公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、構造性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用。用過匯編語言后再使用C來開發(fā),體會更加深刻。KeilC51軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調試工具,全Windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到KeilC51生成的目標代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能表達高級語言的優(yōu)勢。3.1.2.KeilC51單片機軟件開發(fā)系統(tǒng)的整體構造C51工具包的整體構造,其中uVision與Ishell分別是C51forWindows和forDos的集成開發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調試、仿真等整個開發(fā)流程。開發(fā)人員可用IDE本身或其它編輯器編輯C或匯編源文件。然后分別由C51及A51編譯器編譯生成目標文件(.OBJ)。目標文件可由LIB51創(chuàng)立生成庫文件,也可以與庫文件一起經L51連接定位生成絕對目標文件(.ABS)。ABS文件由OH51轉換成標準的Hex文件,以供調試器dScope51或tScope51使用進展源代碼級調試,也可由仿真器使用直接對目標板進展調試,也可以直接寫入程序存貯器如EPROM中。3.2Keil開發(fā)工具--uVision3uVision3集成開發(fā)環(huán)境是一個基于Window的開發(fā)平臺,包括一個全功能的源代碼編輯器,一個工程管理器和一個MAKE工具。利用源代碼編輯器可以高效地編輯源程序。利用工程管理器可以很方便地創(chuàng)立和維護工程,利用MAKE工具可以匯編,編譯和連接。4、制作與調試過程4.1制作過程:4.1.1編程時用C語言編寫并需要結合電路原理圖編寫;4.1.2在使用proteus軟件仿真時,要找到元器件相應的符號及其使用方法; 4.1.3在制作電路板時,由于使用萬用板,在焊接元器件的管腳時需要注意焊錫的使用量,用量過多會導致該焊錫與其它的銅孔相連,有可能導致電路的某條支路短路;4.1.4在焊接按鍵時,需要分清楚其的管腳,可以用萬用表測試管腳的導通,則可以區(qū)分管腳;4.1.5在焊接數(shù)碼管的管腳時,應該注意其管腳的分布;4.1.6在焊接AT89S52的管腳時,需要注意分清各個管腳;4.1.7在焊接晶振的管腳時需要注意將其盡量靠近該芯片的XTAL1,XLAL2的兩端;4.1.8在焊接下載端口的管腳時需要注意各管腳與芯片的管腳對應。4.2調試過程:4.2.1初步調試程序時并下載到芯片上時,通過操作驗證“暫停局部的程序〞在比賽完畢后再按暫停按鍵時,可以實現(xiàn)倒計時,但是當t=0時,開場出現(xiàn)亂碼,針對該問題,需要在其暫停局部的程序加以“break〞到相應的程序中,經調試,下載可以實現(xiàn)將程序跳出“死循環(huán)〞。4.2.2在調試電路板時不能將程序下載到芯片的情況,經分析得出晶振接觸不良。4.2.3硬件搭建好后,發(fā)現(xiàn)程序下載不了,經檢查發(fā)現(xiàn),下載端口接反,下載口連接正確后,程序依然下載失敗。經常長時間電路檢查依然為發(fā)現(xiàn)問題。后面通過仔細查看單片機最小系統(tǒng),最終發(fā)現(xiàn)單片機的EA端沒接vcc導致單片機無法讀取片內ROM。4.2.4下載成功后,然后再補充了LED燈跟功能對應的顯示。5、心得體會通過本次實訓,發(fā)現(xiàn)自身在電子制作,程序編寫方便有著非常大的缺乏。對以往學習過的編程知識沒有好好掌握,特別是編程這方便的知識較薄弱。學習過的知識在實際應用中仿佛是冰山一角,完全不夠用,需要通過查閱很多資料才能解決到碰到的相關問題。而且實訓中出現(xiàn)的問題都是實際應用出比擬典型的問題。發(fā)現(xiàn)問題解決問題,通過不斷的了解,對《單片機原理及應用》這門課有了更深刻的了解掌握。單片機技術在當今各方面領域有著極高的應用率,是一門動手能力非常強的技術。其中的程序和模塊化元件看起來很簡單,但是真正要自己設計有代表性出來是很難的,需要有扎實的知識根基,和較強的邏輯分析能力。這些條件我們都可以通過平時的努力來積累。碰到問題,先自己思考解決,再請教教師。這次實訓還讓我深刻的體會了構造化程序設計的優(yōu)勢,讓我懂得當我們要進展一個復雜的程序設計時應該先將其分解為多個不同的功能模塊再分別編程實現(xiàn),這樣做不僅降低了編程的難度,也容易讓編程者思路更加清晰,防止出現(xiàn)不必要的錯誤。在做仿真時,仿真圖正確也不一定就是說明一定正確。做實物時,不僅要做到電路正確,也要盡可能做到布局合理、焊接到位,否則很有可能電路原理圖正確、仿真圖正確但是任然調試不出結果。另外,焊接的時候不能分心,否則極易出錯。6、參考文獻【1】喻宗泉.單片機原理與應用技術.西安:西安電子科技大學出版社。2006【2】李光飛.單片機課程設計實例指導.北京:航空航天大學出版社。2004【3】張欣.單片機原理與C51程序設計根基教程.北京:清華大學出版社。2010附錄7.2.1電路原理圖7.2.2PCB7.2.3硬件正面圖7.2.4硬件反面圖7.2.5元件清單:序號元件名稱規(guī)格數(shù)量151單片機AT89S521個2晶振12M晶振1個4七段數(shù)碼管4位共陰極1個5起振電容22pF瓷片電容2個6復位電容10uF1個7電阻1KΩ5個8按鍵8個9LED4個10蜂鳴器1個11NPN80501個7.2.6程序#include<reg52.h>//*************************數(shù)碼管段代碼表**************************//unsignedcharTab[]={0x5F,0x44,0x9D,0xD5,0xC6,0xD3,0xDB,0x45,0xDF,0xD7,0x20};unsignedchara=0,//a隊分數(shù)b=0,//b隊分數(shù) afg=0,//a隊犯規(guī)次數(shù) bfg=0;// b隊犯規(guī)次數(shù)unsignedchart=24, //倒計時24秒k=0,//倒計時暫停/開場狀態(tài) h=0,//顯示轉換狀態(tài) miao=0,//秒鐘 fen=12;//12分鐘倒計時分鐘int bittime=0;//循環(huán)次數(shù)int bitdisplay=0;//顯示sbitP16=P1^6;//a隊加分sbitP10=P1^0;//b隊加分sbitP11=P1^1;//顯示狀態(tài)切換sbitP12=P1^2;//倒計時暫停/開場sbitP13=P1^3;//24s倒計時重置sbitP14=P1^4;//a隊犯規(guī)加次數(shù)sbitP15=P1^5;//b隊犯規(guī)加次數(shù)sbitfmq=P2^7;//蜂鳴器///***************定時中斷服務程序***********************//voidtimer0(void)interrupt1using0{ TH0=0Xf8;TL0=0x30;//定時器賦初值 switch(bitdisplay) { case0: P2=0xfe; if(h==0){P0=Tab[a/10];}//a隊分數(shù)十位顯示 if(h==1){P0=Tab[t/10];}//倒計時十位顯示 if(h==2){P0=Tab[fen/10];}//每節(jié)比賽12分鐘,分鐘十位顯示 if(h==3){P0=Tab[afg/10];}//犯規(guī)的十位顯示 break; case1: P2=0xfd; if(h==0){P0=Tab[a%10];}//a隊分數(shù)個位顯示 if(h==1){P0=Tab[t%10];}//倒計時個位顯示 if(h==2){P0=Tab[fen%10];}//分鐘的個位顯示 if(h==3){P0=Tab[afg%10];}//a犯規(guī)的個位顯示 break; case2: P2=0xfb; if(h==0){P0=Tab[b/10];} if(h==1){P0=0x00;} if(h==2){P0=Tab[miao/10];} if(h==3){P0=Tab[bfg/10];} break; case3: P2=0xf7; if(h==0){P0=Tab[b%10];} if(h==1){P0=0x00;} if(h==2){P0=Tab[miao%10];} if(h==3){P0=Tab[bfg%10];} break; } bitdisplay++;bittime++; if(bitdisplay==4){bitdisplay=0;}//數(shù)碼管掃描返回 if(bittime==500) {bittime=0; if(k) {if(t--==0){k=0;t=24;fmq=1;} else{fmq=0;} if(miao--==0){if(fen==0){P3=0x0f;fen=12;miao=0;k=0;}fen--;miao=59;}//12分鐘完畢,4個燈全亮 } }} //**延時程序***//voiddelay(unsignedintt){ unsignedintaaa,bbb; for(aaa=0;aaa<100;aaa++) for(bbb=0;bbb<t;bbb++);}//**************主程序*********************//voidmain(void){ TMOD=0x01;TH0=0xf8;TL0=0x30;//定時2ms EA=1;ET0=1;TR0=1;//開啟定時器 while
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《大學英語聽力應用教程(第1冊)》課件-Unit 14 The Population Growth in the World
- 《蔬菜品質與安全》課件
- 2025年萍鄉(xiāng)貨運從業(yè)資格證考試內容
- 《FX基礎課程》課件
- 2025年安慶考從業(yè)資格證貨運試題
- 金融服務學徒管理辦法
- 惠州市工具租賃合同
- 美甲師崗位聘用協(xié)議書
- 生態(tài)修復區(qū)轉讓
- 珠寶店暖氣管道維修施工合同
- 電大財務大數(shù)據(jù)分析編程作業(yè)3
- 中華傳統(tǒng)文化與人生修養(yǎng)智慧樹知到期末考試答案2024年
- 小班新生家長會活動方案及流程
- 醫(yī)院感染管理知識培訓
- 2024年安徽蕪湖市特種設備監(jiān)督檢驗中心編外招聘6人歷年高頻考題難、易錯點模擬試題(共500題)附帶答案詳解
- 浙教版勞動二年級上冊全冊教案
- 河北省對口升學農林類農學方向考核試題及答案
- 心衰的健康宣教內容
- 2024年學習解讀廉政廉潔專題教育課件
- 焊接規(guī)范培訓課件焊接工藝參數(shù)的確定與調整
- 水質自檢報告
評論
0/150
提交評論