基于單片機的8路智能搶答器設(shè)計畢業(yè)設(shè)計_第1頁
已閱讀1頁,還剩43頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  摘 要</b></p><p>  隨著科學技術(shù)的發(fā)展和普及,各種各樣的競賽越來越多,其中搶答器的作用也就顯而易見。目前很多搶答器基本上采用小規(guī)模數(shù)字集成電路設(shè)計,使用起來不夠理想。因此設(shè)計一更易于使用和區(qū)分度搞的搶答器成為了非常迫切的任務(wù)?,F(xiàn)在單片機已進入各個領(lǐng)域,以其功耗小、智能化而著稱,所以若利用單片機來設(shè)計搶答器,便使以上問題得以解決,針對以上情況

2、,本文設(shè)計出以STC89C52單片機為核心的八路搶答器。我們采用了數(shù)字顯示器直接指示,自動鎖存顯示結(jié)果,并自動復位的設(shè)計思想,它能根據(jù)不同的搶答輸入信號,經(jīng)過單片機的控制處理并產(chǎn)生不同的與輸入信號相對應(yīng)的輸出信號,最好通過液晶顯示屏顯示相應(yīng)的路數(shù),即使兩組的搶答時間相差幾微秒,也可分辨出事哪組優(yōu)先按下的按鍵,它充分了單片機系統(tǒng)的優(yōu)點,具有結(jié)構(gòu)簡單、功能強大、可靠性好、實用性強的特點。</p><p>  本設(shè)計采

3、用STC89C52單片機設(shè)計一個搶答器系統(tǒng)。初步電路要求設(shè)置有8個鍵盤,但是考慮到系統(tǒng)要有一定的可拓展性,本設(shè)計最終采取矩陣鍵盤從而設(shè)置16個鍵盤,可以供16名選手參加比賽。本設(shè)計共分為聽題、準備搶答、搶答超時三個階段進行設(shè)計。主持人讀題時為聽題階段,此時搶答無效,按下開始按鈕,則開始搶答,并顯示搶答時限共十秒;若有人按下自己搶答鍵,則在液晶屏上顯示對應(yīng)編號和LED點陣上顯示搶答剩余時間,剩余時間為0秒時,則進入over階段,若無人搶答

4、,本次搶答無效,若在這之后有人搶答,顯示對應(yīng)編號并且顯示無效;有人搶答情況下,主持人讀完題目后按下開始作答按鈕,則顯示作答時間,作答時間低于5秒,會報警提示。</p><p>  關(guān)鍵詞:可靠性好;可拓展性;LED;液晶顯示屏;STC89C52單片機;矩陣鍵盤 </p><p><b>  ABSTRACT</b></p><p>  With

5、 the development and popularization of science and technology, more and more variety of competitions, including the role of Responder also obvious. At present, many Responder basically small-scale digital integrated circ

6、uit design, using them less than ideal. So design an easier to use and engage in discrimination Responder become a very urgent task. SCM now has entered all areas, with its low power consumption, intelligence known, so i

7、f using microcontroller design Responder, will make thes</p><p>  The subject applies the STC89C52 MCU to design the responder system. The circuit set 8 keyboards. But taking into account the scalability of

8、the system, this design take the matrix keyboard to set the 16 keyboards, so the circuit can be used for 16 players to participate in the competition. The responder will work when a host press the start button, and show

9、answer time limit; if nobody answer the question when the remaining time is 0 seconds, the answer is invalid. The moderator will press the </p><p>  Key words:Scalability; STC89C52 single chip microcomputer;

10、 Matrix keyboard</p><p><b>  目 錄</b></p><p><b>  摘 要I</b></p><p>  ABSTRACTII</p><p><b>  1 前言1</b></p><p>  1

11、.1 設(shè)計背景及意義1</p><p>  1.2 設(shè)計要求2</p><p>  1.3 設(shè)計內(nèi)容2</p><p>  1.4 設(shè)計內(nèi)容的擴展3</p><p><b>  2 系統(tǒng)概述3</b></p><p>  2.1 系統(tǒng)的主要功能3</p><p>

12、;  2.2 系統(tǒng)工作狀態(tài)4</p><p>  2.3 單片機STC89C52功能簡介5</p><p>  3 硬件電路設(shè)計9</p><p>  3.1 Proteus軟件介紹9</p><p>  3.2 單片機最小系統(tǒng)設(shè)計9</p><p>  3.3 按鍵輸入電路設(shè)計11</p>

13、<p>  3.4 顯示電路設(shè)計14</p><p>  3.5 報警電路設(shè)計18</p><p>  3.6 電源電路設(shè)計19</p><p>  3.7 下載器電路20</p><p>  3.8 總體電路設(shè)計21</p><p>  3.9 實物電路制作22</p><p

14、><b>  4 軟件設(shè)計23</b></p><p>  4.1 Keil C51軟件簡介23</p><p>  4.2 主程序系統(tǒng)結(jié)構(gòu)23</p><p>  4.3 程序流程圖24</p><p>  4.4 程序設(shè)計26</p><p><b>  結(jié) 論

15、36</b></p><p>  參 考 文 獻37</p><p><b>  致 謝39</b></p><p><b>  1 前言</b></p><p>  1.1 設(shè)計背景及意義</p><p>  隨著科技的飛速發(fā)展,單片機已經(jīng)滲透到我們

16、生活的各個領(lǐng)域,幾乎在每個領(lǐng)域都能找到單片機的影子。上至軍用航空導彈導航系統(tǒng)下至生活中使用的電子表等用品,都離不開單片機應(yīng)用。</p><p>  單片機產(chǎn)生于20世紀70年代末,大致經(jīng)歷了三個階段。單片微型計算機(Single Chip Microcomputer)階段,微控制器(Micro Controller Unit)階段,SoC單片機(System On Chip)階段。著名的單片機生產(chǎn)企業(yè)有Atmel

17、、STC、飛利浦、Intel、Philips等公司。[1]</p><p>  單片機出現(xiàn)方便了人們的生活,所以單片機的使用也使搶答器的電路更加簡便和實用。</p><p>  搶答器的運用雖然很廣泛,但是,傳統(tǒng)的搶答器具有以下的問題亟待解決:①有的傳統(tǒng)搶答器由數(shù)字電路組成,在使用現(xiàn)場會有多名選手或代表團參加比賽,所以會造成布線繁瑣等麻煩,現(xiàn)場不美觀等問題;②由于傳統(tǒng)搶答器由電子元器件集成

18、制作而成,所以就會造成可靠性低,元器件集成工藝復雜,花費比較高等麻煩:③由與傳統(tǒng)的搶答器由數(shù)字電路構(gòu)成,所以可能造成搶答時控制不精確,功能單一等缺陷。[2]</p><p>  所以,為了改進傳統(tǒng)搶答器的各種缺點,本課題采用STC89C52單片機設(shè)計搶答器系統(tǒng)。采用單片機設(shè)計搶答器,不僅可以避免布線復雜,集成工藝復雜等問題,還可以減小誤差,降低開支,充分利用現(xiàn)有資源。使得搶答器工作效率高,反應(yīng)靈敏。采用單片機設(shè)計

19、的搶答器可以簡單的實現(xiàn)拓展功能,可以擴至16路。而且單片機具有方便、低功耗、抗干擾性強等特點,使得本設(shè)計具有更強的實用價值。</p><p>  通過本次畢業(yè)設(shè)計,我們應(yīng)該熟悉單片機的基本結(jié)構(gòu),將理論所學知識運用到實際中來,能熟練運用Proteus仿真軟件,和Keil51編程軟件。從而提高自身的編程能力以及解決問題的能力。 </p><p><b>  1.2 設(shè)計要求</

20、b></p><p>  利用單片機使用方便、低功耗、抗干擾性強、可靠性高等特點,設(shè)計一個8路智能搶答器。</p><p>  以單片機為核心處理器,實現(xiàn)一個智能搶答器,要求同時供8名選手或8個代表隊參加比賽。</p><p>  同時要設(shè)置一個用于控制整個電路的開關(guān),用來控制整個搶答器系統(tǒng)的清零、開始搶答及定時器預(yù)置等。</p><p&g

21、t;  搶答器具有鎖存搶答選手編號和顯示功能,搶答正式開始后,若有參賽選手或代表隊按下自己按鈕,鎖存并顯示選手編號,并禁止其他選手搶答。</p><p><b>  1.3 設(shè)計內(nèi)容</b></p><p>  利用單片機實現(xiàn)8路智能搶答器功能。先在Proteus軟件上畫出系統(tǒng)的各部分硬件電路設(shè)計框圖,并且在Keil軟件上完成對應(yīng)的軟件程序設(shè)計,實現(xiàn)系統(tǒng)的主要功能。硬

22、件設(shè)計內(nèi)容主要包括:復位電路,晶振電路,矩陣鍵盤輸入,LED顯示模塊,報警電路部分。軟件設(shè)計內(nèi)容主要包括:鍵盤掃描,編碼顯示,搶答選手掃描,中斷程序控制,定時器的使用。</p><p>  搶答器要求可同時供8名選手或8個代表隊參加搶答比賽。此外,設(shè)置一個控制開關(guān),用來控制系統(tǒng)的清零、搶答開始及定時器的預(yù)置等。搶答器具有數(shù)據(jù)鎖存和顯示功能。</p><p>  主持人讀題,此時的LED點陣

23、顯示心形待機狀態(tài),液晶屏上顯示prepare字樣,此時選手認真聽題,不允許提前搶答,如果搶答蜂鳴器會響起,并且在液晶屏上會顯示該選手編號。</p><p>  主持人讀題完畢并提示選手做好搶答準備,按下開始搶答按鈕,LED屏上開始倒計時10秒,液晶屏上顯示選手plase answer字樣,選手搶答完畢后,蜂鳴器響起并且在液晶屏上以及LED數(shù)碼管上顯示選手編號。</p><p>  若倒計時

24、10秒結(jié)束仍未有選手搶答,則會在液晶屏上顯示over字樣,并結(jié)束此輪,若此后有選手按下?lián)尨疰I,則會在液晶屏以及LED數(shù)碼管上顯示選手編號。</p><p>  此輪結(jié)束,主持人按下復位鍵進入下一輪搶答。</p><p>  1.4 設(shè)計內(nèi)容的擴展</p><p>  設(shè)計題目要求設(shè)計基于單片機的8路搶答器,但是在實際運用過程中,參賽的選手或者代表隊往往多于8路,所以

25、8路搶答往往不夠用。本次設(shè)計為了更好的適應(yīng)實際要求,在設(shè)計過程中對電路做了擴展,將基于單片機的8路搶答器擴展設(shè)計成16路搶答器。在下文中,所有設(shè)計都是按照16路搶答器要求來完成的。</p><p><b>  2 系統(tǒng)概述</b></p><p>  2.1 系統(tǒng)的主要功能</p><p>  本系統(tǒng)運用單片機來實現(xiàn)搶答器設(shè)計,主要包括一下幾個

26、模塊:復位電路,晶振電路,矩陣鍵盤輸入,顯示模塊,報警電路。</p><p>  圖2.1系統(tǒng)主要功能</p><p>  2.2 系統(tǒng)工作狀態(tài)</p><p>  將16位選手編號1-16,接通電源后,主持人按下開始鍵則開始搶答,16位選手在規(guī)定時間內(nèi)搶答,當有選手按鍵搶答時,在屏幕上顯示選手號碼且顯示剩余時間,并禁止其他選手搶答;此時,主持人讀完題目按下開始答題

27、按鈕則開始答題,選手要在規(guī)定時間內(nèi)完成作答,若答題時間快到時會報警。當無選手搶答時,剩余搶答時間小于5秒時會通過閃亮小燈響起蜂鳴器來報警,如果搶答時間耗盡還沒有選手按下?lián)尨疰I,則此輪搶答無效。主持人按下復位按鈕則搶答重新開始。</p><p>  圖2.2系統(tǒng)工作狀態(tài)</p><p>  2.3 單片機STC89C52功能簡介</p><p>  本次畢業(yè)設(shè)計采用的

28、是STC89C52型號的單片機,也是16路搶答器電路的核心處理器。</p><p>  STC89C52是由宏晶公司生產(chǎn)的一種8位微型處理器,具有8k可編程的只讀Flash存儲器。巨有低功耗、低電壓、低價格和高性能的特點。在當今科技發(fā)展飛速的時期,STC89C52單片機的使用越來越廣泛。</p><p>  STC89C52是STC89C51的升級產(chǎn)品,與STC89C51比較多了以下功能:

29、STC89C52具有3個定時器/計數(shù)器,STC89C51只有2個定時器/計數(shù)器;STC89C52具有8KB的Flash存儲器,而STC89C51具有4KB的Flash存儲器。</p><p>  STC89C52單片機內(nèi)部主要有以下部件組成:8KB Flash存儲器,512B數(shù)據(jù)存儲器,32條I/O口線,3個定時器/計時器,看門狗定時電路,內(nèi)置4KB的EEPROM,用于多處理機通信、I/O擴展或全雙工UART的串

30、行口;一個具有8個中斷源、4個優(yōu)先級的中斷嵌套結(jié)構(gòu)。</p><p>  如下圖2.3是STC89C52的管腳示意圖:</p><p>  圖2.3 STC89C52的管腳示意圖</p><p>  STC89C52各個管腳的功能:</p><p><b>  電源與晶振</b></p><p>

31、;  Vcc接+5V電壓,GND接地。</p><p>  XTAL1接外部晶體振蕩器的一個引腳。在單片機內(nèi)部,他是一個反相放大器的輸入端,此反相放大器構(gòu)成了片內(nèi)振蕩器。</p><p>  XTAL2接外部晶體振蕩器的另一個引腳。在單片機內(nèi)部,他是一個反相放大器的輸出端,輸入到內(nèi)部時鐘發(fā)生器。</p><p>  I/O:P0、P1、P2、P3共4個I/O口,32

32、根</p><p>  P0:8位、漏極開路的雙向I/O口,不含內(nèi)部上拉電阻。</p><p>  P1:8位、準雙向I/O口,內(nèi)部含有上拉電阻。</p><p>  P2:8位、準雙向I/O口,內(nèi)部含有上拉電阻。</p><p>  P3:8位、準雙向I/O口,內(nèi)部含有上拉電阻。</p><p><b> 

33、 控制線:共4根</b></p><p>  RST----復位輸入信號,高電平有效。</p><p>  在振蕩器工作時,在RST上作用兩個機器周期以上的高電平,便可實現(xiàn)復位操作。</p><p>  EA/Vpp----片外程序存儲器訪問允許信號,低電平有效。</p><p>  當EA接地。單片機只執(zhí)行片外存儲器中的程序;當

34、EA接Vcc時, CPU首先執(zhí)行片內(nèi)程序存儲器中的程序,然后自動轉(zhuǎn)向執(zhí)行片外程序存儲器中的程序。</p><p>  如果程序鎖定位LB1被編程,那么EA值將在復位時由片內(nèi)鎖存。在與Flash并行編程/校驗期時。該引腳施加12V的編程電壓Vpp。</p><p>  ALE/PROG----地址鎖存允許信號輸出。</p><p>  在CPU訪問外部程序存儲器或外部

35、數(shù)據(jù)存儲器時,ALE提供一個地址鎖存信號,將低8位地址鎖存在片外存儲器中。</p><p>  在與Flash并行編程/校驗期間,該引腳也是編程負脈沖的輸入端。</p><p>  在正常操作狀態(tài)下,該引腳端口輸出恒定頻率的脈沖。其頻率為晶振頻率的1/6,可用做外部定時或其他觸發(fā)信號。應(yīng)注意,單片機每次訪問內(nèi)部數(shù)據(jù)存儲器時,都要失去一個ALE脈沖。</p><p>

36、  ALE的禁止位不影響對外部存儲器的訪問。</p><p>  PSEN----片外程序存儲器選通信號,低電平有效。</p><p>  當STC89C52執(zhí)行來自外部程序存儲器的指令代碼時,PSEN每個機器周期兩次有效。在訪問外部數(shù)據(jù)存儲器時,PSEN無效。[3]</p><p><b>  3 硬件電路設(shè)計</b></p>

37、<p>  3.1 Proteus軟件介紹</p><p>  Proteus軟件是英國公司出版的一款EDA軟件。此軟件不僅具有一般EDA軟件的仿真功能,而且能仿真單片機及其外圍電路。它是目前最好的仿真單片機及外圍電路軟件。</p><p>  在進行各種電路設(shè)計之前,必須要進行電路原理圖的仿真,只有在軟件仿真成功才可能在實際電路中實現(xiàn)。并且由于實驗室器件的有限,有些電路無法在實

38、際中設(shè)計出來,所以我們必須要通過Proteus仿真電路。Proteus軟件是世界上唯一將電路仿真、PCB設(shè)計和虛擬模型仿真三合一的設(shè)計平臺,在單片機電路設(shè)計中使用更為廣泛。[4]</p><p>  3.2 單片機最小系統(tǒng)設(shè)計</p><p>  在利用單片機設(shè)計各種電路的過程中都離不開最小系統(tǒng)的外圍支持,單片機最小系統(tǒng)是每個單片機電路設(shè)計必不可少的部分,單片機最小系統(tǒng)包含兩個部分:時鐘頻

39、率電路和復位電路。</p><p>  3.2.1 時鐘頻率電路設(shè)計</p><p>  單片機工作時需要時鐘電路產(chǎn)生時鐘信號,指令執(zhí)行中各信號之間的相互關(guān)系就是時序所研究的內(nèi)容。為保證同步工作方式實現(xiàn),電路應(yīng)在唯一的時鐘信號控制下按照時序進行工作。</p><p>  時鐘信號可以通過兩種電路形式得到:內(nèi)部振蕩方式和外部振蕩方式。</p><p

40、>  外部振蕩方式是把外部已有的時鐘信號引入單片機內(nèi)。這種方式適宜用來使單片機的時鐘與外部信號保持同步。</p><p>  本系統(tǒng)采用內(nèi)部振蕩方式產(chǎn)生時鐘信號。STC89C52單片機內(nèi)部</p><p>  帶有時鐘電路,因此,只需要將定時控制元件(晶體振蕩器和電容)通過XTAL1和XTAL2引腳接入單片機芯片,即可形成一個穩(wěn)定的自激振蕩器。</p><p>

41、;  如圖3.1時鐘芯片DS1302:</p><p>  圖3.1 時鐘頻率電路</p><p>  3.2.2 復位電路設(shè)計</p><p>  在搶答器電路中,難免會出現(xiàn)操作失誤,使得程序跑偏,或者出錯,所以需要復位電路來使得在出錯時使電路恢復正常工作。</p><p>  復位電路是單片機的初始化操作,使單片機從0開始執(zhí)行程序。復位不

42、僅能使單片機進入系統(tǒng)正常初始化,而且當程序運行出錯或操作不當使系統(tǒng)死鎖時,按下復位按鈕重新啟動,使單片機正常工作。</p><p>  復位方式有以下四種:上電自動復位、按鍵電平復位、外部脈沖復位、和自動復位。即外部產(chǎn)生復位信號由單片機的9腳(RST)輸入,從而使單片機完成復位操作。復位信號是高電平有效,有效時間應(yīng)持續(xù)兩個機器周期以上。</p><p>  本系統(tǒng)采用的是按鍵電平復位方式,

43、如圖3.2所示復位電路:</p><p><b>  圖3.2復位電路</b></p><p>  3.3 按鍵輸入電路設(shè)計</p><p>  在搶答器電路中每位選手會通過手中的搶答按鍵來獲得優(yōu)先答題權(quán)。每位選手的按鍵就構(gòu)成搶答器電路的鍵盤輸入。鍵盤輸入電路是單片機外圍電路中最常見的一種電路。</p><p>  鍵盤

44、有兩種形式,編碼鍵盤和非編碼鍵盤。當有鍵盤被按下時,通過一種專用的硬件編碼器來識別按鍵閉合,并且確定出鍵盤編碼號碼,這種鍵盤稱為編碼鍵盤,如計算機鍵盤。而通過軟件編程方式來確定某個按鍵的閉合的鍵盤稱為非編碼鍵盤,在單片機組成的各種系統(tǒng)中,用的比較多的是非編碼鍵盤。</p><p>  非編碼鍵盤又分為:獨立鍵盤和行列式鍵盤(或稱矩陣鍵盤)。</p><p>  對于每一個按鍵需要與單片機的

45、I/O口相連,從而讀出鍵盤的狀態(tài)。單片機可以通過軟件編程讀出哪個鍵按下,從而做出對應(yīng)的操作。</p><p>  3.3.1 獨立式鍵盤電路設(shè)計</p><p>  獨立式鍵盤是單片機電路中用的最多的鍵盤輸入,獨立鍵盤是由鍵盤的兩端直接和單片機的I/O口與接地相連。當鍵盤按下時,對應(yīng)端口與地相連,則直接將對應(yīng)的端口變成低電平,然后做出相應(yīng)的操作。每個獨立鍵盤需要單獨使用一根I/O線,所以當

46、一個電路中鍵盤輸入較多時采用獨立鍵盤設(shè)計就會造成I/O口的大量浪費,從而造成I/O口不夠用。所以,只有按鍵數(shù)量不多時,采用獨立鍵盤輸入。電路中的開始搶答按鍵和開始答題按鍵采用的就是獨立式鍵盤輸入。獨立鍵盤的好處就是:每個按鍵單獨使用一根I/O線,鍵盤掃描容易,且獨立鍵盤每個按鍵互不影響。本電路中用到的獨立鍵盤有下面幾處。</p><p>  如圖3.3所示電路:</p><p><b

47、>  圖3.3 控制電路</b></p><p>  當按下開始搶答按鍵時候,P2.0口被硬件置為低電平,控制整個電路開始,開始搶答;當按下開始答題按鍵時候,P2.1被硬件置為低電平,顯示答題時間。</p><p>  3.3.2 矩陣鍵盤電路設(shè)計</p><p>  在矩陣鍵盤中,每4個鍵盤構(gòu)成一行,一共四行四列。每一行按鍵的一端連接起來,每一列

48、按鍵的另一端連接起來,總共構(gòu)成8路,所以,一個單片機的P3口就可以構(gòu)成16個鍵盤電路的輸入端口了。</p><p>  在本次設(shè)計中,有16個選手或代表隊參加比賽,每一個代表隊需要一個搶答按鍵,就需要16個按鈕。在設(shè)計中發(fā)現(xiàn),如果采用獨立鍵盤連接電路,則需要一個端口連接一個按鍵,所以需要占用16個I/O口,就會造成資源的浪費,成本增高。所以當有16位選手參加搶答比賽時,需要16個鍵盤,采用4 X 4矩陣鍵盤只需要

49、8個I/O口,從而大大減少了I/O口資源的浪費。當鍵盤個數(shù)超過8個,采用矩陣鍵盤是最為合適的。</p><p>  相比獨立鍵盤,矩陣鍵盤的特點是:電路的I/O口需要相對較少,能有效節(jié)省I/O口資源浪費;但是硬件電路相對復雜,鍵盤掃描比獨立鍵盤掃描繁瑣,需要獨立軟件編程,完成鍵盤掃描,從而確定那個按鍵按下,做出相應(yīng)操作,矩陣鍵盤更適合多按鍵電路。</p><p>  以下是搶答器系統(tǒng)的矩陣

50、鍵盤輸入電路,P3口高四位(P3.4-P3.7)作為列線,P3口低四位(P3.0-P3.3)作為行線,電路如圖3.4所示:</p><p>  圖3.4 矩陣鍵盤電路</p><p>  矩陣鍵盤接好以后,就要對應(yīng)的鍵盤掃描工作,判斷出那個按鍵按下,從而做出對應(yīng)操作。當沒有按鍵按下的時候所有行線和列線是開路的。當鍵盤上的一個按鍵被按下的時候,該按鍵的行線和列線就會被短路。將所有的列線都置為

51、高電平,行線逐個置為低電平。例如當把第一行線置為低電平,第一行有按鍵按下時該按鍵的列線也會變成低電平,從而判斷第一行的某個按鈕被按下,以此類推,單片機根據(jù)電平的變化從而掃描出鍵盤操作。</p><p>  鍵盤的掃描分為循環(huán)掃描工作方式和中斷掃描工作方式。</p><p>  循環(huán)掃描工作方式,是在單片機工作的過程中調(diào)用鍵盤掃描子程序來響應(yīng)按鍵輸入。此種掃描方式缺點是,不管鍵盤有無按下,單

52、片機都會掃描鍵盤,然而在工作的過程中不需要按鍵按下,此時系統(tǒng)處于空掃描狀態(tài)。為了提高單片機的工作效率,采用中斷掃描,即只有按鍵按下時,才發(fā)送中斷申請,進行鍵盤掃描。[5]</p><p>  本次設(shè)計采用了循環(huán)掃描的工作方式。</p><p>  按鍵在按下的過程中有可能會產(chǎn)生抖動,此時邏輯電平是不穩(wěn)定,所以在鍵盤掃描過程中,一定要在軟件設(shè)計過程加入去抖部分。在本次設(shè)計中,我們通過在軟件編

53、程過程中,對按鍵掃描進行延時的方法中來去除抖動。在按下按鍵并處理完相應(yīng)操作時,可以在軟件編程中增加鍵盤釋放的程序。[6]</p><p>  3.4 顯示電路設(shè)計</p><p>  顯示電路是最常用的輸出設(shè)備。為觀察單片機的運行狀態(tài),往往需要顯示器來直觀的表現(xiàn)出來。搶答器電路需要通過顯示電路,來顯示目前的搶答階段、搶答選手的標號,和倒計時顯示。本系統(tǒng)采用LED數(shù)碼管、LED點陣、以及液晶

54、屏顯示,數(shù)碼管前兩位顯示倒計時,后兩位顯示搶答選手的標號。</p><p>  下圖3.5是搶答器系統(tǒng)的顯示電路:</p><p><b>  圖3.5顯示電路</b></p><p>  3.4.1四位一體數(shù)碼管顯示</p><p>  在經(jīng)過透明鎖存器的數(shù)據(jù)緩沖電路后,就會將數(shù)據(jù)傳輸?shù)斤@示器中。比較常用的顯示器有16

55、02液晶顯示器、數(shù)碼管顯示等。由于搶答器電路中需要顯示的數(shù)據(jù)比較簡單,如若采用1602液晶顯示就會有些浪費。所以本系統(tǒng)的顯示電路采用四位一體共陰數(shù)碼管顯示。每一位數(shù)碼管顯示是由8個發(fā)光二極管組成的,根據(jù)不同的二極管發(fā)光,從而顯示出不同的數(shù)據(jù)。</p><p>  通常我們在顯示采用的方法有兩種:動態(tài)顯示和靜態(tài)顯示。</p><p>  靜態(tài)顯示原理是:每個數(shù)碼管由8個小型的發(fā)光二極管組成,

56、所以不同的二極管發(fā)光便顯示出不同的字符,8個發(fā)光二極管必須接一個8位數(shù)據(jù)線來保持所需顯示的字形,當送入一次字形碼的編碼后,即可一直顯示所需字形,直到送入一個新的字形編碼為止。靜態(tài)顯示的優(yōu)點是占用CPU較少的時間,數(shù)碼顯示便于控制。缺點是:每一個字形需要一個數(shù)碼管,每個數(shù)碼管需要8位I/O口控制,所需電路復雜且成本高。[8]</p><p>  動態(tài)顯示原理是:將所有位數(shù)碼管的8位發(fā)光二極管的信號線并聯(lián)在一起,由一

57、個特殊的位選線控制那一位數(shù)碼管顯示。顯示特性沒有靜態(tài)顯示好,利用二極管發(fā)光的和人眼視覺的暫留作用,讓人感覺好像各位數(shù)碼管在同時顯示,稱為動態(tài)顯示。</p><p>  數(shù)碼顯示分為共陰和共陽顯示兩種。下圖3.7是數(shù)碼管顯示的原理圖:</p><p>  圖3.7 共陰數(shù)碼管原理圖</p><p>  CS0、CS1、CS2、CS3分別為四位一體數(shù)碼管的位選端,當其中

58、一個端口置于低電平時,則這一位數(shù)碼管被選中;然后再設(shè)置段選端,段選端由8位數(shù)據(jù)線控制,當一個端口處于高電平是則對應(yīng)的一段顯示。從而完成數(shù)碼顯示。</p><p>  如圖3.8為所用數(shù)碼管:</p><p>  圖3.8 數(shù)碼管電路</p><p>  圖中A、B、C、D四個端口分別為數(shù)碼管顯示的位選,a、b、c、d、e、f、g、p為數(shù)碼管的段選。</p>

59、;<p>  數(shù)碼管的位選由P1.0-P1.3控制,段選信號由P0.0-P0.7控制。當程序分別控制P0口和P1口的時候,然后完成顯示功能。</p><p>  3.5 報警電路設(shè)計</p><p>  在搶答器系統(tǒng)里,當搶答時間快要結(jié)束時或者答題時間快要結(jié)束時,需要一個報警電路來提示搶答選手,所以在本次設(shè)計中添加了報警電路部分。當答題時間和搶答時間小于5秒后,則會啟動報警電

60、路。如圖3.9所示,為報警電路。</p><p><b>  圖3.9 報警電路</b></p><p>  如上圖所示為報警電路,當P2.2口為低電平時,LED燈通路,則LED燈亮。單片機的P2.3口負責發(fā)聲電路,當P2.3為低電平時候,三極管導通,揚聲器工作,從而完成發(fā)聲電路。</p><p>  當搶答時間和答題時間剩余5秒時,為了及時提

61、示選手,設(shè)置LED燈和揚聲器隔1秒工作一次,從而達到警示選手的作用。</p><p>  報警電路中,揚聲器部分采用PNP三極管驅(qū)動,當基極為低電平時,三極管導通,從而驅(qū)動揚聲器電路工作。</p><p>  3.6 電源電路設(shè)計</p><p>  在整個搶答系統(tǒng)中,一定會用到電源,而一般直流電源均為1.5V的倍數(shù),單片機所需電源為5V。所以電路中需要穩(wěn)壓電源來滿

62、足單片機電路的電壓限制。在本次設(shè)計中,采用7805達到穩(wěn)壓的效果。7805所需外圍電路簡單,內(nèi)部具有保護電路,用起來方便,并且價格便宜。在電子設(shè)計中得到了廣泛的運用。</p><p>  如下圖3.10所示為7805的外圍電路:</p><p>  圖3.10 穩(wěn)壓器7805外圍電路</p><p>  將12V直流電源接入左邊,右邊輸出是5V電壓。將單片機電源以及

63、74HC573電源接入5V電源,即可使本系統(tǒng)工作。</p><p><b>  3.7 下載器電路</b></p><p>  當完成上述工作后,一個完整的系統(tǒng)基本完成,此時需要一個下載器電路將軟件程序下載達到STC89C52單片機中才能實現(xiàn)搶答器功能。</p><p>  下載器需要和單片機的P1.5、P1.6、P1.7、RST端口連接起來,

64、只有這樣才能將軟件程序下載到STC89C52中。</p><p>  下載電路連接方式如圖3.11所示:</p><p>  圖3.11下載電路連接方式</p><p>  將下載器一端與單片機按照上圖連接起來,同時將下載器USB一端插入電腦,通過燒寫軟件將軟件程序?qū)懭氲絊TC89C52中。燒寫成功后,則可驗證本系統(tǒng)的軟件部分與硬件部分是否對應(yīng),以及測試本系統(tǒng)的是否

65、能實設(shè)計要求中的各個功能模塊。</p><p>  3.8 總體電路設(shè)計</p><p>  本章詳細敘述了搶答器各個模塊的設(shè)計原理以及具體電路。在以STC89C52為核心電路的基礎(chǔ)上,結(jié)合顯示電路、鍵盤輸入電路、報警電路、復位電路和外部時鐘電路等外圍電路,就設(shè)計出了基于單片機的搶答器系統(tǒng)。</p><p>  下圖3.12是單片機搶答器系統(tǒng)的總圖。</p&g

66、t;<p>  圖3.12 基于單片機的搶答器電路總圖</p><p>  3.9 實物電路制作</p><p>  在Proteus上仿真完畢以后,將所需器件羅列出來,然后在實驗室用萬能板將每個器件連接起來。焊接完畢后,將每個功能模塊一一測試出來。</p><p>  調(diào)試出來的實物圖如下圖3.13所示:</p><p>  

67、圖3.13 實物電路展示</p><p><b>  4 軟件設(shè)計</b></p><p>  4.1 Keil C51軟件簡介</p><p>  在硬件設(shè)計完畢后,就要通過軟件編程,將設(shè)計的功能逐一實現(xiàn)。寫單片機軟件語言時,我們可以采用匯編語言和C語言來完成,二者殊途同歸。匯編語言是機器語言,而C語言是中級語言。匯編語言的特點是執(zhí)行效率高,

68、對單片機中的寄存器直接操作,但是開發(fā)周期長,移植性不強。C語言具有使用范圍廣,可移植性強,開發(fā)周期短,但是執(zhí)行效率較匯編語言低。</p><p>  在本系統(tǒng)的軟件開發(fā)中,我們采用C語言在Keil軟件上來完成軟件編程。</p><p>  4.2 主程序系統(tǒng)結(jié)構(gòu)</p><p>  軟件設(shè)計分為以下五個部分:主程序設(shè)計,開始鍵掃描子程序,搶答鍵盤掃描子程序,顯示程序

69、,定時器中斷。</p><p>  圖4.1 主程序系統(tǒng)框圖</p><p>  上圖為主程序系統(tǒng)框圖,程序代碼部分均參照上述邏輯設(shè)計。</p><p><b>  4.3 程序流程圖</b></p><p>  任何一個C語言程序,都先從主程序開始執(zhí)行,從主程序執(zhí)行開始鍵掃描程序,若開始鍵按下,則觸發(fā)定時器中斷1,并掃

70、描鍵盤,若有搶答選手按下按鍵,則顯示剩余答題時間,并顯示鎖存搶答選手號碼,并且伴隨提示音。此外,當有選手按下后,就要封鎖電路,禁止其他選手搶答。若無選手搶答,則倒計時,當剩余五秒時,觸發(fā)報警程序,即定時器中斷2。當主持人按下開始鍵,活著復位鍵時,復位電路。重新開始電路。</p><p>  下圖4.2為程序流程圖:</p><p><b>  圖4.2程序流程圖</b>

71、;</p><p><b>  4.4 程序設(shè)計</b></p><p>  4.4.1主程序設(shè)計</p><p>  主程序是軟件設(shè)計的靈魂部分,是關(guān)系到程序能否順利執(zhí)行的關(guān)鍵部分,主程序如下所示。</p><p>  以下是定時參數(shù)的初始化:</p><p>  void init()<

72、/p><p><b>  {</b></p><p>  TMOD=0x01;</p><p>  TH0=(65536-50000)/256;</p><p>  TL0=(65536-50000)%256;</p><p>  TH1=(65536-50000)/256;</p>

73、<p>  TL1=(65536-50000)%256;</p><p><b>  EA=1;</b></p><p><b>  ET0=1;</b></p><p><b>  ET1=1;</b></p><p><b>  }</b>&

74、lt;/p><p>  這部分選擇定時器工作方式的選擇;通過對方式寄存器TMOD的設(shè)置,定時器/計數(shù)器T0,T1可選擇4種不同的工作方式。定時器中斷是當數(shù)據(jù)溢出時觸發(fā)中斷,并且計數(shù)器是加1計數(shù)的,所以需要預(yù)先置入初始值,當數(shù)據(jù)溢出時觸發(fā)中斷。</p><p>  主程序首先將執(zhí)行判斷開始鍵是否按下,以下是開始鍵的掃描程序:</p><p>  void start_sc

75、an()</p><p><b>  {</b></p><p><b>  if(K0==0)</b></p><p><b>  {</b></p><p>  delay(10);</p><p><b>  if(K0==0)</

76、b></p><p><b>  {</b></p><p>  while(!K0);</p><p><b>  TR0=1;</b></p><p>  time=qdtime;</p><p><b>  flag=1;</b></p

77、><p><b>  s_flag=1;</b></p><p><b>  b_flag=1;</b></p><p><b>  beep=1;</b></p><p><b>  gled=1;</b></p><p><b

78、>  key=0;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  判斷是否開始鍵是否按下,對按鍵進行去抖操作后,若開始鍵按下,則打開倒計時,將各個標志位初

79、始化,flag為開始標志位。當開始按下時,即會顯示倒計時。</p><p>  當判斷完開始按鍵的操作后,如果開始按鍵按下,則會出現(xiàn)兩種情況:開始鍵按下,無人搶答;開始鍵按下,有人搶答。</p><p>  當開始鍵按下,有人搶答時:</p><p>  if((flag==1)&(s_flag==0)) //當開始鍵按下并有人搶答,進行答題倒計時&l

80、t;/p><p><b>  {</b></p><p>  if(K_time==0) //開始答題按鍵掃描</p><p>  {delay(10); //去抖操作</p><p>  if(K_time==0)</p><p>  {while(!K_time

81、);</p><p>  time=dttime;</p><p><b>  TR0=1;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p

82、><p>  當開始鍵按下時,s_flag是矩陣鍵盤的標志位,s_flag=0表示矩陣鍵盤有人按下,即有人搶答。當開始鍵按下,且矩陣鍵盤中有人按下,程序開始判斷答題按鍵是否按下,當答題控制鍵按下,則啟動答題倒計時。 </p><p>  當開始鍵按下,無人搶答時:</p><p>  if((flag==1)&(s_flag==1)) //開始鍵按下且答題鍵沒

83、有人按下,進行鍵盤掃描</p><p><b>  {</b></p><p>  keyscan(); //鍵盤掃描子函數(shù)調(diào)用</p><p><b>  }</b></p><p>  當開始鍵按下,s_flag=1表示沒人搶答,則進行矩陣鍵盤掃描。矩陣鍵盤掃描過程中,如果鍵

84、盤沒有人按下,則s_flag=1,所以一直掃描鍵盤,當?shù)褂嫊r剩余5秒,就會報警。若倒計時為0秒時還沒人搶答,則主持人按下開始按鈕即可。若鍵盤有人按下則s_flag=0,進入有人搶答的程序中。[9]</p><p>  4.4.2延時子程序</p><p>  在單片機軟件操作過程中會用到許多的延時程序,譬如,當要去除鍵盤抖動時,就需要延時程序來達到。在數(shù)碼管的動態(tài)顯示上,也需要通過延時程序

85、來達到目的。</p><p>  void delay(uint z)</p><p><b>  {</b></p><p><b>  uint x,y;</b></p><p>  for(x=z;x>0;x--)</p><p>  for(y=110;y>

86、;0;y--);</p><p><b>  }</b></p><p>  以上就是延時函數(shù),參數(shù)z為形式參數(shù),當需要調(diào)用延時函數(shù)時,只需在函數(shù)里賦值,即可達到所需的延長時間,如delay(50000)就為半秒鐘延時。</p><p>  4.4.3鍵盤掃描程序</p><p>  搶答器中每位選手配備一個搶答器,當選

87、手按下時,需要一個鍵盤掃描程序來掃描。并將掃描結(jié)果返回。在矩陣鍵盤掃描的過程中,需要先將端口賦值,然后通過電平的變化來掃描出鍵盤的按鍵按下。</p><p>  void keyscan()</p><p><b>  {</b></p><p>  P3=0xfe; //將P3口賦值<

88、;/p><p><b>  temp=P3;</b></p><p>  temp=temp&0xf0; //判斷電平是否有變化;</p><p>  if(temp!=0xf0) //電平有變化,說明有按鍵按下</p><p><

89、b>  {</b></p><p>  delay(15); //鍵盤去抖操作</p><p><b>  temp=P3;</b></p><p>  temp=temp&0xf0;</p><p>  if(temp!=0xf0)</p>&

90、lt;p>  當掃描矩陣鍵盤的第一行鍵盤時,將第一行線置為低電平,若第一行中有鍵盤按下,則對應(yīng)的列線就會變?yōu)榈碗娖健Mㄟ^temp=temp&0xf0就可以對比出那個按鍵按下。</p><p><b>  {</b></p><p><b>  temp=P3;</b></p><p>  switch(tem

91、p)</p><p><b>  {</b></p><p>  case 0x7e:key=1;TR0=0;TR1=1;s_flag=0;</p><p>  break; //當?shù)谝粋€鍵按下時,觸發(fā)事件操作</p><p>  case 0xbe:key=2;TR0=0;TR1=1;s_flag=0;<

92、/p><p>  break; //當?shù)诙€鍵按下時,觸發(fā)事件操作</p><p>  case 0xde:key=3;TR0=0;TR1=1;s_flag=0;</p><p>  break; //當?shù)谌齻€鍵按下時,觸發(fā)事件操作</p><p>  case 0xee:key=4;TR0=0;TR1=1;s_flag=0;&l

93、t;/p><p>  break; //當?shù)谒膫€鍵按下時,觸發(fā)事件操作</p><p>  default:key=0; //當有兩人同時按下時,鍵盤顯示</p><p><b>  }</b></p><p>  while(temp!=0xf0) //釋放</p><p>  {

94、temp=P3;</p><p>  temp=temp&0xf0;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b&

95、gt;</p><p>  以上是第一行鍵盤的掃描過程,當?shù)诙墟I盤掃描時將處置設(shè)為P3=0xfd;當?shù)谌袙呙钑r將設(shè)置為P3=0xfb;當?shù)谒男墟I盤掃描時將</p><p>  處置設(shè)為P3=0xf7。每行鍵盤掃描都是以此類推,當鍵盤掃描完畢后,將釋放鍵盤,這樣將會及時清理掉緩存。</p><p>  4.4.4顯示程序設(shè)計</p><p>

96、;  顯示程序是程序中唯一的輸出部分,顯示程序部分包括數(shù)據(jù)編碼,和位選控制。</p><p>  當無選手按下時,需要顯示搶答倒計時;有選手按下時,需要顯示選手號碼。</p><p>  如下為顯示子程序代碼部分:</p><p>  if(flag==1)</p><p><b>  { </b></p&

97、gt;<p>  if(key!=0) //判斷是否有選手搶答</p><p><b>  {</b></p><p>  shi=key/10; </p><p>  ge=key%10;</p><p>  WL=1; //位選打開</p&g

98、t;<p>  P1=0xfb;//第三位顯示</p><p>  WL=0; //位選關(guān)閉</p><p>  DL=1; //段選打開</p><p>  P0=table[shi];</p><p><b>  delay(5);</b></p&

99、gt;<p><b>  WL=1;</b></p><p>  P1=0xf7;//第四位顯示</p><p><b>  WL=0;</b></p><p><b>  DL=1;</b></p><p>  P0=table[ge];</p>

100、;<p>  delay(5);</p><p><b>  }</b></p><p>  當flag==1,即開始鍵按下,時開始判斷key的值,若key不為0,則有選手搶答,顯示選手搶答號碼,并顯示剩余倒計時。</p><p><b>  WL=1;</b></p><p>  

101、P1=0xfe;//第一位顯示</p><p><b>  WL=0;</b></p><p><b>  DL=1;</b></p><p>  P0=table[time/10];</p><p><b>  delay(5);</b></p>&l

102、t;p><b>  WL=1;</b></p><p>  P1=0xfd;//第二位顯示</p><p><b>  WL=0;</b></p><p><b>  DL=1;</b></p><p>  P0=table[time%10];</p>

103、<p><b>  delay(5);</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  無論是否有選手搶答,都需要進行倒計時,所以,倒計時操作一直在進行。倒計時操作是在數(shù)碼的前兩位,當有選手按下時,鎖存選手號碼,并保存剩余答題時間

104、,當控制答題按鈕按下時,將顯示20秒剩余答題時間。顯示過程中,首先要打開位選,選通那一位顯示,其次才能打開段選,進行段選碼控制。動態(tài)顯示,需要借用余暉和人眼暫留的效果,所以每顯示一位需要短暫的延時。</p><p>  共陰數(shù)碼管的編碼表如下表4.1所示:</p><p><b>  表4.1共陰編碼表</b></p><p>  4.4.5中

105、斷函數(shù)設(shè)計</p><p>  搶答器中會用到倒計時顯示,所以會用到單片機內(nèi)部的定時器中斷,當用到定時器中斷的時候就需要寫中斷服務(wù)函數(shù)。以下是中斷服務(wù)函數(shù):</p><p>  定時器T0的中斷服務(wù)函數(shù):</p><p>  void timer0() interrupt 1</p><p>  {TH0=(65536-50000)/256

106、; //對定時器重新賦值</p><p>  TL0=(65536-50000)%256;</p><p>  if(b_flag) //蜂鳴器標志位</p><p><b>  {</b></p><p><b>  beep=0;</b>&l

107、t;/p><p><b>  }</b></p><p><b>  else</b></p><p><b>  beep=1;</b></p><p><b>  }</b></p><p>  下面部分為報警程序設(shè)計,當?shù)褂嫊r剩下

108、5秒時,蜂鳴器和小燈交替工作,即小燈亮一下,蜂鳴器響一下,提示選手。</p><p>  if(time<5)</p><p>  {if(time%2==0)</p><p><b>  {</b></p><p><b>  b_flag=1;</b></p><p&

109、gt;<b>  gled=0;</b></p><p><b>  }</b></p><p><b>  else</b></p><p>  {b_flag=0;</p><p><b>  gled=1;</b></p><p

110、><b>  }</b></p><p><b>  }</b></p><p>  下面程序為倒計時程序部分。當每次進入中斷函數(shù),num會自動加1,當num=20時表示,計數(shù)器計數(shù)滿,到達1秒,則完成時間減少1秒,關(guān)閉蜂鳴器。</p><p><b>  num++;</b></p>

111、;<p>  if(num==20)</p><p><b>  {num=0;</b></p><p><b>  time--;</b></p><p><b>  b_flag=0;</b></p><p><b>  }</b>&l

112、t;/p><p>  當剩余時間為0秒時,關(guān)閉定時器,關(guān)閉各個標志位。搶答無效。</p><p>  if(time==0)</p><p><b>  {</b></p><p><b>  TR0=0;</b></p><p><b>  time=0;</

113、b></p><p><b>  s_flag=1;</b></p><p><b>  gled=1;</b></p><p><b>  }</b></p><p>  當啟動定時器T1時,蜂鳴器開始工作,當工作1秒后,關(guān)閉定時器,同時關(guān)閉蜂鳴器,定時器T1的中斷服務(wù)

114、函數(shù):</p><p>  void timer1() interrupt 3</p><p><b>  {</b></p><p>  TH1=(65536-50000)/256;</p><p>  TL1=(65536-50000)%256;</p><p><b>  beep

115、=0;</b></p><p><b>  num++;</b></p><p>  if(num==160)</p><p><b>  {</b></p><p><b>  num=0;</b></p><p><b>  T

116、R1=0;</b></p><p><b>  beep=1;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  這是單片機內(nèi)置定時器T1的工作函數(shù),觸發(fā)蜂鳴器發(fā)聲,即是當按鍵按下時,蜂鳴器發(fā)聲提示,此部分為

117、蜂鳴器發(fā)聲電路。</p><p><b>  結(jié) 論</b></p><p>  在本次基于單片機的搶答器設(shè)計過程中,查閱了所用的電子元件的資料,利用單片機STC89C52的功能,設(shè)計出所需的外圍電路來完成搶答器功能。利用單片機的定時/計數(shù)器的計數(shù)功能等功能,將軟硬件有機結(jié)合起來設(shè)計單片機。并且對鍵盤設(shè)置原理、數(shù)碼管顯示原理都有了進一步的了解和掌握。</p

118、><p>  本設(shè)計的主要內(nèi)容包括以下幾個部分:</p><p>  第一部分主要介紹了設(shè)計背景、設(shè)計意義、畢業(yè)設(shè)計要求以及創(chuàng)新方案。</p><p>  第二部分介紹了設(shè)計的大致功能和預(yù)期結(jié)果,以及STC89C52單片機的工作原理。</p><p>  第三部分主要介紹基于STC89C52單片機設(shè)計出的各個功能模塊,外部時鐘電路設(shè)計,復位電路,

119、矩陣鍵盤輸入和數(shù)碼管顯示模塊。同時介紹了各個模塊的軟件編程。</p><p>  本次設(shè)計雖然已經(jīng)完成了搶答器所具備的基本功能,但是還有好多功能沒有實現(xiàn)。我們還可以在本設(shè)計的基礎(chǔ)上添加以下功能:</p><p>  增加計分版,為每組或每個參賽選手增加一個數(shù)碼管,讓其顯示該答題選手的分數(shù)。</p><p>  將每位選手的搶答鍵設(shè)置成無線鍵盤控制,這樣就能美觀實用,

120、在搶答比賽中更方便使用。</p><p>  添加調(diào)時按鈕,自己設(shè)置搶答時間以及答題時間的控制。</p><p>  將上述功能逐一實現(xiàn)后,能完善使得搶答器電路更加簡潔、實用,能給搶答器的使用者帶來極大的方便。</p><p><b>  參 考 文 獻</b></p><p>  [1] 龔昌來. 單片機控制的智能型搶

121、答器設(shè)計[J]. 廣東自動化與信息工程,2003,3:28-30.</p><p>  [2] 傅貴興. 兩款不用芯片搶答器的制作[J]. 電子制作 ,2011,09:110-115.</p><p>  [3] 李念強,張魯?shù)?單片機原理及應(yīng)用[M].北京:機械工業(yè)出版社,2007.3:1-200</p><p>  [4] 汪文,陳林. 單片機原理及應(yīng)用[M].

122、武漢:華中科技大學出版社, 2007.100-150</p><p>  [5] 臧殿紅. 基于AT89S51的八路搶答器的設(shè)計[J]. 科技信息,2011,(25):518-530. [6] 朱斌. 利用單片機制作簡易的8路搶答器及仿真[J]. 科技信息, 2011,01:101-102.</p><p>  [7] 張靖武,周靈彬. 單片機系統(tǒng)的Proteus 設(shè)計與仿真[M].北京

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論