




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 數理與信息工程學院單片機原理及應用期末課程設計題 目: 基于單片機的8路搶答器設計 專 業: 計算機科學與技術 班 級: 計本072班 姓 名: 方 雅 群 學 號: 07220304 指導老師: 余 水 寶 成 績: ( 2009.12 )目 錄 第1節 引 言31.1 搶答器的概述31.2 設計任務3第2節 系統硬件電路設計52.1 搶答器電路原理圖52.2 單片機系統電路5電源電路設計6 復位電路設計6時鐘電路設計72.2.4輸入模塊電路7數據存儲器的擴展電路72.3 鎖存顯示電路82.4 超限報警電路9第3節 系統軟件設計11 3.1 系統主程序設計113.2 搶答信號的處理設計12
2、3.3 鍵盤掃描子程序123.4 鍵值處理程序133.5 顯示子程序14第4節 結束語16參考文獻17基于單片機的8路搶答器設計數理與信息工程學院 計算機科學與技術 方雅群指導教師:余水寶 第1節 引 言 自20世紀90年代以來,單片機已進人到了一個高速發展的階段,世界上著名的半導體廠商都重視新型單片機的研制、生產和推廣。單片機各種新品的不斷涌現,使單片機的應用更加深人,靈活性也大大增強。 搶答器是一種廣泛應用于企事業單位和商業部門,為各種知識競賽、文娛活動提供公正客觀快速裁決的一種常用電子設備,也是一種逐漸成型的電子產品。市面上所售搶答器價格一般較貴且多為小規模集成電路構成,其性能單一。因此
3、,提高搶答器的性能,使其具有更強的功能,使用可靠方便已為搶答器發展的一個方向。本文介紹一種以MCS-51單片機為核心的八路搶答器系統,它充分利用了單片機系統的優點,具有結構簡單、功能強大、可靠性好、實用性強的特點。1.1 搶答器概述工廠、學校和電視臺等單位常舉辦各種知識競賽,在一些地方舉辦的競賽中我們經常看到有搶答的環節,舉辦方多數采用讓選手通過舉手的方法判斷選手的答題權,這在某種程度上會因為主持人的主觀誤斷造成比賽的不公平性。搶答器是為智力競賽參賽者答題時進行搶答而設計的一種優先判決器電路,競賽者而已分為若干個組,搶答是各組對主持人提出的問題在最短的時間內作出判斷,并按下搶答器按鍵回答問題。
4、當第一個人按下按鍵后,則在顯示器上顯示該組的號碼,同時電路將其他各組按鍵封鎖,使其不起作用。回答完問題后,主持人將所有按鍵恢復,重新開始下一輪的搶答。由于單片機的處理器速度選擇的是12M的晶振,因此,分辨速度可以達到微妙數量級,從而保證了搶答時的公正性和準確性。1.2 設計任務該搶答器主要功能如下: (1) 搶答器同時供8名選手或8個代表隊比賽,每組有一個搶答按鈕,分別用S0S7表示,按鈕編號與選手編號相對應。(2) 設置一個系統清除和搶答控制開關S,該開關由主持人控制。(3) 搶答器具有鎖存與顯示功能。即選手按動按鈕,鎖存相應的編號,揚聲器發出聲響提示,并在數碼管上顯示選手號碼,同時禁止其他
5、選手再搶答。優先搶答選手的編號一直保持到主持人將系統清除為止。 (4) 搶答器具有定時搶答功能,且一次搶答的時間由主持人設定(如30秒)。當主持人啟動開始鍵后,定時器進行減計時。 (5) 參賽選手在設定的時間內進行搶答,搶答有效,定時器停止工作,顯示器上顯示選手的編號和搶答的時間,并保持到主持人將系統清除為止。(6) 如果定時時間已到,無人搶答,本次搶答無效,系統報警并禁止搶答,定時顯示器上顯示00。 第2節 硬件電路設計2.1 搶答器電路原理圖如下圖所示為總體方框圖。其工作原理為:接通電源后,主持人將開關撥到清零狀態,搶答器處于禁止狀態,編號顯示器滅燈,定時器顯示設定時間;主持人將開關置開始
6、狀態,宣布開始搶答器工作。定時器倒計時,揚聲器給出聲響提示。選手在定時時間內搶答時,搶答器完成:優先判斷、編號鎖存、編號顯示、揚聲器提示。當一輪搶答之后,定時器停止、禁止二次搶答、定時器顯示剩余時間。如果再次搶答必須由主持人再次操作清除和開始狀態開關。圖2-1 搶答器原理框圖2.2 單片機系統電路AT89C51單片機是51系列單片機的一個成員,是8051單片機的簡化版。內部自帶2K字節可編程FLASH存儲器的低電壓、高性能COMS八位微處理器,與Intel MCS-51系列單片機的指令和輸出管腳相兼容。由于將多功能八位CPU和閃速存儲器結合在單個芯片中,因此,AT89C51構成的單片機系統是具
7、有結構最簡單、造價最低廉、效率最高的微控制系統,省去了外部的RAM、ROM和接口器件,減少了硬件開銷,節省了成本,提高了系統的性價比。本文單片機系統電路圖見圖2-2。圖2-2 單片機主機系統圖 電源電路設計由于單片機工作時需要的+5V電壓,所以在設計電源電路時,需要一個電子元件能夠提供+5V電壓,本文采用最典型的7805提供電壓的電路,即在7805的1腳和公共接地端(即2腳)之間接入0.47心的電容,在公共接地端和三腳+5V電壓輸出端之間接人0.15心的電容。 復位電路設計MCS-5l的復位輸入引腳RST為MCS-51提供了初始化的手段,可以使程序從指定處開始執行,在MCS-5l的時鐘電路工作
8、后,只要RST引腳上出現超過兩個機器周期以上的高電平時,即可產生復位的操作只要RST保持高電平,則MCS-5l循環復位只有當RST由高電平變低電平以后。MCS-51才從0000H地址開始執行程序。本系統采用按鍵復位方式的復位電路。 時鐘電路設計MCS-51的時鐘可以由兩種方式產生。一種是內部方式,利用芯片內部的振蕩電路;另外一種為外部方式。本論文根據實際需要和簡便,采用內部振蕩方式。MCS-51內部有一個用于構成振蕩器的高增益反相放大器,引腳XTAI_l和XTAI_2分別是此放大器的輸入端和輸出端。這個放大器與作為反饋元件的片外晶體或陶瓷諧振器一起構成一個自激振蕩器。MCS-51雖然有內部振蕩
9、電路,但要形成時鐘,必須外接元件所以實際構成的振蕩時鐘電路。外接晶體以及電容Cl和C2構成并聯諧振電路接在放大器的反饋回路中。對接電容的值雖然沒有嚴格的要求,但電容的大小會影響振蕩器頻率的高低、振蕩器的穩定性、起振的快速性和溫度的穩定性。晶體頻率可在1.2MHz12MHz之間任選,電容Cl和C2的典型值在20pF-100pF之間選擇,考慮到本系統對于外接晶體的頻率穩定性要求不高,所以采取比較廉價的12MHz陶瓷諧振器,根據調試電容選擇30pF。 輸入模塊電路設計搶答器輸入信號由八個小按鍵控制,當有鍵按下的時候,就產生了有效的輸入信號,本文使用了上拉電阻把輸入信號先嵌位在高電平。當有按鍵按下時便
10、使與這個按鍵相連的引腳變為低電平,產生一個低電平的輸入信號。本模塊由8個10K的電阻和8個按鍵構成。2.2.5 數據存儲器的擴展電路AT89C51單片機外接數據RAM時,P2口輸出存儲器地址的高8位,PO口分時輸出地址的低8位和傳送指令字節或數據。PO口先輸出低8位地址信號,在ALE有效時將它鎖存到外部地址鎖存器中,然后PO口作為數據總線使用,此處地址鎖存器選用74LS373,實際電路圖連接如圖2-3所示。 圖2-3數據存儲器的擴展電路2.3 鎖存顯示電路 鎖存部分采用串行并行八位輸出鎖存移位寄存器74LS595要顯示字符,首先要把這個字符轉換成相應的字形碼,然后通過串行口發送到74LS595
11、,74LS595把申行口接收到的數據變為并行輸出加到數碼管上(提供a-dp的驅動)。本設計采用的是共陽極8段數碼管顯示器。顯示部分采用動態掃描4 位LED顯示接口電路,LED動態顯示是單片機中應用最為廣泛的一種顯示方式,其接口電路是把所有顯示器的8個筆劃段a-dp 同名端并聯在一起,而每一個顯示器的公共極COM是各自獨立地受I/O線控制,CPU的字段輸出口送出字形碼時,所有顯示器由于同名端并連接收到相同的字形碼,但究竟哪個顯示器亮,則取決于COM端,而這一端是由I/O控制的,所以就可以自行決定何時顯示哪一位了,在輪流點亮掃描過程中,每位顯示器的點亮時間表是極為短暫的,但由于人的視覺暫留現象及發
12、光二極管的余輝將就盡管實際上各位顯示器并非間時點亮,但只要掃描速度足夠快,給人的印象就是一組穩定的顯示數據,不會有閃爍感。該模塊由共陽極LED數碼管和2K的電阻組成,用來顯示搶答器信號的具體路數的,數碼管的兩個接地端同時接電源,其余8個引腳分別單片機8個輸出口連接,根據單片機引腳與數碼管的連接關系,可以列出顯示不同數字的段選碼,從而準確的輸出搶答路數。 圖2-4 鎖存顯示電路原理圖2.4 超限報警電路當定時搶答的時間已到,卻沒有選手搶答時,系統進行短暫報警已示本次搶答無效。報警信號通常有三種類型:閃光報警、鳴音報警、語音報警,本系統采用簡單易行的聲光報警電路。如圖2-5所示報警電路,報警設備選
13、用壓電式蜂鳴器,它約需要10mA的驅動電流,只需在其兩條引線上加315V的直流電壓,即可產生3KHz左右的蜂鳴聲音,圖中蜂鳴器的一端接在高電平+5V,另一端接Pl.0,在初態Pl.0始終輸出高電平1,當需要報警時,程序對其端口清零即可,聲音的長短可用延時程序控制實現。圖中接入的發光二極管LED為超高線報警器,當P1.1端輸出為低電平“0”時,二極管導通,燈亮發出報警信號。圖2-5 報警電路第3節 系統的軟件設計整個程序的設計思路如下:首先用進位標志C作為主持人按鍵的狀態標志,C=O為可以開始搶答(如果需要也可用一個發光二極管將C的狀態顯示出來,只需將程序做小小修改即可);接下來開外部中斷0:然
14、后是讀取按鍵狀態,只要有一個按鍵按下(引腳為高電平)并且C=0,則開始進入分析按鍵狀態程序,用循環移位指令分析出是第幾個按鍵按下,并將其放入P1口進行顯示輸出。上述程序相對來說很簡單,首先它從硬件的微秒數量級處理速度上確保了不會同時按下2個按鍵,因此程序沒有區分重復按鍵的部分,另外程序使用了外部中斷,從而保證了主持人按鍵的權限是所有按鍵中權限最高的。圖3-1所示為程序設計流程圖。 Y N N Y Y N Y N開始(主持復位)電路初始化開始搶答顯示剩余搶答時間有人搶答揚聲器短暫報警揚聲器發聲顯示選手號允許答題時間到調節允許搶答時間顯示剩余搶答時間顯示允許答題時間調節時間顯示剩余答題時間允許搶答
15、時間到報警圖3-1 程序流程圖本搶答器的軟件系統主要包括系統主程序設計、搶答信號的處理設計、鍵盤掃描子程序、鍵值處理子程序和顯示子程序五部分。3.1 系統主程序設計主程序的功能主要是完成內部各寄存單元的初始化,對接口電路的初始化,內部定時器的初始化,中斷的初始化及調用顯示程序對初始狀態的顯示以及對外部信號的等待處理,也就是說完成前期的準備工作等待隨時對外部信號進行響應。程序清單如下:OK EQU 20H ;搶答開始標志位RING EQU 22H ;響鈴標志位ORG 0000HAJMP MAINORG 0003HAJMP INT0SUBORG 000BHAJMP T0INTORG 0013HAJ
16、MP INT1SUBORG 001BHAJMP T1INTORG 0040HMAIN: MOV R1,#30 ;初設搶答時間為30sMOV R2,#60 ;初設答題時間為60sMOV TMOD,#11H ;設置未定時器/模式1MOV TH0,#0F0HMOV TL0,#0FFH ;越高發聲頻率越高,越尖MOV TH1,#3CHMOV TL1,#0B0H ;50ms為一次溢出中斷SETB EASETB ET0SETB ET1SETB EX0SETB EX1 ;允許四個中斷,T0/T1/INT0/INT1CLR OKCLR RINGSETB TR1SETB TR0 ;一開始就運行定時器,顯示FFF
17、.如果想重新計數,重置TH1/TL1就可以了3.2 搶答信號的處理設計當主持人按下開始搶答鍵后開始搶答,程序部分采用中斷方式進行處理。在中斷處理程序中完成相應操作,修改計時單元的數據并使紅色指示燈亮。程序清單如下:START: MOV R5,#0BHMOV R4,#0BHMOV R3,#0BHACALL DISPLAY ;未開始搶答時候顯示FFFJB P3.0,NEXT ;dddddddACALL DELAYJB P3.0,NEXT ;去抖動,如果開始鍵按下就向下執行,否者跳到非法搶答查詢ACALL BARK ;按鍵發聲MOV A,R1MOV R6,A ;送R1-R6,因為R1中保存了搶答時間
18、SETB OK ;搶答標志位,用于COUNT只程序中判斷是否查詢搶答MOV R7,#01H ;讀搶答鍵數據信號標志,這里表示只讀一次有用信號MOV R3,#0AH ;搶答只顯示計時,滅號數AJMP COUNT ;進入倒計時程序,查詢有效搶答的程序在COUNT里NEXT: JNB P1.0,FALSE1JNB P1.1,FALSE2JNB P1.2,FALSE3JNB P1.3,FALSE4JNB P1.4,FALSE5JNB P1.5,FALSE6JNB P1.6,FALSE7JNB P1.7,FALSE8AJMP START3.3 鍵盤掃描子程序對行列式鍵盤的掃描方法有兩種。一為掃描法,對鍵
19、盤按行逐行掃描查詢,其結構清晰但對處于最后行列的按鍵需經多次掃描; 一為反轉法,它先使行全為零,讀人列的狀態暫存,然后使列全為零,讀人行的狀態保存,對兩次保存數據進行查詢即可得知按下鍵的行列數從而確定鍵值。在程序中采用反轉法對鍵盤進行掃描。鍵盤掃描程序在確定鍵值后保存等待后續處理。程序清單如下:AAAA1 : MOV A,P1CJNE A,#0FFH,AA1 ;當不全為1時的數據為有效數據AA0: MOV 36H,A ;將有效數據送到36H暫存AJMP LOOP2AA1: DEC R7 AJMP AA03.4 鍵值處理子程序此子程序根據鍵盤掃描所取得的鍵值作出相應處理。在搶答時,只有數字鍵(代
20、表相應搶答分組) 18 按下有效,其它鍵按下無效。搶答成功,開始答題鍵按下給出相應信號指示。程序清單如下:TRUE1: ACALL BARKMOV A,R2MOV R6,A ;搶答時間R2送R6MOV R3,#01HCLR OK ;因為答題的計時不再查詢搶答,所以就鎖了搶答AJMP COUNTTRUE2: ACALL BARKMOV A,R2MOV R6,AMOV R3,#02HCLR OKAJMP COUNTTRUE3: ACALL BARKMOV A,R2MOV R6,AMOV R3,#03HCLR OKAJMP COUNTTRUE4: ACALL BARKMOV A,R2MOV R6,A
21、MOV R3,#04HCLR OKAJMP COUNTTRUE5: ACALL BARK MOV A,R2MOV R6,AMOV R3,#05HCLR OKAJMP COUNTTRUE6: ACALL BARK MOV A,R2MOV R6,AMOV R3,#06HCLR OKAJMP COUNTTRUE7: ACALL BARK MOV A,R2MOV R6,AMOV R3,#07HCLR OKAJMP COUNTTRUE8: ACALL BARK MOV A,R2MOV R6,AMOV R3,#08HCLR OKAJMP COUNT3.5 顯示子程序此程序僅完成6位數據的動態顯示,可顯示數
22、字和代碼。初始狀態顯示8位全熄滅。程序清單如下:DISPLAY:MOV DPTR,#DAT1 ;查表顯示程序,利用P0口做段選碼口輸出/P2低三位做位選碼輸出,MOV A,R3MOVC A,A+DPTRMOV P2,#0feHMOV P0,AACALL DELAY2MOV DPTR,#DAT2MOV A,R5MOVC A,A+DPTRMOV P2,#0fdHMOV P0,AACALL DELAY2MOV A,R4MOVC A,A+DPTRMOV P2,#0fbHMOV P0,AACALL DELAY2RETDAT1:DB 00h,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,71H ;滅,1,2,3,4,5,6,7,8,9,滅,FDAT2:DB 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00H,71H;第一個為零,其他與上相同,因為十位如果為零顯示熄滅結束語雖然這次課程設計沒有真正做出搶答器,但是總結這次設計,收獲還是很多。以前出于膽怯的心理,覺得單片機的知識非常難,但通過這次應用系統設計,在很大程度上提高了自己的獨立思考能力和單片機的專業知識,也深刻了解寫一篇應用系統的步驟和格式。不過,我所學的知識還僅僅是九牛一毛,遠遠夠不上實際的要求,如何將其用于實踐
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 結核和抗結核病藥講課件
- 插花勞動技術課件
- 2025年廣東省深圳市21校聯考中考語文三模試卷(含答案)
- DB43-T 2767-2023 湖南省小型水庫工程標準化管理規程
- 社區殘疾人康復講課件
- 《后漢書路粹傳》測試題帶答案
- 肺結核的預防及健康教育講課件
- 理財規劃師講課件
- 第三單元物質的變化 課件-2024-2025學年科學六年級下冊大象版
- 2025年企業可持續發展目標(SDGs)創新實踐與挑戰報告
- DB12-T 1179-2023 泥態固化土道路填筑技術規程
- GB 4706.10-2008家用和類似用途電器的安全按摩器具的特殊要求
- 酒店會議協議書(4篇)
- 綿陽市2023年學業考試暨高中階段招生考試(地理、生物試題)
- 少兒美術繪畫課件- 藝米中班 4歲-5歲 《荔枝》
- 托管班帶生源轉讓合同
- 第三方融資服務(FA)協議
- 畫冊設計制作報價單
- 借助數學實驗 促進思維發展
- 人民幣教具正反面完美打印版
- 真空系統設計培訓課件
評論
0/150
提交評論