基于單片機(jī)八路搶答器的設(shè)計(jì)(共36頁(yè))_第1頁(yè)
基于單片機(jī)八路搶答器的設(shè)計(jì)(共36頁(yè))_第2頁(yè)
基于單片機(jī)八路搶答器的設(shè)計(jì)(共36頁(yè))_第3頁(yè)
基于單片機(jī)八路搶答器的設(shè)計(jì)(共36頁(yè))_第4頁(yè)
基于單片機(jī)八路搶答器的設(shè)計(jì)(共36頁(yè))_第5頁(yè)
已閱讀5頁(yè),還剩31頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上四川信息職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(論文)設(shè)計(jì)(論文)題目: 基于單片機(jī)設(shè)計(jì)八路搶答器 專(zhuān) 業(yè): 應(yīng)用電子技術(shù) 班 級(jí): 應(yīng)電08-2班 學(xué) 號(hào): 姓 名: 肖 亮 指導(dǎo)教師: 李 華 二0一0年七月十日專(zhuān)心-專(zhuān)注-專(zhuān)業(yè)四川信息職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)(論文)任務(wù)書(shū)學(xué) 生姓 名肖亮學(xué)號(hào)班級(jí)應(yīng)電08-2班專(zhuān)業(yè)應(yīng)用電子技術(shù)設(shè)計(jì)(或論文)題目八路搶答器指導(dǎo)教師姓名職 稱(chēng)工作單位及所從事專(zhuān)業(yè)聯(lián)系方式備 注李華講師四川信息職業(yè)技術(shù)學(xué)院設(shè)計(jì)(論文)內(nèi)容:運(yùn)用電子技術(shù)知識(shí)、技能設(shè)計(jì)8路搶答器。功能要求如下:1采用11個(gè)按鍵控制搶答器功能。2主持人按下開(kāi)始鍵后,發(fā)出一聲聲響,表示競(jìng)賽搶答

2、開(kāi)始,數(shù)碼管顯示倒計(jì)時(shí)。3最先按鍵的小組搶答成功,顯示對(duì)應(yīng)的小組編號(hào)。4用2位數(shù)碼管指示搶答結(jié)束時(shí)間,初值可用鍵盤(pán)設(shè)置;采用倒計(jì)時(shí)方式,當(dāng)規(guī)定時(shí)間到后,發(fā)出長(zhǎng)鳴指示,表示此輪搶答結(jié)束。5主持人按復(fù)位鍵后,可進(jìn)行下一輪搶答,搶答時(shí)間可以通過(guò)按鍵設(shè)置。 進(jìn)度安排:第24周:查找資料,選擇參考方案; 第56周:確定方案第710周:查找資料,進(jìn)行單元電路的設(shè)計(jì); 第1113周:整機(jī)電路整機(jī)與分析.第1415周:整理報(bào)告,確定初稿; 第15周:檢查定稿.主要參考文獻(xiàn)、資料(寫(xiě)清楚參考文獻(xiàn)名稱(chēng)、作者、出版單位):1張立科編著單片機(jī)典型模塊設(shè)計(jì)實(shí)例導(dǎo)航北京:人民郵電出版社,2004.2李金利編著單片機(jī)原理及

3、應(yīng)用技術(shù)北京:高等教育出版社,2004.3董曉紅編著單片機(jī)原理及接口技術(shù)西安:電子工業(yè)出版社,2007.4王振紅編著數(shù)字電路設(shè)計(jì)與應(yīng)用實(shí)踐教程北京:機(jī)械工業(yè)出版社,2003.5張靖武編著單片機(jī)系統(tǒng)的proteus設(shè)計(jì)及仿真北京:清華大學(xué)出版社,2003.6潭浩強(qiáng)編著C程序設(shè)計(jì)北京:清華大學(xué)出版社,2004.審批意見(jiàn)教研室負(fù)責(zé)人:年 月 日備注:任務(wù)書(shū)由指導(dǎo)教師填寫(xiě),一式二份。其中學(xué)生一份,指導(dǎo)教師一份。目錄摘要此次設(shè)計(jì)提出了用AT89C52單片機(jī)為核心控制元件,設(shè)計(jì)一個(gè)簡(jiǎn)易的8路搶答器,本方案以AT89C52單片機(jī)作為主控核心,與數(shù)碼管、蜂鳴器等構(gòu)成8路搶答器,利用了單片機(jī)的延時(shí)電路、按鍵復(fù)位

4、電路、時(shí)鐘電路、定時(shí)/中斷等電路,設(shè)計(jì)的搶答器具有實(shí)時(shí)顯示搶答選手的號(hào)碼和搶答時(shí)間的特點(diǎn),還有復(fù)位電路,使其再開(kāi)始新的一輪的答題和比賽,同時(shí)還利用C語(yǔ)言編程,使其實(shí)現(xiàn)一些基本的功能。本設(shè)計(jì)的系統(tǒng)實(shí)用性強(qiáng)、判斷精確、操作簡(jiǎn)單、擴(kuò)展功能強(qiáng)。它的功能實(shí)現(xiàn)是比賽開(kāi)始,主持人讀完題之后按下開(kāi)始開(kāi)關(guān),即計(jì)時(shí)開(kāi)始,此時(shí)數(shù)碼管開(kāi)始進(jìn)行30秒倒計(jì)時(shí),直到有一個(gè)選手搶答時(shí),對(duì)應(yīng)的會(huì)在數(shù)碼管上顯示出該選手的編號(hào)以及剩余時(shí)間,同時(shí)蜂鳴器也會(huì)發(fā)出聲音,以提示有人搶答本題,在規(guī)定的最后5秒時(shí)間內(nèi)還沒(méi)有做出搶答,蜂鳴器發(fā)出報(bào)警,提示選手盡快作答,如果30秒內(nèi)無(wú)人作答則此題作廢,即開(kāi)始重新一輪的搶答。關(guān)鍵詞單片機(jī);數(shù)碼管;搶

5、答器第1章緒論二十世紀(jì)跨越了三個(gè)“電”的時(shí)代,即電氣時(shí)代、電子時(shí)代和現(xiàn)已進(jìn)入的電腦時(shí)代。不過(guò),這種電腦,通常是指?jìng)€(gè)人計(jì)算機(jī),簡(jiǎn)稱(chēng)PC機(jī)。它由主機(jī)、鍵盤(pán)、顯示器等組成。還有一類(lèi)計(jì)算機(jī),大多數(shù)人卻不怎么熟悉。這種計(jì)算機(jī)就是把智能賦予各種機(jī)械的單片機(jī)(亦稱(chēng)微控制器)。顧名思義,這種計(jì)算機(jī)的最小系統(tǒng)只用了一片集成電路,即可進(jìn)行簡(jiǎn)單運(yùn)算和控制。因?yàn)樗w積小,通常都藏在被控機(jī)械的“肚子”里。它在整個(gè)裝置中,起著有如人類(lèi)頭腦的作用,它出了毛病,整個(gè)裝置就癱瘓了。現(xiàn)在,這種單片機(jī)的使用領(lǐng)域已十分廣泛,如智能儀表、實(shí)時(shí)工控、通訊設(shè)備、導(dǎo)航系統(tǒng)、家用電器等。各種產(chǎn)品一旦用上了單片機(jī),就能起到使產(chǎn)品升級(jí)換代的功效,

6、常在產(chǎn)品名稱(chēng)前冠以形容詞“智能型”。在知識(shí)競(jìng)賽中,往往會(huì)用到搶答器。故此我們就選擇利用單片機(jī)編程來(lái)設(shè)計(jì)搶答器,即使兩組的搶答時(shí)間相差幾微秒,也能輕松的分辨出哪一組(或哪個(gè)選手)先搶答到題。本系統(tǒng)采用單片機(jī)作為整個(gè)控制核心。控制系統(tǒng)的四個(gè)模塊為:顯示模塊、存儲(chǔ)模塊、語(yǔ)音模塊、搶答開(kāi)關(guān)模塊。該系統(tǒng)通過(guò)開(kāi)關(guān)電路四個(gè)按鍵輸入搶答信號(hào),利用一個(gè)數(shù)碼管來(lái)完成顯示功能,用按鍵來(lái)讓選手進(jìn)行搶答,在數(shù)碼管上顯示哪一組先答題的,從而實(shí)現(xiàn)整個(gè)搶答過(guò)程。工作時(shí),用按鍵通過(guò)開(kāi)關(guān)電路輸入各路的搶答信號(hào),經(jīng)單片機(jī)的處理, 輸出控制信號(hào),單片機(jī)控制的智能搶答器設(shè)計(jì)。第2章整體設(shè)計(jì)方案2.1方案設(shè)計(jì)方案一:搶答按鈕優(yōu)先編碼電路

7、鎖存器譯碼電路譯碼顯示主持人控制開(kāi)關(guān)控制電路報(bào)警電路秒脈沖產(chǎn)生電路定時(shí)電路譯碼電路顯示電路圖2-1 模數(shù)電搶答器設(shè)計(jì)方案采用模數(shù)電設(shè)計(jì),包括優(yōu)先編碼電路、鎖存器、譯碼電路將參賽隊(duì)的輸入信號(hào)在顯示器上輸出;用控制電路和主持人開(kāi)關(guān)啟動(dòng)報(bào)警電路,以上兩部分組成主體電路。通過(guò)定時(shí)電路和譯碼電路將秒脈沖產(chǎn)生的信號(hào)在顯示器上輸出實(shí)現(xiàn)計(jì)時(shí)功能,構(gòu)成擴(kuò)展電路。經(jīng)過(guò)布線(xiàn)、焊接、調(diào)試等工作后數(shù)字搶答器成形。如圖2-1所示。方案二:采用AT89C52單片機(jī)為核心控制元件,發(fā)光二極管、數(shù)碼管、蜂鳴器等構(gòu)成8路搶答器,利用了單片機(jī)的延時(shí)電路、按鍵時(shí)鐘電路、復(fù)位電路、報(bào)警電路、顯示電路、控制電路、搶答電路,設(shè)計(jì)的搶答器具

8、有實(shí)時(shí)顯示搶答選手的號(hào)碼和搶答時(shí)間的特點(diǎn),還有復(fù)位電路,使其再開(kāi)始新的一輪的答題和比賽,同時(shí)還利用C語(yǔ)言編程,使其實(shí)現(xiàn)一些基本的功能。如圖2-2所示。單 片 機(jī)顯示電路控制電路搶答電路時(shí)鐘電路復(fù)位電路報(bào)警電路圖2-2單片機(jī)搶答器設(shè)計(jì)方案2.2方案論證搶答器又稱(chēng)為第一信號(hào)鑒別器,其主要應(yīng)用于各種知識(shí)競(jìng)賽、文藝活動(dòng)、證券、股票交易及各種智力競(jìng)賽等場(chǎng)合。在很多公開(kāi)競(jìng)爭(zhēng)場(chǎng)合要求有公正的競(jìng)爭(zhēng)裁決,因此出現(xiàn)了搶答器。方案一由很多電路組成的,線(xiàn)路復(fù)雜,可靠性不高,功能也比較簡(jiǎn)單,特別是當(dāng)搶答路數(shù)很多時(shí),實(shí)現(xiàn)起來(lái)就更為困難。因此我們?cè)O(shè)計(jì)采用方案二以單片機(jī)為核心的新型智能的搶答器,在保留原始搶答器的基本功能的同

9、時(shí)又增加了數(shù)碼管顯示電路實(shí)現(xiàn)了其它功能。第3章硬件設(shè)計(jì)3.1主控芯片介紹單片機(jī)AT89C52具有低電壓供電和體積小等特點(diǎn),四個(gè)端口只需要兩個(gè)口就能滿(mǎn)足電路系統(tǒng)的設(shè)計(jì)需要,很適合便攜手持式產(chǎn)品的設(shè)計(jì)使用系統(tǒng)可用二節(jié)電池供電。AT89C52是一個(gè)低電壓,高性能CMOS 8位單片機(jī),片內(nèi)含4k bytes的可反復(fù)擦寫(xiě)的Flash只讀程序存儲(chǔ)器和128 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲(chǔ)單元,內(nèi)置功能強(qiáng)大的微型計(jì)算機(jī)的AT89C52提供了高性?xún)r(jià)比的解決方案。AT89C52

10、是一個(gè)低功耗高性能單片機(jī),40個(gè)引腳,32個(gè)外部雙向輸入/輸出(I/O)端口,同時(shí)內(nèi)含2個(gè)外中斷口,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,AT89C52可以按照常規(guī)方法進(jìn)行編程,也可以在線(xiàn)編程。其將通用的微處理器和Flash存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫(xiě)的Flash存儲(chǔ)器可有效地降低開(kāi)發(fā)成本。圖3-1AT89C52引腳圖主要功能特性如表3-2所示:兼容MCS-51指令系統(tǒng)4k可反復(fù)擦寫(xiě)(>1000次)Flash ROM32個(gè)雙向I/O口可編程UARL通道兩個(gè)16位可編程定時(shí)/計(jì)數(shù)器全靜態(tài)操作0-24MHz1個(gè)串行中斷128x8bit內(nèi)部RAM兩個(gè)外部中斷源共6個(gè)中斷源可直

11、接驅(qū)動(dòng)LED3級(jí)加密位低功耗空閑和掉電模式軟件設(shè)置睡眠和喚醒功能表3-2AT89C52功能特性表AT89C52單片機(jī)的管腳功能:VCC:供電電壓。GND:接地。P0口:P0口為一個(gè)8位漏級(jí)開(kāi)路雙向I/O口,每腳可吸收8TTL門(mén)電流。當(dāng)P1口的管腳第一次寫(xiě)1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門(mén)電流。P1口管腳寫(xiě)入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外

12、部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門(mén)電流,當(dāng)P2口被寫(xiě)“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫(xiě)時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。P

13、3口:P3口是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門(mén)電流。當(dāng)P3口寫(xiě)入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口,如下表所示:P3口管腳備選功能P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2(外部中斷0)P3.3(外部中斷1)P3.4T0(記時(shí)器0外部輸入)P3.5T1(記時(shí)器1外部輸入)P3.6(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通)P3.7(外部數(shù)據(jù)存儲(chǔ)器讀選通)P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí)

14、,要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次有效。但在訪(fǎng)問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的信號(hào)將不出現(xiàn)。VPP:當(dāng)保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),將內(nèi)部鎖定為RESET;當(dāng)端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。XTAL2:來(lái)自反向振蕩器的輸出。3.2時(shí)鐘電路和復(fù)位電路3.2.1時(shí)鐘電路單片機(jī)的時(shí)鐘信號(hào)用來(lái)提供單片機(jī)內(nèi)各種微操作的時(shí)間

15、基準(zhǔn),時(shí)鐘電路用于產(chǎn)生單片機(jī)工作所需要的時(shí)鐘信號(hào)。單片機(jī)的時(shí)鐘信號(hào)用來(lái)提供單片機(jī)片內(nèi)各種微操作的時(shí)間基準(zhǔn),時(shí)鐘信號(hào)通常用兩種電路形式得到:內(nèi)部振蕩和外部振蕩。本系統(tǒng)設(shè)計(jì)采用內(nèi)部振蕩方式。3.2.2 復(fù)位電路:復(fù)位電路是必不可少的一部分,復(fù)位電路的第一功能是上電復(fù)位。一般電路正常工作需要供電電源為5V±5%,即4.755.25V。RST端的外部復(fù)位電路有兩種操作方式:上電自動(dòng)復(fù)位和按鍵手動(dòng)復(fù)位。按鍵手動(dòng)復(fù)位有電平方式和脈沖方式兩種,本系統(tǒng)設(shè)計(jì)采用上電復(fù)位,上電復(fù)位是直接將RST端通過(guò)電阻接高電平來(lái)實(shí)現(xiàn)單片機(jī)的復(fù)位。如圖3-2所示。圖3-2復(fù)位、時(shí)鐘電路3.3搶答電路按照鍵盤(pán)與單片機(jī)的連

16、接方式可分為獨(dú)立式鍵盤(pán)與矩陣式鍵盤(pán)。獨(dú)立式鍵盤(pán)是一種常見(jiàn)的輸入裝置,但是獨(dú)立式鍵盤(pán)局限于個(gè)數(shù),以及占用較多I/O口,所以本次設(shè)計(jì)采用的是矩陣式鍵盤(pán)。如圖3-3所示。圖3-3搶答電路矩陣鍵盤(pán)行掃描實(shí)現(xiàn)原理:判斷鍵盤(pán)中有無(wú)鍵按下將全部行線(xiàn)P1.0和P1.1置低電平,然后檢測(cè)列線(xiàn)的狀態(tài)。只要有一列的電平為低,則表示鍵盤(pán)中有鍵被按下,而且閉合的鍵位于低電平線(xiàn)與4根行線(xiàn)相交叉的4個(gè)按鍵之中。若所有列線(xiàn)均為高電平,則鍵盤(pán)中無(wú)鍵按下。判斷閉合鍵所在的位置在確認(rèn)有鍵按下后,即可進(jìn)入確定具體閉合鍵的過(guò)程。其方法是:依次將行線(xiàn)置為低電平,即在置某根行線(xiàn)為低電平時(shí),其它線(xiàn)為高電平。在確定某根行線(xiàn)位置為低電平后,再逐

17、行檢測(cè)各列線(xiàn)的電平狀態(tài)。若某列為低,則該列線(xiàn)與置為低電平的行線(xiàn)交叉處的按鍵就是閉合的按鍵。3.4顯示電路在單片機(jī)應(yīng)用系統(tǒng)中,對(duì)于系統(tǒng)的運(yùn)行狀態(tài)和運(yùn)行結(jié)果,通常都需要直觀(guān)交互顯示出來(lái)。單片機(jī)應(yīng)用系統(tǒng)中最常用的顯示器有LED和LCD兩種。這兩種顯示器都可以顯示數(shù)字、字符及系統(tǒng)的狀態(tài),LED和LCD數(shù)碼顯示最為普遍,本設(shè)計(jì)采用的是更為環(huán)保的4位LED顯示器。如圖3-4所示。圖3-4顯示電路4位數(shù)碼管動(dòng)態(tài)顯示原理與實(shí)現(xiàn):P0.0-P0.6端口接動(dòng)態(tài)數(shù)碼管的字形碼筆段,P2.0-P2.3端口接動(dòng)態(tài)數(shù)碼管的數(shù)位選擇端。4位數(shù)碼管的8個(gè)顯示筆劃"a,b,c,d,e,f,g,dp "的同名

18、端連在一起,另外為每個(gè)數(shù)碼管的公共極COM增加位選端控制電路,位選端由獨(dú)立的I/O線(xiàn)控制,當(dāng)單片機(jī)輸出字形碼時(shí),所有數(shù)碼管都接收到相同的字形碼,但究竟是那個(gè)數(shù)碼管會(huì)顯示出字形,取決于單片機(jī)對(duì)位選端控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開(kāi),該位元就顯示出字形,沒(méi)有選通的數(shù)碼管就不會(huì)亮。就使各個(gè)數(shù)碼管輪流受控顯示,這就是動(dòng)態(tài)顯示原理。在輪流顯示過(guò)程中,每位元數(shù)碼管的點(diǎn)亮?xí)r間為12ms,由于人的視覺(jué)暫留現(xiàn)象及發(fā)光二極體的余輝效應(yīng),盡管實(shí)際上各位數(shù)碼管并非同時(shí)點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示資料,不會(huì)有閃爍感,動(dòng)態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的I/O埠

19、,而且功耗更低。3.5控制電路本次設(shè)計(jì)中控制電路采用4個(gè)獨(dú)立按鍵來(lái)控制搶答時(shí)間的加減,時(shí)間對(duì)搶答器功能的調(diào)節(jié),如圖3-5所示。圖3-5控制電路控制電路的原理與實(shí)現(xiàn):當(dāng)控制電路中K9-K12中有鍵被按下時(shí),對(duì)應(yīng)的I/O口被置低電平,聽(tīng)過(guò)中斷程序?qū)崿F(xiàn)相對(duì)應(yīng)的功能。該電路采用獨(dú)立式按鍵,其原理簡(jiǎn)單明了。3.6報(bào)警電路因?yàn)閾尨鹌鞯膱?bào)警比較簡(jiǎn)單,只起提示選手的搶答成功信息及時(shí)間警告等少許功能,本次報(bào)警電路核心器件采用一個(gè)蜂鳴器實(shí)現(xiàn)報(bào)警。如圖3-6所示。圖3-6報(bào)警電路3.7整機(jī)工作原理本系統(tǒng)采用單片機(jī)作為整個(gè)控制核心??刂葡到y(tǒng)的四個(gè)模塊為:顯示模塊、控制模塊、報(bào)警模塊、搶答模塊(原理圖見(jiàn)附錄1)。工作時(shí)

20、,該系統(tǒng)通過(guò)矩陣鍵盤(pán)輸入搶答信號(hào),經(jīng)單片機(jī)的處理,輸出控制信號(hào),利用一個(gè)4位數(shù)碼管來(lái)完成顯示功能并伴隨蜂鳴器報(bào)警,用按鍵來(lái)讓選手進(jìn)行搶答,在數(shù)碼管上顯示哪一組先答題的,從而實(shí)現(xiàn)整個(gè)搶答過(guò)程。當(dāng)主持人按下開(kāi)始鍵時(shí),向單片機(jī)P3.2引腳輸入一個(gè)低電平信號(hào),表示整個(gè)電路開(kāi)始工作,此時(shí)數(shù)碼管前兩位顯示選手編號(hào)(無(wú)人搶答顯示00),后兩位顯示倒計(jì)時(shí)剩余時(shí)間。若在25秒內(nèi)仍然無(wú)人搶答,蜂鳴器在最后5秒發(fā)出連續(xù)報(bào)警,提示搶答時(shí)間快要結(jié)束;若在30秒內(nèi)有人搶答,并且搶答成功,則將選手編號(hào)顯示在數(shù)碼管前兩位上,后兩位顯示搶答剩余時(shí)間,同時(shí)蜂鳴器發(fā)出一聲報(bào)警,提示其他沒(méi)有搶答的選手此題已被人搶答成功。若在搶答過(guò)程

21、中遇見(jiàn)特殊情況,主持人則可以通過(guò)時(shí)間加,時(shí)間減按鍵來(lái)進(jìn)行時(shí)間調(diào)節(jié)。若要開(kāi)始新的一輪搶答,主持人按下復(fù)位鍵再按開(kāi)始鍵即可。此次用單片機(jī)設(shè)計(jì)的搶答器思路簡(jiǎn)單明了,可操作性強(qiáng),可靠性高,擴(kuò)展功能強(qiáng),能夠完全實(shí)現(xiàn)普通搶答器的基本功能。第4章軟件設(shè)計(jì)4.1定時(shí)中斷模塊由于搶答器中需要顯示倒計(jì)時(shí)來(lái)提示選手們搶答時(shí)間,在規(guī)定時(shí)間內(nèi)作答,所以需要有定時(shí)中斷模塊,當(dāng)時(shí)間小于6秒時(shí),搶答器需要提供警告,以及當(dāng)搶答時(shí)間結(jié)束時(shí),要關(guān)閉外部中斷,表示搶答結(jié)束,此時(shí)再有鍵按下?lián)尨鹌饕膊粫?huì)做出反應(yīng)。流程圖如圖4-3所示。定時(shí)器0中斷1秒時(shí)間到?秒加1?數(shù)碼管顯示秒值中斷返回圖4-3搶答器定時(shí)器中斷流程圖程序:EA=1;ET

22、0=1; /*開(kāi)啟總中斷源*/EX0=1; /*啟動(dòng)外部中斷0*/if(shijian=0)TR0=0;TR2=0;TF2=0;4.2外部中斷模塊搶答器主要外部中斷來(lái)自于選手們的搶答,當(dāng)選手搶答時(shí),搶答器同時(shí)判斷被按下的鍵號(hào)并顯示在數(shù)碼管之上,然后再數(shù)碼管上顯示剩余時(shí)間,同時(shí)關(guān)閉中斷,表示搶答結(jié)束,此時(shí)再有鍵按下?lián)尨鹌饕膊粫?huì)做出反應(yīng)。外部中斷流程圖如圖4-3所示。外部中斷0中斷K1按下?K0按下?K2按下?K3按下?K4按下?K6按下?K7按下?K5按下?中斷返回?cái)?shù)碼管顯示01數(shù)碼管顯示02數(shù)碼管顯示03數(shù)碼管顯示04數(shù)碼管顯示06數(shù)碼管顯示05數(shù)碼管顯示07數(shù)碼管顯示08圖4-3外部中斷流程

23、圖YYYYYYYYNNNNNNNN程序:void timer_2()interrupt 5TH2=(65536-50000)/256;TL2=(65536-50000)%256;P1=0xfe;temp=P1;temp=temp&0xf0;while(temp!=0xf0)delay(5);temp=P1;temp=temp&0xf0;while(temp!=0xf0)temp=P1;TR2=0;switch(temp)case 0xee:TR0=0;TF2=0;num=1;bj();red=1;huang=0;break;case 0xde:TR0=0;TF2=0;num=2

24、;bj();red=1;huang=0;break;case 0xbe:TR0=0;TF2=0;num=3;bj();red=1;huang=0;break;case 0x7e:TR0=0;TF2=0;num=4;bj();red=1;huang=0;break;while(temp!=0xf0)temp=P1;temp=temp&0xf0;P1=0xfd;temp=P1;temp=temp&0xf0;while(temp!=0xf0)delay(5);temp=P1;temp=temp&0xf0;while(temp!=0xf0)temp=P1;TR2=0;switc

25、h(temp)case 0xed:TR0=0;TF2=0;num=5;bj();red=1;huang=0;break;case 0xdd:TR0=0;TF2=0;num=6;bj();red=1;huang=0;break;case 0xbd:TR0=0;TF2=0;num=7;bj();red=1;huang=0;break;case 0x7d:TR0=0;TF2=0;num=8;bj();red=1;huang=0;break;while(temp!=0xf0)temp=P1;temp=temp&0xf0;4.3報(bào)警模塊報(bào)警模塊主要作用有兩個(gè),一是當(dāng)時(shí)間還剩5秒時(shí),蜂鳴器放出報(bào)警

26、,以此提示選手們搶答時(shí)間將要結(jié)束;二是當(dāng)有選手第一時(shí)間搶答成功時(shí)發(fā)出報(bào)警聲,提示其他選手不必再搶答。報(bào)警程序流程圖如圖4-4所示。定時(shí)0中斷時(shí)間=6?秒加1?報(bào) 警中斷返回圖4-4報(bào)警程序流程圖YYNN程序:if(bb=1)bb=0;if(shijian=5)speak=speak;if(shijian=4)speak=speak;if(shijian=3)speak=speak;if(shijian=2)speak=speak;if(shijian=1)speak=speak;4.4控制模塊控制模塊主要作用是對(duì)搶答器的開(kāi)始和復(fù)位功能進(jìn)行控制,主要由主持人來(lái)實(shí)現(xiàn)功能。當(dāng)開(kāi)始鍵被按下時(shí),搶答器開(kāi)

27、始正常工作;當(dāng)搶答器停止工作是,可以按下復(fù)位鍵使搶答器回答初始化狀態(tài)??刂瞥绦蛄鞒虉D如圖4-5所示。初 始 化 部 分K9=0?啟動(dòng)中斷,數(shù)碼管開(kāi)始倒計(jì)時(shí)中斷返回K10=0?K11=0?K12=0?時(shí)間加1時(shí)間減1YYYYNNNN圖4-5控制程序流程圖程序:void keyscan()if(sjia=0)delay(5);if(sjia=0)shijian=shijian+1;if(shijian=99)shijian=0;while(!sjia);if(sji=0)delay(5);if(sji=0)shijian=shijian-1;if(shijian=0)hijian=30;while

28、(!sji);4.5主程序模塊主程序主要完成硬件初始化,子程序調(diào)用和程序間的切換,由于本設(shè)計(jì)要求搶答器具有開(kāi)始、復(fù)位、搶答、三種方式切換功能,所以主程序除了要進(jìn)行硬件部分的初始化以外還要進(jìn)行各個(gè)程序之間的調(diào)用和切換。主程序流程圖如圖4-6所示。開(kāi) 始初 始 化 部 分K9=0?啟動(dòng)中斷,數(shù)碼管開(kāi)始倒計(jì)時(shí)若有選手搶答中斷停止,數(shù)碼管顯示選手編號(hào)及所剩時(shí)間結(jié) 束YYNN圖4-6搶答器主程序流程圖程序:void main()huang=0;red=0;EA=1;TMOD=0x11;T2CON=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;TH1=(

29、65536-5000)/256;TL1=(65536-5000)%256;TH2=(65536-50000)/256;TL2=(65536-50000)%256;ET0=1;TR0=0;ET1=1;TR1=1;ET2=1;TR2=0;IT0=1;EX0=1;IT1=1;EX1=1;aa=0;bb=0;shijian=30;while(1)keyscan();第5章系統(tǒng)的仿真5.1搶答器Keil軟件的仿真運(yùn)行程序,查找語(yǔ)法錯(cuò)誤,按照錯(cuò)誤提示修改程序,直到0錯(cuò)誤0警告為止程序語(yǔ)法調(diào)試成功,生成HEX文件加載進(jìn)電路。如圖5-1所示。圖5-1程序調(diào)試5.2搶答器protenus軟件的仿真繪制搶答器的軟

30、件仿真圖步驟分一下四步:(1)查找所需要的元器件;(2)根據(jù)電路圖進(jìn)行連線(xiàn);(3)是用來(lái)寫(xiě)線(xiàn)所對(duì)應(yīng)的坐標(biāo);(4)裝載keil生成和HEX文件進(jìn)行仿真。通過(guò)以上步驟,來(lái)實(shí)現(xiàn)搶答器設(shè)計(jì)的仿真實(shí)現(xiàn),仿真如圖5-2所示:圖5-2搶答器的proteus仿真圖5.3 調(diào)試與運(yùn)行把編寫(xiě)好的程序放入仿真軟件中,結(jié)合硬件電路進(jìn)行調(diào)試與運(yùn)行。(1)在仿真軟件中按下開(kāi)始按鈕,從而達(dá)到仿真的目的;(2)LED顯示器顯示當(dāng)前0030初始化;(3)按照本次實(shí)際任務(wù)要求,逐個(gè)調(diào)試功能是否能實(shí)現(xiàn)。結(jié)論經(jīng)過(guò)近一個(gè)月的努力,在老師和同學(xué)的商討和幫助下,我較好的完成了設(shè)計(jì)任務(wù),通過(guò)此次課程設(shè)計(jì),我重新認(rèn)識(shí)到了自學(xué)的重要性,以及學(xué)以

31、致用的道理。我在圖書(shū)館查閱了大量的資料,同時(shí)也認(rèn)識(shí)到了圖書(shū)館的重要作用。通過(guò)此次的搶答器的設(shè)計(jì),讓我重新拾起了以前所學(xué)習(xí)的電子知識(shí),及我覺(jué)得此次設(shè)計(jì)讓我更加鞏固了所學(xué)的知識(shí)并在設(shè)計(jì)的過(guò)程中學(xué)會(huì)了與時(shí)俱進(jìn),克服了編程的枯燥感,讓我受益匪淺。在學(xué)習(xí)單片機(jī)這門(mén)課程的時(shí)候,我們應(yīng)該好好你的記筆記,課下好好的做練習(xí)題才能把C程序設(shè)計(jì)靈活的運(yùn)用到單片機(jī)程序的設(shè)計(jì)上,在單片機(jī)這門(mén)課程的學(xué)習(xí)上,我們還應(yīng)該知道一種常用的仿真軟件proteus軟件,可以讓你我們更為清晰的掌握STC89C51/52系列的實(shí)際應(yīng)用上的設(shè)計(jì)。在今后的學(xué)習(xí)過(guò)程中,應(yīng)該多到圖書(shū)館看一些專(zhuān)業(yè)方面的書(shū)籍,以豐富自己的知識(shí)。也使我加深了對(duì)單片機(jī)

32、及接口技術(shù)的理解和應(yīng)用,由于知識(shí)水平的局限,設(shè)計(jì)中可能會(huì)存在著一些不足,我真誠(chéng)的接受老師和同學(xué)的批評(píng)和指正。參考文獻(xiàn)1張立科編著單片機(jī)典型模塊設(shè)計(jì)實(shí)例導(dǎo)航北京人民郵電出版社,20042李金利編著單片機(jī)原理及應(yīng)用技術(shù)北京高等教育出版社,20043董曉紅編著單片機(jī)原理及接口技術(shù)西安電子工業(yè)出版社,20074王振紅編著數(shù)字電路設(shè)計(jì)與應(yīng)用實(shí)踐教程北京機(jī)械工業(yè)出版社,20035張靖武編著單片機(jī)系統(tǒng)的proteus設(shè)計(jì)及仿真北京清華大學(xué)出版社,20036潭浩強(qiáng)編著C程序設(shè)計(jì)北京:清華大學(xué)出版社,2004附錄1電路原理圖附錄2源程序#include<reg52.h>#define uchar u

33、nsigned char#define uint unsigned intsbit speak=P34;sbit huang=P30;sbit red=P31;sbit sjia=P36;sbit sji=P37;sbit kai=P30;sbit fuwei=P31;sbit kais=P32;uchar num,temp,shijian,shi,ge,ashi,age,aa,tt,bb,i;uchar code table=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e;void

34、 delay(uint z)uchar x,y;for(x=z;x>0;x-)for(y=110;y>0;y-);void bj()for(i=0;i<110;i+)speak=speak; delay(6);for(i=0;i<230;i+)speak=speak; delay(2);void keyscan()if(sjia=0)delay(5);if(sjia=0)shijian=shijian+1;if(shijian=99)shijian=0;while(!sjia);if(sji=0)delay(5);if(sji=0)shijian=shijian-1;i

35、f(shijian=0)shijian=30;while(!sji);void zhuanhuan()shi=shijian/10; ge=shijian%10; ashi=num/10; age=num%10;void sound()speak=0;void main()huang=0;red=0;EA=1;TMOD=0x11;T2CON=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;TH1=(65536-5000)/256;TL1=(65536-5000)%256;TH2=(65536-50000)/256;TL2=(65536-5000

36、0)%256;ET0=1;TR0=0;ET1=1;TR1=1;ET2=1;TR2=0;IT0=1;EX0=1;IT1=1;EX1=1;aa=0;bb=0;shijian=30;while(1)keyscan();void int_0() interrupt 0huang=1; TR0=1; TR2=1;void timer_0() interrupt 1TH0=(65536-50000)/256;TL0=(65536-50000)%256;aa+;if(aa=20)aa=0;shijian-;if(shijian=6)red=1;huang=0sound();if(shijian=0)TR0=

37、0;TR2=0;TF2=0;void int_1() interrupt 2 shijian=30;num=0;TR0=0;TR2=0;void timer_1() interrupt 3TH1=(65536-5000)/256;TL1=(65536-5000)%256;tt+;bb+;if(tt=5)tt=1;zhuanhuan();switch(tt)case 1:P2=0xf4;P0=tableshi;break;case 2:P2=0xf8;P0=tablege;break;case 3:P2=0xf1;P0=tableashi;break;case 4:P2=0xf2;P0=tabl

38、eage;break; efault : ;if(bb=1)bb=0;if(shijian=5)speak=speak;if(shijian=4)speak=speak;if(shijian=3)speak=speak;if(shijian=2)speak=speak;if(shijian=1)speak=speak;void timer_2() interrupt 5TH2=(65536-50000)/256;TL2=(65536-50000)%256;P1=0xfe;temp=P1;temp=temp&0xf0;while(temp!=0xf0)delay(5);temp=P1;temp=temp&0xf0;while(temp!=0xf0)temp=P1;TR2=0;switch(te

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論