C八路搶答器單片機課程設計實施方案_第1頁
C八路搶答器單片機課程設計實施方案_第2頁
C八路搶答器單片機課程設計實施方案_第3頁
C八路搶答器單片機課程設計實施方案_第4頁
C八路搶答器單片機課程設計實施方案_第5頁
免費預覽已結束,剩余18頁可下載查看

下載本文檔

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

文檔簡介

1、個人收集整理僅供參考學習目錄1引言42總體方案設計43硬件電路設計53.1單片機及其外圍電路53.2硬件電路組成64系統(tǒng)軟件設計104.1初始化程序設計104.2主程序設計114.3倒計時30s子程序地設計124.4外部中斷T1中斷子程序設計144.5定時器T1中斷子程序設計174.6選手按鍵程序地設計184.7數(shù)碼管顯示程序地設計195系統(tǒng)調(diào)試與總結21附錄A系統(tǒng)原理圖22附錄B源程序2223 / 221引言此次設計提出了用80C51單片機為核心控制元件,設計一個簡易地搶答器, 本方案以80C51單片機作為主控核心,與數(shù)碼管、蜂鳴器等構成八路搶答器,利 用了單片機地延時電路、按鍵復位電路、時

2、鐘電路、定時/中斷等電路,設計地八路搶答器具有倒計時和實時顯示搶答選手地號碼地特點,還有復位電路,使其再開始新地一輪地答題和比賽.b5E2RGbCAP它地功能實現(xiàn)是比賽開始,主持人讀完題之后按下總開關,倒計時開始,此 時數(shù)碼管開始進行30s地倒計時,是選手地思考時間,倒計時完后,才允許開始 搶答,若有人答題,對應地會在數(shù)碼管上顯示出該選手地編號并由蜂鳴器發(fā)出聲 音,在30s倒計時內(nèi)答題無效.plEanqFDPw2總體方案設計蜂鳴電路1)Ar復位電路JAT89C51搶答器倒計時顯示電1J路< 丿V獨立式按鍵鍵盤j圖2.1總體電路設計框圖總體程序設計思路圖為如圖2.1所示.復位電路:當一輪進

3、行完時,由主持人按下,下一輪倒計時開始,復位電路 接 P3.3 口.獨立式按鍵鍵盤:用于輸入高低電平,連接到 P1 口,由P1 口檢測電平地 變化.搶答器倒計時顯示電路:有三位數(shù)碼管組成,前兩位顯示30s倒計時,由第 三位顯示成功搶答選手編號.蜂鳴電路:有選手搶答成功,P3.1 口發(fā)出脈沖,使蜂鳴器發(fā)出聲音.3硬件電路設計3.1單片機最小系統(tǒng)微控制器采用AT89C51 .AT89C51是美國ATMEL公司生產(chǎn)地與MCS-51系列 單片機完全兼容地高性能CMOS 8位單片機,MCS-51系列單片機以其推出時間 早、配套資源豐富、開發(fā)手段完善、性價比高等特點而得到了廣泛地應用,是單 片機地主流品種

4、.DXDiTa9E3dAT89C51地內(nèi)部資源主要包括:與MCS-51系列完全兼容地高性能8位CPU 4K字節(jié)可重復編程地Flash存儲器; 256字節(jié)地SRAM4個8位地并行口,共32條I/O 口線;3個16位地定時器/計數(shù)器;6個中斷源,2個中斷優(yōu)先級地中斷系統(tǒng);一個全雙工地串行口;內(nèi)部振蕩器;可編程串行通道低功耗地閑置和掉電模式片內(nèi)振蕩器和時鐘電路其最小系統(tǒng)主要包括復位電路,時鐘電路,如下圖3.1所示.|4 I-圖3.1單片機最小系統(tǒng)電路圖3.2硬件電路功能說明(1)復位電路地設計MCS-5I地復位輸入引腳RST為MCS-51提供了初始化地手段,可以使程序從 指定處開始執(zhí)行,在 MCS-

5、5I地時鐘電路工作后,只要 RST引腳上出現(xiàn)超過兩個 機器周期以上地高電平時,即可產(chǎn)生復位地操作.只要RST保持高電平,則MCS-5I 循環(huán)復位.只有當RST由高電平變低電平以后.MCS-51才從0000H地址開始執(zhí)行 程序.本系統(tǒng)采用按鍵復位方式地復位電路.RTCrpUDGiT復位電路:當一輪進行完時,由主持人按下,下一輪倒計時開始,如圖3.2所示.(2) 獨立式按鍵鍵盤設計鍵盤接口中使用多少根I/O線,鍵盤中就有幾個按鍵,鍵盤接口使用了8根I/O 口線,該鍵盤就有8個按鍵,這種類型地鍵盤,其按鍵比較少,且鍵盤中 各按鍵地工作互不干擾.因此可以根據(jù)實際需要對鍵盤中地按鍵靈活地編碼.5PCzV

6、D7HxA最簡單地編碼方式就是根據(jù)I/O輸入口所直接反映地相應按鍵,按下地狀態(tài) 進行編碼,稱按鍵直接狀態(tài)碼,對于這樣編碼地獨立式鍵盤,CPU可以通過直接讀取I/O 口地狀態(tài)來獲取按鍵地直接狀態(tài)編碼值,根據(jù)這個值直接進行按鍵識 別,這樣形式地鍵盤結構簡單,按鍵識別容易.jLBHrnAILg獨立式鍵盤地缺點是需要占用比較多地I/O 口線,當單片機應用系統(tǒng)鍵盤中需要地按鍵比較少或I/O 口線比較富余時,可以采用這樣類型地鍵盤.XHAQX74J0X獨立式按鍵鍵盤:用于輸入高低電平,八位選手搶答時高低電平發(fā)生變化,如圖3.3所示圖3.3搶答按鍵部分(3) 數(shù)碼管顯示部分設計LED動態(tài)顯示是單片機中應用最

7、為廣泛地一種顯示方式,其接口電路是把所有顯示器地8個筆劃段a-dp同名端并聯(lián)在一起,而每一個顯示器地公共極COM是各自獨立地受I/O線控制,CPU地字段輸出口送出字形碼時,所有顯示器由于 同名端并連接收到相同地字形碼, 但究竟哪個顯示器亮,則取決于COM端,而這 一端是由I/O控制地,所以就可以自行決定何時顯示哪一位了,在輪流點亮掃描過程中,每位顯示器地點亮時間表是極為短暫地,但由于人地視覺暫留現(xiàn)象及發(fā)光二極管地余輝將就盡管實際上各位顯示器并非間時點亮,但只要掃描速度足夠 快,給人地印象就是一組穩(wěn)定地顯示數(shù)據(jù),不會有閃爍感 .LDAYtRyKfE搶答器倒計時顯示電路:有三位數(shù)碼管組成,前兩位顯

8、示30s倒計時,第三 位顯示成功搶答選手編號,如圖 3.4所示.Zzz6ZB2LtkI1、L1 -LLU-LZT丄LLL鳥Eh監(jiān)mcMl AIMirr f r r r f rEM三?:二二=嵬亠圖3.4顯示控制部分圖(4) 蜂鳴器電路設計我們知道,聲音地頻譜范圍約在幾十到幾千赫茲,若能利用程序來控制單片機某個口線地“高”電平或低電平,則在該口線上就能產(chǎn)生一定頻率地巨型波, 接上喇叭就能發(fā)出一定頻率地聲音,若再利用延時程序控制“高”“低”電平地持續(xù)時間,就能改變輸出頻率,從而改變音調(diào),使喇叭發(fā)出不同地聲音單片機通過內(nèi)部定時器地操作實現(xiàn)交替變換地波形輸出驅(qū)動揚聲器發(fā)聲,有選手搶答成功,使蜂鳴器發(fā)出

9、聲音,如圖 3.5所示.dvzfvkwMIl圖3.5蜂鳴器提示時間部分圖4系統(tǒng)軟件設計系統(tǒng)軟件分為主程序、中斷服務程序和子程序三部分4.1主程序(主程序流程框圖見圖4.1)開始 )1設置堆棧1r倒計時設置1設置定時方式r賦值初值1F標志位設置1F中斷允許設置f鍵盤掃描程序顯示程序無中斷顯示000等待中斷:結束 丿圖4.1主程序流程框圖主程序是系統(tǒng)上電或復位后首先要執(zhí)行地程序, 主程序主要完成系統(tǒng)地初始 化、掃描顯示、掃描鍵盤等工作程序流程如圖4.1所示,對單片機進行初始化, 包括設置堆棧、倒計時30S設置、定時器TO設置,外部中斷設置,鍵盤掃描設 置,初始化狀態(tài)時顯示000.rqyn14ZNX

10、I4.3倒計時30s子程序:(定時器T0中斷子程序框圖如圖4.2所示)圖4.2定時器TO中斷子程序框圖首先要把累加器ACC和程序狀態(tài)字PSW放入堆棧保護,然后進行倒計時 地設置,設置為30S倒計時,先看看1S到?jīng)],如果到,倒計時自動減1,并在 數(shù)碼管顯示,再判斷倒計時地30s到?jīng)],沒到繼續(xù)倒計時并顯示,倒計時計完為 止,然后彈出累加器 ACC與程序狀態(tài)字 PSW,中斷退出,返回到中斷入口 處.EmxvxOtOco4.4外部中斷T1中斷子程序:(外部T1中斷子程序框圖如圖4.3所示)開始把A、F棧放堆戔20H位 置 01r調(diào)用顯示子程 序1T使三個標志位 清零1T0開始定時T1停止1r使(21H

11、)置0、30S倒計時設置1r退出ACC PSW1r中斷返回圖4.3 外部T1中斷子程序框圖外部中斷T1中斷時要先把累加器ACC和程序狀態(tài)字PSW放入堆棧保護,然后把20H標志位置0,再調(diào)用顯示程序,T0開始定時,T1停止,然后設置30S倒計時,設置之后彈出累加器 ACC與程序狀態(tài)字PSW,中斷退出,返回到中斷入口處.SixE2yXPq54.5定時器T1中斷子程序:(定時器T1中斷程序框圖如圖4.4所示)開始V _丿F把ACC PSW放入堆棧1T響鈴1中斷返回圖4.4 定時器T1中斷程序框圖定時器T1中斷時要先把累加器ACC和程序狀態(tài)字PSW放入堆棧保護,然 后就是響鈴,接上喇叭,利用延時程序控

12、制“高”“低”電平地持續(xù)時間,就能 改變輸出頻率,從而改變音調(diào),使喇叭發(fā)出不同地聲音.設置之后彈出累加器 ACC 與程序狀態(tài)字PSW,中斷退出,返回到中斷入口處.6ewMyirQFL4.6選手按鍵程序:(鍵盤掃描程序框圖如圖4.5所示)圖4.5鍵盤掃描程序框圖鍵盤掃描時先判斷 20H單兀和21H單兀標志位是否為 0,是地話說明允許鍵盤掃描, 否地話即不允許鍵盤掃描,不允許掃描就返回調(diào)用,結束,允許掃描時開始掃描P1 口看有沒有選手按下答題鍵,按下時此口變?yōu)榈碗娖?,如果沒有選手按鍵,則判斷 P1 口有沒有掃描完,沒有掃描完就繼續(xù)掃描,掃面完沒有選手按下就檢查20H和21HkavU42VRUs4

13、.7數(shù)碼管顯示程序:(顯示子程序框圖如圖4.6所示)選手號在數(shù)碼管 顯示出來倒計時顯示1r個位顯示與02數(shù) 碼管、十位顯示于04數(shù)碼管r開始N倒計時結束?Y返回調(diào)用結束圖4.6顯示子程序框圖進入顯示子程序先把選手地號碼顯示于 01數(shù)碼管,然后是選手地答題時間十秒鐘倒計時顯示,把個位顯示在02數(shù)碼管上,把十位顯示在04數(shù)碼管上,同時把倒計時地數(shù)值減1后存在61H和62H中,判斷倒計時是否結束到0,結束地話返回調(diào) 用,倒計時沒有結束即繼續(xù)倒計時.y6v3ALoS895總結這次課程設計老師給我們安排了兩個星期地時間,可以說是比較充裕地.雖然如此,我還是很用心地做設計程序,剛拿到題目,感覺太繁雜了,不

14、知怎么 下手,雖然這些知識以前都有接觸過,但也只是分部分來接觸,而這次地設計是 要對前面幾次實驗地一個綜合,真地很難也翻閱了一些資料,到圖書館翻閱了 很多資料,可是還是一片空白,于是也在網(wǎng)上參考一些個程序, 然后自己事先編 寫好了程序,到了周一去到機房時候,把自己寫地程序燒進去芯片里面, 發(fā)現(xiàn)不 行,才知是我把段碼地址搞錯了,所以不能在數(shù)碼管上正常顯示.通過運用單片機設計八路搶答器程設計,發(fā)現(xiàn)自己地很多不足,自己知識地很多漏洞,看到了 自己地實踐經(jīng)驗還是比較缺乏,理論聯(lián)系實際地能力還急需提高.M2ub6vSTnP附錄A系統(tǒng)原理圖附錄B源程序KEY_OPEN EQU 20HKEYEQU 21HB

15、OOLEQU P3.1ORG 0000HLJMP MAINORG 000BHLJMP T0ORG 0013HLJMP INT1ORG 0001BHLJMP T1MAIN:MOV SP,#70HMOV R1,#60HMOV R5,#20MOV A,#0MOV 59H,AMOV TMOD,#21HMOV TH0,#3CHMOV TL0,#0B0HMOV TH1,#7FHMOV TL1,#7FHCLR BOOLCLR KEYSETB IT1SETB ET0SETB ET1SETB EX1SETB EACLR KEY_OPENWAIT:LCALL KEY_SCANLCALL DISPLYSJMP WA

16、ITT0: PUSH ACCPUSH PSWMOV TH0,#3CHMOV TL0,#0B0HDJNZ R5,T0ENDMOV R5,#10MOV A,59HDEC ACJNE A,#0,L1CLR TR0SETB KEYL1: MOV 59H,AMOV A,#10MOV B,AMOV A,59HDIV ABMOV R1,#62HDA AMOV R1,ADEC R1MOV A,BMOV R1,ALCALL DISPLYT0END:POP PSWPOP ACCRETIT1:PUSH ACCPUSH PSWMOV R0,#20DJNZ R0,L2LJMP T1ENDL2:CPL BOOLT1END

17、:POP PSWPOP ACCRETIINT1:PUSH ACCPUSH PSWCLR KEY_OPENMOV P1,#0FFHLCALL DISPLYMOV 60H,#0MOV 61H,#0MOV 62H,#0SETB TR0CLR TR1CLR KEYMOV 59H,#31POP ACCPOP PSWRETIKEY_SCAN:JNB KEY,KEYEND0JB KEY_OPEN ,KEYEND0JNB P1.0,KEY1JNB P1.1,KEY2JNBP1.2,KEY3JNBP1.3,KEY4JNBP1.4,KEY5JNBP1.5,KEY6JNBP1.6,KEY7JNBP1.7,KEY8L

18、JMP KEYEND0KEY1:MOV 60H,#1LJMP KEYENDKEY2:MOV 60H,#2LJMP KEYENDKEY3: MOV 60H,#3LJMP KEYENDKEY4:MOV 60H,#4LJMP KEYENDKEY5:MOV 60H,#5LJMP KEYENDKEY6:MOV 60H,#6LJMP KEYENDKEY7:MOV 60H,#7LJMP KEYENDKEY8: MOV 60H,#8KEYEND:SETB KEY_OPENSETB TR1KEYEND0:MOV P1,#0FFHRETDELAY: MOV R7,#100DS2:MOV R6,#100DJNZ R

19、6,$DJNZ R7,DS2RETDISPLY: MOVR4,#3MOVR1,#60HMOVR3,#01HLOOP1:MOVA,R3MOVDPTR,#9002HMOVX DPTR,AMOVDPTR,#TABMOVA,R1MOVCA,A+DPTRMOVDPTR,#9004HMOVXDPTR,ALCALL DELAY1INC R1MOV A,R3RL AJB ACC.3 丄3MOV R3,ALJMP LOOP1L3:MOV A,#01HMOV R1,#60HMOV R3,ARETTAB:DB 3FH 06H 5BH 4FH 66H 6DH 7DH 07HDB 7FH 6FH 77H 7CH 39H

20、 5EH 79H 71HDELAY1: MOV R7,#350DJNZ R7,$RET版權申明本文部分內(nèi)容,包括文字、圖片、以及設計等在網(wǎng)上搜集整理.版權為個人所有This article in eludes someparts, in cludi ngtext, pictures,and desig n. Copyright is pers onal own ership.oYujefmuew用戶可將本文地內(nèi)容或服務用于個人學習、研究或欣賞,以及其他非商業(yè)性或非盈利性用途,但同時應遵守著作權法及其他相關法律 地規(guī)定,不得侵犯本網(wǎng)站及相關權利人地合法權利.除此以外,將本文任何內(nèi)容或服務用于其他用途時,須征得本人及相關權利人地書面 許可,并支付報酬.eUts8ZQVRdUsers may use the contents or services of this articlefor pers onal study, research or appreciati on, and other non-commercial or non-profit purposes, but at the same time, they shall abide by the provisi ons of copyright law and other releva nt laws,

溫馨提示

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

評論

0/150

提交評論