




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、畢業(yè)設(shè)計說明書設(shè)計題目: 基于單片機的數(shù)字式競賽搶答器 專 業(yè): 通 信 技 術(shù) 班 級: 通技06-2 學(xué) 號: 姓 名: 指導(dǎo)教師: 二八年十二月三十日四川信息職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(論文)任務(wù)書學(xué) 生姓 名學(xué)號班級通技06-2專業(yè)通信技術(shù)設(shè)計題目基于單片機的數(shù)字式競賽搶答器指導(dǎo)教師姓名職 稱工作單位及所從事專業(yè)聯(lián)系方式備 注潘 鋒講 師四川信息職業(yè)技術(shù)學(xué)院電子望春高級工程師四川九洲電子科技股份有限公計(論文)內(nèi)容:(1)設(shè)計指標(biāo)搶答器可同時供8名選手或8個代表隊比賽。設(shè)置一個系統(tǒng)清除和搶答控制開關(guān),該開關(guān)由主持人控制。搶答器具有鎖存與顯
2、示功能。即選手按動按鈕,鎖存相應(yīng)的編號,并在led數(shù)碼管上顯示,同時揚聲器發(fā)出報警聲響提示。選手搶答實行優(yōu)先鎖存,優(yōu)先搶答選手的編號一直保持到主持人將系統(tǒng)清除為止。 搶答器具有定時搶答功能,且一次搶答的時間由主持人設(shè)定(如30秒)。當(dāng)主持人啟動開始鍵后,定時器進行減計時,同時揚聲器發(fā)出短暫的聲響,聲響持續(xù)的時間0.5秒左右。參賽選手在設(shè)定的時間內(nèi)進行搶答,搶答有效,定時器停止工作,顯示器上顯示選手的編號和搶答的時間,并保持到主持人將系統(tǒng)清除為止。如果定時時間已到,無人搶答,本次搶答無效,系統(tǒng)報警并禁止搶答,定時顯示器上顯示ff。(2)設(shè)計要求畫出電路原理圖(或仿真電路圖);元器件及參數(shù)選擇;單
3、片機程序設(shè)計與編程;電路仿真與調(diào)試;pcb文件生成。進度安排:第5周:任務(wù)下達,理解消化任務(wù)要求;初步設(shè)計方案確定;第6周第10周:設(shè)計方案確定,分模塊部分完成;第11周:中期檢查,查找問題,分析解決難點;第12周第15周:分模塊調(diào)試,整體電路調(diào)試,論文書寫等;第16周:答辯。參考文獻:1朱永金.成友才.單片機應(yīng)用技術(shù).北京:中國勞動社會保障出版社,20072何立民.單片機高等教程.北京:航空航天大學(xué)出版社,20003雄建云.protel99 se eda技術(shù)及應(yīng)用.北京:機械工業(yè)出版社,20074林春方.電子線路學(xué)習(xí)指導(dǎo)與實訓(xùn).北京:電子工業(yè)出版社,2004審批意見教研室負(fù)責(zé)人:年 月 日備
4、注:任務(wù)書由指導(dǎo)教師填寫,一式二份。其中學(xué)生一份,指導(dǎo)教師一份目錄摘要1第1章緒論2第2章總體方案設(shè)計32.1方案比較32.2方案論證及選擇4第3章?lián)尨鹌饔布娐吩O(shè)計53.1單片機最小系統(tǒng)53.1.1單片機時鐘電路53.1.2單片機復(fù)位電路63.2鍵盤電路設(shè)計63.2.1選手搶答電路73.2.2主持人控制電路73.3顯示驅(qū)動電路83.4蜂鳴電路93.5電源電路10第4章軟件部分114.1單片機內(nèi)部信號分析114.2主要程序流程114.2.1系統(tǒng)主程序流程114.2.2中斷程序流程12第5章仿真及調(diào)試145.1軟件仿真145.2硬件調(diào)試14總結(jié)16致謝17參考文獻18附錄1整機電路圖19附錄2p
5、cb板圖20附錄3源程序21摘要本設(shè)計是采用單片機設(shè)計的多人比賽智力搶答器系統(tǒng)。它具有電路簡單、功能齊全、制作成本低、性價比高等特點,是一種經(jīng)濟、實用的比賽用搶答器。硬件部分主要由單片機、led顯示器、led驅(qū)動器、聲音報警器、主持人操作鍵盤和其它基本外圍電子電路組成。軟件部分采用51系列單片機通用匯編語言與c語言設(shè)計編寫。該搶答器不僅能實現(xiàn)顯示各位搶答選手號,而且具有搶答30秒倒計時(可調(diào))、答題60秒倒計時(可調(diào))、違例搶答報警等功能。并且功能增減方便,只需對軟件做相應(yīng)修改即可。關(guān)鍵詞單片機;搶答;倒計時第1章緒論電子計算機的發(fā)展經(jīng)歷了從電子管、晶體管、集成電路到大規(guī)模集成電路共四個階段,
6、即通常所說的第一代、第二代、第三代和第四代計算機?,F(xiàn)在廣泛使用的微型計算機是大規(guī)模集成電路技術(shù)發(fā)展的產(chǎn)物,因此它屬于第四代計算機,而單片機則是微型計算機的一個分支。從1971年微型計算機問世以來,由于實際應(yīng)用的需要,微型計算機向著兩個不同的方向發(fā)展:一個是向著高速度、大容量、高性能的高檔微機方向發(fā)展;而另一個則是向穩(wěn)定可靠、體積小和價格廉的單片機方向發(fā)展。但兩者在原理和技術(shù)上是緊密聯(lián)系的。單片機因?qū)⑵渲饕M成部分集成在一個芯片上而得名,具體說就是把中央處理器、隨機存儲器、只讀存儲器、中斷系統(tǒng)、定時器/計數(shù)器以及i/o口電路等主要微型機部件,集成在一塊芯片上。雖然單片機只是一塊芯片,但從功能和組
7、成上,它已具有了計算機的屬性,為此它稱為單片微型機。單片機有很多的特點,主要表現(xiàn)在:體積小、功耗低、價格廉、控制功能強、應(yīng)用現(xiàn)場環(huán)境惡劣等。本設(shè)計的核心采用了at89c51單片機。80c51單片機系列是在mcs51系列的基礎(chǔ)上發(fā)展起來的,早期的80c51只是系列眾多芯片中的一類,但是隨著后來的發(fā)展,80c51已經(jīng)形成獨立的系列,并且成為當(dāng)前8位單片機的典型代表。80c51芯片為40引腳雙列直插封裝,單一的+5v電源,它具有3個可編程i/o口,其中2個口(a和b)為8位口,1個口(c)為6位口。此外還有128單元的ram和1個14位計數(shù)結(jié)構(gòu)的定時器/計數(shù)器。第2章總體方案設(shè)計2.1方案比較方案一
8、:采用數(shù)字電路實現(xiàn)定時搶答器的總體框圖如圖2-1所示,它由主體電路和擴展電路兩部分組成。主體電路完成基本的搶答功能,即開始搶答后,當(dāng)選手按動搶答按鈕時,能顯示選手的編號,同時能封鎖輸入電路,禁止其他選手搶答。擴展電路完成定時搶答功能。主要是對秒脈沖產(chǎn)生電路計算從而達到定時功能。圖2-1數(shù)字搶答器組成框圖定時搶答器的工作過程是:主持人將開關(guān)置于“清除”位置,搶答器處于禁止工作狀態(tài),定時顯示器上顯示設(shè)定的時間,當(dāng)節(jié)目主持人宣布搶答題目后,按下“開始”鍵,揚聲器發(fā)出響聲提示,定時器倒計時。當(dāng)定時時間到,卻沒有選手搶答,系統(tǒng)報警,并禁止選手超時后搶答。當(dāng)選手在定時時間內(nèi)搶答時,電路立即分辨出搶答者的編
9、號,由鎖存器進行鎖存,然后譯碼顯示電路顯示編號,同時揚聲器發(fā)聲報警,同時對輸入編碼電路進行封鎖,避免其他選手再次搶答,顯示剩余搶答時間,并保持到主持人將系統(tǒng)清零為止。當(dāng)選手將問題回答完畢時,主持人操作控制開關(guān),使系統(tǒng)恢復(fù)到禁止工作狀態(tài),以便進行下一輪搶答。方案二:采用單片機實現(xiàn)相比第一方案而言此方案,采單片機為控制核心大大簡化了系統(tǒng)電路結(jié)構(gòu),把各種處理的功能整合在了單片機內(nèi)部。此設(shè)計方案把軟件的設(shè)計作為設(shè)計重點,在原始的單一功能上添加了倒計時搶答、答題倒計時、顯示選手號等新穎的附屬功能,并保留了傳統(tǒng)的報警部分,電路還較簡單,具體方框圖如2-2所示。圖2-2方案二框圖這是一種單片機控制的智能化搶
10、答器,該搶答器可以克服普通搶答器存在的各種缺陷。本系統(tǒng)的功能是通過按下?lián)尨疰I的按鈕使單片機相應(yīng)的端口線讀入信號,經(jīng)過處理后輸出顯示所按下的鍵號。本系統(tǒng)還具備篩選第一有效搶答信號、顯示超前違規(guī)搶答信號、以及可變的搶答倒計時信號和答題倒計時信號等功能。2.2方案論證及選擇無論是學(xué)校、工廠、軍隊還是益智性電視節(jié)目,都會舉辦各種各樣的智力競賽,都會用到搶答器。目前市場上已有各種各樣的智力競賽搶答器,但絕大多數(shù)以模擬電路、數(shù)字電路或者模擬電路與數(shù)字電路相結(jié)合的產(chǎn)品。這部分搶答器以相當(dāng)成熟,但是可以看到功能越多的電路相對來說就越復(fù)雜,且成本較高,故障高,顯示方式簡單,甚至沒有顯示電路。方案一中電路模塊太多
11、,還不能顯示剩余答題時間,無法準(zhǔn)確判斷選手答題是否超時。近年來隨著科技的飛速發(fā)展,單片機的應(yīng)用正不斷走向深入。所以我們選用單片機作為核心部件進行邏輯控制及信號的產(chǎn)生,用單片機本身的優(yōu)勢使競賽真正達到公正、公平、公開。第3章?lián)尨鹌饔布娐吩O(shè)計3.1單片機最小系統(tǒng)單片機使用51系列的at89c51單片機,該單片機應(yīng)用廣泛,技術(shù)成熟。at89c51單片機是一個低電壓,高性能cmos8位單片機,片內(nèi)含4kbytes的可反復(fù)擦寫的flash只讀程序存儲器和128bytes的隨機存取數(shù)據(jù)存儲器(ram)。at89c51有40個引腳,32個外部雙向輸入/輸出(i/o)端口,同時內(nèi)含2個外中斷口,2個16位可
12、編程定時計數(shù)器,2個全雙工串行通信口,at89c51可以按照常規(guī)方法進行編程,也可以在線編程。at89c51單片機引腳見圖3-1所示:圖3-1at89c51引腳圖3.1.1單片機時鐘電路at89c51單片機中有一個用于構(gòu)成內(nèi)部振蕩器的高增益反向放大器,引腳xtal1和xtal2分別為反向放大器的輸入和輸出,這個放大器作為反饋元件的片外石英晶體振蕩或陶瓷諧振器一起構(gòu)成自激振蕩器。外接石英晶體及電容、接在放大器的反饋回路中構(gòu)成并聯(lián)振蕩電路。對于外接電容、雖然沒有十分嚴(yán)格的要求,但電容容量的大小會輕微影響振蕩頻率的高低、振蕩器的穩(wěn)定性、起振的難易程度及溫度穩(wěn)定性。一般使用石英晶體,電容使用30pf1
13、0pf,而如使用陶瓷諧振器,最好選擇40pf10pf。3.1.2單片機復(fù)位電路復(fù)位是單片機的重要操作內(nèi)容,復(fù)位功能是系統(tǒng)正常運行的先決條件。在簡單的復(fù)位電路中,只要在微處理芯片的rst引腳保持高電平達2個以上的機器周期,即可完成一次復(fù)位操作??紤]到電源的穩(wěn)定時間,參數(shù)漂移,晶振穩(wěn)定時間以及復(fù)位的可靠性等因素,一般只要在rst引腳出現(xiàn)10ms以上的高電平,就能使單片機有效復(fù)位。復(fù)位是由外部電路來實現(xiàn)的,按功能分為以下兩種方式:上電自動復(fù)位方式和人工復(fù)位方式。上電自動復(fù)位電路雖然能實現(xiàn)上電復(fù)位功能,但對干擾沒有抵抗作用,不能保證復(fù)位電路任何時候都能可靠地工作。人工復(fù)位將一個按鈕開關(guān)并聯(lián)于上電復(fù)位電
14、路中。按一下開關(guān)會在rst端出現(xiàn)一段時間的高電平,使單片機復(fù)位,安全可靠,所以選擇人工復(fù)位電路。見圖3-2所示。圖3-2單片機最小系統(tǒng)電路原理圖3.2鍵盤電路設(shè)計鍵盤是單片機應(yīng)用系統(tǒng)最常用的輸入設(shè)備,操作人員可以通過鍵盤向單片機系統(tǒng)輸入指令、地址和數(shù)據(jù),實現(xiàn)簡單的人機通信。3.2.1選手搶答電路本設(shè)計要求設(shè)計可供8名選手搶答的搶答器,可選用矩陣鍵盤獨立式行列鍵盤。獨立式按鍵就是各按鍵相互獨立,每個按鍵單獨占用一根i/o口線,每根i/o口線的按鍵工作狀態(tài)不會影響其他i/o口線上的工作狀態(tài)。因此,通過檢測輸入線的電平狀態(tài)可以很容易判斷哪個按鍵被按下了。優(yōu)點:電路配置靈活,軟件結(jié)構(gòu)簡單。缺點:每個按
15、鍵需占用一根i/o口線,在按鍵數(shù)量較多時,i/o口浪費大,電路結(jié)構(gòu)顯得復(fù)雜。因此,此鍵盤是用于按鍵較少或操作速度較高的場合。矩陣鍵盤與獨立式按鍵鍵盤相比,硬件電路大大節(jié)省。可通過軟件的方法讓一鍵具有多功能。它適用于按鍵數(shù)量較多的場合,由行列線組成,按鍵位于行列的交叉點上,節(jié)省i/o口。但是需要大量掃描、譯碼程序設(shè)計對于我們來說有些困難,考慮到本設(shè)計只需8名選手搶答,所以采用獨立式行列按鍵,s1-s8分別是選手1至選手8的搶答按鍵,如圖3-3所示。圖3-3選手搶答電路3.2.2主持人控制電路控制電路是搶答器所必要的部分,它由主持人控制,用于控制開始/停止搶答、搶答時間和答題時間的調(diào)整。采用功能按
16、鍵實現(xiàn),如圖3-4所示。圖3-4主持人控制電路3.3顯示驅(qū)動電路驅(qū)動顯示部分是本設(shè)計一個重要部分,led數(shù)碼管分為共陰極7段數(shù)碼管如圖3-5所示,共陽極7段數(shù)碼管如圖3-6所示。圖3-5共陰極7段數(shù)碼管圖3-6共陽極7段數(shù)碼管在單片機設(shè)計中,led數(shù)碼管的顯示方式有靜態(tài)顯示、動態(tài)顯示兩種,由于靜態(tài)顯示數(shù)碼管的每一個led需要占用單片機的一條端口線實現(xiàn)顯示控制,而單片機端口有限,所以采用動態(tài)控制顯示方式。將幾只數(shù)碼管的a-h分別連在一起與單片機段碼控制端p0口連在一起,作為數(shù)碼管段碼控制。p2口的p2.0p2.2與數(shù)碼管公共端連在一起作為位碼選擇控制,使每只數(shù)碼管可以單獨顯示。由于單片機端口驅(qū)動
17、能力不足,數(shù)碼管的電流較大,所以在p0口接上拉電阻增加驅(qū)動能力,p2口作為位碼控制端驅(qū)動共陰型數(shù)碼管顯示。如圖3-7所示。圖3-7驅(qū)動顯示電路3.4蜂鳴電路蜂鳴器主要分為壓電式蜂鳴器和電磁式蜂鳴器兩種類型。電磁式蜂鳴器由振蕩器、電磁線圈、磁鐵、振動膜片及外殼等組成。接通電源后,振蕩器產(chǎn)生的音頻信號電流通過電磁線圈,使電磁線圈產(chǎn)生磁場,振動膜片在電磁線圈和磁鐵的相互作用下,周期性的振動發(fā)聲。壓電式蜂鳴器主要由多諧振蕩器、壓電蜂鳴片、阻抗匹配器及共鳴箱、外殼等組成。它的發(fā)聲原理是電流通過電磁線圈,使電磁線圈產(chǎn)生磁場來驅(qū)動振動膜發(fā)聲的,因此需要一定的電流才能驅(qū)動,本設(shè)計采用i/o口(p3.6)向揚聲
18、器送高電平來控制揚聲器發(fā)聲。如圖3-8所示。圖3-8蜂鳴電路3.5電源電路80c51單片機正常工作電壓范圍為直流+4.5v至+6v,標(biāo)準(zhǔn)電壓為+5v。實際應(yīng)用時,可采用3節(jié)1.5v干電池串聯(lián)構(gòu)成4.5v或三端集成穩(wěn)壓器構(gòu)成+5v直流電壓源。若采用后者,可用220v市電經(jīng)整流、濾波、穩(wěn)壓后輸出穩(wěn)定的+5v的直流電為其供電。+5v穩(wěn)壓器采用cw7805,其應(yīng)用電路如圖3-9所示。圖中濾波電容c2和c4的值約為1000f,c3和c5為0.33f。發(fā)光二極管d6的作用是顯示讀寫器的電源是否接通,若接通則d6燈亮,無接通則d6燈滅。圖3-9電源電路原理圖第4章軟件部分4.1單片機內(nèi)部信號分析首先主持人按
19、下復(fù)位按鍵,單片機進行內(nèi)部掃描的同時主持人可以調(diào)節(jié)搶答時間和允許答題時間,在整定的時間當(dāng)中如果沒有調(diào)節(jié)搶答時間和答題時間,則搶答器工作為設(shè)置的默認(rèn)值(搶答時間30s,答題時間60s)。如倒計時期間,主持人想停止倒計時可以隨時按“停止”按鍵,系統(tǒng)會自動進入準(zhǔn)備狀態(tài),等待主持人按“搶答開始鍵”進入下次搶答計時。同時在主持人未按下開始搶答按鈕的時候有選手搶答,則單片機發(fā)出一個選手犯規(guī)信號送入揚聲器,同時在led數(shù)碼管上顯示選手號,以便主持人記錄。只有當(dāng)主持人按下開始搶答按鈕,此時單片機開始倒計時并送到數(shù)碼管顯示,與此同時單片機向揚聲器發(fā)一個提示信號驅(qū)動揚聲器發(fā)聲,此時選手才能開始搶答。4.2主要程序
20、流程4.2.1系統(tǒng)主程序流程系統(tǒng)主程序控制單片機系統(tǒng)按預(yù)定的操作方式運行,它是單片機系統(tǒng)程序的框架。系統(tǒng)上電后,對系統(tǒng)進行初始化。初始化程序主要完成對單片機內(nèi)專用寄存器的設(shè)定,單片機工作方式及各端口的工作狀態(tài)的規(guī)定流程圖如圖4-1所示。nn圖4-1主要流程圖4.2.2中斷程序流程時間調(diào)節(jié)采用中斷來實現(xiàn),流程圖如圖4-2所示,如果想調(diào)節(jié)搶答時間或答題時間,按“搶答時間調(diào)節(jié)”鍵或“答題時間調(diào)節(jié)”鍵進入調(diào)節(jié)狀態(tài),此時會顯示現(xiàn)在設(shè)定的搶答時間或回答時間值,如想加一秒按一下“加1s”鍵,如果想減一秒按一下“-1s”鍵,時間led上會顯示改變后的時間,調(diào)整范圍為0s99s,0s時再減1s會跳到99s,99
21、s時再加1s會變到0s。圖4-2中斷流程圖第5章仿真及調(diào)試5.1軟件仿真首先安裝keilc51軟件,建立工程,在工程目錄下建立項目,在項目下編輯程序,保存在工程項目中,注意一定要設(shè)置文件后輟名,匯編語言程序為.asm,c語言程序為.c,然后編譯仿真直到0錯誤,0警告,最后生成hex文件以備后用,如圖5-1所示。圖5-1程序仿真完成5.2硬件調(diào)試安裝硬件調(diào)試軟件proteusisis,在原理圖編輯區(qū)畫好硬件電路圖,設(shè)置好相應(yīng)參數(shù),導(dǎo)入hex文件。具體功能仿真如下:電路初始化,顯示fff等待主持人按下開始鍵,如圖5-2所示。圖5-2電路初始化搶答時間調(diào)至72秒時,如圖5-3所示。圖5-3搶答時間調(diào)
22、至72秒答題時間調(diào)至67秒時,如圖5-4所示。圖5-4答題時間調(diào)至67秒在主持人未按下開始鍵時3號選手搶答犯規(guī),顯示器顯示選手號并閃爍,同時揚聲器發(fā)聲報警,如圖5-5所示。圖5-53號選手搶答犯規(guī)主持人按下開始鍵,倒計時到21秒都無人搶答,顯示器顯示倒計時,如圖5-6所示。圖5-6無人搶答倒計時到21秒主持人按下開始鍵,4號選手成功搶答,顯示器顯示4號選手號,同時揚聲器短暫發(fā)聲報警,如圖5-7所示。圖5-74號選手成功搶答經(jīng)過調(diào)試此設(shè)計除了滿足顯示、報警、控制等設(shè)計要求外,還具有顯示犯規(guī)選手號并閃爍提示、搶答時間答題時間可調(diào)等新穎的功能。還需要改進的地方是在搶答期間或答題期間主持人按“停止”按
23、鍵,終止搶答和答題時,揚聲器不能報警??偨Y(jié)時至今日,幾個禮拜的畢業(yè)設(shè)計終于可以畫上一個句號,但是現(xiàn)在回想起畢業(yè)設(shè)計的整個過程,頗有心得!沒有接受任務(wù)以前覺得畢業(yè)設(shè)計只是對這幾年來所學(xué)知識的單純總結(jié),但是通過這次做畢業(yè)設(shè)計發(fā)現(xiàn)自己以前的看法有點太片面、太偏激了。畢業(yè)設(shè)計不僅是對前面所學(xué)知識的一種檢驗,而且也是對自己能力的一種提高。下面我對整個畢業(yè)設(shè)計的過程做一下簡單的總結(jié)。首先,接到任務(wù)以后進行選題。選題是畢業(yè)設(shè)計的開端,選擇恰當(dāng)?shù)摹⒏信d趣的題目,對于整個畢業(yè)設(shè)計是否能夠順利進行關(guān)系極大。好比走路,第一步是具有決定意義的,第一步邁向何方,需要慎重考慮。否則,就可能走許多彎路、費許多周折,甚至南轅
24、北轍,難以到達目的地。因此,選題時一定要考慮好。然后,就是找資料了。查找資料是做畢業(yè)設(shè)計的前期準(zhǔn)備工作。到圖書館、書店、資料室去雖說是比較原始的方式,但也有可取之處的。總之,不管通過哪種方式查的資料都是有利用價值的,要一一記錄下來以備后用。通過上面的過程,已經(jīng)積累了不少資料,對所選的題目也大概有了一些了解,下一步就是在這樣一個基礎(chǔ)上,綜合已有的資料來更透徹的分析題目。有了研究方向,就應(yīng)該動手實現(xiàn)了。其實以前的三步都是為這一步作的鋪墊。編寫源代碼的時候最好是編寫一個小模塊就進行調(diào)試,這樣可以避免設(shè)計的最后出現(xiàn)太多的錯誤而亂成一團糟。每做一會兒會發(fā)現(xiàn)一處錯誤就要即時修改,就這樣不斷的修改調(diào)試,再修
25、改再調(diào)試??傊?,知識必須通過應(yīng)用才能實現(xiàn)其價值!有些東西認(rèn)為學(xué)會了,但真正到用的時候才發(fā)現(xiàn)是兩回事,所以我認(rèn)為只有到真正會用的時候才是真的學(xué)會了。在整個畢業(yè)設(shè)計過程中使我懂得了許多東西,也培養(yǎng)了我獨立工作的能力,樹立了對自己工作能力的信心,相信會對今后的學(xué)習(xí)工作生活有非常重要的影響。而且大大提高了動手的能力,使我充分體會到了在創(chuàng)造過程中探索的艱難和成功的喜悅。雖然這個設(shè)計還不是很完善,但是在設(shè)計過程中所學(xué)到的東西是這次畢業(yè)設(shè)計的最大收獲和財富,使我終身受益。致謝本文是在潘鋒老師的悉心指導(dǎo)下完成的,衷心感謝他在設(shè)計的寫作期間給與我的熱情幫助和指導(dǎo)。潘鋒老師淵博的知識,認(rèn)真負(fù)責(zé)的工作作風(fēng),平易近人
26、的態(tài)度,給與我勇敢面對困難的勇氣和力量,讓我獲益匪淺。在此,向潘鋒老師表示最衷心的感謝和最誠摯的敬意。還要感謝我的同學(xué),他們在我的設(shè)計寫作過程中提出了很多寶貴的意見,并給了我很多啟發(fā)。感謝四川信息職業(yè)技術(shù)學(xué)院的全體領(lǐng)導(dǎo)和老師,你們深厚的學(xué)術(shù)功底和誨人不倦的高尚師德將讓我受用一生。感謝通技06-2班全班同學(xué)給予我的關(guān)心、友誼和幫助,是你們給了我美好而難忘的學(xué)習(xí)生活。最后,向百忙之中抽時間對本文進行審閱,評議和參與本人論文答辯的各位老師表示感謝。參考文獻1朱永金,成友才單片機應(yīng)用技術(shù)北京:中國勞動社會保障出版社,20072何立民單片機高等教程北京:航空航天大學(xué)出版社,20003雄建云protel9
27、9 se eda技術(shù)及應(yīng)用北京:機械工業(yè)出版社,20074林春方電子線路學(xué)習(xí)指導(dǎo)與實訓(xùn)北京:電子工業(yè)出版社,2004附錄整機電路圖附錄pcb板圖pcb元器件放置面pcb元器件焊接面附錄源程序ok equ 20h;搶答開始標(biāo)志位ring equ 22h;響鈴標(biāo)志位org 0000hajmp mainorg 0003hajmp int0suborg 000bhajmp t0intorg 0013hajmp int1suborg 001bhajmp t1intorg 0040hmain: mov r1,#30;初設(shè)搶答時間為30smov r2,#60;初設(shè)答題時間為60smov tmod,#11h;
28、設(shè)置未定時器/模式1mov th0,#0f0hmov tl0,#0ffh;越高發(fā)聲頻率越高,越尖mov th1,#3chmov tl1,#0b0h;50ms為一次溢出中斷setb easetb et0setb et1setb ex0setb ex1;允許四個中斷,t0/t1/int0/int1clr okclr ringsetb tr1setb tr0;一開始就運行定時器,以開始顯示fff.如果想重新計數(shù),重置th1/tl1就可以了;=查詢程序=start: mov r5,#0bhmov r4,#0bhmov r3,#0bhacall display;未開始搶答時候顯示fffjb p3.0,n
29、ext;dddddddacall delayjb p3.0,next;去抖動,如果開始鍵按下就向下執(zhí)行,否者跳到非法搶答查詢acall bark;按鍵發(fā)聲mov a,r1mov r6,a;送r1-r6,因為r1中保存了搶答時間setb ok;搶答標(biāo)志位,用于count只程序中判斷是否查詢搶答mov r7,#01h ;讀搶答鍵數(shù)據(jù)信號標(biāo)志,這里表示只讀一次有用信號mov r3,#0ah;搶答只顯示計時,滅號數(shù)ajmp count;進入倒計時程序,查詢有效搶答的程序在count里面next: jnb p1.0,false1jnb p1.1,false2jnb p1.2,false3jnb p1.3
30、,false4jnb p1.4,false5jnb p1.5,false6jnb p1.6,false7jnb p1.7,false8ajmp start;=非法搶答處理程序=false1: mov r3,#01hajmp errorfalse2: mov r3,#02hajmp errorfalse3: mov r3,#03hajmp errorfalse4: mov r3,#04hajmp errorfalse5: mov r3,#05hajmp errorfalse6: mov r3,#06hajmp errorfalse7: mov r3,#07hajmp errorfalse8: m
31、ov r3,#08hajmp error;=int0(搶答時間r1調(diào)整程序)=int0sub:mov a,r1mov b,#0ahdiv abmov r5,amov r4,bmov r3,#0ahacall display;先在兩個時間led上顯示r1jnb p3.4,inc0;p3.4為+1s鍵,如按下跳到incojnb p3.5,dec0;p3.5為-1s鍵,如按下跳到decojnb p3.1,back0;p3.1為確定鍵,如按下跳到backoajmp int0subinc0: mov a,r1cjne a,#63h,add0;如果不是99,r2加1,如果加到99,r1就置0,重新加起。m
32、ov r1,#00hacall delay1ajmp int0subadd0: inc r1acall delay1ajmp int0subdec0: mov a,r1jz setr1;如果r1為0, r1就置99,dec r1acall delay1ajmp int0subsetr1: mov r1,#63hacall delay1ajmp int0subback0: reti ;=int1(回答時間r2調(diào)整程序)=int1sub:mov a,r2mov b,#0ahdiv abmov r5,amov r4,bmov r3,#0ahacall displayjnb p3.4,inc1jnb
33、p3.5,dec1jnb p3.1,back1ajmp int1subinc1: mov a,r2cjne a,#63h,add1mov r2,#00hacall delay1ajmp int1subadd1: inc r2acall delay1ajmp int1subdec1: mov a,r2jz setr2dec r2acall delay1ajmp int1subsetr2: mov r2,#63hacall delay1ajmp int1subback1: reti ;=倒計時程序(搶答倒計時和回答倒計時都跳到改程序)=repeat:mov a,r2 ;使用錦囊時重新計時mov r
34、6,aclr ring count: mov r0,#00h;重置定時器中斷次數(shù)mov th1,#3chmov tl1,#0b0h;重置定時器recount:mov a,r6;r6保存了倒計時的時間,之前先將搶答時間或回答時間給r6mov b,#0ahdiv ab;除十分出個位/十位mov 30h,a;十位存于(30h)mov 31h,b;個位存于(31h)mov r5,30h;取十位mov r4,31h;取個位mov a,r6subb a,#07hjnc larger;大于5s跳到larger,小于等于5s會提醒mov a,r0cjne a,#0ah,full;1s中0.5s向下運行clr
35、ring ajmp checkfull: cjne a,#14h,check;下面是1s的情況,響并顯示號數(shù)并清r0,重新計setb ringmov a,r6jz quit;計時完畢mov r0,#00hdec r6;一秒標(biāo)志減1ajmp checklarger: mov a,r0cjne a,#14h,check;如果1s向下運行,否者跳到查停/顯示dec r6;計時一秒r6自動減1mov r0,#00hcheck: jnb p3.1,quit;如按下停止鍵退出jnb ok,checkk ;只在回答倒計時才有效ajmp nexttcheckk:jnb p3.0,repeat ;判斷是否使用錦
36、囊nextt: acall displayjb ok,accout;如果是搶答倒計時,如是則查詢搶答,否者跳過查詢繼續(xù)倒數(shù)(這里起到鎖搶答作用)ajmp recountaccout:mov a,36hjnb acc.0,true1jnb acc.1,true2jnb acc.2,true3jnb acc.3,true4jnb acc.4,true5jnb acc.5,true6jnb acc.6,tz1jnb acc.7,tz2ajmp recounttz1:jmp true7tz2:jmp true8 quit: clr ok;如果按下了停止鍵執(zhí)行的程序clr ringajmp start;
37、=正常搶答處理程序=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,amov r3,#04hclr okajmp counttrue5:acall bark mov
38、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 count;=犯規(guī)搶答程序=error: mov r0,#00hmov th1,#3chmov tl1,#0b0hmov 34h,r3;犯規(guī)號數(shù)暫存與(34h)here:
39、 mov a,r0cjne a,#06h,flash;0.3s向下運行-滅并停響clr ring mov r3,#0ahmov r4,#0ahmov r5,#0ah;三燈全滅ajmp check1flash: cjne a,#0ch,check1;下面是0.8s的情況,響并顯示號數(shù)并清r0,重新計setb ringmov r0,#00hmov r3,34h;取回號數(shù)mov r5,#0bhmov r4,#0bh;顯示ff和號數(shù)ajmp check1check1: jnb p3.1,quit1acall displayajmp herequit1: clr ringclr okajmp start;=顯示程序=display:mov dptr,#dat1;查表顯示程序,利用p0口做段選碼口輸出/p2低三位做位選碼輸出,mov a,r3movc a,a+dptrmov p2,#0fehmov p0,aacall dela
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 職工社保繳費協(xié)議書
- 股份分紅合同協(xié)議書
- 時尚買手店合作經(jīng)營協(xié)議
- 短期記憶的應(yīng)對法 2024年高級審計師考試試題及答案
- 2025年室內(nèi)設(shè)計裝修工程合同
- 消防安全隱患的識別試題及答案
- 考場的心理準(zhǔn)備及試題答案總結(jié)初級護師考試
- 高級會計報告撰寫技巧試題及答案
- 富平縣三年級試卷及答案
- 福建三年級奧數(shù)試卷及答案
- 人人講安全個個會應(yīng)急全國防災(zāi)減災(zāi)日主題宣教課件
- 叉車介紹課件
- 2024年Adobe設(shè)計師考試網(wǎng)頁設(shè)計重要性試題及答案
- 《激光切割技術(shù)》課件
- 2025屆深圳市高三二模英語試題(含答案)
- 2025年有限空間作業(yè)安全防護措施測試題庫試題
- 北京市昌平區(qū)2023-2024學(xué)年六年級下學(xué)期語文期末畢業(yè)考試試卷(含答案)
- GB/T 20014.28-2025良好農(nóng)業(yè)規(guī)范第28部分:棉花控制點與符合性規(guī)范
- 2025年福建省福州市電子信息集團有限公司招聘筆試參考題庫含答案解析
- 運輸公司2024年防汛工作方案
- 公衛(wèi)重精培訓(xùn)試題及答案
評論
0/150
提交評論