国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于單片機的便攜式計時計分電路設(shè)計

2023-01-11 04:54倪欽如蔡武德
電子制作 2022年22期
關(guān)鍵詞:乙隊甲隊甲乙

倪欽如,蔡武德

(云南師范大學(xué) 物理與電子信息學(xué)院,云南昆明,650500)

0 引言

計時和計分對一場運動比賽中兩隊的勝負十分重要,因此設(shè)計一款由單片機控制的便攜式計時計分系統(tǒng)對運動比賽中裁判員的計時和計分有很大的幫助。由于單片機芯片上集成了大規(guī)模特定功能的器件,因此可以采用單片機實現(xiàn)不同電路的設(shè)計[1]。本文采用AT89C51單片機作為計時和計分電路的主要控制器件,以實現(xiàn)計時和計分電路的各個操作功能和顯示功能。在運動比賽過程中,傳統(tǒng)的計時大部分采用電子手表,計分大部分是用翻牌計分,有時也會采用在地上寫“正”字來計分,設(shè)計一個計時和計分電路可以簡化、方便比賽過程中的計時和計分。

1 設(shè)計要求

在接通電源后,通過相應(yīng)按鍵設(shè)定一節(jié)比賽所需的時間,最高可以設(shè)定的一節(jié)比賽時長為99分鐘。設(shè)定好比賽時長后,按下特定按鍵,比賽剩余時間就以1s的頻率減少。在比賽過程中,甲乙兩隊任意一隊得分,可以通過對應(yīng)按鍵進行加分,最高可以加到999分。當一節(jié)比賽所規(guī)定的時間結(jié)束,蜂鳴器就會自動發(fā)聲,提示比賽結(jié)束。一節(jié)比賽結(jié)束,兩隊交換場地,可以通過對應(yīng)按鍵實現(xiàn)交換兩隊比分的顯示位置的功能。

2 系統(tǒng)硬件設(shè)計

2.1 系統(tǒng)框圖

圖1為系統(tǒng)框圖,包含51單片機最小系統(tǒng),輸入和輸出三大部分。其中51芯片、復(fù)位電路、時鐘電路和5V電源共同組成51最小系統(tǒng)[2]。輸入電路有比賽時間的設(shè)定、比賽時間的啟動/暫停和甲乙兩隊比分的加/減,輸出電路有比賽剩余時間的顯示、甲乙兩隊比賽得分的顯示和比賽結(jié)束的聲音提示。

圖1 系統(tǒng)框圖

2.2 電路原理圖

系統(tǒng)電路原理圖如圖2所示。圖中左邊是三個四位一體的數(shù)碼管,其中數(shù)碼管A用于顯示比賽剩余時間,數(shù)碼管B和C用于顯示甲隊和乙隊比賽得分情況。U1為51芯片、C3和R1為復(fù)位電路,C1與C2和X1與U1的XTAL1和XTAL2構(gòu)成時鐘電路。在比賽開始之前,按鍵ADD1、ADC1、ADD2、ADC2可以實現(xiàn)比賽時間的設(shè)定。按鍵ADD1、ADC1、ADD2、ADC2,在比賽開始前用于比賽時長的設(shè)定,在比賽開始后用于兩隊比分加減的操作。若比賽暫?;蛑匦麻_始,可按下RUN/STOP。若一節(jié)比賽結(jié)束,兩隊交換比賽場地,按下EXCHANGE,可以互換兩隊比分顯示位置。U2為74HC245,用來驅(qū)動數(shù)碼管A、B和C。LS1為比賽結(jié)束發(fā)發(fā)聲器。

圖2 電路原理圖

2.3 比賽時間預(yù)值設(shè)定與比賽剩余時間的顯示

圖2 中,數(shù)碼管A,左起第一二位數(shù)碼管用來顯示比剩余時間的分鐘數(shù),第三四位數(shù)碼管是用來顯示比剩余時間的秒數(shù)。比賽分鐘數(shù)和秒數(shù)的設(shè)定相互獨立。在比賽開始之前,通過按鍵ADD1和ADC1可以完成一節(jié)比賽時長分鐘數(shù)的設(shè)定,通過按鍵ADD2和ADC2可以完成一節(jié)比賽時長秒數(shù)的設(shè)定。其中,按一下ADD1按鍵可以增加一分鐘的比賽時長,按一下ADC1按鍵可以減少一分鐘的比賽時長,分鐘數(shù)最多可以加到99,最低可以減到00。通過按一下ADD2按鍵增加一秒的比賽時長,按一下ADC2按鍵減少一秒的比賽時長,秒數(shù)最多可以加到59,最低可以減小到00。

裁判員吹響比賽開始的哨聲后,立即按下圖2中的RUN/STOP按鍵,比賽剩余時間就一秒一秒地減少,直至比賽結(jié)束計時顯示器上顯示00.00。

比賽過程中若有突發(fā)情況,如有隊員受傷、換人等,需暫停比賽。按RUN/STOP鍵,可實現(xiàn)時間計時暫停。

2.4 比賽得分加減的實現(xiàn)

圖2中,數(shù)碼管B和C分別顯示甲隊和乙隊的比賽得分情況。正常工作狀態(tài)下,只有右邊三位數(shù)碼管接通電源。比賽得分加一,計分顯示器上就顯示001,最大值可以達到999,最小可以減小到為000。比賽進行中,按ADD1、ADC1、ADD2、ADC2按鍵可以完成比分加減。按ADD1按鍵甲隊得分加1;按ADC1按鍵甲隊得分減1;按ADD2按鍵乙隊得分加1;按ADC2按鍵乙隊得分減1。還沒開始比賽和比賽結(jié)束后都無法對甲乙兩隊的比賽得分進行加減。

一節(jié)比賽結(jié)束,甲乙兩隊要交換場地,甲乙兩隊的比分顯示位置也要相應(yīng)地交換。上半場比賽中,計時器顯示屏上顯示00.00時,按下圖2中的EXCHANGE按鍵,比賽時間重置為12.00,甲乙兩隊的分數(shù)顯示位置也就自動地交換。上半場的賽程剩余時間顯示不是00.00,按下交換甲乙兩隊顯示比分位置的按鍵,甲乙兩隊的得分顯示位置不會發(fā)生變化。

2.5 比賽結(jié)束報警

一節(jié)比賽剩余時間顯示為00.00時,圖2中的U1的P1.7口會輸出一個低電平,LS1就會發(fā)出報警提示音,表示這節(jié)比賽結(jié)束。

3 系統(tǒng)軟件設(shè)計

3.1 主函數(shù)設(shè)計

在Keil uVision5軟件中新建工程,在新建的工程下創(chuàng)建各個模塊所需的(*.hex)文件。本設(shè)計的主函數(shù)如下文所示。

void main(void)

{

TMOD=0x11; //定時器0和1的工作方式均為1

TL0=0xb0;

TH0=0x3c; //定時器0初值50ms

TL1=0xb0;

TH1=0x3c; //定時器1初值50ms

minit=12; //分鐘初始值12

second=0; //秒鐘初始值0

EA=1; //打開中斷系統(tǒng)總開關(guān)

ET0=1; //打開定時器T0中斷允許

ET1=1; //打開定時器T1中斷允許

TR0=0; //關(guān)閉定時器T0中斷開關(guān)

TR1=0; //關(guān)閉定時器T1中斷開關(guān)

P1=0xFF; //所有I/O口默認高電平

P3=0xFF;

while(1) //進入while循環(huán)

{

keyscan(); //掃描按鍵函數(shù)

display(); //掃描顯示函數(shù)

} }

3.2 計時顯示模塊

計時顯示模塊流程圖如圖3所示。在比賽開始之前,通過按鍵來控制比賽時間的設(shè)定。設(shè)定好一節(jié)比賽的時長,按下對應(yīng)按鍵,比賽開始,賽程時間開始倒計時。若一節(jié)比賽時間到了,蜂鳴器就報警提示比賽結(jié)束,若比賽時間未結(jié)束,繼續(xù)顯示比賽時間。

圖3 計時顯示模塊流程圖

3.3 計分顯示模塊

計分顯示模塊流程圖如圖4所示。在比賽過程中,對應(yīng)按鍵可以操控甲乙兩隊比賽得分的加/減。比賽開始后,若甲、乙兩隊任意一隊得分,即可按下加分按鍵進行加分,隨后甲乙兩隊的得分顯示屏上就相應(yīng)地顯示甲隊和乙隊的比賽得分情況。

圖4 計分顯示模塊流程圖

4 系統(tǒng)仿真與電路制作

4.1 系統(tǒng)仿真

首先,用Proteus仿真軟件畫出計時計分器的電路原理圖;第二,將生成的“*.hex”文件載入到51芯片中;第三,運行仿真操作,仿真結(jié)果如圖5所示。

圖5 仿真圖

4.2 系統(tǒng)實物圖

當仿真調(diào)試結(jié)束,可進行電路制作。制作完成的實際電路如圖6~9所示。圖6為一節(jié)比賽的時長是12分鐘,計時計分器上顯示1200。圖7為比賽時間剩余是9分鐘50秒時,甲隊得分5分,乙隊得分3分。圖8為一節(jié)比賽結(jié)束,蜂鳴器自動發(fā)聲,甲隊得分12分,乙隊得分8分。若繼續(xù)下一節(jié)比賽,要交換甲乙兩隊比賽得分的顯示位置,按下EXCHANGE按鍵,甲隊的得分12就交換到右邊的計分顯示器上,乙隊的得分8就交換在左邊的計分顯示器上,且比賽時間重置為12.00,如圖9所示。

圖6 比賽時間預(yù)設(shè)12分鐘

圖7 甲隊5分,乙隊3分

圖8 甲隊12分,乙隊8分

圖9 交換比分

5 結(jié)束語

經(jīng)過調(diào)試,本設(shè)計的仿真與電路制作已經(jīng)達到設(shè)計要求。它能模擬比賽過程中的計時和計分,符合各類運動比賽計時和計分的規(guī)則。因數(shù)碼管尺寸較小,可見范圍有限,無法直接在比賽中使用。但只要將數(shù)碼管的尺寸加大,即可滿足實際比賽計時和計分的需要。

猜你喜歡
乙隊甲隊甲乙
用分式方程解決工程問題
下一個字母
是甲隊的嗎
一類應(yīng)用題的由繁到簡的解法
減肥
把球灌進自家籃筐
兩對老伴上大學(xué)
有趣的“換錢”游戲
甲乙推理
古浪县| 彩票| 娱乐| 沁水县| 彰化县| 鹤壁市| 平定县| 分宜县| 丰都县| 长春市| 洪湖市| 大渡口区| 昌图县| 林州市| 会泽县| 府谷县| 湾仔区| 米林县| 伽师县| 罗平县| 株洲县| 诸城市| 广饶县| 长兴县| 余干县| 崇明县| 交城县| 五指山市| 崇州市| 义乌市| 雷山县| 清丰县| 桑日县| 徐州市| 宁乡县| 波密县| 新营市| 澄城县| 嘉荫县| 绥中县| 巍山|