




已閱讀5頁(yè),還剩10頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
微機(jī)原理及接口技術(shù)課程設(shè)計(jì)報(bào)告題目:競(jìng)賽搶答器的設(shè)計(jì)學(xué) 院: 中北大學(xué)信息與通信工程 專(zhuān) 業(yè): 通信工程 小組成員: 指導(dǎo)教師: 丁永紅 2008 年 06 月 23 日1、設(shè)計(jì)目的1)了解競(jìng)賽搶答器的設(shè)計(jì)原理和方法。 2)掌握定時(shí)/計(jì)數(shù)器、并行接口芯片和中斷控制的工作原理與使用方法。2、所用元器件1)80X86系列微機(jī)一臺(tái)。2)定時(shí)、計(jì)數(shù)器、并行接口芯片。3)基本TTL電路芯片,七段數(shù)碼管。3、設(shè)計(jì)內(nèi)容及步驟1)設(shè)計(jì)要求(1)可供4組同時(shí)搶答,由按鈕控制。(2)能顯示出最先搶答的組號(hào),而對(duì)其他組的搶答不予理睬。(3)對(duì)主持人未曾按啟動(dòng)扭之前就按搶答按鈕的犯規(guī)組,亮紅燈警告。(4)對(duì)搶答后的回答時(shí)間進(jìn)行計(jì)時(shí)控制,如回答超時(shí),則以音響報(bào)警。 2) 撰寫(xiě)設(shè)計(jì)報(bào)告(1)各個(gè)硬件模塊設(shè)計(jì)和原理圖(2)各個(gè)軟件模塊設(shè)計(jì)和流程圖4、硬件設(shè)計(jì)1)總體設(shè)計(jì)由于本次實(shí)驗(yàn)要用到數(shù)碼顯示、中斷控制、倒計(jì)時(shí)等功能,故初步分析,需要8255、8253等芯片。經(jīng)過(guò)小組成員討論,認(rèn)為本實(shí)驗(yàn)的關(guān)鍵是準(zhǔn)確判斷出最先搶答者的信號(hào)并鎖存,而同時(shí)不理睬其他搶答者的信號(hào)。為此,可將4個(gè)搶答按鈕信號(hào)通過(guò)一個(gè)4位并行輸入口接至微機(jī)中。當(dāng)主持人啟動(dòng)搶答過(guò)程后,微機(jī)通過(guò)該并行輸入口循環(huán)對(duì)4路搶答信號(hào)進(jìn)行采樣。當(dāng)采樣到那一組的搶答信號(hào)已經(jīng)發(fā)出,則立即停止采樣,并記錄下該組的組號(hào),每路搶答按鈕電路可以參考下圖進(jìn)行設(shè)計(jì)。 +5V1圖1 路搶答按鈕電路由圖可知,當(dāng)4組均未按下?lián)尨鸢粹o時(shí),送入到并行接口的4位搶答狀態(tài)都是0,而當(dāng)微機(jī)采樣到這4位數(shù)據(jù)不為0時(shí),則表示有一組獲得了搶答機(jī)會(huì),然后通過(guò)逐位口查詢個(gè)位口狀態(tài),即可判斷出哪一組搶答成功,最后利用并行輸出接口將搶答成功的組號(hào)現(xiàn)實(shí)出來(lái).在實(shí)驗(yàn)中,可以僅用一位7段數(shù)碼管來(lái)顯示搶答選手的組號(hào).為了對(duì)搶答后的回答時(shí)間進(jìn)行計(jì)時(shí)控制,可以利用一個(gè)可編程定時(shí)計(jì)時(shí)器,先置計(jì)數(shù)初值,再計(jì)時(shí),當(dāng)計(jì)時(shí)時(shí)間到后,由并行接口輸出一個(gè)響鈴信號(hào)提示搶答選手的回答時(shí)間已到。由于本系統(tǒng)要求對(duì)犯規(guī)的組亮紅燈警告,所以要設(shè)置一個(gè)啟動(dòng)按鍵,在主持人按下啟動(dòng)按鍵之前,如果有搶答鈕被按下,則該搶答選手犯規(guī),可以通過(guò)并行接口輸出一個(gè)信號(hào)使該組的紅色發(fā)光二級(jí)管點(diǎn)亮以示該組選手犯規(guī)。綜上所述,本實(shí)驗(yàn)的硬件電路可參考下圖3示的硬件結(jié)構(gòu)示意圖進(jìn)行設(shè)計(jì)。微機(jī)擴(kuò)展總線插孔AB譯碼電路并行接口定時(shí)器驅(qū)動(dòng)器七段數(shù)碼顯示器犯規(guī)指示LED搶答按鈕電路時(shí)鐘電路啟動(dòng)按鈕及電路4由于本系統(tǒng)要求對(duì)犯規(guī)的組亮紅燈警告,所以要設(shè)置一個(gè)啟動(dòng)按鍵,在主持人按下啟動(dòng)按鍵之前,如果有搶答鈕被按下,則該搶答選手犯規(guī),可以通過(guò)并行接口輸出一個(gè)信號(hào)使該組的紅色發(fā)光二級(jí)管點(diǎn)亮以示該組選手犯規(guī)。在設(shè)計(jì)中可以采用中斷的方式輸入啟動(dòng)按鍵的狀態(tài),為此可以將啟動(dòng)按鍵信號(hào)直接接到微機(jī)的某根中斷請(qǐng)求線上。綜上所述,本實(shí)驗(yàn)的硬件電路可參考下圖1示的硬件結(jié)構(gòu)示意圖進(jìn)行設(shè)計(jì)。圖2 硬件結(jié)構(gòu)示意圖其中8255與8086連接圖如下圖4圖3 8086與8255連接圖實(shí)驗(yàn)原理圖見(jiàn)附錄一。2)芯片介紹(1)8255芯片8255A內(nèi)部有3個(gè)相互獨(dú)立的8位數(shù)據(jù)端口,即端口A端口B端口C。設(shè)計(jì)人員可以用程序是他們分別作為輸入端口或輸出端口。不過(guò),每個(gè)端口有著各自的特點(diǎn)。端口A對(duì)應(yīng)1個(gè)8位數(shù)據(jù)輸入鎖存器/緩沖器和1個(gè)8位數(shù)據(jù)輸出鎖存器/緩存器。所以,用端口A作為輸入或輸出時(shí),數(shù)據(jù)均可以受到鎖存。端口B對(duì)應(yīng)1個(gè)8位數(shù)據(jù)輸入鎖存器/緩沖器和1個(gè)8位數(shù)據(jù)輸出鎖存器/緩存器。端口C對(duì)應(yīng)1個(gè)8位數(shù)據(jù)輸入鎖存器/緩沖器和1個(gè)8位數(shù)據(jù)輸出鎖存器/緩存器。這樣,當(dāng)端口C作為輸入端口時(shí),對(duì)數(shù)據(jù)不作鎖存,而作為輸出端口時(shí),對(duì)數(shù)據(jù)進(jìn)行鎖存。在使用中,端口A端口B和端口C可以相互獨(dú)立,分別作為輸入或者輸出端口,也可以由端口C配合端口A端口B作輸入端口或者輸出端口,此時(shí),端口A和端口B作為獨(dú)立的輸入端口或輸出端口,而端口C則配合端口A和端口B工作。具體得講,端口C常常通過(guò)控制命令被分成兩個(gè)4位端口,每個(gè)4位端口包含1個(gè)4位的輸入緩沖器和1個(gè)4位的輸出鎖存器/緩沖器,他們分別用來(lái)位端口A和端口B提供控制信號(hào)和狀態(tài)信號(hào)。方式選擇控制字D7D6D5D4D3D2D1D0A組方式A口1 輸入0輸出PC7PC41輸入0輸出B組方式0方式01方式1B口1輸入0輸出PC3PC01輸入0輸出1有效標(biāo)志位00方式001方式11方式2(2)8253芯片8253的主要性能:8253可編程定時(shí)/計(jì)數(shù)器芯片時(shí)Intel公司生產(chǎn)的微型計(jì)算機(jī)通用外圍芯片之一。采用24個(gè)引腳,雙列直插式封裝,其主要特性如下:采用NMOS工藝,用單一的5V電源供電。片內(nèi)有3個(gè)獨(dú)立的16位減法計(jì)數(shù)器(或計(jì)數(shù)通道),每個(gè)計(jì)數(shù)器又可分為兩個(gè)8位的計(jì)數(shù)器。計(jì)數(shù)頻率為05MHz。兩種計(jì)數(shù)方式,即二進(jìn)制和BCD方式計(jì)數(shù)。6種工作方式,即可對(duì)系統(tǒng)時(shí)鐘脈沖計(jì)數(shù)實(shí)現(xiàn)定時(shí),又可對(duì)外部事件進(jìn)行計(jì)數(shù)。可由軟件或硬件控制開(kāi)始計(jì)數(shù)或停止計(jì)數(shù)。圖4 8253引腳圖5、軟件設(shè)計(jì)1)主程序設(shè)計(jì)實(shí)驗(yàn)的軟件設(shè)計(jì)可以分為主程序啟動(dòng)中斷服務(wù)程序和定時(shí)中斷服務(wù)程序三部分。啟動(dòng)中斷服務(wù)程序完成的任務(wù)較單一,只需要對(duì)啟動(dòng)標(biāo)志進(jìn)行記錄。例如,可以在主程序中設(shè)置一個(gè)啟動(dòng)標(biāo)志并清0,當(dāng)啟動(dòng)按鈕被按下后,系統(tǒng)進(jìn)入中斷服務(wù)程序。這時(shí),只需要在中斷服務(wù)程序中將啟動(dòng)標(biāo)志置1即可,系統(tǒng)在返回主程序后將查詢?cè)摌?biāo)志,以確定搶答是否開(kāi)始。在主程序中,當(dāng)判斷有搶答鈕被按下時(shí),需要判斷啟動(dòng)標(biāo)志是否為1,如果系統(tǒng)還沒(méi)有啟動(dòng),則搶答結(jié)果為無(wú)效,且判斷該搶答組犯規(guī)。此時(shí),將通過(guò)并行接口送出點(diǎn)亮該組紅色發(fā)光二極管的信號(hào),提示有犯規(guī)行為。另外在主程序中,還要對(duì)搶答回答時(shí)間進(jìn)行初始化賦值,當(dāng)回答開(kāi)始后,如果回答超時(shí),則要通過(guò)并行接口送出響鈴警報(bào)信息以提示超時(shí)。在定時(shí)中斷服務(wù)程序中,主要是完成對(duì)回答問(wèn)題時(shí)間的計(jì)時(shí)操作時(shí)間計(jì)數(shù)器,當(dāng)定時(shí)器每發(fā)一次定時(shí)中斷時(shí),時(shí)間計(jì)數(shù)器加1。主程序設(shè)置中斷向量和回答問(wèn)題時(shí)間定時(shí)器及并行口初始化將時(shí)間計(jì)數(shù)器及啟動(dòng)標(biāo)志清0開(kāi)中斷采并行口數(shù)據(jù)為0嗎?啟動(dòng)標(biāo)志=1嗎?判斷搶答組號(hào)將搶答組發(fā)光二極管點(diǎn)亮判斷哪一組為搶答組將搶答組號(hào)送顯示搶答時(shí)間到了嗎?輸出響鈴信號(hào)提示超時(shí)繼續(xù)搶答比賽嗎?系統(tǒng)返回NYYYNYN圖5 主程序流程圖2)主程序顯示最先搶答組號(hào)及是否犯規(guī)程序 AAA:MOV AL,85H ;8255A的方式控制字,A口輸出,B口輸入MOV DX,04A6H ;控制口的地址送DXOUT DX,AL ;初始化8255AAA:MOV DX,04A2HIN AH,DX ;讀PC3是否為0 AND AH,40H ;如果為零,說(shuō)明搶答開(kāi)始 CMP AH,00H ;轉(zhuǎn)到讀PB口的程序 JZ AA0 ;PB口低電平有效 JNZ AA6 AA0:MOV DX,04A2H ;讀B口的數(shù)據(jù)IN AL,DX CMP AL,FFH ;讀PB口值是否為FFHJZ AA0 ;如果是,表示沒(méi)人搶答,繼續(xù)等CMP AH,FEH ;1號(hào)搶答成功JZ AA1CMP AH,FDH ;2號(hào)搶答成功JZ AA2CMP AH,FDH ;3號(hào)搶答成功JZ AA3CMP AH,F7H ;4號(hào)搶答成功JZ AA4AA1:MOV DX,04A0HMOV AL,79H ;顯示1JMP AA5AA2:MOV DX,04A0HMOV AL,24H ;顯示2JMP AA5AA3:MOV DX,04A0HMOV AL,30H ;顯示3JMP AA5AA4:MOV DX,04A0HMOV AL,19H ;顯示4JMP AA5AA5:MOV DX,04A6H IN AH,DX ;讀PC3是否為1 OR AH,DFH ;如果為1說(shuō)明已復(fù)位 CMP AH,FFH ;轉(zhuǎn)到初始狀態(tài),否者等待 JZ AAA JNZ AA5AA6: MOV DX,04A2H ;讀B口的數(shù)據(jù)IN AL,DX CMP AL,FFH ;讀PB口值是否為FFHJZ AA ;如果是,表示沒(méi)人搶答犯規(guī),繼續(xù)等CMP AH,FEH ;1號(hào)搶答犯規(guī)MOV DX,04A6HMOV AL,09H ;LED1亮CMP AH,FDH ;2號(hào)搶答犯規(guī)MOV DX,04A6HMOV AL,0AH ;LED2亮CMP AH,FDH ;3號(hào)搶答犯規(guī)MOV DX,04A6H MOV AL,0DH ;LED3亮 CMP AH,F7H ;4號(hào)搶答犯規(guī)MOV DX,04A6H MOV AL,0FH ;LED4亮8253初始化程序AA7:MOV AL,15H ;寫(xiě)方式控制字(設(shè)計(jì)數(shù)器0工作于方式2)MOV DX,04B6H ;控制口地址OUT DX,AL ;控制字送8253控制寄存器MOV DX,04B0H ;計(jì)數(shù)器0端口地址MOV AL,60 ;將計(jì)數(shù)初值N=60寫(xiě)入計(jì)數(shù)器0OUT DX,AH 6、心得體會(huì)在這一周的微機(jī)原理課程設(shè)計(jì)里,我們小組完成了競(jìng)賽搶答器的設(shè)計(jì),基本實(shí)現(xiàn)所有功能,通過(guò)這短短一周的實(shí)踐,我們鍛煉了自己動(dòng)手設(shè)計(jì)軟硬件的能力,大家分工明確,合作愉快,雖然我們每個(gè)人的分工很細(xì)致,但是在編寫(xiě)程序以及調(diào)試過(guò)程中還是遇到了很多問(wèn)題,在同組同學(xué)和其他同學(xué)以及老師的幫助下,我們發(fā)現(xiàn)問(wèn)題的所在,并進(jìn)行修改,按時(shí)完成設(shè)計(jì)內(nèi)容。通過(guò)這次課程設(shè)計(jì),我們了解到,即使書(shū)本上的知識(shí)掌握的更好,在將它付諸實(shí)踐時(shí),還是會(huì)遇到各種各樣的問(wèn)題。這次課程設(shè)計(jì)就是一次對(duì)自己所學(xué)知識(shí)的總結(jié)和綜合應(yīng)用,使我們對(duì)微機(jī)原理這門(mén)課程有了更深的了解。7、參考文獻(xiàn)1李順增,微機(jī)原理及接口技術(shù),機(jī)械工業(yè)出版社,2006年第一版2 馮博琴,微型計(jì)算機(jī)原理及接口技術(shù),清華大學(xué)出版社3王遠(yuǎn),模擬電子技術(shù),機(jī)械工業(yè)出版社8、任務(wù)分工(具體到某些模塊)0506240117 劉軒 負(fù)責(zé)用七段數(shù)碼管顯示出最先搶答組號(hào)0506240141 孟令章 負(fù)責(zé)用七段數(shù)碼管顯示出最先搶答組號(hào)0506240107 李影 負(fù)責(zé)犯規(guī)控制0506240120 葛晶 負(fù)責(zé)犯規(guī)控制0506240103 侯久俊 負(fù)責(zé)計(jì)時(shí)控制0506240110 于佳 負(fù)責(zé)計(jì)時(shí)控制附錄程序2;程序名字:搶答器;功能:用戶鍵(即搶答者):p32,p33;主持人鍵:p34,;用法:1.主持人按開(kāi)啟鍵,以示開(kāi)始;2.用戶搶答,若到了10秒還沒(méi)有按鍵就退出;3.顯示用戶號(hào);4.等待主持人清除顯示;5.清除后蜂鳴,以示慶祝xsdat bit p1.4 ;定義驅(qū)動(dòng)74164的數(shù)據(jù)腳為p1.4xsclk bit p1.5 ;74164的時(shí)鐘gw bit p1.0 ;個(gè)位顯示控制腳sw bit p1.1 ;十位;#org 00hajmp mainorg 0bhajmp t0rup ;定時(shí)10秒鐘,預(yù)防主持人已經(jīng)按了開(kāi)啟鍵后無(wú)用戶按鍵而死機(jī)org 1bhajmp t1rup ;用于喇叭響0.5秒鐘org 30hmain: mov sp,#4fh mov r3,#0 ;用于顯示 mov r4,#0 ;用于定時(shí),r2:蜂鳴 mov p0,#0ffh mov p3,#0ffh mov ie,#8ah mov tmod,#11h mov th0,#3ch mov tl0,#0b0h ;每50ms中斷一次 mov th1,#3ch mov tl1,#0b0h ;每50ms中斷一次 mov a,p3 orl a,#11110011b cjne a,#0ffh,main ;以免有一或多個(gè)用戶一直按住鍵loop0:jb p3.4,loop0 mov p0,#0 ;主持開(kāi)啟鍵:p3.4,表示搶答開(kāi)始 setb tr0 ;定時(shí)10秒鐘,預(yù)防主持人已經(jīng)按了開(kāi)啟鍵后無(wú)用戶按鍵而死機(jī)loop1:cjne r4,#200,ll;檢測(cè)用戶按鍵,若定時(shí)10s時(shí)間到了,即結(jié)束本次搶答 ajmp main ll: mov a,p3 orl a, #11110011b cjne a,#0ffh,ff ajmp loop1 ;等待用戶按鍵 ff:clr tr0 ;若有用戶按鍵,就清除定時(shí) rrc a rrc aloop4:rrc a inc r3 jc loop4 ;將對(duì)應(yīng)用戶按鍵轉(zhuǎn)化成用戶號(hào)nn: acall display jb p3.4,nn ;等待主持人清除 acall delay kk: jnb p3.4,kk ;等待主持人放開(kāi),以免主持人開(kāi)啟鍵與清除鍵相混淆 acall delay acall fm ;蜂鳴,以做慶祝,同時(shí)將p0口全滅 mov p0,#0ffh ajmp main;#fm: ;蜂鳴 setb tr1 clr p3.7loop2:cjne r5,#20,tt mov r5,#0 ;清零以備下次使用 setb p3.7 ;關(guān)閉揚(yáng)聲器,以免使它處于導(dǎo)通狀態(tài)而不能發(fā)聲 ;用 cpl 反轉(zhuǎn)驅(qū)動(dòng)三極管的通斷來(lái)發(fā)聲要注意, ;在停止發(fā)聲時(shí)一定要關(guān)閉三極管,不要讓三極管長(zhǎng)期處在導(dǎo)通狀態(tài)! ;否則耗電很大,三極管發(fā)熱嚴(yán)重,從而引起聲音變小或無(wú)聲。 clr tr1 rettt: cpl p3.7 mov r1,#122 djnz r1,$ ; 蜂鳴器都有諧振頻率,一般在2kHz左右,不在這個(gè)范圍聲音就很小 ajmp loop2;#t0rup:mov tl0,#0b0h ;用于防死機(jī)定時(shí) mov th0,#3ch inc r4 reti;#t1rup: ;用于蜂鳴定時(shí) mov tl1,#0b0h mov th1,#3ch inc r5 r
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 股權(quán)質(zhì)押借款合同范本
- 電纜線材采購(gòu)合同
- 中小學(xué)師德師風(fēng)學(xué)習(xí)心得體會(huì)(5篇)
- 綠色食品種植協(xié)議
- 施工過(guò)程回顧合同
- 商城代運(yùn)營(yíng)協(xié)議合同協(xié)議
- 商業(yè)調(diào)查合同協(xié)議
- 員工瑯東合同協(xié)議
- 員工解約協(xié)議合同協(xié)議
- 商場(chǎng)餐飲抽點(diǎn)合同協(xié)議
- 2025-2030中國(guó)寵物行業(yè)市場(chǎng)發(fā)展分析及發(fā)展趨勢(shì)與投資前景預(yù)測(cè)報(bào)告
- AGC-AVC培訓(xùn)課件教學(xué)課件
- 境外道路貨物運(yùn)輸應(yīng)急預(yù)案
- 二極管整流濾波電路課件
- JC01基礎(chǔ)心理學(xué)單科作業(yè)題匯總(含解析)
- 中考英語(yǔ)讀寫(xiě)綜合練習(xí)
- 混凝土供應(yīng)保證方案 2
- 慢性阻塞性肺疾病入院記錄模板-病歷書(shū)寫(xiě)
- 新疆維吾爾自治區(qū)和田地區(qū)各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會(huì)明細(xì)及行政區(qū)劃代碼
- 軟件測(cè)試技術(shù)課程教學(xué)大綱
- 液壓與氣壓傳動(dòng)完整版課件
評(píng)論
0/150
提交評(píng)論