




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、基于 51 單片機的 4 人搶答器設計設計要求:以單片機為核心,設計一個4 位競賽搶答器:同時供4 名選手或 4 個代表隊比賽,分別用 4個按鈕S0S3表示。設置一個系統清除和搶答控制開關S,開關由主持人控制。搶答器具有鎖存與顯示功能。即選手按按鈕,鎖存相應的編號,并在優先搶答選手的編號一直保持到主持人將系統清除為止。搶答器具有定時搶答功能,且一次搶答的時間由主持人設定(如 30 秒) 。當主持人啟動“開始”鍵后,定時器進行減計時,同時揚聲器發出短暫的聲響,聲響持續的時間為 0.5s 左右。參賽選手在設定的時間內進行搶答,搶答有效,定時器停止工作,顯示器上顯示選手的編號和搶答的時間,并保持到主
2、持人將系統清除為止。如果定時時間已到,無人搶答,本次搶答無效,系統報警并禁止搶答,定時顯示器上顯示00。工作原理:通過鍵盤改變搶答的時間,原理與鬧鐘時間的設定相同,將定時時間的變量置為全局變量后,通過鍵盤掃描程序使每按下一次按鍵,時間加 1 (超過 30 時置 0 ) 。同時單片機不斷進行按鍵掃描,當參賽選手的按鍵按下時,用于產生時鐘信號的定時計數器停止計數,同時將選手編號(按鍵號)和搶答時間分別顯示在LED上。gTrFD In k- f .h 1 a a fl Q a u wJn ?cr-E / 1 1 1Mb 1 t - 7 F w3匡±一mi/rvsi WITHrum PIjS
3、RJW fj.t-TtsXTUsmuwruchar num;uchar numl;uchar flag1,flag2;uchar flag3,flag4=0;uchar code table= 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f;數碼管編碼#include<reg52.h>#define uchar unsigned char#define uint unsigned int定義中斷變量,num計滿20表示1秒時間到十秒倒計時顯示初始值清零鍵及開始鍵按下標志位定義鍵盤按下標志位sbit dula=P1A6;sbit
4、 wela=P1A7;sbit sp=P3A0;sbit clear=P1A0;sbit start=P1A1;sbit key1=P1A2;sbit key2=P1A3;/定義段選端口/定義位選端口/定義蜂鳴器端口/定義清零鍵/開始鍵sbit key3=P1A4;sbit key4=P1A5;void delay(uint z)uint i,j;for(i=z;i>0;i-)for(j=110;j>0;j-);void beep()sp=0;delay(500);sp=1;void display(uint a)wela=1;P2=0xff;wela=0;dula=1;P2=ta
5、blea;dula=0;P2=0xff;wela=1;P2=0xfd;wela=0;delay(5);void clr()dula=1;P2=table0;/key1 到 key4 為選手按鍵/延時函數/定義蜂鳴器函數/選手編號顯示函數/防止鎖存干擾/ 清零函數(主持人按下清零鍵后數碼管顯示0)dula=0;P2=0xff;wela=1;P2=0xfc;wela=0;delay(5);void dis30s()/十秒倒計時顯示函數uchar shi,ge;shi=num1/30;ge=num1%30;wela=1;P2=0xff;wela=0;dula=1;P2=tableshi;dula=0
6、;P2=0xff;wela=1;P2=0xfe;wela=0;delay(5);wela=1;P2=0xff;wela=0;dula=1;P2=tablege;dula=0;P2=0xff;wela=1;P2=0xfd;wela=0;delay(5);void player()/選手按鍵檢測函數if(key1=0&&flag4=0)delay(10);if(key1=0&&flag4=0)display(1);TR0=0;flag1=flag2=0;flag4=1;beep();while(!key1);if(key2=0&&flag4=0)de
7、lay(10);if(key2=0&&flag4=0)display(2);TR0=0;flag1=flag2=0;flag4=1;beep();while(!key2);if(key3=0&&flag4=0)delay(10);if(key3=0&&flag4=0)display(3);TR0=0;flag1=flag2=0;flag4=1;beep();while(!key3);if(key4=0&&flag4=0)delay(10);if(key4=0&&flag4=0)display(4);TR0=0;fl
8、ag1=flag2=0;flag4=1;beep();while(!key4);void keyscan()/ 檢測按鍵if(clear=0&&flag2!=1)/判斷清零鍵,判斷語句的作用是按下開始鍵清零鍵失效delay(10);if(clear=0&&flag2!=1)while(!clear); /等待按鍵釋放flag1=0;flag2=0;flag3=0;flag4=0;num=0;num1=10;clr();/ 清零flag1=1;/按下清零鍵標志位if(flag1=1)/如果按下清零鍵if(start=0&&flag3=0)/判斷開始鍵 ,判斷語句的作用是按下開始鍵后開始鍵失效delay(10);if(start=0&&flag3=0) flag2=1;flag3=1; while(!start);/按下開始鍵/ 啟動定時器0/設置定時器0 工作方式 1/開總中斷if(flag2=1)TR0=1;dis30s();player();void main()TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;while(1)keyscan();void T0_ser() interrupt 1TH0=(6
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 任丘素質拓展活動方案
- 企業學雷鋒活動方案
- 仿生設計活動方案
- 企業互助活動方案
- 企業黨內活動方案
- 企業公益瑜伽活動方案
- 江西省贛州市章貢區2022-2023學年五年級下學期數學素質評價試卷(含答案)
- 企業員工國慶活動方案
- 企業困難活動方案
- 企業安全培訓活動方案
- DL∕T 1909-2018 -48V電力通信直流電源系統技術規范
- 登高車施工方案
- 造價咨詢項目的保密措施
- NB-T32042-2018光伏發電工程建設監理規范
- 成本加酬金合同結算方法
- 河南省許昌市2023-2024學年高二下學期7月期末教學質量檢測數學試題
- 期末復習知識點(知識清單)2023-2024學年統編版語文二年級下冊
- DL-T952-2013火力發電廠超濾水處理裝置驗收導則
- 上海市物業服務合同示范文本-2023版包干制
- 上海燕龍基國家城市礦產示范基地沙河(廢)碎玻璃光學分揀項目環評報告
- 高考補充篇目:《菩薩蠻 書江西造口壁》課件+
評論
0/150
提交評論