1)設(shè)計(jì)一款顯示籃球比分的記分牌;
2)通過加分按鈕可以給A隊(duì),或B隊(duì)加分;
3)設(shè)計(jì)對調(diào)功能,更換場地后,AB隊(duì)分?jǐn)?shù)互換;
4)計(jì)時:能實(shí)現(xiàn)0~99分和0~59秒任意調(diào)整,具有啟動、暫停、復(fù)位功能;
5)秒計(jì)時:能實(shí)現(xiàn)0~99秒任意調(diào)整,具有啟動、暫停、復(fù)位功能;
6)增加局?jǐn)?shù)比分功能;
7)增加比賽時間倒計(jì)時功能;
8)報警:0~99秒違例自動聲、光報警:0~99分終場自動聲響;
9)可實(shí)現(xiàn)A、B兩隊(duì)暫停次數(shù)和犯規(guī)的顯示和任意加減;
本設(shè)計(jì)是采用單片機(jī)AT89C51作為本設(shè)計(jì)的核心元件。利用7段共陰LED作為顯示器件。在此設(shè)計(jì)中共接入了8個7段共陰LED顯示器,其中4個用于記錄AB隊(duì)的分?jǐn)?shù),每隊(duì)2個LED顯示器顯示范圍可達(dá)到0~99分,足夠滿足賽程需要,另外4個LED顯示器則用來記錄賽程時間,其中2個用于顯示分鐘,2個用于顯示秒鐘。賽程計(jì)時采用倒計(jì)時方式。即比賽前將時間設(shè)置好,比賽開始時啟動計(jì)時,直至計(jì)時到零為止。計(jì)時范圍可達(dá)到0~99分鐘,也完全滿足實(shí)際賽程的需要。當(dāng)比賽隊(duì)A隊(duì)得1分時,按下A+1鍵;得2分時,按下A+2鍵;得3分時,按下A+3鍵;當(dāng)加分出現(xiàn)錯誤時,可以按A-1鍵減1分,可以達(dá)到調(diào)整分?jǐn)?shù)的作用;依照同樣的方法可以記錄B隊(duì)的得分。
采用單片機(jī)控制使這個系統(tǒng)按鍵操作使用簡潔,LED顯示,安裝方便。解決了籃球比賽計(jì)分器的安裝問題,節(jié)約了線材,適合在各種規(guī)模的體育場館使用,完全可以代替?zhèn)鹘y(tǒng)的用鐘表進(jìn)行計(jì)時的方法,當(dāng)然稍加改動也可以用于其他球類比賽,是體育器材向智能化發(fā)展的一個實(shí)例。
1. 硬件原理電路圖..................................6
2. 硬件電路設(shè)計(jì)及描述.................................. 7
1.AT89C51簡介
單片機(jī)是在一塊芯片中集成了CPU、RAM、ROM、定時/計(jì)數(shù)器和多功能I/O口等計(jì)算機(jī)所需要的基本部件的大規(guī)模集成電路。
其以體積小、功能全、性價比高等諸多優(yōu)點(diǎn)而獨(dú)具特色,在工業(yè)控制、尖端武器、通信設(shè)備、家用電器等嵌入式應(yīng)用領(lǐng)域中獨(dú)占鰲頭。如果說C語言程序設(shè)計(jì)課程設(shè)計(jì)軟件設(shè)計(jì)的基礎(chǔ)課,那么單片機(jī)以其系統(tǒng)硬件構(gòu)架完整、價格低廉、學(xué)生能動手等特點(diǎn),成為工科學(xué)生硬件設(shè)計(jì)基礎(chǔ)課。
2.數(shù)碼管顯示原理
數(shù)碼管實(shí)際上是由7個發(fā)光管組成8字形構(gòu)成的,加上小數(shù)點(diǎn)就是8個。我們分別把他命名為A,B,C,D,E,F,G,H。
圖1 數(shù)碼管內(nèi)部結(jié)構(gòu)圖
假設(shè)我們要顯示一個數(shù)字2, 那么 A、B、G、E、D這5個段的發(fā)光管亮就可以了,C、F、H不亮,同時由于接法為共陰接法,那么為高電平是亮,低電平是滅。從高往低排列, P1.7-P1.0寫成二進(jìn)制為01011011, 把他轉(zhuǎn)化為16進(jìn)制則為5BH。我們可以根據(jù)硬件的接線把數(shù)碼管顯示數(shù)字編制成一個表格,見下表,以后直接調(diào)用就行了。
數(shù)碼管的接口有靜態(tài)接口和動態(tài)接口兩種。靜態(tài)接口為固定顯示方式,無閃爍,其電路可采用一個并行口接一個數(shù)碼管,數(shù)碼管的公共端按共陰接GND,本次課程設(shè)計(jì)由于所需數(shù)碼管不多,故可用些種方法接線。這種接法占用接口多,僅能接少量數(shù)碼管。
動態(tài)接口采用各數(shù)碼管循環(huán)輪流顯示的方法,當(dāng)循環(huán)顯示的頻率較高時,利用人眼的暫留特性,看不出閃爍顯示現(xiàn)象,這種顯示需要一個接口完成字形碼的輸出,另一接口完成各數(shù)碼管的輪流點(diǎn)亮。
多位一體的數(shù)碼管原理和單個的差不多。
表2 共陰極數(shù)碼管顯示
顯示 | P1.7 小數(shù)點(diǎn) | P1.6 G | P1.5小F | P1.4 E | P1.3 D | P1.2 C | P1.1 B | P1.0 A | HE代碼 |
0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 3FH |
1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 06H |
2 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 5BH |
3 | 0 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 4FH |
4 | 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 66H |
5 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 6DH |
6 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 7DH |
7 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 07H |
8 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 7FH |
9 | 0 | 1 | 1 | 0 | 1 | 1 | 1 | 1 | 6FH |
圖3 系統(tǒng)結(jié)構(gòu)圖
本系統(tǒng)采用單片機(jī)AT89C51作為AT89C51本設(shè)計(jì)的核心元件。利用7段共陰LED作為顯示器件。在此設(shè)計(jì)中共接入了8個7段共陰LED顯示器,其中4個用于記錄AB隊(duì)的分?jǐn)?shù),每隊(duì)2個LED顯示器顯示范圍可達(dá)到0~99分,足夠滿足賽程需要,另外4個LED顯示器則用來記錄賽程時間,其中2個用于顯示分鐘,2個用于顯示秒鐘。賽程計(jì)時采用到計(jì)時方式。即比賽前將時間設(shè)置好,比賽開始時啟動計(jì)時,直至計(jì)時到零為止。計(jì)時范圍可達(dá)到0~99分鐘,也完全滿足實(shí)際賽程的需要。
二. 硬件電路設(shè)計(jì)及描述
1.硬件原理電路
系統(tǒng)硬件圖如下圖4所示:
記分圖如下圖5所示:
計(jì)時圖如下圖6所示:
2.硬件電路設(shè)計(jì)及描述
硬件部分的設(shè)計(jì)是整個設(shè)計(jì)中的一個重要部分。在進(jìn)行硬件部分設(shè)計(jì)時,首先要確定元器件,并且知道這些器件的工作原理和功能。然后才可以進(jìn)行設(shè)計(jì)。本設(shè)計(jì)的硬件電路包括兩部分:計(jì)時電路、計(jì)分電路。硬件電部分的設(shè)計(jì)除了硬件電路的設(shè)計(jì),還包括PCB板的繪制。
1. 主流程圖8:
2. 記分流程圖9:
比分顯示程序:
鍵盤掃描子程序
3. 時間中斷流程圖10
時間中斷程序:
4. 源程序代碼見附錄一
四.硬軟件的調(diào)試過程及調(diào)試方法
1.進(jìn)入比賽,先設(shè)置時間為一節(jié)或者半場。默認(rèn)是12分鐘(按下“A+1”進(jìn)行分鐘加1,按下“A-1”進(jìn)行分鐘減1),如圖11
圖11
2.按下“K1”開始比賽或者暫停,如圖12
3.上面的液晶顯示為計(jì)時顯示。下面的液晶顯示為分?jǐn)?shù)顯示“左側(cè)為攻左半場的隊(duì)的分?jǐn)?shù),右側(cè)為攻右半場的對的分?jǐn)?shù)。”換場后依然如此。
4.按下“K2”交換場地,重新計(jì)時。
5.A+1,A+2,A+3,A-1,B+1,B+2,B+3,B-1進(jìn)行兩隊(duì)分?jǐn)?shù)調(diào)整
五.課程設(shè)計(jì)心得體會
俗話說:好的開始是成功的一半。說起課程設(shè)計(jì),最重要的就是做好設(shè)計(jì)的預(yù)習(xí),認(rèn)真的研究老師給的題目,選一個自己感興趣的題目。其次,老師對課程設(shè)計(jì)的講解要一絲不茍的去聽去想,因?yàn)橹挥卸济靼琢耍銎鹪O(shè)計(jì)就會事半功倍。最后,要重視程序的模塊化,修改的方便,也要注重程序的調(diào)試,掌握其方法。
本次設(shè)計(jì),我查閱了相關(guān)書籍,做好各項(xiàng)準(zhǔn)備后才開始進(jìn)行設(shè)計(jì),本次設(shè)計(jì)測試結(jié)果以及不足之處:計(jì)時電路可完成倒計(jì)時、暫停、繼續(xù)等功能,在比賽時間到后可進(jìn)行報警。記分電路工作正常,可完成對比分的刷新與暫存。但在測試過程中發(fā)現(xiàn),在比賽上半場時間到后,不能進(jìn)行比分的交換。進(jìn)行分析后得出結(jié)論如下:系統(tǒng)電路部分設(shè)計(jì)沒有原則性的錯誤,在制版的過程中注意了走線,因此硬件部分功能完好。但因?yàn)檐浖到y(tǒng)編寫方面的疏忽,在比分交換及計(jì)時部分沒有能很好的實(shí)現(xiàn)。除此之外,軟件達(dá)到了系統(tǒng)的要求。
通過課程設(shè)計(jì),發(fā)現(xiàn)了我們的很多不足,我們知識的很多漏洞,看到了我們的實(shí)踐經(jīng)驗(yàn)還是比較缺乏,理論聯(lián)系實(shí)際的能力還急需提高。在這個過程中,我們也曾經(jīng)因?yàn)閷?shí)踐經(jīng)驗(yàn)的缺乏失落過,也曾經(jīng)仿真成功而熱情高漲。通過單片機(jī)課程設(shè)計(jì),我們加深了對單片機(jī)理論的理解,學(xué)回了怎樣將理論很好地應(yīng)用到實(shí)際當(dāng)中去,而且我們還學(xué)會了如何去培養(yǎng)我們的不畏困難的挑戰(zhàn)精神,從而不斷地戰(zhàn)勝自己,超越自己,我們在這一設(shè)計(jì)過程中,學(xué)會了堅(jiān)持不懈,不輕易言棄。設(shè)計(jì)過程,也好比是我們?nèi)祟惓砷L的歷程,常有一些不如意,也許這就是在對我們提出了挑戰(zhàn),勇敢過,也戰(zhàn)勝了,勝利的鐘聲也就一定會為我們而敲響。
此次課程設(shè)計(jì)充分鍛煉了我們的設(shè)計(jì)能力和團(tuán)隊(duì)合作能力,給我們注入了一些全新的認(rèn)識,為我們以后的設(shè)計(jì)和實(shí)驗(yàn)奠定了基礎(chǔ),也為引導(dǎo)我們以理論結(jié)合實(shí)踐起到重要意義。
18943190752 發(fā)表于 2018-12-19 10:13
兄弟,文件能給我一下嗎,5塊錢買了,2501847094我QQ
zczxxz 發(fā)表于 2019-6-17 22:49
請問為什么數(shù)碼管的號碼顯示不完全顯示呢?
zczxxz 發(fā)表于 2019-6-18 10:48
我弄好了,原因是因?yàn)槲疫x錯共陰共陽了,非常好的一個帖子! 贊。
18943190752 發(fā)表于 2018-12-19 10:13
兄弟,文件能給我一下嗎,5塊錢買了,2501847094我QQ
zczxxz 發(fā)表于 2019-6-18 10:48
我弄好了,原因是因?yàn)槲疫x錯共陰共陽了,非常好的一個帖子! 贊。
12號要扣籃了 發(fā)表于 2020-11-28 17:26
作者你好 我的計(jì)分部分?jǐn)?shù)碼管不能用 計(jì)時可以用 請問是什么原因
zczxxz 發(fā)表于 2019-6-18 10:48
我弄好了,原因是因?yàn)槲疫x錯共陰共陽了,非常好的一個帖子! 贊。
歡迎光臨 (http://www.zg4o1577.cn/bbs/) | Powered by Discuz! X3.1 |