武漢理工大學拓展訓練_第1頁
武漢理工大學拓展訓練_第2頁
武漢理工大學拓展訓練_第3頁
武漢理工大學拓展訓練_第4頁
武漢理工大學拓展訓練_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、-PAGE . z學 號:能力拓展訓練題 目智能搶答器設計學 院自動化學院專 業(yè)自動化專業(yè)班 級姓 名指導教師2013年6月24日-. z能力拓展訓練任務書學生: 專業(yè)班級:指導教師: 工作單位:自動化學院題 目: 智能搶答器設計初始條件:計算機、Ma*+plus、EDA實驗箱。要求完成的主要任務: 包括課程設計工作量及其技術要求,以及說明書撰寫等具體要求設計智能搶答器,使用8位按鍵,分別模擬搶答者位數(shù)。當在提問時所有的按鍵均是被封鎖的,即按下無響應。在要求答復時,所有按鍵同時開放,當*按鍵最先按下時,立即保持該按鍵信號封鎖其它所有按鍵,用BCD碼形式顯示該按鍵。提高局部:記錄搶答過程的時間毫

2、秒并顯示 任務安排:設計任務及要求分析方案比擬及認證說明系統(tǒng)原理闡述,寫出設計方案構造圖。軟件設計課題需要說明:軟件思想,流程圖,源程序及程序注釋調試記錄及結果分析、總結參考資料5篇以上附錄:程序清單時間安排:6月24日:安排設計任務;收集資料;方案選擇6月25日:程序設計6月2627日:實驗室調試程序并演示6月28日:撰寫報告7月1日:交能力拓展訓練報告主要參考資料:1 譚會生,昌凡EDA 技術及應用:電子科技大學20042 曉明EDA實驗指導書:理工大學教材中心,20071指導教師簽名: 曉明 2013 年 6 月 24 日系主任或責任教師簽名: 年 月 日摘 要搶答器作為一種工具,已廣泛

3、應用于各種智力和知識競賽場合。但搶答器的使用頻率較低,且有的要么制作復雜,要么可靠性低。作為一個單位,如果專門購一臺搶答器雖然在經(jīng)濟上可以承受,但每年使用的次數(shù)極少,往往因長期存放使電子器件的搶答器損壞,再購置的麻煩和及時性就會影響活動的開展,因此設計了本搶答器。本設計是以八路搶答器為根本理念??紤]到依需設定限時答復的功能,利用AT89S51單片機及外圍接口實現(xiàn)的搶答系統(tǒng),利用單片機的定時器/計數(shù)器定時和計數(shù)的原理,將軟、硬件有機地結合起來,使得系統(tǒng)能夠正確地進展計時,同時使數(shù)碼管能夠正確地顯示時間。用觸點開關做鍵盤輸入,蜂鳴器發(fā)聲提示。同時系統(tǒng)能夠實現(xiàn):在搶答中,只有開場后搶答才有效,如果在

4、開場搶答前搶答做違規(guī)處理,蜂鳴器報警,同時數(shù)碼管顯示違規(guī)選手號;搶答限定時間和答復下列問題的時間可在1-60s圍設定;可以顯示是哪位選手有效搶答,正確按鍵后有蜂鳴器提示;已經(jīng)有人按下?lián)尨疰I,其他人再按下無效;搶答時間和答復下列問題時間倒記時顯示,當答復時間快到時,蜂鳴器報警提示,LED閃爍。答復時間到零,系統(tǒng)自動停頓并復位。在本文中作者將通過軟件流程示意框圖,和硬件構造框圖的形式詳細的為讀者展示這款八路搶答器的獨到之處。關鍵詞:八路搶答器、硬件構造框圖、軟件流程示意框圖、AT89S51單片機-. z目 錄TOC o 1-3 h z uHYPERLINK l _Toc3602569001總體設計

5、 PAGEREF _Toc360256900 h 1HYPERLINK l _Toc3602569011.1設計要求 PAGEREF _Toc360256901 h 1HYPERLINK l _Toc3602569021.2設計方案 PAGEREF _Toc360256902 h 1HYPERLINK l _Toc3602569032硬件設計 PAGEREF _Toc360256903 h 2HYPERLINK l _Toc3602569042.1硬件總體框圖 PAGEREF _Toc360256904 h 2HYPERLINK l _Toc3602569052.2各局部器件選型 PAGERE

6、F _Toc360256905 h 2HYPERLINK l _Toc360256906微處理器的選型 PAGEREF _Toc360256906 h 2HYPERLINK l _Toc360256907報警提示器件的選型 PAGEREF _Toc360256907 h 4HYPERLINK l _Toc360256908顯示器件的選型 PAGEREF _Toc360256908 h 6HYPERLINK l _Toc360256909電源電路 PAGEREF _Toc360256909 h 7HYPERLINK l _Toc3602569103軟件設計 PAGEREF _Toc3602569

7、10 h 9HYPERLINK l _Toc3602569113.1主程序流程圖 PAGEREF _Toc360256911 h 9HYPERLINK l _Toc3602569123.2子程序流程圖 PAGEREF _Toc360256912 h 10HYPERLINK l _Toc360256913延時程序子程序 PAGEREF _Toc360256913 h 10HYPERLINK l _Toc3602569143.2.2 8路熱鍵掃描子程序 PAGEREF _Toc360256914 h 11HYPERLINK l _Toc3602569153.2.3 顯示處理子程序 PAGEREF

8、_Toc360256915 h 13HYPERLINK l _Toc3602569163.2.4 調節(jié)處理子程序 PAGEREF _Toc360256916 h 14HYPERLINK l _Toc360256917定時器0子程序 PAGEREF _Toc360256917 h 15HYPERLINK l _Toc3602569184仿真操作步驟及使用說明 PAGEREF _Toc360256918 h 16HYPERLINK l _Toc360256919完畢語 PAGEREF _Toc360256919 h 17HYPERLINK l _Toc360256920參考文獻 PAGEREF _

9、Toc360256920 h 18HYPERLINK l _Toc360256921附錄一:電路圖 PAGEREF _Toc360256921 h 19HYPERLINK l _Toc360256922附錄二:C語言代碼 PAGEREF _Toc360256922 h 20HYPERLINK l _Toc360256923附錄三:數(shù)碼管字形碼表 PAGEREF _Toc360256923 h 37HYPERLINK l _Toc360256924本科生能力拓展訓練成績評定表 PAGEREF _Toc360256924 h 38-. z智能搶答器1總體設計1.1設計要求這次課程設計要求設計智能搶

10、答器,使用8位按鍵,分別模擬搶答者位數(shù)。當在提問時所有的按鍵均是被封鎖的,即按下無響應。在要求答復時,所有按鍵同時開放,當*按鍵最先按下時,立即保持該按鍵信號封鎖其它所有按鍵,用BCD碼形式顯示該按鍵。1.2設計方案在本設計中,對已定的要求,進展了拓展和改良。每名選手有一個搶答按扭,按扭的編號與選手的編號相對應,搶答器具有信號的鑒別和數(shù)據(jù)的鎖存、顯示的功能。搶答開場前可以對搶答時間和答題時間進展設定,如果此時有選手按下?lián)尨疰I,則作違規(guī)處理,顯示違規(guī)選手號,并使蜂鳴器發(fā)聲報警。設定完畢后,由主持人按下?lián)尨痖_場按鈕,蜂鳴器發(fā)出提示音,方可進展搶答,同時搶答時間開場倒數(shù)。搶答開場后,假設有選手按下?lián)?/p>

11、答按扭,則數(shù)碼管顯示該選手號,蜂鳴器提示開場作答,答題倒計時開場。同時,電路實現(xiàn)軟件自鎖功能,制止其他選手再搶答,優(yōu)先搶答選手的編號一直保持到主持人將系統(tǒng)清零為止。假設此時在已經(jīng)有選手按下?lián)尨鹌鲿r,另外一個選手再按搶答器不響應。當答題時間快到時報警,隔1秒響一聲且紅燈閃爍,響三聲。答題時間到零,系統(tǒng)自動停頓復位,等待下一次開場。在本設計中初始搶答時間為20s,初始答題時間為30s。2硬件設計2.1硬件總體框圖硬件總體框圖如圖1。微處理器模塊看門狗電路電源電路報警提示電路鍵盤顯示器件接口電路接口電路接口器件圖1硬件總體框圖電源電路給微處理器提供5V電源,獨立鍵盤通過接口電路,向微處理器發(fā)出信號請

12、求,微處理器通過接口,從顯示器件和報警提示器件輸出。2.2各局部器件選型2.2.1微處理器的選型MSC-51系列單片機是英特爾公司于1980年起推出的第二代產(chǎn)品。與8084相比,8051的硬件構造和指令系統(tǒng)均有很大改良,可支持更大的存貯空間,擴大了更多的硬件功能I/O功能,速度提高了2- 5倍,可完成邏輯運算等。近年來推出的一些增強的MSC-51系統(tǒng)單片機,片還集成了許多特殊功能單元,只需要加一些擴展電路及必要的通道接口即可構成各種計算機應用系統(tǒng)。因MSC-51系統(tǒng)單片機在智能儀表、智能接口、功能模塊等領域得到了非常廣泛的應用。主要技術特性:適于控制應用的8位CPU。擴展的邏輯處理能力。64K

13、程序存貯器空間和64K數(shù)據(jù)存貯器空間。4KB片程序存貯器。圖2 51單片機引腳圖128B片數(shù)據(jù)RAM。32根雙向和可單獨尋址的輸入輸出線。2個16位定時/計數(shù)器,片時鐘發(fā)生器。全雙工異步發(fā)送/接收器。 6源5向量中斷構造,具有兩個優(yōu)先級。引腳圖如圖2,并作如下說明:(1)VCC:供電電壓。(2)GND:接地。(3)P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當FIASH進展校驗時,P0輸出原碼,此時P0外部必須被

14、拉高。 (4)P1口:P1口是一個部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。 (5)P2口:P2口為一個部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫1時,其管腳被部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進展存取時,P2口輸出地址的高八位。在給出地址1時,

15、它利用部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進展讀寫時,P2口輸出其特殊功能存放器的容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。 (6)P3口:P3口管腳是8個帶部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入1后,它們被部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流ILL這是由于上拉的緣故。 P3口也可作為AT89C51的一些特殊功能口,如下表所示:P3口管腳 備選功能P3.0 R*D串行輸入口P3.1 T*D串行輸出口P3.2 /INT0外部中斷0P3.3 /INT1外部中斷1P3.4 T0記時器0外部輸入P3.5 T1記

16、時器1外部輸入P3.6 /WR外部數(shù)據(jù)存儲器寫選通P3.7 /RD外部數(shù)據(jù)存儲器讀選通P3口同時為閃爍編程和編程校驗接收一些控制信號。 (7)RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。 (8)ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。 (9)/PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。 (10)/EA/VPP:當/EA保持低電平時,則在此期間外部程序存儲器0000H-FFFFH,不管是否有部程序存儲器。

17、注意加密方式1時,/EA將部鎖定為RESET;當/EA端保持高電平時,此間部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源VPP。 (11)*TAL1:反向振蕩放大器的輸入及部時鐘工作電路的輸入。 (12)*TAL2:來自反向振蕩器的輸出。2.2.2報警提示器件的選型蜂鳴器和LED是最常用的指示器件,由于外部電路簡單,本錢低,所以被廣泛使用。本設計就采用蜂鳴器和LED作為報警提示裝置。LEDLight Emitting Diode,發(fā)光二極管,是一種固態(tài)的半導體器件,它可以直接把電轉化為光。LED的心臟是一個半導體的晶片,晶片的一端附在一個支架上,一端是負極,另一端連接電源的

18、正極,使整個晶片被環(huán)氧樹脂封裝起來。半導體晶片由兩局部組成,一局部是P型半導體,在它里面空穴占主導地位,另一端是N型半導體,在這邊主要是電子。但這兩種半導體連接起來的時候,它們之間就形成一個P-N結。當電流通過導線作用于這個晶片的時候,電子就會被推向P區(qū),在P區(qū)里電子跟空穴復合,然后就會以光子的形式發(fā)出能量,這就是LED發(fā)光的原理。而光的波長也就是光的顏色,是由形成P-N結的材料決定的。LED的特點非常明顯,壽命長、光效高、無輻射與低功耗。 LED耗電非常低,一般來說LED的工作電壓是2-3.6V。工作電流是2mA-30mA。對于貼片LED,參考壓降為,紅色的壓降為1.82-1.88V,綠色的

19、壓降為1.75-1.82V,橙色的壓降為1.7-1.8V,藍色的壓降為3.1-3.3V。Proteus仿真電路圖上用的電阻為470歐。如圖3所示。圖3 Proteus上LED的接線圖圖4蜂鳴器驅動電路蜂鳴器是一種一體化構造的電子訊響器,他廣泛應用于計算機、打印機、復印機、報警器、機等電子產(chǎn)品中作發(fā)聲器件。蜂鳴器主要分為壓電式蜂鳴器和電磁式蜂鳴器兩種類型。 電磁式蜂鳴器由振蕩器、電磁線圈、磁鐵、振動膜片及外殼等組成。接通電源后,振蕩器產(chǎn)生的音頻信號電流通過電磁線圈,使電磁線圈產(chǎn)生磁場,振動膜片在電磁線圈和磁鐵的相互作用下,周期性地振動發(fā)聲。我們開發(fā)板上使用的即為 磁式蜂鳴器。 蜂鳴器發(fā)聲原理是電

20、流通過電磁線圈,使電磁線圈產(chǎn)生磁場來驅動振動膜發(fā)聲的,因此需要一定的電流才能驅動它,單片機IO引腳輸出的電流較小,單片機輸出的TTL電平根本上驅動不了蜂鳴器,因此需要增加一個電流放大的電路,如圖4為蜂鳴器驅動電路,使用的是ULN2003。 如圖5所示,蜂鳴器的正極接到VCC電源上面,蜂鳴器的負極接到上面等效電路的OUTPUT端,單片機IO通過控制上面電路的INPUT端,當IO輸出低電平時,三極管截止,沒有電流流過線圈,蜂鳴器不發(fā)聲;當IO輸出高電平時,三極管導通,這樣蜂鳴器的電流形成回路,發(fā)出聲音。因此,我們可以通過程序控制INPUT 的電平來使蜂鳴器發(fā)出聲音和關閉。Proteus上用Spea

21、ker仿真元件和實際硬件連線略有不同可以省略ULN2003。如圖6所示。圖5蜂鳴器等效電路圖6 Proteus上蜂鳴器的接線圖2.2.3顯示器件的選型LED 數(shù)碼管顯示器部由七個條形發(fā)光二極管和一個小圓點發(fā)光二極管組成,每個發(fā)光二極管稱為一字段,因而它的控制原理和發(fā)光二極管的控制原理是一樣的。根據(jù)各管的接線形式,它可分為兩種,一是共陽極發(fā)光二極管的陽極都接在一個公共點上,另一是共陰極發(fā)光二極管的陰極都接在一個公共點上。給LED 數(shù)碼管的七個發(fā)光二極管加不同的電平,二極管顯示不同亮滅的組合就可以形成不同的字形,這種組合稱之為字形碼。下面以1為高電平,0 為低電平,給出字形碼表,見附錄表1。此設計

22、中為共陰極。共陰極數(shù)碼管原理圖如圖7。圖7共陰極數(shù)碼管原理圖在Proteus仿真圖中,段選連接P0口,位選分別連接P2.0、P2.2、P2.3。由于51單片機P0口驅動電流不夠,所以要加上拉電阻,實際硬件連接中可以使用10k排阻。仿真圖如圖8。圖8 Proteus仿真圖數(shù)碼管的接線2.2.4電源電路電源電路如圖9電源電路是由整流橋,7805穩(wěn)壓塊和前后濾波電容組成,整流器接收變壓器送來的低壓交流信號,經(jīng)整流后變成直流電,在經(jīng)過100F的電解電容濾波后,送到7805穩(wěn)壓塊后,輸出穩(wěn)定的正5V電壓,再次濾波后送到單片機.圖9電源電路3軟件設計3.1主程序流程圖主程序流程圖如圖10。初始化開場鍵按下

23、?有人搶答?調節(jié)鍵按下?有人違規(guī)?搶答處理調節(jié)處理違規(guī)處理顯示處理停頓鍵按下?完畢NYNNNNYYYY圖10 主程序流程圖首先程序初始化,檢測開場鍵是否按下,如果沒有按下,有人按下?lián)尨疰I,即違規(guī),做違規(guī)處理,如果沒有人違規(guī),檢測調節(jié)鍵是否按下,如果按下做調節(jié)處理。當開場鍵按下,有人搶答則做搶答處理,沒人搶答則等待。不管開場鍵是否按下,都要進展顯示處理。最后檢測停頓鍵是否按下,如果按下則顯示F FF,清空存放器值,等待下一次開場。3.2子程序流程圖3.2.1延時程序子程序延時子程序流程圖如圖11。ms=ms0y=120ms-y-y0YNYN圖11 延時子程序流程圖通過上述程序可以控制延時n毫秒,

24、n為給定的實參。3.2.2 8路熱鍵掃描子程序第1路熱鍵掃描子程序流程圖如圖12。P1.0=0延時10msP1.0=0松手?關閉開場標志位顯示選手號YTNTYTYTNTNT圖12 第1路熱鍵掃描子程序流程圖在這里,以一號選手為例,當檢測到P1.0為低電平是,延時是毫秒再檢測,目的是延時去抖。鍵盤中的一個按鍵為一個機械彈性開關,用一個電壓信號0,1代表開關觸點的合、斷。機械開關觸點的彈性作用使得按鍵的閉合過程不會馬上穩(wěn)定地接通,斷開時也不會瞬時斷開,會出現(xiàn)所謂的抖動現(xiàn)象,其抖動時間一般為510ms。抖動現(xiàn)象會引起CPU對一次鍵操作進展屢次處理,從而可能產(chǎn)生錯誤。按鍵過程如圖13:圖13獨立鍵盤按

25、鍵過程在這里我采用了軟件去抖動的方法,即檢測到按鍵按下后,執(zhí)行延時10ms子程序后再確認該鍵是否確實按下,消除抖動影響。在確認按鍵按下之后,檢測是否松手,如果松手,使蜂鳴器響一聲,給選手開場作答,關閉標志位自鎖,使其他選手作答無效。3.2.3 顯示處理子程序顯示處理子程序流程圖如圖14。開場鍵?有人違規(guī)?搶答時間調整?答題時間調整?有人搶答?顯示F FF顯示M *M為搶答選手號*為答題倒計時顯示F FF顯示A *為搶答時間顯示b *為答題時間顯示* FF*為違規(guī)選手號顯示 *為搶答倒計時YNYYYYNNNN圖14 顯示處理子程序流程圖顯示子程序是整個程序的核心,初始化數(shù)碼管顯示F FF,當開場

26、鍵沒有按下,有人搶答,做違規(guī)處理,數(shù)碼管顯示 * FF*為違規(guī)選手號,此時假設沒有人違規(guī)可以顯示調節(jié)搶答時間數(shù)碼管顯示A *,*為搶答時間。此時假設沒有調節(jié)搶答時間,如果調節(jié)了答題時間,數(shù)碼管顯示b *,*為答題時間。如果此時也沒有調節(jié)答題時間,則仍然顯示F FF。如果開場鍵按下有人搶答,則數(shù)碼管顯示M *,M為搶答選手號,*為答題倒計時。如果此時無人搶答,數(shù)碼管顯示 *,*為搶答倒計時。3.2.4 調節(jié)處理子程序搶答時間自加1子程序流程圖如圖15。P3.1=0延時10msP3.1=0松手?搶答時間調整標志位置1搶答時間自加1YTNTYTYTNTNT圖15 搶答時間自加1子程序流程圖在這里,以

27、使搶答時間加為例,當檢測到P3.1為低電平是,延時是10毫秒再檢測,確認P3.1為低電平,等待松手,如果松手,搶答時間自加1,搶答時間調整標志位置1,同時關閉答題時間標志位。設置調節(jié)上限為60s,調節(jié)之后進入顯示處理子程序。3.2.5定時器0子程序定時器0子程序流程圖如圖16。到1ss-s=-1s5蜂鳴器報警顯示F FFs=20YNYYNN圖16 定時器0子程序流程圖檢測是否時間到1s,如果到1s,s自減1,當s小于5時,蜂鳴器報警,當s=-1時s置位20,數(shù)碼管顯示F FF。4仿真操作步驟及使用說明一各部件說明:觸點開關S1-S8為八位選手按鍵觸點開關S9為開場搶答鍵觸點開關S10為停頓鍵觸

28、點開關S11為搶答時間加1鍵觸點開關S12為搶答時間減1鍵觸點開關S13為答題時間加1鍵觸點開關S14為答時題間減1鍵觸點開關S15為復位鍵數(shù)碼管顯示時間LS1和D1用于報警指示二操作說明上電之后數(shù)碼管顯示F FF1按動觸點開關S11可使搶答時間加1,按動觸點開關S12可使搶答時間減1,數(shù)碼管顯示A *,*為搶答時間。按動觸點開關S13可使答題時間加1,按動觸點開關S14可使答題時間減1,數(shù)碼管顯示b *,*為答題時間。此時按下S1-S8中的任意一鍵,數(shù)碼管顯示* FF,*為違規(guī)選手號。2按下開場搶答鍵,數(shù)碼管顯示 *,*為搶答倒計時。3如果開場鍵按下有人搶答,則數(shù)碼管顯示M *,M為搶答選手

29、號,*為答題倒計時。此時按下S1-S8任意一鍵無響應。搶答時間倒計時,當小于5秒時,提示報警,蜂鳴器響,LED閃爍。4當答題時間到時,系統(tǒng)自動停頓,顯示F FF,同時在程序運行時,也可按下停頓鍵S10或復位鍵S15使程序停頓并復位。完畢語MSC-51系列單片機是英特爾公司于1980年起推出的第二代產(chǎn)品。與8084相比,8051的硬件構造和指令系統(tǒng)均有很大改良,可支持更大的存貯空間,擴大了更多的硬件功能I/O功能,速度提高了2- 5倍,可完成邏輯運算等。近年來推出的一些增強的MSC-51系統(tǒng)單片機,片還集成了許多特殊功能單元,只需要加一些擴展電路及必要的通道接口即可構成各種計算機應用系統(tǒng)。因MS

30、C-51系統(tǒng)單片機在智能儀表、智能接口、功能模塊等領域得到了非常廣泛的應用。通過這一周的關于八路搶答器的設計,我掌握了更多關于數(shù)字電子技術的知識,以及用單片機編程的能力。在個人設計中,我就是應用的AT89S51這款芯片,通過查閱資料、書籍,上網(wǎng)搜集資料,和教師交流等途徑,我一步步完善了八路搶答器的功能,但仍有很多需要改良的地方。由于課程設計時間短暫,且由于自身能力有限,無法將所有拓展功能一次性完成,但我會在今后努力實現(xiàn)這些功能。通過本次課程設計,我們不難看出51系列單片機的設計方案遠優(yōu)于單純的邏輯門電路設計,51單片機還廣泛應用于工業(yè)自動化、智能儀器儀表、消費類電子產(chǎn)品、通訊方面、武器裝備等等

31、,而且51單片機更易于新手掌握,可以看出51單片機必將成為教學、科技創(chuàng)造制作、開發(fā)新產(chǎn)品不可或缺的芯片。參考文獻1 朱運利. 單片機技術應用. :機械工業(yè), 2005年1月第一版.2 大彪. 電子技能與實訓. :電子工業(yè), 2004年7月.3 全力,德申. 微機控制技術及應用. :機械工業(yè), 2004年1月第一版.4 閻 石. 數(shù)字電子電路. :中央播送電視大學, 1993.5 毅坤,善久,龔雪紅. 單片微型計算機原理應用. :電子科技大學, 2003.6 田 良,黃正瑾,建元. 綜合電子設計與實踐. :東南大學.7 素行. 模擬電子電路. :中央播送電視大學, 1994.8 康平光. 電子技

32、術根底. :高等教育, 2003.9 華. MCS-51單片機接口技術及應用. :航天航空大學. 附錄一:電路圖附錄二:C語言代碼#include#define uchar unsigned char#define uint unsigned intchar s;uchar num=0;char time=20;/搶答時間char datitime=30;/答題限時時間uint tt,t1;/T0,T1定時器定一秒時bit flag,s_flag=1,b_flag,fall_flag;/標志位bit K_startcountflag,K_timecountflag;/時間調整標志位sbit K

33、0=P30;sbit beep=P37; /蜂鳴器sbit rled=P25;/指示燈sbit K1=P10;sbit K2=P11;sbit K3=P12;sbit K4=P13;sbit K5=P14;sbit K6=P15;sbit K7=P16;sbit K8=P17;sbit ww=P31;sbit k=P32;/答題計時鍵sbit K_startcountup=P31;sbit K_startcountdown=P34; /開場搶答時間調整鍵sbit K_timecountup=P35;sbit K_timecountdown= P36; /答題計時時間調整鍵void displa

34、y(void);void delay(uchar ms)uchar y;for(;ms0;ms-)for(y=120;y0;y-);uchar code tabledu=0*3f,0*06,0*5b,0*4f,0*66,0*6d,0*7d,0*07,0*7f,0*6f,0*77,0*7c,0*39,0*5e,0*79,0*71;uchar code tablewe=0*FE,0*FD,0*FB,0*F7;void my_int(void)interrupt 2 K_startcountflag=0; K_timecountflag=0;flag=0; display();void T0_Ini

35、t(void)TMOD=0*01;TH0=(65536-2000)/256;TL0=(65536-2000)%256;TH1=(65536-2000)/256;TL1=(65536-2000)%256;ET0=1;ET1=1;E*1=1;IT1=1;EA=1;P0=0;void Key_Scan(void)/開場鍵掃描if(K0=0)delay(10);if(K0=0)while(!K0);TR0=1;s=time;tt=0;flag=1;s_flag=1;b_flag=1;num=0;beep=1;rled=1;fall_flag=0;/去除違規(guī)標志位K_startcountflag=0;K

36、_timecountflag=0;void Scan(void)/八路熱鍵掃描(哪個鍵先按下,哪個優(yōu)先級最高)if(K1=0)delay(10);if(K1=0)while(!K1);num=1;/數(shù)碼管顯示1號1TR0=0;/關閉定時器0,時間停頓TR1=1;/翻開定時器1,使揚聲器響一聲s_flag=0;/關閉開場鍵標志位,使再按其他七個鍵不會響應if(K2=0)/下面七個鍵的處理同上delay(10);if(K2=0)while(!K2);num=2;TR0=0;TR1=1;s_flag=0;/重要if(K3=0)delay(10);if(K3=0)while(!K3);num=3;TR

37、0=0;TR1=1;s_flag=0;if(K4=0)delay(10);if(K4=0)while(!K4);num=4;TR0=0;TR1=1;s_flag=0;if(K5=0)delay(10);if(K5=0)while(!K5);num=5;TR0=0;TR1=1;s_flag=0;if(K6=0)delay(10);if(K6=0)while(!K6);num=6;TR0=0;TR1=1;s_flag=0;if(K7=0)delay(10);if(K7=0)while(!K7);num=7;TR0=0;TR1=1;s_flag=0;if(K8=0)delay(10);if(K8=0

38、)while(!K8);num=8;TR0=0;TR1=1;s_flag=0;void display(void)if(flag=1)/開場鍵按下,開場計時搶答if(num!=0)/如果有人搶答,則顯示相應的幾號P0=tabledunum;/顯示幾號搶到了P2=tablewe0;delay(2);P0=0;P2=0*FF;else/否則沒人搶答,則前面不顯示幾號P0=0;P2=0*FF;P0=tabledus/10;/下面為顯示搶答倒計時P2=tablewe2;delay(2);P0=0;P2=0*FF;P0=tabledus%10;P2=tablewe3;delay(2);P2=0*FF;P

39、0=0;else/如果開場鍵沒有按下,則顯示F FF(假設有違規(guī)者,則顯示違規(guī)及 FF)或時間調整if(fall_flag=1)/違規(guī)顯示if(num!=0)P0=tabledunum;/顯示幾號違規(guī)了P2=tablewe0;delay(2);P0=0;P2=0*FF;P0=tabledu15;/下面顯示 FF,表示違規(guī)P2=tablewe2;delay(2);P0=0;/消隱P2=0*FF;P0=tabledu15;P2=tablewe3;delay(2);P0=0;P2=0*FF;elseP0=0;P2=0*FF;else/沒有人違規(guī)才顯示調整時間if(K_startcountflag=1

40、)P0=0*77;/第一位數(shù)碼管顯示5(S)(表示搶答時間調整)P2=tablewe0;delay(2);P0=0;P2=0*FF;P0=tabledutime/10;/下面顯示調整的搶答時間P2=tablewe2;delay(2);P0=0;P2=0*FF;P0=tabledutime%10;P2=tablewe3;delay(2);P0=0;P2=0*FF;else if(K_timecountflag=1)P0=0*7c; /第一位與第二位數(shù)碼管合起來顯示T,表示答題時間調整P2=tablewe0;delay(2);P0=0;P2=0*FF;P0=0*31;P2=tablewe1;del

41、ay(2);P0=0;P2=0*FF;P0=tabledudatitime/10;P2=tablewe2;delay(2);P0=0;P2=0*FF;P0=tabledudatitime%10;P2=tablewe3;delay(2);P0=0;P2=0*FF;else/否則顯示F FFP0=tabledu15;P2=tablewe0;delay(2);P0=0;P0=tabledu15;P2=tablewe2;delay(2);P0=0;/消隱P2=0*FF;P0=tabledu15;P2=tablewe3;delay(2);P0=0;P2=0*FF;void Time_Scan(void)

42、/調整時間鍵掃描if(K_startcountup=0)/搶答時間調整delay(10);if(K_startcountup=0)while(!ww);time+;if(time=60)time=20;K_startcountflag=1;/將搶答時間標志位置1K_timecountflag=0;/同時關閉答題時間標志位if(K_startcountdown=0) delay(10);if(K_startcountdown=0)while(!K_startcountdown);time-;if(time=0)time=20;K_startcountflag=1;/將搶答時間標志位置1K_tim

43、ecountflag=0;/同時關閉答題時間標志位if(K_timecountup=0)/答題時間調整delay(10);if(K_timecountup=0)while(!K_timecountup);datitime+;if(datitime=60)datitime=30;K_timecountflag=1;K_startcountflag=0; if(K_timecountdown=0)/答題時間調整delay(10);if(K_timecountdown=0)while(!K_timecountdown);datitime-;if(datitime=0)datitime=30;K_timecountflag=1;K_startcountflag=0; void main(void)T0_Init();while(1)Key_Scan();/開場鍵掃描if(flag=0)&(s_flag=1)/當開場鍵沒按下及沒有人違規(guī)時才可進展時間調整Tim

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論