版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、重慶航天職業(yè)技術學院2010屆畢業(yè)設計(論文)題 目 : 基于單片機的籃球賽計分器 學院、系 : 電子工程系 專 業(yè) : 電子信息工程技術 學生姓名 : 班 級 : 學號 指導老師 王用倫 摘 要進入21世紀,伴隨著電子,信息通信技術的應用與普及開發(fā),人們對電子技術的要求也越來越高。目前嵌入式單片機滲透到我們生活的各個領域,由于它具有功能強大,體積小,功耗低,可靠性高,易擴展,性價比高,使用方便等特點,因此它廣泛應用于工業(yè)控制,智能儀表等有關系統(tǒng)設備。本設計主要利用單片機STC89C52作為核心元件,利用3組4位共陽極的數(shù)碼管作為顯示器件,以C語言作為編程語言,在Protues和Keil搭建的
2、軟件仿真平臺下進行仿真,本設計包含了STC89C52系列單片機的最小系統(tǒng)的構成,同時在此基礎上擴展了一些實用性強的外圍接口,可以進一步了解譯碼器74LS247的應用,LED七段數(shù)碼管的結構和工作原理,主要實現(xiàn)了計時和顯示A/B隊的分數(shù),并能及時進行加分,減分,鳴笛警示等功能。系統(tǒng)設計完成后應有成本低廉、性能穩(wěn)定、高準確度顯示、操作方便且易攜帶等特點。廣泛適合各類學校和小團體作為賽程計分。關鍵詞:籃球賽計分器;STC89C52;74LS247;七段數(shù)碼管;仿真AbstractEntering the twenty-first Century, along with the more and mo
3、re popularization application of the electronics, information and communication technology, peoples requirement is more and more high in the electronic technology, The embedded microcontroller is penetrating into every aspect of our lives with its strong function, small volume, low power consumption
4、, high liability, easy expansion, high performance-price ratio, use convenient and so on , so it is widely used in industrial controlment, smart instrumentation and related system equipment.The core element of the design is STC89C52, 3 groups of 4 bit common anode digital tube is display devices. Th
5、e design is using C language, simulating in a software simulation platform between Proteus and Keil, the design included the STC89C52Series MCU minimum system, and at the same time the design expanded some practical peripheral interface to deeply understand the application of 74LS247, LED seven digi
6、tal tube structure and its working principle, and the display interface communication.The design mainly finished the timing and displaying A / B team scores and timely points, deduction, the alarming function etc.After finishing system design,it should be low cost, stable performance, high accuracy
7、to display, convenient to operate easy to carry and so on. Suitable for all kinds of schools and small groups as the tournament scoring.Keywords: Basketball scoring device; STC89C52;74LS247;LED;Simulation目 錄第一章 緒 論51.1 引言51.2 國內外研究現(xiàn)狀及發(fā)展趨勢5第二章 系統(tǒng)總體方案設計72.1 系統(tǒng)硬件方案設計72.2 系統(tǒng)軟件方案設計82.3 本章小結9第三章 系統(tǒng)硬件設計103
8、.1 硬件設計原理103.1.1 STC89C52簡介103.1.2 數(shù)碼管動態(tài)掃描顯示原理123.1.3 BCD七段數(shù)碼管驅動/譯碼器133.1.4 按鍵接口原理143.2 硬件電路設計153.2.1 元器件的選擇163.2.2 計時顯示屏的設計163.2.3計分顯示屏的設計173.2.4 鳴笛器的設計173.3 本章小結18第四章系統(tǒng)軟件設計194.1 軟件設計原理194.1.1定時器/計數(shù)器194.1.2發(fā)音原理及音樂知識204.2 系統(tǒng)軟件設計224.2.1 系統(tǒng)主程序設計224.2.2 時間顯示設計224.2.3 計分顯示設計254.2.4 鳴笛器設計264.3 本章小結27第五章
9、Keil C與Protues聯(lián)調及仿真285.1 Keil C與Protues簡介285.2 Keil C與Protues聯(lián)調及仿真285.3 本章小結31第六章 總 結32參考文獻33附 錄34致 謝41第一章 緒 論1.1 引言 進入21世紀,伴隨著電子,信息通信技術的應用與普及開發(fā),人們對電子技術的要求也越來越高,目前嵌入式單片機滲透到我們生活的各個領域。1單片機是一種集成在電路芯片,是采用超大規(guī)模集成電路技術,把具有數(shù)據(jù)處理能力的中央處理器CPU、隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統(tǒng)、定時器/計時器等功能集成到一塊硅片上構成的一個小而完善的計算機系統(tǒng)。按照歷史性、
10、本質性、普遍性要求,嵌入式系統(tǒng)應定義為:“嵌入到對象體系中的專用計算機系統(tǒng)”,可分軟件部分和硬件部分,而當代單片機系統(tǒng)已經(jīng)不再只在裸機環(huán)境下開發(fā)和使用,大量專用的嵌入式操作系統(tǒng)被廣泛應用在單片機上。所以,以MCU為核心,就是各種各樣的單片機,是嵌入式硬件部分的實現(xiàn)方式之一,它主要是因為把處理器和存儲器等部件集成在一塊芯片上。體育比賽計時計分器是對體育比賽過程中所產(chǎn)生的時間、比分等數(shù)據(jù)進行快速采集記錄、加工處理、傳遞利用的工具。籃球比賽的計時計分器是一種得分類型的工具。雖然籃球比賽中很早就開始研究應用了電子計分器,但通常都是利用模擬電子器件、數(shù)字電子器件或是模擬、數(shù)字混合組成的,其穩(wěn)定性和高準確
11、度計分仍存在一些問題。以嵌入式單片機為核心,利用3組4位共陽極的數(shù)碼管作為顯示器件的籃球比賽計分屏,計分準確,具有體積小,重量輕,能耗低,價格便宜,可靠性高,抗干擾能力強和使用方便等獨特的優(yōu)點。1.2 國內外研究現(xiàn)狀及發(fā)展趨勢伴隨著科技的日新月異,各式各樣的電子產(chǎn)品的問世和發(fā)展層出不窮,籃球計分屏是一個無處不在的電子產(chǎn)品,經(jīng)過多年的發(fā)展,技術已經(jīng)相當成熟了。根據(jù)目前高水平籃球比賽要求,完善的籃球比賽計時系統(tǒng)設備應能夠與現(xiàn)場成績處理,現(xiàn)場大屏幕,電視轉播車等多種設備相聯(lián),以便實現(xiàn)高比賽現(xiàn)場感,表演娛樂觀眾等功能目標。隨著電子技術的產(chǎn)業(yè)結構調整,生產(chǎn)工藝的飛速發(fā)展和籃球的廣泛推廣,市場對籃球計分器
12、的需求也越來越大。本設計用STC89C52單片機編程控制LED七段數(shù)碼管作顯示,設計籃球賽計分屏,嵌入式單片機滲透到我們生活的各個領域,幾乎很難找到哪個領域沒有單片機的蹤跡。導彈的導航裝置,飛機上各種儀表的控制,計算機的網(wǎng)絡通訊與數(shù)據(jù)傳輸,工業(yè)自動化過程的實時控制和數(shù)據(jù)處理,廣泛使用的各種智能IC卡,民用豪華轎車的安全保障系統(tǒng),錄象機、攝象機、全自動洗衣機的控制,以及程控玩具、電子寵物等等,這些都離不開單片機。更不用說自動控制領域的機器人、智能儀表、醫(yī)療器械了。隨著單片機的發(fā)展,人們對事物的要求越來越高,單片機的應用軟件技術也發(fā)生了巨大的變化,從最初的匯編語言,開始演變到C語言開發(fā),不但增加了
13、語言的可讀性,結構性,而且對于跨平臺的移植也提供了方便,另外一些復雜的系統(tǒng)開始在單片機上采用操作系統(tǒng),一些小的RTOS等,一方面加速了開發(fā)人員的開發(fā)速度,節(jié)約開發(fā)成本,另外也為更復雜的實現(xiàn)提供了可能。當前比較流行的RTOS有:WINCE,uClinux,Linux,uC/OS等等。第二章 系統(tǒng)總體方案設計本設計主要利用單片機STC89C52作為核心元件,利用3組4位共陽極的數(shù)碼管作為顯示器件,分別用于記錄A、B兩隊的分數(shù),以及賽程時間,每個隊的數(shù)碼管顯示分數(shù)范圍可達到09999分,足夠滿足賽程需要。以C語言作為編程語言,在Protues和Keil搭建的軟件仿真平臺下進行仿真,本設計包含了STC
14、89C52系列單片機的最小系統(tǒng)的構成,同時在此基礎上擴展了一些實用性強的外圍接口,可以進一步了解譯碼器74LS247的應用,LED七段數(shù)碼管的結構和工作原理,主要實現(xiàn)了計時和顯示A/B隊的分數(shù),并能及時進行加分,減分,鳴笛警示等功能3。2.1 系統(tǒng)硬件方案設計該系統(tǒng)硬件電路包括:單片機STC89C52、時鐘電路、復位電路、電源電路、按鍵控制電路、計分電路、計時電路、報警電路。軟件包括用Keil 進行C語言編程,用Protues進行仿真,具體系統(tǒng)硬件結構框圖如圖2-1所示。 AT89C51計分顯示時鐘電路計分電路報警電路計時電路計時顯示鳴笛警示按鍵控制復位電路電源電路 圖2-1 籃球賽計分器的硬
15、件結構框圖2.2 系統(tǒng)軟件方案設計軟件部分要求實現(xiàn)的功能有:開始時所有顯示屏都顯示0;有預置比賽時間的功能;具有AB兩隊分別計分的功能;有鳴笛警示功能;只有當預置時間后,并按開始按鈕,計時器才能開始計時,只有當開始計時后,AB兩隊才能加分等。3結合數(shù)碼管以及51單片機計數(shù)器的工作實現(xiàn)方式、接口應用、中斷控制等可設計出程序流程圖如下圖2-2所示:停止比賽結束讀取功能鍵等待按鍵釋放N比賽開始,并初始化YYNooo讀P3口的值取出P3.6啟動按鍵是否按下去抖確認是否有按鍵按下B隊加1分B隊減1分NY將BCD碼轉化為7段碼顯示出來,并確認比賽是否結束將當前的分數(shù)轉化為BCD碼確認按下的是哪個鍵鳴笛休息
16、A隊減1分A隊加1分圖2-2 主程序流程圖2.3 本章小結本章主要闡述了本設計的總體設計方案,通過模塊化的設計來實現(xiàn)硬件部分的功能,軟件部分的實現(xiàn)主要通過控制單片機的I/O口和相應按鍵操作來完成,先確定系統(tǒng)總體方案,后續(xù)章節(jié)的詳細方案設計就迎刃而解了。第三章 系統(tǒng)硬件設計設計一個基于51單片機的籃球賽計分屏,初步確定本設計的總體框架結構,再根據(jù)具體設計要求選定合適的設計方案以及選取合適的元器件進行系統(tǒng)硬件設計。具體設計概念如下:選擇STC89C52型單片機,通過不同的I/O口控制按鍵電路、顯示電路、鳴笛警示電路等部分,設計一個簡易的籃球賽計分屏。3.1 硬件設計原理3.1.1 STC89C52
17、簡介2STC89C52是一種帶4K字節(jié)FLASH存儲器(FPEROMFlash Programmable and Erasable Read Only Memory)的低電壓、高性能CMOS 8位微處理器,俗稱單片機。單片機的可擦除只讀存儲器可以反復擦除1000次。該器件采用ATMEL高密度非易失存儲器制造技術制造,與工業(yè)標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的STC89C52是一種高效微控制器,STC89C52是它的一種精簡版本。STC89C52單片機為很多控制系統(tǒng)提供了一種靈活性高且價廉的方案。外形及引腳排列如圖3-1所示:
18、圖3-1 STC89C52外形及引腳排列主要特性:與MCS-51 兼容4K字節(jié)可編程FLASH存儲器壽命:1000寫/擦循環(huán)數(shù)據(jù)保留時間:10年全靜態(tài)工作:0Hz-24MHz三級程序存儲器鎖定1288位內部RAM32可編程I/O線兩個16位定時器/計數(shù)器5個中斷源可編程串行通道低功耗的閑置和掉電模式片內振蕩器和時鐘電路管腳說明:VCC:供電電壓。GND:接地。P0口:P0口的8位皆為漏極開路輸出簡稱OD;內部無上拉電阻,所以執(zhí)行輸出功能時,外部必須接上拉電阻;若要實現(xiàn)輸入功能,必須先輸入高電平“1”,才能讀取該端口所連接的外部數(shù)據(jù);若系統(tǒng)連接外部存儲器,則P0可作為地址總線和數(shù)據(jù)總線的多功能引
19、腳,此時內部具有上拉電阻,無需外接上拉電阻。P1口:P1口為8位,可位尋址的雙向I/O口;內部具備約30千歐姆的上拉電阻,實現(xiàn)輸出功能時,不需要連接外部上拉電阻;實現(xiàn)輸入功能時,必須先輸入高電平“1”,才能讀取該端口所連接的外部數(shù)據(jù);P1口的8位類似漏極開路輸出,但內部已接上上拉電阻,每個引腳可驅動4個LS型TTL負載。P2口:P2口為8位、可位尋址的雙向輸入/輸出口,內部具備約30千歐姆的上拉電阻,實現(xiàn)輸出功能時,不需要連接外部上拉電阻;實現(xiàn)輸入功能時,必須先輸入高電平“1”,才能讀取該端口所連接的外部數(shù)據(jù);P2口的8位類似漏極開路輸出,但內部已接上上拉電阻,每個引腳可驅動4個LS型TTL負
20、載;若系統(tǒng)連接外部存儲器,而外部存儲器的地址線超過了8根時,則P2可作為地址總線(A8-A15)的引腳。P3口:P3口為8位,可位尋址的雙向I/O口;內部具備約30千歐姆的上拉電阻,實現(xiàn)輸出功能時,不需要連接外部上拉電阻;實現(xiàn)輸入功能時,必須先輸入高電平“1”,才能讀取該端口所連接的外部數(shù)據(jù);P3口的8位類似漏極開路輸出,但內部已接上上拉電阻,每個引腳可驅動4個LS型TTL負載。P3口也可作為STC89C52的一些特殊功能口,如下表3-1所示:表3-1 STC89C52的一些特殊功能口I/O口備選功能/特殊功能P3.0/RXD串行輸入口P3.1/TXD串行輸出口P3.2/外部中斷0P3.3/外
21、部中斷1P3.4/T0計時器0外部輸入P3.5/T1計時器1外部輸入P3.6/外部數(shù)據(jù)存儲器寫選通P3.7/外部數(shù)據(jù)存儲器讀選通RST:復位信號。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間,用以完成單片機的復位初始化操作。ALE/:地址鎖存控制信號。在系統(tǒng)擴展,訪問外部存儲器時,ALE用于控制把P0口輸出的低8位的地址鎖存起來,以實現(xiàn)低位地址和數(shù)據(jù)的隔離。此外,由于ALE是以晶振1/6的固定頻率輸出脈沖,因此可作為外部時鐘或者外部定時脈沖使用。ALE只有在執(zhí)行MOVX,MOVC指令時,ALE才起作用。:外部程序存儲器讀選通信號。在讀外部ROM時,有效(低電平有效),以實現(xiàn)外部R
22、OM的讀操作。在具體應用時,外部ROM讀取時,在每個機器周期會動作兩次,外部RAM讀取時,兩個信號被跳過不會輸出。/VPP:訪問程序存儲控制信號。當信號保持低電平時,對ROM的讀操作僅僅限定在外部程序存儲器,當信號為高電平或者懸空時,對ROM的讀操作是從內部程序存儲器開始,并可延至外部程序存儲器。XTAL1:反向振蕩放大器的輸入及內部時鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。3.1.2 數(shù)碼管動態(tài)掃描顯示原理4在實際的單片機系統(tǒng)中,往往需要多位顯示。動態(tài)顯示是一種最常見的多位顯示方法,應用非常廣泛。用數(shù)碼管顯示信息時,由于每個數(shù)碼管至少需要8個I/O口,如果需要多個數(shù)碼管,則需要太
23、多I/O口,而單片機的I/O口是有限的。在實際應用中,一般采用動態(tài)顯示的方式解決此問題。動態(tài)顯示是多個數(shù)碼管,交替顯示,利用人的視覺暫留作用使人看到多個數(shù)碼管同時顯示。通常將所有位的段選線相應地并聯(lián)在一起,由一個單片機的8位I/O口控制,形成段選線的多路復用。而各位數(shù)碼管的共陽極或共陰極分別由單片機獨立的I/O口線控制,順序循環(huán)地點亮每位數(shù)碼管,這樣的數(shù)碼管驅動方式就稱為“動態(tài)掃描”。在這種方式中,雖然每一時刻只選通一位數(shù)碼管,但由于人眼具有一定的“視覺殘留”,只要延時時間設置恰當,便會感覺到多位數(shù)碼管同時被點亮了。在動態(tài)顯示程序中,各個位的延時時間長短是非常重要的,如果延時時間長,則會出現(xiàn)閃
24、爍現(xiàn)象;如果延時時間太短,則會出現(xiàn)顯示暗且有重影。在編程時,需要輸出段選和位選信號,位選信號選中其中一個數(shù)碼管,然后輸出段碼,使該數(shù)碼管顯示所需要的內容,延時一段時間后,再選中另一個數(shù)碼管,再輸出對應的段碼,高速交替。3.1.3 BCD七段數(shù)碼管驅動/譯碼器3常用的BCD對七段顯示器譯碼器/驅動器的IC包裝設計有TTL之7446、7447、7448、7449與CMOS之4511等。其中7446、7447必須使用共陽極七段數(shù)碼顯示器,7448、7449、4511等則使用共陰極七段顯示器。74LS247的功能用于將BCD碼轉化成數(shù)碼塊中的數(shù)字,通過它解碼,可以直接把數(shù)字轉化為數(shù)碼管的顯示數(shù)字,從而
25、簡化了程序,節(jié)約單片機的I/O開銷,因此是一個非常好的芯片。74LS247的引腳如下圖3-2所示:圖3-2 74LS247引腳圖引腳的功能:(1)A、B、C、D為輸入端,abcdefg為輸出端。當輸入DCBA=0010時,則輸出abcdefg=0010010,使數(shù)碼管顯示“2”;當輸入DCBA=0110時,則輸出abcdefg=1100000,使數(shù)碼管顯示“6”;關系如表3-2所示:表3-2 BCD七段譯碼真值表輸入D C B A輸出F(a) F(b) F(c) F(d) F(e) F(f) F(g)字形0 0 0 01 1 1 1 1 1 000 0 0 10 1 1 0 0 0 010 0
26、 1 01 1 0 1 1 0 120 0 1 11 1 1 1 0 0 130 1 0 00 1 1 0 0 1 140 1 0 11 0 1 1 0 1 150 1 1 01 0 1 1 1 1 160 1 1 11 1 1 0 0 0 071 0 0 01 1 1 1 1 1 181 0 0 11 1 1 1 0 1 19(2)LT、RBI與BI/RBO為控制引腳,其功能分述如下:74LS247電路是由與非門、輸入緩沖器和七個與或非門組成的BCD7段譯碼器/驅動器。7個與非門和一個驅動電路成對連接,以產(chǎn)生可用的BCD數(shù)據(jù)及其補碼至7個與或非譯碼門。剩下的與非門和3個輸入緩沖器作為試燈輸入
27、(LT)、滅燈輸入/動態(tài)滅燈輸出(BI/RBO)以及動態(tài)滅燈輸入(RBI)端。該電路接受4位二進制編碼十進制數(shù)(BCD)輸入并借助于輔助輸入端狀態(tài)將輸入數(shù)據(jù)譯碼后去驅動一個七段顯示器。輸出結構設計能承受7段顯示器所需要的相當高的高壓,驅動顯示器各段所需要的高達24mA的電流可以由其高性能的輸出晶體管來直接提供。BCD輸入計數(shù)9以上的顯示圖案是鑒定輸入條件的唯一信號。該電路有自動前、后沿滅零控制(RBI和RBO)。試燈(LT)可在端處在高電平的任何時刻去進行,該電路還含有一個滅燈輸入(BI)。它用來控制燈的亮度或禁止輸出。1)需要0-15的輸出功能時,滅燈輸入(BI)必須為開路或者保持在高電平狀
28、態(tài),若不要滅掉十進制零,則動態(tài)滅燈輸入(RBI)必須開路或者處于高電平狀態(tài)。2)當?shù)碗娖街苯蛹拥綔鐭糨斎耄˙I)時,不管其他任何輸入端的電平如何,所有段的輸出端都關死。3)當動態(tài)滅燈輸入(RBI)和輸入端A、B、C、D都處于低電平而試燈輸入(LT)為高電平時,則所有段的輸出端進入關閉且動態(tài)滅燈輸出(RBO)處于低電平狀態(tài)。4)當滅燈輸入/動態(tài)滅燈輸出(BI/RBO)開路或者保持在高電平狀態(tài),且將低電平加到試燈試燈輸入(LT)時,所有段的輸出都得打開。注:BI/RBO是用做滅燈(BI)與/或動態(tài)滅燈輸出(RBO)的線與邏輯。3.1.4 按鍵接口原理 鍵盤往往分成編碼鍵盤和非編碼鍵盤,編碼鍵盤由按
29、鍵和鍵處理電路組成,直接為計算機提供經(jīng)過編碼的按鍵鍵碼;而非編碼鍵盤則只提供按鍵,其余由計算機自己處理。非編碼鍵盤結構簡單,可自由裁量設計,非常適用于單片應用系統(tǒng)。1.按鍵特性與抖動處理按鍵是一種機械彈性開關,當鍵按下時閉合,松開時斷開。因為有機械的接觸,在觸點閉合或斷開的瞬間會出現(xiàn)電壓抖動。為了避免鍵輸入錯誤,必須進行鍵抖動的處理。去抖動由硬件和軟件兩種方法:硬件方法就是在鍵盤中附加去抖動電路消除抖動;而軟件方法則是采用時間延遲以躲避抖動,待觸點狀方法處理。2.鍵盤接口及功能非編碼鍵盤是所用按鍵組成的集合。為了保證鍵盤的正確輸入,鍵接口必備以下功能:(1)鍵掃描與識別,判斷有無鍵按下以及按鍵
30、位置,鍵掃描與識別是通過“行掃描”與“列狀態(tài)”的配合來確定是否有鍵按下以及所在行、列的位置。所謂行掃描就是一次給每條行線送低電平,而其余各行線送高電平,并檢測對每一行掃描時所產(chǎn)生的列狀態(tài)。鍵盤掃描有下列三種方式:程控掃描方式:只有單片機空閑時才調用掃描程序響應用戶鍵入請求。定時掃描方式:單片機定時調用掃描程序對鍵盤進行掃描,即時響應用戶鍵入請求。中斷掃描方式:與中斷請求電路配合,當有鍵按下時產(chǎn)生中斷請求,由單片機響應并執(zhí)行中斷服務程序掃描鍵盤。(2)去鍵抖動消除按鍵抖動帶來的誤輸入。檢測鍵關閉后,延時10ms后再檢測一次,兩次檢測相同再進一步進行鍵處理。(3)鍵編碼生成易于處理的鍵碼。由于鍵位
31、碼比較零亂,因此接下來的工作是根據(jù)需要把反映閉合鍵和鍵位置的鍵位碼換乘反映鍵功能的鍵碼。有了鍵碼,才好通過散轉指令把程序執(zhí)行到閉合鍵所對應的服務程序上去。鍵碼既可以根據(jù)鍵位碼查詢表求得,也可以根據(jù)鍵碼編排規(guī)律計算得到。(4)等待鍵釋放為了保證鍵一次閉合僅進行一次處理,編鍵碼之后,再以延時掃描的方法等待鍵釋放。鍵釋放后鍵處理工作完成。3.2 硬件電路設計硬件部分的設計是整個設計的一個很重要的部分。在進行硬件設計時,首先要確定元器件,并且知道這些元器件的工作原理和功能,然后才可以進行設計。本設計的主要硬件電路包括三個部分:計時顯示電路、計分顯示電路、鳴笛警示電路。一般來說,對硬件部分的設計都應包括
32、繪制SCH原理圖和PCB印刷圖,由于本次設計我主要負責軟件部分的設計,硬件參與得不是很多,所以硬件部分元器件的功能就不詳細介紹了。3.2.1 元器件的選擇3本設計主要選擇了以下元器件:如表3-3所示:表3-3 元器件列表序號元件名稱功能1STC89C52(單片機)27SEG-MPX4-CA-BKUE37SEG-MPX4-CA4SW-SPDT574LS2476RES7BUTTON874049SOUNDER3.2.2 計時顯示屏的設計計時電路主要由計時按鍵、單片機STC89C52、譯碼器74LS247、4位共陽極的數(shù)碼管以及反相器7404構成。P1.0-P1.3分別控制計時數(shù)碼管的4個位的位線,P
33、1.6和P1.7分別連接計時器時間的十位和個位的初值按鈕,P0.0-P0.3分別與74LS247的輸入端A、B、C、D相連接,74LS247的QA、QB、QC、QD、QE、QF、QG分別與計時數(shù)碼管的a、b、c、d、e、f、g七段的陰極相連接,用74LS247驅動4位數(shù)碼管的動態(tài)顯示。設計出的計時顯示電路如下圖3-3所示:圖3-3 計時顯示屏電路圖3.2.3計分顯示屏的設計計分電路主要由四個計分按鍵、單片機STC89C52、譯碼器74LS247、兩個4位共陽極的數(shù)碼管以及反相器7404構成。P2.0-P2.3分別控制B隊計分數(shù)碼管的4個位的位線,P2.4-P2.7分別控制A隊計分數(shù)碼管的4個位
34、的位線,P0.0-P0.3分別與74LS247的輸入端A、B、C、D相連接,74LS247的QA、QB、QC、QD、QE、QF、QG分別與計時數(shù)碼管的a、b、c、d、e、f、g七段的陰極相連接,用74LS247驅動4位數(shù)碼管的動態(tài)顯示。設計出的計分顯示電路如下圖3-4所示:圖3-4 計分顯示屏電路圖 3.2.4 鳴笛器的設計鳴笛警示電路如下圖3-5所示,采用蜂鳴器作為音響器件,該電路主要由單片機、蜂鳴器、按鍵以及反相器構成。P1.4接蜂鳴器,用一個按鍵接到P2.3上,當按下該按鍵時,產(chǎn)生一個外部中斷,蜂鳴器發(fā)出警報聲。圖3-5 鳴笛器電路圖3.3 本章小結本章設計了以8位單片機STC89C52
35、為核心的籃球計分屏硬件平臺方案,并搭建了相應的I/O口控制按鍵電路、顯示電路、鳴笛警示等外圍電路,實現(xiàn)一個簡易的籃球賽計分屏硬件部分的設計。第四章 系統(tǒng)軟件設計本系統(tǒng)是利用單片機的定時功能來進行時間處理,實現(xiàn)計時顯示功能,利用單片機的計數(shù)功能來進行分數(shù)處理,實現(xiàn)計分顯示功能,對時間和分數(shù)進行處理的過程中,要通過中斷來控制實現(xiàn),當有按鍵按下時,計分器就會有相應的加分減分處理,然后通過數(shù)碼管顯示器動態(tài)掃描并顯示出來。通過發(fā)聲的原理和規(guī)律,利用單片機的I/O口輸出高低電平,產(chǎn)生矩形波,外接喇叭就會發(fā)出一定頻率的聲音,從而實現(xiàn)鳴笛功能。4.1 軟件設計原理4.1.1定時器/計數(shù)器251單片機內部有兩個
36、16位可編程的定時器/計數(shù)器,分別稱為定時器/計數(shù)器0和定時器/計數(shù)器1,它們具有四種工作方式,其控制字和狀態(tài)均在相應的特殊功能寄存器中,通過對控制寄存器的編程,就可方便地選擇適當?shù)墓ぷ鞣绞?。特殊控制器有工作方式控制寄存器(TMOD),定時/計數(shù)器控制寄存器(TCON),中斷允許控制寄存器IE。定時/計數(shù)器的核心是的16位加法計數(shù)器,定時器T0的加法計數(shù)器用特殊功能寄存器TH0、TL0表示,TH0表示加法計數(shù)器的高8位,TL0表示加法計數(shù)器的低8位。TH1和TL1則分別表示定時/計數(shù)器T1的高8位和低8位。它們均是8位寄存器,在特殊功能寄存器中占地址8AH-8DH。它們用于存放定時或計數(shù)的初始
37、值。此外,內部還有一個8位的工作方式寄存器TMOD和一個8位的控制寄存器TCON,用于選擇和控制定時/計數(shù)器的工作。這些寄存器可根據(jù)需要由程序讀寫。當然16位加法計數(shù)器的輸入端每輸入一個脈沖,16位加法計數(shù)器的值自動加1,當計數(shù)器的計數(shù)值超過加法計數(shù)器字長所能表示的二進制數(shù)的范圍而向第17位進位,即計數(shù)溢出時,置位定時中斷請求標志,向CPU申請中斷。1、工作方式寄存器TMODTMOD用于控制T0和T1的工作方式,其格式如表4-1所示:表4-1 方式控制寄存器TMOD位D7D6D5D4D3D2D1D0位符號GATEC/M1M0GATEC/M1M0門控開關計數(shù)/定時方式選擇門控開關計數(shù)/定時方式選
38、擇T1方式字段T0方式字段各位定義如下:M1,MO:工作方式控制位,可構成表4-2所示四種工作方式:表4-2 方式控制寄存器TMOD的工作方式M1M0工作方式說明00013位定時器;01116位計數(shù)器;102可自動再裝載的8位計數(shù)器;113T0分成兩個獨立的8位計數(shù)器C/:計數(shù)工作方式/定時工作方式選擇位。置0時,設置為定時工作方式;置1時,設置為計數(shù)工作方式。GATE:門控位,用以決定是由軟件還是硬件啟動/停止計數(shù)。GATE=0, /被封鎖,只要用軟件對TR0(或TR1)置“1”就啟動了定時器;GATA=1時,定時器/計數(shù)器的計數(shù)受外部引腳輸入電平的控制。TMOD的所有位在復位后清0。TMO
39、D不能位尋址,只能按字節(jié)操作設置工作方式。2、定時/計數(shù)控制寄存器TCONTFl,TRl,TF0和TR0位用于定時器計數(shù)器;IEl,ITl,IE0和IT0位用于中斷系統(tǒng)。其格式如表4-3所示:表4-3 控制寄存器TCON位D7D6D5D4D3D2D1D0位符號TF1TR1TF0TR0IE1IT1IE0IT0各位定義如下:TF1:定時器1溢出標志位。當定時器1計滿溢出時,由硬件使TF1置“1”,并且申請中斷。進入中斷服務程序后,由硬件自動清“0”,在查詢方式下用軟件清“0”。TR1:定時器1運行控制位。由軟件清“0”關閉定時器1。當GATE=1,且為高電平時,TR1置“1”啟動定時器1;當GAT
40、E=0,TR1置“1”啟動定時器1。TF0:定時器0溢出標志。其功能及操作情況同TF1。TR0:定時器0運行控制位。其功能及操作情況同TR1。IE1:外部中斷1請求標志位。IT1:外部中斷1觸發(fā)方式選擇位。當IT1=0,為低電平觸發(fā)方式;當IT1=1,為下降沿觸發(fā)方式。IE0:外部中斷0請求標志位。IT0:外部中斷0觸發(fā)方式選擇位。 當IT0=0,為低電平觸發(fā)方式;當IT0=1,為下降沿觸發(fā)方式。TCON中低4位與中斷有關。由于TCON是可以位尋址的,因而如果只清溢出或啟動定時器工作,可以用位操作命令。4.1.2發(fā)音原理及音樂知識41. 聲音的產(chǎn)生我們知道,聲音的產(chǎn)生是一種音頻振動的效果。振動
41、的頻率越高,則為高音;振動的頻率越低,則為低音。聲音的頻率范圍為20Hz-200kHz之間,人類耳朵比較容易辨識的聲音頻率范圍是200Hz-20kHz,一般音響電路是用正旋波信號驅動喇叭,從而產(chǎn)生悅耳的音樂;在數(shù)字電路里,則是用數(shù)字脈沖信號驅動喇叭,從而產(chǎn)生聲音。若要STC89C52產(chǎn)生聲音,可利用程序來控制單片機某個I/O口的“高”電平或者“低”電平,則在該I/O口線上就能產(chǎn)生一定頻率的矩形波,接上喇叭就能發(fā)出一定頻率的聲音,若再利用延時程序控制“高”、“低”電平的持續(xù)時間,就能改變輸出頻率,從而改變音調。2. 音調(音階)的產(chǎn)生若以頻率來表示聲音,有點抽象,又有點無趣,通常是以Do、Re、
42、Mi、Fa、So、La、Si、Do分別代表某一頻率的聲音,我們稱之為“音調”,如表4-4所示,為C調音符頻率對照表,它包括3個音階(高音、中音、低音)。一首音樂是由許多不同的音階組成的,而每個音階對應著不同的頻率,這樣我們就可以利用不同的頻率組合,構成想要的音樂了。當然對于單片機來說,產(chǎn)生不同的頻率非常方便,我們可以利用單片機的定時/計數(shù)器T0來產(chǎn)生這樣的方波頻率信號。因此,我們只要把一首歌曲的音階對應頻率關系確定即可。表4-4 C調各音符頻率對照表 音階n123456789101112DoDo#ReRe#MiFaFa#SoSo#LaLa#Si低音頻率262277294311330349370
43、392415440464494簡譜1234567中音頻率523554587622659698740784831880932988簡譜1234567高音頻率104611091175124513181397148015681661176018651976簡譜3. 節(jié)拍的產(chǎn)生若要構成音樂,光有音調是不夠的,還需要節(jié)拍,讓音樂具有旋律(固定的律動),而且可以調節(jié)各個音的快慢速度?!肮?jié)拍”,即Beat,簡單說就是打拍子,就像我們聽音樂不自主的隨之拍手或其他動作。若1拍為0.4s,則1/4 拍為0.1s,其他節(jié)拍都是它的倍數(shù),只要設定延時時間即可。至于1拍多少s,并沒有嚴格規(guī)定,就像人的心跳一樣,大部分人
44、的心跳是每分鐘72下,有些人快一點,有些人慢一點,只要聽的悅耳就好。節(jié)拍也是用延時子程序或者定時器中斷來實現(xiàn)的。如1/4 拍一次延時0.1s,1拍延時4次0.1s。4.2 系統(tǒng)軟件設計64.2.1 系統(tǒng)主程序設計在主程序循環(huán)中,主要工作是掃描是否有鍵按下,若有鍵按下則要確認是哪個鍵按下并做相應的處理,并做同步顯示處理。void main(void)TMOD=0x01; /設置T0為工作方式1,作為16位計數(shù)器TH0=(65535-50000)/256; /設置T0的高8位,并且T0的計數(shù)值為50msTL0=(65535-50000)%256; /設置T0的低8位music=0; /初值喇叭不響
45、EA=1; /開放所有中斷ET0=1; /允許定時/計數(shù)器T0溢出中斷EX0=1; /允許外部中斷0IT0=1; /設置外部中斷0為邊沿觸發(fā)方式(下降沿)while(1) /無窮循環(huán),程序一直運行Key_Y(); /預置場次比賽時間if(Star=0) /按下開始鍵,設置好比賽時間,比賽正式開始TR0=1; /啟動定時器T0,開始計時Key_if(); /開始計分 if(f=0&m=0|Puse=0)TR0=0; /比賽還未開始或比賽結束時間到,停止計時Js_Jf_Scan(); /將相應的分數(shù)、時間同步進行顯示4.2.2 時間顯示設計系統(tǒng)要實現(xiàn)時間的計時功能,所以要用定時/計數(shù)器的定時功能進行時間處理,在本程序設計中,用一個定時50ms的時間中斷函數(shù)void Js_50ms(void),一個時間處理函數(shù)void Ptime(uchar)。由于時間顯示屏用的是4位的數(shù)碼管進行顯示,用動態(tài)掃描顯示驅動,用void Js_Jf_Scan(void)處理動態(tài)掃描
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 石河子大學《藥理學實驗》2022-2023學年第一學期期末試卷
- 前臺客服上半年工作總結四篇
- 石河子大學《現(xiàn)代交換技術》2022-2023學年第一學期期末試卷
- 石河子大學《食品安全檢測與儀器分析實驗》2022-2023學年第一學期期末試卷
- 石河子大學《俄語語言與文化》2021-2022學年第一學期期末試卷
- 沈陽理工大學《專業(yè)創(chuàng)新課程-自動化控制系統(tǒng)設計實例》2022-2023學年期末試卷
- 沈陽理工大學《信息光學》2023-2024學年第一學期期末試卷
- 沈陽理工大學《軟件工程》2022-2023學年期末試卷
- 沈陽理工大學《建筑節(jié)能》2022-2023學年第一學期期末試卷
- 沈陽理工大學《過程控制系統(tǒng)》2021-2022學年期末試卷
- 2024年公路標識安裝合同
- (正式版)HGT 22820-2024 化工安全儀表系統(tǒng)工程設計規(guī)范
- 綜合實踐活動課《早餐與健康》優(yōu)質課件
- 《中華民族共同體概論》考試復習題庫(含答案)
- 2022-2023學年武漢市江岸區(qū)七年級英語上學期期中質量檢測卷附答案
- 新能源汽車技術職業(yè)生涯人物訪談報告
- 辦公室辦文工作流程圖
- 工程鉆機產(chǎn)品合格證
- 六壬高級教程
- 員工獎懲制度 公司員工獎懲制度范本
- 【原創(chuàng)】水平三花樣跳繩教學設計和教案
評論
0/150
提交評論