8051微控制器製作搶答器

2022-09-22 20:33:04 字數 740 閱讀 4050

電路如圖所示,p0口接8個按鈕開關;為防止干擾接了上拉電阻。p1口口為輸出端,負載能力較強,直接接led加限流電阻。p2.0口為聲音控制端,控制搶答時蜂鳴器輸出報警聲。

軟體設計很簡單,先接收p0埠的輸入,若沒有按鍵,則迴圈(接收的資料與0ffh異或,若不為零則有鍵閉合),則將接收到的資料送p1口,對應的led發光,然後向p2.0送控制訊號;此後便不再檢測,由於速度很快,可以檢測出哪個鍵最先按下,有鍵按下後不再處理,其後按下的鍵就無效了。

復位鍵按下後又可以繼續接收了。使用時可以在主持人喊開始前的瞬間按下復位鍵,這樣可以防止在喊開始前按鍵。

實際的搶答器不只有這一功能,可以自己擴充套件功能,如:增加搶答路數,預置並顯示搶答時間,時間到報警等;只要增加矩陣開關、led數碼管等硬體便可。

程式如下:

org 0000h

clr a

mov p1,a

l1: mov a,p0

mov r0,a

xrl a,#0ffh

jz l1

mov p1,p0

setb p2.0

acall delay

clr p2.0

l10: ajmp l10

delay:mov r0,#20h;

l2: mov r1,#0ffh

l3: mov r2,#0ffh

l4: djnz r2,l4

djnz r1,l3

djnz r0,l2

retend

微控制器製作實訓總結

執筆人 周平 專案名稱 微控制器製作 參加班級 06級機電一體化專業1 2班 人數 112人 時間 2007 2008學年第4學期第12周 06級機電一體化專業1 2班112位學生參與的 微控制器製作實訓 歷時6天,整個實訓過程分為培訓 電路板製作 微控制器程式編寫及程式輸入 考核 小結五個階段,實...

微控制器製作測驗題及答案 1

思考題 1 下面各程式段中語句 n 分別被執行幾次?為什麼?1 for i 10 i 0 i n 0 答案 n 被執行0次,因為i為非0時,條件表示式為真,才會執行n 現在i被賦值為0,即條件表示式為假,所以n 一次也沒有執行。2 for i 1 i 10 i n 9 答案 n 被執行9次,因為i的...

使用微控制器製作多路輸入電壓表

在工業控制和智慧型化儀表中,常由微控制器進行實時控制及實時資料處理。微控制器所加工的資訊都是數字量,而被控制或測量物件的有關參量往往是連續變化的模擬量,如溫度 速度 壓力等等,與此對應的電訊號是模擬電訊號。微控制器要處理這種訊號,首先必須將模擬量轉換成數字量,這一轉換過程就是模 數轉換,實現模 數轉...