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