六路搶答器設(shè)計(jì)單片機(jī)_第1頁
六路搶答器設(shè)計(jì)單片機(jī)_第2頁
六路搶答器設(shè)計(jì)單片機(jī)_第3頁
六路搶答器設(shè)計(jì)單片機(jī)_第4頁
六路搶答器設(shè)計(jì)單片機(jī)_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

搶答器課程設(shè)計(jì)原文一、設(shè)計(jì)要求及目的(1)設(shè)計(jì)一個(gè)可供6人進(jìn)行的搶答器。(2)系統(tǒng)設(shè)置復(fù)位按鈕,按動(dòng)后,重新開始搶答。(3)搶答器開始時(shí)數(shù)碼管顯示序號0,選手搶答實(shí)行優(yōu)先鎖存,優(yōu)先搶答選手的編號一直保持到主持人將系統(tǒng)清除為止。搶答后顯示優(yōu)先搶答者序號,同時(shí)發(fā)出音響。,并且不出現(xiàn)其他搶答者的序號。(4)搶答器具有定時(shí)搶答功能,且一次搶答的時(shí)間有主持人設(shè)定,本搶答器的時(shí)間設(shè)定為60秒,當(dāng)主持人啟動(dòng)“開始”開關(guān)后,定時(shí)器開始減計(jì)時(shí),同時(shí)音樂盒有短暫的聲響。(5)設(shè)定的搶答時(shí)間內(nèi),選手可以搶答,這時(shí)定時(shí)器停止工作,顯示器上顯示選手的號碼和搶答時(shí)間。并保持到主持人按復(fù)位鍵。(6)當(dāng)設(shè)定的時(shí)間到,而無人搶答時(shí),本次搶答無效,揚(yáng)聲器報(bào)警發(fā)出聲音,并禁止搶答。定時(shí)器上顯示00。二、設(shè)計(jì)電路方框圖:......三、電路組成本搶答器的電路主要有四部分組成:數(shù)字搶答電路、時(shí)序控制電路、報(bào)警電路以及可預(yù)置時(shí)間的定時(shí)電路。其中數(shù)字搶答部分有一個(gè)CD4511譯碼器和LED數(shù)碼管顯示器組成,可以將六位搶答者的按鈕通過CD4511譯碼驅(qū)動(dòng)LED數(shù)碼管顯示器顯示出他們最先搶答者的序號。而時(shí)序控制電路的功能是當(dāng)參賽選手按動(dòng)搶答器時(shí),使揚(yáng)聲器發(fā)聲,這時(shí)搶答電路和定時(shí)電路停止工作。而且設(shè)定的時(shí)間60秒到達(dá)后若無人搶答,則報(bào)警電路工作。報(bào)警電路工作的條件是當(dāng)設(shè)定時(shí)間到達(dá)后或者有人搶答時(shí),報(bào)警電路被輸入一個(gè)高電平,這時(shí)此電路工作??深A(yù)置時(shí)間的定時(shí)電路是靠74LS121工作的。以下是搶答電路的組成以及各部分功能(1)搶答電路1.電路組成電路如下圖3.1所示,該電路完成兩個(gè)功能:一是分辨出選手按鍵的先后,并鎖存優(yōu)先搶答者的編號,同時(shí)譯碼顯示電路顯示編號;二是禁止其他選手按鍵操作無效。......目錄目錄:第一部分:設(shè)計(jì)的要求及目的第二部分:系統(tǒng)方框圖第三部分:電路組成及各部分選定方案、功能及計(jì)算(1)搶答電路:1、搶答電路功能2、方案選定(2)報(bào)警電路(3)定時(shí)電路1、電路功能介紹2、電路選定方案分析及計(jì)算(4)時(shí)序控制電路1、電路組成分析2、電路功能第四部分:器件說明第五部分:參考文獻(xiàn)第六部分:設(shè)計(jì)總結(jié)第六部分:總體電路圖(用PROTEL99制作)參考資料康華光《電子技術(shù)基礎(chǔ)—數(shù)字部分》高等教育出版社董子舟、段輝娟《電子技術(shù)》機(jī)械工業(yè)出版社2002年,第7期《電子報(bào)》類別:電子制作2002年,第50期《電子報(bào)》類別:電子產(chǎn)品與器件張惠敏、肖耀南《數(shù)字電子技術(shù)》化學(xué)工業(yè)出版社江國強(qiáng)《現(xiàn)代數(shù)字邏輯電路》電子工業(yè)出版社簡單介紹本搶答器的電路主要有四部分組成:數(shù)字搶答電路、時(shí)序控制電路、報(bào)警電路以及可預(yù)置時(shí)間的定時(shí)電路。其中數(shù)字搶答部分有一個(gè)CD4511譯碼器和LED數(shù)碼管顯示器組成,可以將六位搶答者的按鈕通過CD4511譯碼驅(qū)動(dòng)LED數(shù)碼管顯示器顯示出他們最先搶答者的序號。而時(shí)序控制電路的功能是當(dāng)參賽選手按動(dòng)搶答器時(shí),使揚(yáng)聲器發(fā)聲,這時(shí)搶答電路和定時(shí)電路停止工作。而且設(shè)定的時(shí)間60秒到達(dá)后若無人搶答,則報(bào)警電路工作。報(bào)警電路工作的條件是當(dāng)設(shè)定時(shí)間到達(dá)后或者有人搶答時(shí),報(bào)警電路被輸入一個(gè)高電平,這時(shí)此電路工作。可預(yù)置時(shí)間的定時(shí)電路是通過74LS121實(shí)現(xiàn)的。八位數(shù)字搶答器(含電路圖)題目:(數(shù)字電路課程設(shè)計(jì))八位數(shù)字搶答器尺寸:課件目錄:緒論原理分析與電路設(shè)計(jì)一、設(shè)計(jì)內(nèi)容與要求:1)設(shè)計(jì)內(nèi)容2)學(xué)習(xí)要求3)設(shè)計(jì)要求二、元器件的功能和作用-------集成電路定時(shí)器555及其基本應(yīng)用三、設(shè)計(jì)原理與參考電路1)數(shù)字搶答器總體方框圖2)電路及其電路圖四、整機(jī)電路設(shè)計(jì)五、實(shí)驗(yàn)調(diào)試六、電路的檢測方法參考文獻(xiàn)原文:原理分析與電路設(shè)計(jì)一、設(shè)計(jì)內(nèi)容與要求1)設(shè)計(jì)內(nèi)容:1,利用各種器件設(shè)計(jì)一個(gè)多路智力競賽搶答器。2,利用電路板對所設(shè)計(jì)的電路進(jìn)行檢驗(yàn)。3,總結(jié)檢驗(yàn)電路設(shè)計(jì)結(jié)果2)學(xué)習(xí)要求:1,復(fù)習(xí)編碼器、十進(jìn)制加/減計(jì)數(shù)器的工作原理,設(shè)計(jì)可預(yù)置時(shí)間的定時(shí)電路分析與設(shè)計(jì)時(shí)序控制電路。畫出定時(shí)搶答器的整機(jī)邏輯電路圖,掌握智力搶答器的工作原理及其設(shè)計(jì)方法,并對各種元器件的功能和應(yīng)用有所了解。并能對其在電路中的作用進(jìn)行分析。例如:555定時(shí)器,優(yōu)先編碼器74ls148和rs鎖存器74ls279以及十進(jìn)制同步加/減計(jì)數(shù)器74ls192。另外對電路圖要學(xué)會分析。了解電路設(shè)計(jì)流程的原理圖。每個(gè)電路的設(shè)計(jì)都要有完整的設(shè)計(jì)流程。這樣才能在分析電路是有良好的思路,便于查找出錯(cuò)的原因。3)設(shè)計(jì)要求1.搶答器同時(shí)供8名選手或8個(gè)代表隊(duì)比賽,分別用8個(gè)按鈕S0~S7表示。2.設(shè)置一個(gè)系統(tǒng)清除和搶答控制開關(guān)S,該開關(guān)由主持人控制。3.搶答器具有鎖存與顯示功能。即選手按動(dòng)按鈕,鎖存相應(yīng)的編號,并在優(yōu)先搶答選手的編號一直保持到主持人將系統(tǒng)清除為止。4.搶答器具有定時(shí)搶答功能,且一次搶答的時(shí)間由主持人設(shè)定(如30秒)。當(dāng)主持人啟動(dòng)"開始"鍵后,定時(shí)器進(jìn)行減計(jì)時(shí),同時(shí)揚(yáng)聲器發(fā)出短暫的聲響,聲響持續(xù)的時(shí)間0.5秒左右。5.參賽選手在設(shè)定的時(shí)間內(nèi)進(jìn)行搶答,搶答有效,定時(shí)器停止工作,顯示器上顯示選手的編號和搶答的時(shí)間,并保持到主持人將系統(tǒng)清除為止。6.如果定時(shí)時(shí)間已到,無人搶答,本次搶答無效,系統(tǒng)報(bào)警并禁止搶答,定時(shí)顯示器上顯示00。目錄第1章六路搶答器設(shè)計(jì)功能要求………………1第2章?lián)尨鹌鞣桨刚撟C…………3第3章系統(tǒng)硬件電路設(shè)計(jì)………4系統(tǒng)原理圖……………………4時(shí)鐘頻率電路的設(shè)計(jì)……………5復(fù)位電路的設(shè)計(jì)…………………6顯示電路的設(shè)計(jì)…………………7鍵盤掃描電路的設(shè)計(jì)……………7發(fā)聲………………8系統(tǒng)復(fù)位…………8第4章系統(tǒng)軟件設(shè)計(jì)………………9主程序系統(tǒng)結(jié)構(gòu)圖………………9程序流程圖………10系統(tǒng)程序…………11第5章調(diào)試及性能分析……………19第6章課程設(shè)計(jì)小結(jié)………………20參考文獻(xiàn)……………21第1章六路搶答器設(shè)計(jì)功能要求單片機(jī)把我們帶入了智能化的電子領(lǐng)域,許多繁瑣的系統(tǒng)若由單片機(jī)進(jìn)行設(shè)計(jì),便能收到電路更簡單、功能更齊全的良好效果。若把經(jīng)典的電子系統(tǒng)當(dāng)作一個(gè)僵死的電子系統(tǒng),那么智能化的現(xiàn)代電子系統(tǒng)則是一個(gè)具有“生命”的電子系統(tǒng)。

而隨著技術(shù)的進(jìn)步,單片機(jī)與串口通信的結(jié)合更多地應(yīng)用到各個(gè)電子系統(tǒng)中已成一種趨勢。本設(shè)計(jì)就是基于單片機(jī)設(shè)計(jì)搶答系統(tǒng),通過串口通信動(dòng)態(tài)傳輸數(shù)據(jù),使搶答系統(tǒng)有了更多更完善的功能。單片機(jī)系統(tǒng)的硬件結(jié)構(gòu)給予了搶答系統(tǒng)“身軀”,而單片機(jī)的應(yīng)用程序賦予了其新的“生命”,使其在傳統(tǒng)的搶答器面前具有電路簡單、成本低、運(yùn)行可靠等特色。對于搶答器我們大家都知道那是用于選手做搶答題時(shí)用的,選手進(jìn)行搶答,搶到題的選手來回答問題。搶答器不僅考驗(yàn)選手的反應(yīng)速度同時(shí)也要求選手具備足夠的知識面和一定的勇氣。選手們都站在同一個(gè)起跑線上,體現(xiàn)了公平公正的原則。1.1數(shù)字搶答器的概述對于搶答器我們大家都知道那是用于選手做搶答題時(shí)用的,選手進(jìn)行搶答,搶到題的選手來回答問題。搶答器不僅考驗(yàn)選手的反應(yīng)速度同時(shí)也要求選手具備足夠的知識面和一定的勇氣。選手們都站在同一個(gè)起跑線上,體現(xiàn)了公平公正的原則。本實(shí)驗(yàn)設(shè)計(jì)的數(shù)字搶答器由主體電路與擴(kuò)展電路組成。優(yōu)先編碼電路、鎖存器、譯碼電路將參賽隊(duì)的輸入信號在顯示器上輸出;用控制電路和主持人開關(guān)啟動(dòng)報(bào)警電路,以上兩部分組成主體電路。通過定時(shí)電路和譯碼電路將秒脈沖產(chǎn)生的信號在顯示器上輸出實(shí)現(xiàn)計(jì)時(shí)功能,構(gòu)成擴(kuò)展電路。經(jīng)過布線、焊接、調(diào)試等工作后數(shù)字搶答器成形。更具有實(shí)用性。1.2設(shè)計(jì)任務(wù)與要求任務(wù):設(shè)計(jì)一款數(shù)字搶答器1、基本要求(1)搶答器同時(shí)供6名選手或6個(gè)代表隊(duì)比賽,分別用6個(gè)按鈕S0~S5表示。(2)設(shè)置一個(gè)系統(tǒng)清除和搶答控制開關(guān)S,該開關(guān)由主持人控制。(3)搶答器具有鎖存與顯示功能。即選手按動(dòng)按鈕,鎖存相應(yīng)的編號,并在LED數(shù)碼管上顯示,同時(shí)揚(yáng)聲器發(fā)出報(bào)警聲響提示。選手搶答實(shí)行優(yōu)先鎖存,優(yōu)先搶答選手的編號一直保持到主持人將系統(tǒng)清除為止。(4)搶答器具有定時(shí)搶答功能,且一次搶答的時(shí)間由主持人設(shè)定(如30秒)。當(dāng)主持人啟動(dòng)"開始"鍵后,定時(shí)器進(jìn)行減計(jì)時(shí),同時(shí)揚(yáng)聲器發(fā)出短暫的聲響,聲響持續(xù)的時(shí)間0.5秒左右。(5)參賽選手在設(shè)定的時(shí)間內(nèi)進(jìn)行搶答,搶答有效,定時(shí)器停止工作,顯示器上顯示選手的編號和搶答的時(shí)間,并保持到主持人將系統(tǒng)清除為止。(6)如果定時(shí)時(shí)間已到,無人搶答,本次搶答無效,系統(tǒng)報(bào)警并禁止搶答,定時(shí)顯示器上顯示00優(yōu)點(diǎn):與普通搶答器相比,本作品有以下幾方面優(yōu)勢:1、具有清零裝置和搶答控制,可由主持人操縱避免有人在主持人說“開始”前提前搶答違反規(guī)則。2、具有定時(shí)功能,在30秒內(nèi)無人搶答表示所有參賽選手獲參賽隊(duì)對本題棄權(quán)。3、30秒時(shí)仍無人搶答其報(bào)警電路工作表示搶答時(shí)間耗盡并禁止搶答。1.3系統(tǒng)主要功能搶答器原理:該搶答器供不多于四個(gè)的搶答比賽使用。每個(gè)選手的座位前安裝一只搶答按鈕開關(guān)和一只信號燈。主持人的座位前安裝一只復(fù)原按鈕開關(guān)、一只蜂鳴器和一只搶答器工作狀態(tài)指示燈。每當(dāng)主持人口頭發(fā)出允許搶答的號令之后,哪個(gè)隊(duì)先按下座位上的按鈕開關(guān),該座位的信號燈就先被點(diǎn)亮,同時(shí)封鎖其他按鈕開關(guān)的活動(dòng)。并且熄滅主持人座位上的狀態(tài)指示燈和發(fā)出3聲類似于電話振鈴的提示聲,以“聲明”此次搶答動(dòng)作已經(jīng)完成。在主持人確認(rèn)后,按下復(fù)原按鈕,狀態(tài)指示燈重新點(diǎn)亮,并且同時(shí)發(fā)出“笛——笛——”聲,為下一次的搶答作好準(zhǔn)備。電路中的蜂鳴器FM是一只帶有助音腔的壓電陶瓷蜂鳴器,用于模擬發(fā)出報(bào)警聲的功率放大器和喇叭。在FM發(fā)聲的同時(shí),燈D6也在發(fā)光。FM可以看作是一個(gè)電容性負(fù)載,本身不能流過直流電流。發(fā)聲的原理是,作用在兩個(gè)電極極板的電位在發(fā)生變化時(shí),陶瓷材料就發(fā)生彎曲,從而振動(dòng)空氣發(fā)出聲音。FM和4只按鈕開關(guān)SWa~SWd以及4只電阻Ra~Rd都是在演示板的基礎(chǔ)上額外添加的。由于RB端口內(nèi)部具有上拉電阻,只要用軟件設(shè)置其有效,即可省略在4只端口引腳上外接上拉電阻。按鈕開關(guān)和指示燈與座位的對應(yīng)關(guān)系如表3所示。按鈕開關(guān)和指示燈與座位的對應(yīng)關(guān)系座位主持人席座位1座位2座位3座位4座位5座位6按鈕開關(guān)SW1SWaSWbSWcSWdSWeSWf指示燈D7D0D1D2D3D4D5蜂鳴器有無無無無無無第2章方案論證搶答器同時(shí)供6名選手或6個(gè)代表隊(duì)比賽,分別用6個(gè)按鈕S0~S5表示。設(shè)置一個(gè)系統(tǒng)清除和搶答控制開關(guān)S,該開關(guān)由主持人控制。搶答器具有鎖存與顯示功能。即選手按動(dòng)按鈕,鎖存相應(yīng)的編號,并在LED數(shù)碼管上顯示,同時(shí)揚(yáng)聲器發(fā)出報(bào)警聲響提示。選手搶答實(shí)行優(yōu)先鎖存,優(yōu)先搶答選手的編號一直保持到主持人將系統(tǒng)清除為止。搶答器具有定時(shí)搶答功能,且一次搶答的時(shí)間由主持人設(shè)定(如30秒)。當(dāng)主持人啟動(dòng)"開始"鍵后,定時(shí)器進(jìn)行減計(jì)時(shí),同時(shí)揚(yáng)聲器發(fā)出短暫的聲響,聲響持續(xù)的時(shí)間0.5秒左右。參賽選手在設(shè)定的時(shí)間內(nèi)進(jìn)行搶答,搶答有效,定時(shí)器停止工作,顯示器上顯示選手的編號和搶答的時(shí)間,并保持到主持人將系統(tǒng)清除為止。如果定時(shí)時(shí)間已到,無人搶答,本次搶答無效,系統(tǒng)報(bào)警并禁止搶答,定時(shí)顯示器上顯示00(6)6路搶答器可以利用硬件電子元器件實(shí)現(xiàn),但電路結(jié)構(gòu)復(fù)雜,調(diào)試?yán)щy,涉及到的外圍元件多,不便于安裝,實(shí)驗(yàn)給實(shí)際操作帶來很大的麻煩。(7)我們利用單片機(jī)可以用很少元件實(shí)現(xiàn)相同功能,而且單片機(jī)性能穩(wěn)定,可操作性強(qiáng)??梢灾挥肞0口連接上拉電阻,完成驅(qū)動(dòng)LED的功能,串接按鍵可以由選手自己控制搶答機(jī)會,利用P3口的RXD接74LS164的A,B端,TXD接移位脈沖做時(shí)鐘信號。利用單片機(jī)程序判斷選手按鍵是否有效,但選手違規(guī)搶答,利用簡單程序顯示選手序號,啟動(dòng)蜂鳴器并不間斷,告訴主持人有人違規(guī)操作,搶答無效。給出相應(yīng)的延時(shí),選手按正常的操作搶答,軟件倒記時(shí),利用74LS164移位寄存8段數(shù)碼管,實(shí)現(xiàn)倒記時(shí)顯示時(shí)間,到5秒相應(yīng)時(shí)間提醒選手時(shí)間快到了,要及時(shí)作答,并啟動(dòng)蜂鳴器。如果有選手在規(guī)定的時(shí)間以前完成問題,主持人通過按鍵P2.4復(fù)位,開始新的問題作答,因?yàn)槌绦虿皇呛艽蟛恍枰獢U(kuò)展存儲空間,選手按鍵跳入相應(yīng)的子程序,回答倒記時(shí),通過單片機(jī)實(shí)現(xiàn)功能可以更人性化,只需單電源供電更方便,容易實(shí)現(xiàn)。電路結(jié)構(gòu)簡單,外圍擴(kuò)展的電路不是很多,鍛煉我們所學(xué)的知識應(yīng)用到現(xiàn)實(shí)生活當(dāng)中。為我們提供實(shí)踐的機(jī)會。單片機(jī)是電子專業(yè)發(fā)展的方向,更好的使用單片機(jī)可以是我們的產(chǎn)品小型化,使用更方便,性能更穩(wěn)定,功能更齊全,所以我們選用單片機(jī)加一定的外圍設(shè)備實(shí)現(xiàn)本次課程設(shè)計(jì)的要求。系統(tǒng)硬件設(shè)計(jì)為使硬件電路設(shè)計(jì)盡可能合理,應(yīng)注意以下幾方面:(1)盡可能采用功能強(qiáng)的芯片,以簡化電路,功能強(qiáng)的芯片可以代替若干普通芯片,隨著生產(chǎn)工藝的提高,新型芯片的的價(jià)格不斷下降,并不一定比若干普通芯片價(jià)格的總和高。(2)留有設(shè)計(jì)余地。在設(shè)計(jì)硬件電路時(shí),要考慮到將來修改擴(kuò)展的方便。因?yàn)楹苌儆幸诲N定音的電路設(shè)計(jì),如果現(xiàn)在不留余地,將來可能要為一點(diǎn)小小的修改或擴(kuò)展而被迫進(jìn)行全面返工。(3)程序空間,選用片內(nèi)程序空間足夠大的單片機(jī),本設(shè)計(jì)采用AT89C51單片機(jī)。(4)I/O端口,在樣機(jī)研制出來后進(jìn)行現(xiàn)場試用時(shí),往往會發(fā)現(xiàn)一些被忽視的問題,而這些問題不是靠單純的軟件措施來解決的。如有些新的信號需要采集,就必須增加輸入檢測端;有些物理量需要控制,就必須增加輸出端。如果在硬件電路設(shè)計(jì)就預(yù)留出一些I/O端口,雖然當(dāng)時(shí)空著沒用,那么用的時(shí)候就派上用場了。3.1總體原理圖如圖2-1,P1.0為開始搶答,P1.7為停止,P1.1-P1.6為六路搶答輸入,數(shù)碼管段選P0口,位選P2口低3位,蜂鳴器輸出為P3.6口。P3.2為時(shí)間加1調(diào)整,P3.3為時(shí)間減1調(diào)整。圖2-1系統(tǒng)原理圖時(shí)鐘頻率電路的設(shè)計(jì)單片機(jī)必須在時(shí)鐘的驅(qū)動(dòng)下才能工作.在單片機(jī)內(nèi)部有一個(gè)時(shí)鐘振蕩電路,只需要外接一個(gè)振蕩源就能產(chǎn)生一定的時(shí)鐘信號送到單片機(jī)內(nèi)部的各個(gè)單元,決定單片機(jī)的工作速度。圖2-2外部振蕩源電路一般選用石英晶體振蕩器。此電路在加電大約延遲10ms后振蕩器起振,在XTAL2引腳產(chǎn)生幅度為3V左右的正弦波時(shí)鐘信號,其振蕩頻率主要由石英晶振的頻率確定。電路中兩個(gè)電容C1,C2的作用有兩個(gè):一是幫助振蕩器起振;二是對振蕩器的頻率進(jìn)行微調(diào)。C1,C2的典型值為30PF。單片機(jī)在工作時(shí),由內(nèi)部振蕩器產(chǎn)生或由外直接輸入的送至內(nèi)部控制邏輯單元的時(shí)鐘信號的周期稱為時(shí)鐘周期。其大小是時(shí)鐘信號頻率的倒數(shù),常用fosc表示。如時(shí)鐘頻率為12MHz,即fosc=12MHz,則時(shí)鐘周期為1/12μs。復(fù)位電路的設(shè)計(jì)單片機(jī)的第9腳RST為硬件復(fù)位端,只要將該端持續(xù)4個(gè)機(jī)器周期的高電平即可實(shí)現(xiàn)復(fù)位,復(fù)位后單片機(jī)的各狀態(tài)都恢復(fù)到初始化狀態(tài),其電路圖如圖4所示:圖2-3復(fù)位電路值得注意的是,在設(shè)計(jì)當(dāng)中使用到了硬件復(fù)位和軟件復(fù)位兩種功能,由上面的硬件復(fù)位后的各狀態(tài)可知寄存器及存儲器的值都恢復(fù)到了初始值,而前面的功能介紹中提到了倒計(jì)時(shí)時(shí)間的記憶功能,該功能的實(shí)現(xiàn)的前提條件就是不能對單片機(jī)進(jìn)行硬件復(fù)位,所以設(shè)定了軟復(fù)位功能。軟復(fù)位實(shí)際上就是當(dāng)程序執(zhí)行完畢之后,將程序指針通過一條跳轉(zhuǎn)指令讓它跳轉(zhuǎn)到程序執(zhí)行的起始地址。顯示電路的設(shè)計(jì)顯示功能與硬件關(guān)系極大,當(dāng)硬件固定后,如何在不引起操作者誤解的前提下提供盡可能豐富的信息,全靠軟件來解決。鍵盤掃描電路的設(shè)計(jì)鍵盤是人與微機(jī)系統(tǒng)打交道的主要設(shè)備。關(guān)于鍵盤硬件電路的設(shè)計(jì)方法也可以在文獻(xiàn)和書籍中找到,配合各種不同的硬件電路,這些書籍中一般也提供了相應(yīng)的鍵盤掃描程序。站在系統(tǒng)監(jiān)控軟件設(shè)計(jì)的立場上來看,僅僅完成鍵盤掃描,讀取當(dāng)前時(shí)刻的鍵盤狀態(tài)是不夠的,還有不少問題需要妥善解決,否則,人們在操作鍵盤就容易引起誤操作和操作失控現(xiàn)象。在單片機(jī)應(yīng)用中鍵盤用得最多的形式是獨(dú)立鍵盤及矩陣鍵盤。圖2-4獨(dú)立鍵盤它們各有自己的特點(diǎn),其中獨(dú)立鍵盤硬件電路簡單,而且在程序設(shè)計(jì)上也不復(fù)雜,一般用在對硬件電路要求不高的簡單電路中;矩陣鍵盤與獨(dú)立鍵盤有很大區(qū)別,首先在硬件電路上它要比獨(dú)立鍵盤復(fù)雜得多,而且在程序算法上比它要煩瑣,但它在節(jié)省端口資源上有優(yōu)勢得多,因此它更適合于多按鍵電路。其次就是消除在按鍵過程中產(chǎn)生的“毛刺”現(xiàn)象。這里采用最常用的方法,即延時(shí)重復(fù)掃描法,延時(shí)法的原理為:因?yàn)椤懊獭泵}沖一般持續(xù)時(shí)間短,約為幾ms,而我們按鍵的時(shí)間一般遠(yuǎn)遠(yuǎn)大于這個(gè)時(shí)間,所以當(dāng)單片機(jī)檢測到有按鍵動(dòng)靜后再延時(shí)一段時(shí)間(這里我們?nèi)?0ms)后再判斷此電平是否保持原狀態(tài),如果是則為有效按鍵,否則無效。發(fā)聲我們知道,聲音的頻譜范圍約在幾十到幾千赫茲,若能利用程序來控制單片機(jī)某個(gè)口線的“高”電平或低電平,則在該口線上就能產(chǎn)生一定頻率的矩形波,接上喇叭就能發(fā)出一定頻率的聲音,若再利用延時(shí)程序控制“高”“低”電平的持續(xù)時(shí)間,就能改變輸出頻率,從而改變音調(diào),使喇叭發(fā)出不同的聲音。系統(tǒng)復(fù)位使CPU進(jìn)入初始狀態(tài),從0000H地址開始執(zhí)行程序的過程叫系統(tǒng)復(fù)位。從實(shí)現(xiàn)系統(tǒng)復(fù)位的方法來看,系統(tǒng)復(fù)位可分為硬件復(fù)位和軟件復(fù)位。硬件復(fù)位必須通過CPU外部的硬件電路給CPU的RESET端加上足夠時(shí)間的高電位才能實(shí)現(xiàn)。上電復(fù)位,人工按鈕復(fù)位和硬件看門狗復(fù)位均為硬件復(fù)位。硬件復(fù)位后,各專用寄存器的狀態(tài)均被初始化,且對片內(nèi)通用寄存器的內(nèi)容沒有影響。但是,硬件復(fù)位還能自動(dòng)清除中斷激活標(biāo)志,使中斷系統(tǒng)能夠正常工作,這樣一個(gè)事實(shí)卻容易為不少編碼人員所忽視。軟件復(fù)位就是用一系列指令來模擬硬件復(fù)位功能,最后通過轉(zhuǎn)移指令使程序從0000H地址開始執(zhí)行。對各專用寄存器的復(fù)位操作是容易的,也沒有必要完全模擬,可根據(jù)實(shí)際需要去主程序初始化過程中完成。而對中斷激活標(biāo)志的清除工作常被遺忘,因?yàn)樗鼪]有明確的位地址可供編程。有的編程人員用020000(LJMP0000H)作為軟件陷阱,認(rèn)為直接轉(zhuǎn)向0000H地址就完成了軟件復(fù)位,就是這類錯(cuò)誤的典型代表。軟件復(fù)位是使用軟件陷阱和軟件看門狗后必須進(jìn)行的工作,這時(shí)程序出錯(cuò)完全有可能發(fā)生在中斷子程序中,中斷激活標(biāo)志已置位,它將阻止同級中斷響應(yīng)。由于軟件看門是高級中斷,它將阻止說要中斷響應(yīng),由此可見清除中斷激活標(biāo)志的重要性。在所有的指令中,只有RETI指令能夠清除中斷激活標(biāo)志。前文各處提案到的出錯(cuò)處理程序ERR主要完成這一功能,其他的善后工作交由復(fù)位后的系統(tǒng)去完成。這部分程序如下:POWERDATA67H;上電標(biāo)志存放單元ERR:CLREA;關(guān)中斷MOVDPTR,#ERR1;準(zhǔn)備返回地址PUSHDPLPUSHDPHRETI;清除高級中斷激活標(biāo)志ERR1:MOOVPPOWER,,#0AAHH;重建上電電標(biāo)志CLLRA;準(zhǔn)備復(fù)位位地址PUUSHACC;壓入復(fù)位位地址0000HHPUSHACCRETI;清除低級級中斷激活標(biāo)標(biāo)志,從程序序0000H開始執(zhí)行。這段程序先關(guān)中斷斷,以便后續(xù)續(xù)處理能順利利進(jìn)行,然后后用兩個(gè)RETI指令代替兩兩個(gè)LJMP指令,從而而清除了兩級級中斷激活標(biāo)標(biāo)志。有相應(yīng)應(yīng)軟件陷阱捕捕捉來的程序序可能沒有全全部激活兩個(gè)個(gè)標(biāo)志,這也也無妨。系統(tǒng)軟件設(shè)計(jì)軟件任務(wù)分析和硬硬件電路設(shè)計(jì)計(jì)結(jié)合進(jìn)行,哪哪些功能由硬硬件完成,哪哪些任務(wù)由軟軟件完成,在在硬件電路設(shè)設(shè)計(jì)基本定型型后,也就基基本上決定下下來了。4.1主程序系系統(tǒng)結(jié)構(gòu)圖圖2-5軟件系統(tǒng)統(tǒng)結(jié)構(gòu)圖4.2程序流流程圖在本設(shè)計(jì)中包括了了以下八個(gè)主主要的程序::主程序;非非法搶答序;;搶答時(shí)間調(diào)調(diào)整程序;回回答時(shí)間調(diào)整整程序;倒計(jì)計(jì)時(shí)程序;正正常搶答處理理程序;犯規(guī)規(guī)處理程序;;顯示及發(fā)聲聲程序。主流流程圖如2-6所示:圖2-6程序設(shè)計(jì)計(jì)流程圖系統(tǒng)程序P1.0為開始搶搶答,P1.7為停止,p1.1--p1.6為六路搶答答輸入數(shù)碼管段選P0口,位選P2口,蜂鳴器器輸出為P3.6口。OKEQU220H;搶答開始標(biāo)標(biāo)志位RINNGEQUU22H;;響鈴標(biāo)志位位ORG00000HAJMPMAIINORG00033HAJMPINTT0SUBORG000BBHAJMPT0IINTORG00133HAJMPINTT1SUBORG0011BHAJMPT1IINTORG00400HMAIN:MMOVR11,#0FHH;初設(shè)搶答時(shí)時(shí)間為15sMOVRR2,#0AAH;初設(shè)答題時(shí)時(shí)間為10sMOVTTMOD,##11H;設(shè)置未定時(shí)時(shí)器/模式1MOVTTH0,#00F0HMOVTTL0,#00FFH;越高發(fā)聲頻頻率越高,越尖MOVTTH1,#33CHMOVTTL1,#00B0H;550ms為一次溢出出中斷SETBEASETBET0SETBET1SETBEX0SETBEX1;允許四個(gè)中中斷,T0/TT1/INTT0/INTT1CLROOKCLRRRINGSETBTR1SETBTR0;一開始就運(yùn)運(yùn)行定時(shí)器,以開始顯示FFF.如果想重新新計(jì)數(shù),重置TH1/TTL1就可以了查詢程序:START:MOVR5,#00BHMOVR4,#00BHMOVR3,#00BHACALLDIISPLAYY;未開始搶答答時(shí)候顯示FFFJBPP1.0,NNEXTACALLLDELLAYJBPP1.0,NNEXT;去抖動(dòng),如果"開始鍵"按下就向下下執(zhí)行,否者跳到非非法搶答查詢詢ACALLLBARRK;按鍵發(fā)聲MOVA,R1MOVR6,AA;送R1->RR6,因?yàn)镽1中保存了搶搶答時(shí)間SETBOK;;搶答標(biāo)志位,用于COUNT只程序中判判斷是否查詢詢搶答MOVR3,00AH;搶答只顯示示計(jì)時(shí),滅號數(shù)AJMPCOUUNT;進(jìn)入倒計(jì)時(shí)時(shí)程序,"查詢有效搶搶答的程序"在COUNT里面NEXT:JNBPP1.1,FFALSE11JNBP1.22,FALSSE2JNBP1.33,FALSSE3JNBP1.44,FALSSE4JNBP1.55,FALSSE5JNBP1.66,FALSSE6AJMPSTAART非法搶答處理程序序:FALSE1:ACALLLBARKK;按鍵發(fā)聲MOVRR3,#011HAJMPERRORRFALSE2:ACALLLBARKKMOVRR3,#022HAJMPERRORRFALSE3:ACALLLBARKKMOVRR3,#033HAJMPERRORRFALSE4:ACALLLBARKKMOVRR3,#044HAJMPERRORRFALSE5:ACALLLBARKKMOVRR3,#055HAJMPERRORRFALSE6:ACALLLBARKKMOVRR3,#066HAJMPERRORRINT0(搶答時(shí)時(shí)間R1調(diào)整程序):INT0SUBB:MOVA,R1MOVBB,#0AHHDIVABMOVR5,AAMOVR4,,BMOVR3,##0AHACALLDIISPLAYY;先在兩個(gè)個(gè)時(shí)間LED上顯示R1JNBP3..2,INCC0;P3..2為+1s鍵,如按下跳到INCOJNBP3.33,DEC00;P3.33為-1s鍵,如按下跳到DECOJNBP1.77,BACKK0;P1..7為確定鍵,如按下跳到BACKOOAJMPINTT0SUBINC0:MOVAA,R1CCJNEAA,#63HH,ADD00;如果不是99,R2加1,如果加到99了,R1就置0,重新加起起MOVRR1,#000HACALLLDELAAY1AJMPINT0SSUBADD0:INCRR1ACALLLDELAAY1AJMPINT0SSUBDEC0:MOVAA,R1JZSEETR1;如果R1為0,R1就置99,DECRR1ACALLLDELAAY1AJMPINT0SSUBSETR1:MOVRR1,#633HACALLLDELAAY1AJMPINT0SSUBBACK0:RETIINT1(回答時(shí)時(shí)間R2調(diào)整程序):INT1SUB::MOVAA,R2MOVBB,#0AHHDIVAABMOVRR5,AMOVRR4,BMOVRR3,#0AAHACALLLDISPPLAYJNBPP3.2,IINC1JNBPP3.3,DDEC1JNBPP1.7,BBACK1AJMPINT1SSUBINC1:MOVAA,R2CJNEA,#633H,ADDD1MOVRR2,#000HACALLLDELAAY1AJMPINT1SSUBADD1:INCRR2ACALLLDELAAY1AJMPINT1SSUBDEC1:MOVAA,R2JZSEETR2DECRR2ACALLLDELAAY1AJMPINT1SSUBSETR2:MOVRR2,#633HACALLLDELAAY1AJMPINT1SSUBBACK1:RRETI倒計(jì)時(shí)程序(搶答答倒計(jì)時(shí)和回回答倒計(jì)時(shí)都都跳到該程序):COUNT:MOVR0,#000H;重置定時(shí)器器中斷次數(shù)MOVTH1,,#3CHMOVTL1,,#0B0HH;重置定時(shí)器器RECOUNT::MOVAA,R6;RR6保存了倒計(jì)計(jì)時(shí)的時(shí)間,之前先將搶搶答時(shí)間或回回答時(shí)間給R6MOVB,#00AHDIVAB;除除十分出個(gè)位位/十位MOV30H,,A;十位存于(30H)MOV31H,,B;個(gè)位存于(31H)MOVR5,330H;取十位MOVR4,,31H;取個(gè)位MOVA,RR6SUBBA,,#07HJNCLARGGER;大于5s跳到LARGEER,小于等于5s會提醒MOVA,R00CJNEA,##0AH,FFULL;11s中0.5s向下運(yùn)行CLRRINGGAJMPCHEECKFULL:CJJNEA,,#14H,,CHECKK;下面系1s的情況,響并顯示號號數(shù)并清R0,重新計(jì)時(shí)SETBRINNGMOVA,R66JZQUIT;;計(jì)時(shí)完畢MOVR0,##00HDECR6;一一秒標(biāo)志減1AJMPCHEECKLARGER:MOVAA,R0CJNEA,##14H,CCHECK;;如果1s向下運(yùn)行,否者跳到查"停/顯示"DECR6;計(jì)計(jì)時(shí)一秒R6自動(dòng)減1MOVR0,##00HCHECK:JJNBP11.7,QUUIT;如按下停止止鍵退出ACALLDIISPLAYYJBOK,ACCCOUT;;如果是搶答答倒計(jì)時(shí),如是則查詢詢搶答,否者跳過查查詢繼續(xù)倒數(shù)數(shù)(這里起到鎖鎖搶答作用)AJMPRECCOUNTACCOUT:JJNBP11.1,TRRUE1JNBP1.22,TRUEE2JNBP1.33,TRUEE3JNBP1.44,TRUEE4JNBP1.55,TRUEE5JNBP1.66,TRUEE6AJMPRECCOUNTQUIT:CCLROKK;如果按下了"停止鍵"執(zhí)行的程序序CCLRRIINGAAJMPSSTART正常搶答處理程序序:TRUE1:AACALLBARK;;按鍵發(fā)聲MMOVA,,R2MMOVR66,A;搶答時(shí)間R2送R6MMOVR33,#01HHCCLROKK;因?yàn)榇痤}的的計(jì)時(shí)不再查查詢搶答,所以就鎖了了搶答AAJMPCCOUNTTRUE2:ACCALLBBARK;MOVA,R22MOVR6,AAMOVR3,##02HCLROKAJMPCOUUNTTRUE3:ACCALLBBARK;MOVA,R22MOVR6,AAMOVR3,,#03HCLROKAJMPCOUUNTTRUE4:ACCALLBBARK;MOVA,RR2MOVR6,AAMOVR3,##04HCLROKAJMPCOUUNTTRUE5:AACALLBARK;;MOVAA,R2MOVRR6,AMOVRR3,#055HCLROOKAJMPCOUNTTTRUE6:ACALLLBARKK;MOVAA,R2MOVRR6,AMOVRR3,#066HCLROOKAJMPCOUNTT犯規(guī)搶答程序:ERROR:MMOVR00,#00HHMOVTTH1,#33CHMOVTTL1,#00B0HMOV334H,R33;犯規(guī)號數(shù)暫暫存與(34H)HERE:MOVAA,R0CJNEA,#0AAH,FLAASH;0..5s向下運(yùn)行->滅并停響CLRRRINGMOVRR3,#0AAHMOVRR4,#0AAHMOVRR5,#0AAH;三燈全滅AJMPCHECKK1FLASH:CJNEA,#144H,CHEECK1;下面系1s的情況,響并顯示號號數(shù)并清R0,重新計(jì)SETBRINGMOVRR0,#000HMOVRR3,34HH;取回號數(shù)MOVRR5,#0BBHMOVRR4,#0BBH;顯示FF和號數(shù)AJMPCHECKK1CHECK1:JNBPP1.7,QQUIT1ACALLLDISPPLAYAJMPHEREQUIT1:CLRRRINGCLROOKAJMPSTARTT顯示程序:入口參數(shù):R5,,R4,R33存入的分別別為第一,二二,三為數(shù)碼碼所顯示的位位碼出口參數(shù):無DISPLAY::MOVDDPTR,##DAT1;;查表顯示程程序,利用P0口做段選碼碼口輸出/P2低三位做位位選碼輸出MOVA,,R5MOVCAA,@A+DDPTRMOVP22,#01HHMOVP00,AACALLDELAYYMOVDPPTR,#DDAT2MOVA,,R4MOVCAA,@A+DDPTRMOVP22,#02HHMOVP00,AACALLDELAYYMOVA,,R3MOVCAA,@A+DDPTRMOVP22,#04HHMOVP00,AACALLDELAYYRETDAT1:DB00H,006h,5bbh,4fhh,66h,,6dh,77dh,077h,7fhh,6fh,,00H,771H;"滅","1","22","3"","4",,"5",""6","77","8"","9",,"滅","F""DAT2:DB3fh,006h,5bbh,4fhh,66h,,6dh,77dh,077h,7fhh,6fh,,00H,771H;第一個(gè)為零,其他他與上相同,因?yàn)槭蝗缛绻麨榱泔@示示熄滅加減時(shí)間延時(shí)(起起到不會按下下就加N個(gè)數(shù)):DELAY1:MOV335H,#008HLOOP0:ACALLLDISPPLAYDJNZ35H,LLOOP0RET延時(shí)(顯示和去抖動(dòng)用到到):DELAY:MOV332H,#112HLOOP:MOV333H,#00AFHLOOP1:DJNZ33H,LLOOP1DJNZ32H,LLOOPRET發(fā)聲程序:BARK:SETBRINGACALLLDELAAY1ACALLLDELAAY1CLRRRING;按鍵發(fā)聲RETTO溢出中斷(響鈴程程序):T0INT:MOOVTH00,#0ECCHMOOVTL00,#0FFFHJNNBRINNG,OUTTCPPLP3..6;RIING標(biāo)志位為1時(shí)候P3.6口不短取反反使喇叭發(fā)出出一定頻率的的聲音OUT:RETIIT1溢出中斷(計(jì)時(shí)程程序):T1INT:MOVTTH1,#33CHMOVTTL1,#00B0HINCRR0RETIEND第4章調(diào)試及性能分析1、具有清零裝置和和搶答控制,可可由主持人操操縱避免有人人在主持人說說“開始”前提前搶答答違反規(guī)則。2、具有定時(shí)功能,在30秒內(nèi)無人搶答表示所有參賽選手獲參賽隊(duì)對本題棄權(quán)。3、30秒時(shí)仍無人搶答其其報(bào)警電路工工作表示搶答答時(shí)間耗盡并并禁止搶答。4、如果想調(diào)節(jié)搶答答時(shí)間或答題題時(shí)間,按"搶答時(shí)間調(diào)調(diào)節(jié)"鍵或"答題時(shí)間調(diào)調(diào)節(jié)"鍵進(jìn)入調(diào)節(jié)節(jié)狀態(tài),此時(shí)會顯示示現(xiàn)在設(shè)定的的搶答時(shí)間或或回答時(shí)間值值,如想加一秒秒按一下"加1s"鍵,如

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論