一款基于單片機控制的多路數(shù)字搶答器_第1頁
一款基于單片機控制的多路數(shù)字搶答器_第2頁
一款基于單片機控制的多路數(shù)字搶答器_第3頁
一款基于單片機控制的多路數(shù)字搶答器_第4頁
一款基于單片機控制的多路數(shù)字搶答器_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、目 錄1 前言12 需求分析121原理122要求123任務124運行環(huán)境125開發(fā)工具13 概要設計231系統(tǒng)流程圖232定時計數(shù)流程圖333編號顯示流程圖434譯碼顯示子程序535延時子程序536外部中斷0程序64詳細設計641設計思想642設計分析643設計實現(xiàn)源程序744設計測試結(jié)果125 課程設計的總結(jié)與體會15參考文獻資料16致謝161前言現(xiàn)在社會中很多活動需要多個選手參加并競爭,其中搶答器是應用較多也較為廣泛的工具之一。結(jié)合現(xiàn)實,設計一款基于單片機控制的多路數(shù)字搶答器,并滿足一定得功能。2 需求分析21原理(1).74ls147譯碼器和80c51對選手的編號進行一一對應的顯示(2)

2、.用80c51的內(nèi)部時鐘脈沖進行定時計數(shù)。(3).七段譯碼顯示器顯示時間和選手編號。(4).利用80c51的外部中斷0來控制開啟。22要求(1).搶答器可供多名(大于2)選手或隊伍參加比賽。(2).搶答器分為選手控制端和主持人控制端。(3).主持人端控制搶答開始并進行系統(tǒng)清零。(4).當主持人啟動開始鍵后,顯示器上顯示搶答倒計時。(5).參賽選手在設定的時間內(nèi)進行搶答,搶答有效,顯示器轉(zhuǎn)而顯示優(yōu)先搶答的選手編號,同時亮燈提示。顯示一直保持到主持人將系統(tǒng)清零為止。(6).如果設置的搶答時間已到,無人搶答,則本次搶答無效,系統(tǒng)報警并禁止搶答,顯示器上顯示00。(7).每次搶答完成后主持人可手動使系

3、統(tǒng)清零。23任務設計一款基于單片機控制的多路數(shù)字搶答器,并滿足要求功能。24運行環(huán)境電子技術(shù)綜合實驗系統(tǒng)和電子通信與自動化創(chuàng)新實驗系統(tǒng)。25開發(fā)工具個人計算機;proteus仿真軟件、偉福軟件等。3 概要設計31系統(tǒng)流程圖 圖 3.132定時計數(shù)流程圖 圖 3.233編號顯示流程圖圖 3.334譯碼顯示子程序loop: mov a,p1 ;讀取p1口數(shù)據(jù) cjne a,#0f0h,loop1 ;比較a與0f0h,相等執(zhí)行下一條 ;否則,跳轉(zhuǎn)至loop1處 sjmp start ;返回開始loop1: jb p3.6, loop2 ;判斷p3.6口,p3.6口為0,執(zhí)行下一條 ; 否則,跳轉(zhuǎn)至l

4、oop2處 clr p3.3 ;點亮led anl a,#0fh ;屏蔽高4位 mov dptr,#tab ;建表 movc a,a+dptr ;查表loop12: mov p2,a ;將查表所得值賦給p2 jb p3.5,stop jnb p3.1,start ;時間過,停止 jb p3.6, loop2 sjmp loop1235延時子程序time: mov r3,#14h ;延時1秒lp1: mov tmod,#01h mov th0,#3ch mov tl0,#0b0h setb tr0lp2: jbc tf0,loop1 sjmp lp2loop1: djnz r3,lp1 ;循環(huán)2

5、0次,即1秒 ret ;子程序返回3. 6外部中斷0程序org 0003h ljmp rest ;外部中斷的調(diào)用setb ex0 ;外部中斷0開啟 setb it0 setb ea4詳細設計41設計思想 多人搶答時,對其搶答者編號,根據(jù)顯示的搶答編號確定搶答者。在有效時間內(nèi),搶答有效,有選手搶答時led點亮,顯示優(yōu)先按下?lián)尨鹌鲗木幪枺瑫r屏蔽其他搶答按鈕。時間到,揚聲器報警,同時關(guān)閉搶答器。無效時間內(nèi),若有選手無規(guī)按鈕,led一直亮以示提醒。42設計分析(1).多人對號搶答顯示,用譯碼器74ls147。mov a,p1 ;讀取p1口數(shù)據(jù)cjne a,#0f0h,loop1 ;比較a與0f0

6、h,相等執(zhí)行下一條 ;否則,跳轉(zhuǎn)至loop1處anl a,#0fh ;屏蔽高4位(2).顯示編號和定時計數(shù)時間采用查表:mov dptr,#tab ;建表movc a,a+dptr ;查表tab: db 3h,06h,5bh,4fh, ;所建表 db 66h,6dh,7dh,07h,7fh (3).主持人開啟鍵,采用外部中斷法: setb ex0 ;外部中斷0開啟 setb it0 setb ea43設計實現(xiàn)源程序 (1). u180c51的功能是對搶答者編號顯示,和控制整個搶答過程。其程序如下:org 0 ;程序執(zhí)行開始地址 ljmp start ;跳至start執(zhí)行 org 0003hlj

7、mp rest ;外部中斷的調(diào)用org 0030hstart: mov sp,#60h ;建立堆棧mov p2,#00h ;關(guān)閉顯示器stop1: jnb p3.5,stop ;開啟搶答器setb p3.0 ;關(guān)計時器setb p3.3 ; 熄滅ledsjmp startstop:clr p3.0 ;開計時器setb ex0 ;外部中斷0開啟setb it0setb eaclr p3.6 ;清零p3.6口jb p3.6, loop2 ;判斷p3.6口,p3.6口為0,執(zhí)行下一條; 否則,跳轉(zhuǎn)至loop2處lcall loop ; 調(diào)用子程序loopsjmp start ; 返回開始loop:m

8、ov a,p1 ;讀取p1口數(shù)據(jù)cjne a,#0f0h,loop1 ;比較a與0f0h,相等執(zhí)行下一條 ;否則,跳轉(zhuǎn)至loop1處sjmp start ;返回開始loop1:jb p3.6, loop2 ;判斷p3.6口,p3.6口為0,執(zhí)行下一條; 否則,跳轉(zhuǎn)至loop2處clr p3.3 ;點亮ledanl a,#0fh ;屏蔽高4位mov dptr,#tab ;建表movc a,a+dptr ;查表loop12: mov p2,a ;將查表所得值賦給p2jb p3.5,stopjnb p3.1,start ;時間過,停止jb p3.6, loop2 ;判斷p3.6口,p3.6口為0,執(zhí)

9、行下一條; 否則,跳轉(zhuǎn)至loop2處sjmp loop12loop2: setb p3.3 ; 熄滅ledjb p3.5,stop ;開啟搶答器jnb p3.1,startsjmp startrest: cpl p3.6 ;將p3.6口取反reti ;中斷調(diào)用返回tab: db 3fh,06h,5bh,4fh, ;所建表db 66h,6dh,7dh,07h,7fhsjmp startend ;結(jié)束程序(2). u480c51的功能是顯示、控制時間。其程序如下:org 00h ;程序執(zhí)行開始地址ljmp start ;跳至start執(zhí)行org 30hstart: mov sp,#60hmov p

10、1,#00h ;熄滅顯示時間mov p2,#00hjb p3.0,start ;開始計時mov p2,#3fh ;定時60秒mov p1,#7dhlcall timemov r4,#00hhao1: ;每十秒減一mov dptr,#tabmov a,#04hadd a, r4movc a,a+dptr ;查表mov p1,a ;顯示十位inc r4cjne a,#01h, s1 ;計時時間判斷l(xiāng)jmp stop1loop: ; 每一秒減一mov dptr,#tabs1: mov a,#00hmovc a,a+dptrcjne a,#01h,s2lcall hao1 ;調(diào)用延時ljmp loop

11、s2: mov p2,a ;顯示個位jb p3.0,start ;判斷計時lcall timeinc dptrljmp s1time: mov r3,#14h ;延時1秒lp1: mov tmod,#01hmov th0,#3chmov tl0,#0b0hsetb tr0lp2: jbc tf0,loop1sjmp lp2loop1: djnz r3,lp1rettab: db 6fh,7fh,07h,7dh,6dh,66h, ;表db 4fh,5bh,06h,3fh,01hstop1: clr p0.0 ;時間到報警clr p3.1 ;關(guān)搶答器mov p2,#3fh ;關(guān)顯示器mov p1,

12、#3fhsjmp $end ;結(jié)束程序44設計測試結(jié)果 (1). 電路連接圖根據(jù)設計要求,連接下圖說明:只有開啟鍵按下連通時,計數(shù)開始,同時選手搶答。圖 4.1(2). 調(diào)試結(jié)果圖 .有效時間內(nèi)有選手搶答電路顯示圖 說明:當在有效時間內(nèi),有選手搶答時,對應的編號被顯示,同時led亮。按復位鍵后重新開始。圖 4.2. 有效時間內(nèi)無選手搶答電路顯示圖說明:當有效時間過后,時間顯示器顯示00,揚聲器報警,搶答無效。圖 4.3. 無效時間內(nèi)選手按搶答器電路顯示圖說明:在無效時間內(nèi),若有選手無規(guī)搶答,led會警告,一直亮。關(guān)掉開啟鍵后復位。 圖 4.45課程設計的總結(jié)與體會通過這次單片機課程設計,我學到

13、了許多新的知識,并且將這些知識應用在實踐中,鍛煉了自己的動手能力,但也發(fā)現(xiàn)了一些問題。(1).對于出現(xiàn)的調(diào)試錯誤要仔細分析錯誤原因,尤其是細節(jié)。只要做夠細心,就一定能夠找到錯誤所在。例如我在編程中有些問題沒達到我理想的效果,我改了很久,就是沒有找出錯誤,后來改變下程序的順序,問題就解決了。(2).編程過程中加入必要的注釋十分重要,這不僅是為了別人能夠更容易看懂你的程序,更重要的是自己未來修改方便。在我的程序里面我就加入了不少注釋,在后 來的調(diào)試和修改錯誤時很方便。(3).要善于利用各種資源,提高自己的編程效率。我在編程之前,我就仔細看了一遍教科書,對書中的知識點進行梳理,后來也上網(wǎng)查找了許多資料,大大豐富了我的編程思路。

溫馨提示

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

評論

0/150

提交評論