基于單片機的比賽計分系統_第1頁
基于單片機的比賽計分系統_第2頁
基于單片機的比賽計分系統_第3頁
基于單片機的比賽計分系統_第4頁
基于單片機的比賽計分系統_第5頁
已閱讀5頁,還剩13頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、沈陽航空航天大學課程設計論文沈陽航空航天大學自動化專業技能訓練(課程設計報告)題目 基于單片機的比賽計分系統(2) 班 級 學 號 學 生 姓 名 指 導 教 師 課設題目 基于單片機的比賽計分系統(2) 沈陽航空航天大學自動化學院摘要:現在大多數比賽活動中都會遇到需要向觀眾和選手展示選手得分的情況,需要用到比賽記分牌。在目前的市場上,普通計分牌系統都需要幾百塊,價錢比較高。本項目設計的記分牌系統,電路簡易,靈敏可靠,具有一定的使用價值和競爭價值。比賽計分器的設計是為了解決比賽時計分與計時準確方便和靈活適用的問題而提出的,本設計的比賽計分器硬件利用AT89S52單片機完成了計分的功能,并通過數

2、碼管來顯示比賽雙方的分數,軟件部分利用Keil C51軟件來進行編譯,最后將生成的HEX文件燒入到單片機芯片中。單片機以微小的體積和編程的靈活性而產生多種控制功能,完全可以滿足需求。關鍵詞:單片機、比賽計分、數碼管。1. 總體方案單片機是一個單芯片形態,面向控制對象的嵌入式應用計算機系統.它的出現及發展使計算機技術從通用型數值計算領域進入到智能化的控制領域。 由于本次設計的簡單記分牌體積小,故要求其控制器體積更小以便能嵌入其結構之中。可以適應不同規則下操作。計分牌主要用途是展示選手的得分情況,當選手得分時記分牌加上相應的分數。根據項目要求進行系統設計通過這幾個模塊的協調工作就可以完成相應的計時

3、計分控制和顯示功能。第1頁電源復位電路AT89S52單片機晶振電路顯示電路按鍵電路圖1基于AT89S52單片機比賽記分牌體統框圖(1)單片機的時鐘電路 單片機本身是一個復雜的同步時序系統,為保證同步工作方式的實現,單片機必須有時鐘信號,以使其系統在時鐘信號的控制下按時序協調工作。單片機的時鐘電路由振蕩電路和分頻電路組成。其中震蕩電路由反相器以及并聯外接的石英晶體和電容構成,用于產生振蕩脈沖。而分頻電路則用于把振蕩脈沖分頻,以得到所需要的時鐘信號。圖2單片機的時鐘電路(2) 單片機復位電路工作原理復位是單片機的初始化操作,其作用是使CPU中的各個部件都處于一個確定的初始狀態,并從這個狀態開始工作

4、。當單片機的ALE及 兩腳輸出高電平,RST引腳高電平時,單片機復位。單片機的復位電路有上電復位和手動按鈕復位兩種形式,RST/VPD端的高電平直接由上電瞬間產生高電平則為上電復位;若通過按鈕產生高電平復位信號稱為手動按鈕復位。在實際應用系統中,有些外圍芯片也需要復位,如果這些復位端的復位電平要求與單片機的要求一致,則可以與之相連。復位后,P0P3四個并行接口全為高電平,其它寄存器全部清零,只有SBUF寄存器狀態不確定。目前,在單片機體統中共使用4種類型的復位電路,分別為:積分型電路、微分型電路、比較器型和看門狗型。其中前三種是在芯片外面用分立元件或集成電路芯片搭建的,而最后一種位于芯片內部,

5、是單片機芯片的一部分。對于片外復位電路,無論哪種類型,加電復位和手動復位是必不可少的基本功能。目前,在單片機體統中共使用4種類型的復位電路,分別為:積分型電路、微分型電路、比較器型和看門狗型。其中前三種是在芯片外面用分立元件或集成電路芯片搭建的,而最后一種位于芯片內部,是單片機芯片的一部分。對于片外復位電路,無論哪種類型,加電復位和手動復位是必不可少的基本功能。如圖3所示:圖3復位原理電路(3) 單片機晶振電路工作原理每個單片機系統里都有晶振,全程是叫晶體震蕩器,在單片機系統里晶振的作用非常大,他結合單片機內部的電路,產生單片機所必須的時鐘頻率,單片機的一切指令的執行都是建立在這個基礎上的,晶

6、振的提供的時鐘頻率越高,那單片機的運行速度也就越快。晶振用一種能把電能和機械能相互轉化的晶體在共振的狀態下工作,以提供穩定,精確的單頻振蕩。在通常工作條件下,普通的晶振頻率絕對精度可達百萬分之五十。高級的精度更高。有些晶振還可以由外加電壓在一定范圍內調整頻率,稱為壓控振蕩器(VCO)。 晶振的作用是為系統提供基本的時鐘信號。通常一個系統共用一個晶振,便于各部分保持同步。有些通訊系統的基頻和射頻使用不同的晶振,而通過電子調整頻率的方法保持同步。 晶振通常與鎖相環電路配合使用,以提供系統所需的時鐘頻率。如果不同子系統需要不同頻率的時鐘信號,可以用與同一個晶振相連的不同鎖相環來提供。下面具體的介紹一

7、下晶振的作用以及原理,晶振一般采用如圖4a的電容三端式(考畢茲) 交流等效振蕩電路;實際的晶振交流等效電路如圖4b,其中Cv是用來調節振蕩頻率,一般用變容二極管加上不同的反偏電壓來實現,這也是壓控作用的機理;把晶體的等效電路代替晶體后如圖4c。其中Co,C1,L1,RR是晶體的等效電路。圖4 晶振電路及其等效槽路分析整個振蕩槽路可知,利用Cv來改變頻率是有限的:決定振蕩頻率的整個槽路電容C=Cbe,Cce,Cv三個電容串聯后和Co并聯再和C1串聯。可以看出:C1越小,Co越大,Cv變化時對整個槽路電容的作用就越小。因而能“壓控”的頻率范圍也越小。實際上,由于C1很小(1E-15量級),Co不能

8、忽略(1E-12量級,幾PF)。所以,Cv變大時,降低槽路頻率的作用越來越小,Cv變小時,升高槽路頻率的作用卻越來越大。這一方面引起壓控特性的非線性,壓控范圍越大,非線性就越厲害;另一方面,分給振蕩的反饋電壓(Cbe上的電壓)卻越來越小,最后導致停振。通過晶振的原理圖你應該大致了解了晶振的作用以及工作過程了吧。采用泛音次數越高的晶振,其等效電容C1就越小;因此頻率的變化范圍也就越小。微控制器的時鐘源可以分為兩類:基于機械諧振器件的時鐘源,如晶振、陶瓷諧振槽路;RC(電阻、電容)振蕩器。一種是皮爾斯振蕩器配置,適用于晶振和陶瓷諧振槽路。另一種為簡單的分立RC振蕩器。用萬用表測量晶體振蕩器是否工作

9、的方法:測量兩個引腳電壓是否是芯片工作電壓的一半,比如工作電壓是51單片機的+5V則是否是2.5V左右。另外如果用鑷子碰晶體另外一個腳,這個電壓有明顯變化,證明是起振了的。(4) 按鍵電路的設計本次實驗用了三個按鍵電路:復位電路、加一電路和減一電路。三個按鍵電路都是通過手動按下按鍵拉低電平來分別實現相應的復位及加減功能。(5) 數碼管特性及使用數碼管按段數分為七段數碼管和八段數碼管,八段數碼管比七段數碼管多一個發光二極管單元(多一個小數點顯示);按能顯示多少個“8”可分為1位、2位、4位等等數碼管;按發光二極管單元連接方式分為共陽極數碼管和共陰極數碼管。共陽數碼管是指將所有發光二極管的陽極接到

10、一起形成公共陽極(COM)的數碼管。共陽數碼管在應用時應將公共極COM接到+5V,當某一字段發光二極管的陰極為低電平時,相應字段就點亮。當某一字段的陰極為高電平時,相應字段就不亮。共陰數碼管是指將所有發光二極管的陰極接到一起形成公共陰極(COM)的數碼管。共陰數碼管在應用時應將公共極COM接到地線GND上,當某一字段發光二極管的陽極為高電平時,相應字段就點亮。當某一字段的陽極為低電平時,相應字段就不亮。數碼管要正常顯示,就要用驅動電路來驅動數碼管的各個段碼,從而顯示出我們要的數字,因此根據數碼管的驅動方式的不同,可以分為靜態式和動態式兩類。動態驅動是將所有數碼管的8個顯示筆劃"a,b

11、,c,d,e,f,g,dp"的同名端連在一起,另外為每個數碼管的公共極COM增加位選通控制電路,位選通由各自獨立的I/O線控制,當單片機輸出字形碼時,所有數碼管都接收到相同的字形碼,但究竟是那個數碼管會顯示出字形,取決于單片機對位選通COM端電路的控制,所以我們只要將需要顯示的數碼管的選通控制打開,該位就顯示出字形,沒有選通的數碼管就不會亮。通過分時輪流控制各個數碼管的的COM端,就使各個數碼管輪流受控顯示,這就是動態驅動。在輪流顯示過程中,每位數碼管的點亮時間為12ms,由于人的視覺暫留現象及發光二極管的余輝效應,盡管實際上各位數碼管并非同時點亮,但只要掃描的速度足夠快,給人的印象

12、就是一組穩定的顯示數據,不會有閃爍感,動態顯示的效果和靜態顯示是一樣的,能夠節省大量的I/O端口,而且功耗更低。下圖5分別為共陽極和共陰極數碼管引腳圖:圖5作為共陽極右為共陰極引腳結構(6) AT89S52單片機引腳功能特性:AT89S52 是一種低功耗、高性能CMOS8位微控制器,具有8K在系統可編程Flash存儲器。使用Atmel公司高密度非 易失性存儲器技術制造,與工業80C51產品指令和引腳完 全兼容。片上Flash允許程序存儲器在系統可編程,亦適于 常規編程器。在單芯片上,擁有靈巧的8位CPU和在系統可編程Flash,使得AT89S52為眾多嵌入式控制應用系統提 供高靈活、超有效的解

13、決方案。 AT89S52具有以下標準功能:8k字節Flash,256字節RAM,32位I/O口線,看門狗定時器,2個數據指針,三個16位定時器/計數器,一個6向量2級中斷結構,全雙工串行口,片內晶振及時鐘電路。另外,AT89S52 可降至0Hz靜態邏輯操作,支持2種軟件可選擇節電模式。空閑模式下,CPU停止工作,允許RAM、定時器/計數器、串口、中斷繼續工 作。掉電保護方式下,RAM內容被保存,振蕩器被凍結, 單片機一切工作停止,直到下一個中斷或硬件復位為止。8位微控制器 8K字節在系統可編程FLASH AT89S52P0口。其引腳結構如圖6圖6 AT89S52引腳圖2.2.7集成塊74LS0

14、6的使用74LS06為集電極開路輸出的六組反相驅動器,其結構如圖7所示,其中1A6A為輸入端,1Y6Y為輸出端:圖7 74LS06引腳圖3.1 電路原理圖根據上述分析,設計出基于AT89S52單片機的比賽計分牌電路原理圖如圖8所示。電源電路為單片機以及其他模塊提供標準5V電源。晶振模塊為單片機提供時鐘標準,使系統各部分能協調工作。復位電路為單片機提供復位功能。單片機作為主控制器,根據輸入信號對系統進行相應的控制。數碼管顯示選手當前的得分。按鍵設置模塊用來刷新選手的得分,當選手得分時可以通過這兩個按鈕對選手分數重新設置。圖8 比賽記分牌的原理圖4 軟件設計4.1 軟件流程圖 單片機開始運行時顯示

15、選手10分,數碼管顯示10,主程序循環調用顯示選手得分,當遇到中斷時,調用中斷程序,如果是P1則顯示數字加1,加1處理流程圖如圖7所示。中斷開始中斷返回顯示數碼加1聲音提示按鍵釋放?圖7處理流程圖4.2 源程序基于AT89S52單片機的比賽記分牌設計程序如下:#include<reg51.h>#include<intrins.h>#define uint unsigned int#define uchar unsigned charuchar code table16 = 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f

16、,0x77,0x7c,0x39,0x5e,0x79,0x71;uchar i,num=0,zuo=0,you=0,zhong,flag=0;uchar Key_Value; /讀出的鍵值/* 名稱 : Delay_1ms()* 功能 : 延時子程序,延時時間為 1ms * x* 輸入 : x (延時一毫秒的個數)* 輸出 : 無*/void Delay_1ms(uint i)/1ms延時uchar x,j;for(j=0;j<i;j+)for(x=0;x<=148;x+); /* 名稱 : Keyscan()* 功能 : 實現按鍵的讀取。下面這個子程序是按處理 矩陣鍵盤 的基本方法

17、處理的。* 輸入 : 無* 輸出 : 按鍵值*/uchar Keyscan(void) uchar i,j, temp, Buffer4 = 0xfe, 0xfd, 0xfb, 0xf7;/讓矩陣鍵盤的每行分別為低電平 for(j=0; j<4; j+) P1 = Bufferj;temp = 0x10; for(i=0; i<4; i+)if(!(P1 & temp) /判斷P1口高4位某一行為低電平 num=i+j*4;if(num=0)zuo+;if(zuo>=9)zuo=9;if(num=1)you+;if(you>=9)you=9;if(num=3)

18、flag=1;while(!(P1 & temp);return (i+j*4);/返回鍵碼temp <<= 1; void disply()/P0 = 0;/*if(num=3) zhong=zuo; zuo=you; you=zhong;*/P2 = 7; /選擇哪一位數碼管點亮if(flag=0)P0 = tablezuo; /賦值段碼給P0口if(flag=1)P0 = tableyou; /賦值段碼給P0口Delay_1ms(2); /延時0.02秒/P0 = 0;P2 = 8; /選擇哪一位數碼管點亮if(flag=0)P0 = tableyou; /賦值段碼給

19、P0口if(flag=1)P0 = tablezuo; /賦值段碼給P0口Delay_1ms(2); /延時0.02秒/* 名稱 : Main()* 功能 : 主函數* 輸入 : 無* 輸出 : 無*/void Main(void) /P2 = 7; while(1)P1 = 0xf0;if(P1 != 0xf0)/判斷有無按鍵按下Delay_1ms(20);/按鍵消抖if(P1 != 0xf0)/第二次判斷有無按鍵按下Delay_1ms(20); /按鍵消抖if(P1 != 0xf0)/第三次判斷有無按鍵按下Key_Value = Keyscan(); disply(); /P0 = tab

20、leKey_Value; /數碼管賦值5 系統仿真與調試應用系統設計完成后,就要進行硬件調試和軟件調試。5.1 硬件調試硬件的調試主要是把電路各種參數調整到符合設計要求。先排除硬件故障,包括設計性錯誤和工藝性障礙。一般原則是先靜態后動態。利用萬用表或邏輯測試儀器,檢查電路中的各器件以及引腳是否連接正確,是否有短路障礙。先要將單片機芯片取下,對電路板進行檢查,通過觀察看是否有異常,是否有虛焊的情況,然后用萬用表測試各電源電壓,若這些都沒問題,則可上電調試。5.2 軟件調試調試方法:通常一個程序應至少具備四種性能:跟蹤、斷點、查看變量、更改數值。本實驗模塊分明,可按模塊分別調試,通過后再整體調試,正確無誤后用在系統編程器將程序固化到AT89S52 的FLASH ROM中,接上電源脫機運行。實物圖:沈陽航空航天大學課程設計論文5. 結論及進一步設想采用該系統可根據實際情況進行時間的準確顯示和比分修改

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論