【正文】
else //否則循環(huán)檢測 { display_time()。//按鍵處理 key_flg=1。key_flg==0) { key_number=getkey_num()。 //蜂鳴器響 500ms while(time_over_flg==0amp。 //讀取倒計時時間 init_t0()。 //等待主持人按鍵以進入下 一輪 continue。 //犯規(guī)處理 foul_flg=1。 //檢查是否有人犯規(guī) if(key_number==0) //如果沒有,進行下一次循環(huán) continue。amp。 write_digit(DIGIT2,LED_code[0x0])。 //禁止 T0 運行 write_digit(DIGIT0,LED_code[0x0])。 //設置初始環(huán)境 time_over_flg=0。 max7219_reset()。 //函數功能:初始化 T0 定時器 void delay_20ms(void)。 //函數功能:按鍵處理 void time_over_handle(void)。 //函數功能:顯示倒計時剩余時間 void foul_handle(uchar)。 //函數功能:檢測主持人是否按鍵 uchar get_key_num(void)。 //底層的硬件驅動 uchar set_time(void)。 //向控制寄存器寫數據 void write_digit(uchar,uchar)。 //是否有人在規(guī)定時間內按鍵標志 void max7219_reset(void)。 //是否有人犯規(guī)標志 bit time_over_flg。 //在 bdata區(qū)定義一個變量,便于位操作 sbit byte_7=byte^7。 define TIMER_HBYTE 50000/256 //定時 50ms define TIMER_LBYTE 50000%256 uchar intr_counter。 //定義 控制 MAX7219 的載入使能端 sbit CLK=P2^2。 sbit DIN=P2^4。 sbit LE=P1^4。限于篇幅,這里沒有給出顯示程序,參見 節(jié)中例 125。 圖 四路搶答器程序流程圖 程序如例 134所示。 無論是在規(guī)定時間內有人按鍵、在規(guī)定時間內無人按鍵或者是有人犯規(guī),都需要主持人再按一下搶答按鍵,之后單片機根據 U3狀態(tài)決定倒計時時間, 3個數碼管全部顯示“ 0”,恢復到初始狀態(tài),準備下一輪搶答。 如果在規(guī)定時間內無人按鍵,則 U5 顯示“ 0”, U6 和 U7顯示“ EE”以指示無人按鍵。 如果在主持人未按下搶答按鍵的時候有選手搶答,則此時蜂鳴器響一聲, U5顯示犯規(guī)者的編號, U6和 U7顯示“ FF”以指示有人犯規(guī)。 如果有競賽 者率先在規(guī)定時間內按鍵,則蜂鳴器響一聲,數碼管 U5顯示該競賽者的編號, U6 和 U7 停止更新。 按下搶答按鍵之后,蜂鳴器響一聲,單片機開始倒計時,數碼管 U6 和 U7顯示倒計時時間,數碼管 U5 顯示“ 0”。 在按下搶答按鍵之前, 3個數碼管全部顯示“ 0”。如果沒有人為設置,默認為 10s。 蜂鳴器模塊:蜂鳴器在主持人發(fā)出可以搶答信號、有人按下搶答按鍵和倒計時時間到等 3種情況下發(fā)出蜂鳴聲。其中 U5 用來顯示按鍵者的編號, U U7 在倒計時時顯示還有多長時間,如果有人犯規(guī)搶答, U6~ U7 顯示“ FF”。 單片機一旦檢測到有按鍵按下,立即將 置為低電平,將按鍵信息鎖存,以免后來的按鍵對其產生影響。 若 通過U3接地,倒計時時間為 10s;若 通過 U3 接地,倒計時時間為 8s,若 通過 U3 接地,倒計時時間為 6s,若 通過 U3接地,倒計時時間為 4s。 完成上述功能的電路包括時間設定開關、聲光顯示、按鍵控制以及按鍵鎖存等部分,如圖 所示。電路應該具有倒計時功能,倒計時時間可以設置并顯示,在規(guī)定時間內沒有人搶答則本題作廢。當第一個人按下按鍵后,則在顯示器上顯示此競賽者的號碼并進行聲音提示,同時電路將其他搶答按鍵封鎖,使其不 起作用。本節(jié)介紹一種利用 8051 單片機作為核心部件進行邏輯控制及信號產生的四路搶答器。 任務要求 1,設計 4 組參賽的搶答器 ,每組設置一個搶答按鈕 . 2,電路具有第一搶答信號鑒別功能 ,搶答成功后 ,顯示組別 ,發(fā)出聲音 . 3,設置記分電路 ,每組開始預置 0分 ,搶答后由 單片機 記分 ,答對一次加 1分 . 任務目的 一,了解 單片機 的工作原理; 二,掌握多位共陽數碼管動態(tài)掃描顯示驅動及編碼; 三,掌握 AT89S51 的工作原理; 四,掌握用 C 語言的設計思想; 五,掌握原理圖及 及工作原理 ; 六,通過 思四路搶答器 語言設計,提高團隊合作精神; 第 二 章 方案論證與分析 搶答器的設計 分析 傳統(tǒng)的搶答器都是 靜態(tài)掃描 ,受現場環(huán)境影響很大 .本文介紹的 4 路無線搶答器 ,是以 89s51單片機為核心制成的 ,其功能為連續(xù)可調的 0到 9位的加分 ,搶答有效有 蜂鳴 鈴聲并顯示組別 00分 ,答對為加 1分 ,由主持人手動復位 ,所以此搶答操作方便 ,在很多的場所都可以使用 ,并且給人的視覺效果非常好 . 1 2 3 4 5 6ABCD654321DCBAT i t leN u m be r R e v i s i onS i z eBD a t e : 7 J a n 20 10 S he e t o f F i l e : H : \ C A D \ C A D 考試 \ 16 .D d b D r a w n B y :abfcgdeDP Y261087311abcdefg9dpdpabfcgdedpabfcgdedpabfcgdedpv112v25v34v41U2L E D 7 4abfcgdeDP Y261087311abcdefg9dpdpabfcgdedpabfcgdedpabfcgdedpv112v25v34v41U3L E D 7 4Y1C R Y S T A Lbi t 1 bi t 2 bi t 3 bi t 4 bi t 5 bi t 6 bi t 7 bi t 8S1S W P BS2S W P BS3S W P BS4S W P BR1200R2200R3200R4200R5200R6200R7200R8200R9 kR 10 kR 11 kR 12 kR 13 kR 14 kR 15 kR 16 kQ1P N PQ2P N PQ3P N PQ4P N PQ5P N PQ6P N PQ7P N PQ8P N Pbi t 1 bi t 2 bi t 3 bi t 4 bi t 5 bi t 6 bi t 7 bi t 8bi t 9bi t 1 0bi t 1 1bi t 1 2bi t 1 3bi t 1 4bi t 1 5bi t 1 6bi t 1 7bi t 1 8bi t 1 9bi t 2 0bi t 2 1bi t 2 2bi t 2 3bi t 2 4bi t 9bi t 1 0bi t 1 1bi t 1 2bi t 1 3bi t 1 4bi t 1 5bi t 1 6bi t 9bi t 1 0bi t 1 1bi t 1 2bi t 1 3bi t 1 4bi t 1 5bi t 1 6bi t 1 7 bi t 1 8 bi t 1 9 bi t 2 0 bi t 2 1 bi t 2 2 bi t 2 3 bi t 2 4V C CE A / V P31X119X218R E S E T9I N T 012I N T 113T014T115P 1. 01P 1. 12P 1. 23P 1. 34P 1. 45P 1. 56P 1. 67P 1. 78P 0. 039P 0. 138P 0. 237P 0. 336P 0. 435P 0. 534P 0. 633P 0. 732P 2. 021P 2. 122P 2. 223P 2. 324P 2. 425P 2. 526P 2. 627P 2. 728RD17WR16P S E N29A L E / P30T X D11R X D10Q 1 189 S 51L S ?S P E A K E RQ?P N P 基于 MCS51 單片機的四路搶答器 搶答器是為智力競賽參賽者答題時進行搶答而設計的一種優(yōu)先判決器電路,廣泛應用于 各種知識競賽、文娛活動等場合。本節(jié)介紹一種利用 8951 單片機作為核心部件進行邏輯控制及信號產生的四路搶答器。 基于單片機的四路搶答器設計資料 第一章 任務要求 任務簡介 基于 MCS51 單片機的四路搶答器 搶答器是為智力競賽參賽者答題時進行搶答而設計的一種優(yōu)先判決器電路,廣泛應用于各種知識競賽、文娛活動等場合。能夠實現搶答器功能的方式有多種,可以采用前期的模擬電路、數字電路或模擬與數字電路相結合的方式,但這種方式制作過程復雜,而且準確性與可靠性不高,成品面積大,安裝、維護困難。 本設計的題目是 四路搶答器 , 本設 計論文是以單片機為核心設計的。能夠實現搶答器功能的方式有多種,可以采用前期的模擬電路、數字電路或模擬與數字電路相結合的方式,但這種方式制作過程復雜,而且準確性與可靠性不高,成品面積大,安裝、維護困難。 硬件設計 硬件電路應能完成以下功能:參加競賽者對主持人提出的問題要在最短的時間內作出判斷,并按下搶答按鍵回答問題。若有人在可以搶答之前按鍵,應該有違規(guī)提示?;卮鹜昊虺瑫r后,由主持人將所有按鍵恢復,重新開始下一輪。 各電路模塊的功能如下。 單片機部分:通過讀取 ~ 的狀態(tài)決定倒計時時間;通過讀取 P1.3~ 的狀態(tài)讀取按鍵情況;通過 ~ 控制顯示模塊以顯示按鍵者的號碼和倒計時所剩時間;通過 控制蜂鳴 器。 時間設定模塊:以撥碼開關 U3 作為倒計時時間的選擇信號。判斷時 優(yōu)先級最高, 優(yōu)先級最低。 按鍵模塊: KEY1~ KEY4 的信息可以直接傳輸到 ~ 。 KEY1~ KEY4 為搶答按鍵, KEY5 為主持人控制按鍵。 數碼管顯示模塊:數碼管顯示模塊由一片 MAX7219 和 3 個數碼管組成。 程序設計 搶答器工作過程如下。 首先主持人選定倒計時時間,單片機掃描 U3以獲取此信息。 程序流程如圖 所示。 【例 134】用 8051 單片機控制的四路搶答器程序。 include typedef unsigned char uchar。 sbit KEY5=P