1.設計要求:
為企業提供做網站、成都網站建設、網站優化、全網整合營銷推廣、競價托管、品牌運營等營銷獲客服務。創新互聯擁有網絡營銷運營團隊,以豐富的互聯網營銷經驗助力企業精準獲客,真正落地解決中小企業營銷獲客難題,做到“讓獲客更簡單”。自創立至今,成功用技術實力解決了企業“網站建設、網絡品牌塑造、網絡營銷”三大難題,同時降低了營銷成本,提高了有效客戶轉化率,獲得了眾多企業客戶的高度認可!1.以單片機為核心,設計一個八位競賽搶答器:同時供八名選手或八個代表隊比賽,分別用八個按鈕S0~S7表示。
2.設置一個系統清除和搶答控制開關S,開關由主持人控制。
3.搶答器具有鎖存與顯示功能。即選手按按鈕,鎖存相應的編號,并在優先搶答選手的編號一直保持到主持人將系統清除為止。
4.搶答器具有定時搶答功能,且一次搶答的時間由主持人設定(如30秒)。
5.當主持人啟動“開始”鍵后,定時器進行減計時,同時揚聲器發出短暫的聲響,聲響持續的時間為0.5s左右。
6.參賽選手在設定的時間內進行搶答,搶答有效,定時器停止工作,顯示器上顯示選手的編號和搶答的時間,并保持到主持人將系統清除為止。
7.如果定時時間已到,無人搶答,本次搶答無效,系統報警并禁止搶答,定時顯示器上顯示00。
2.流程圖:
3.Protues原理圖:
效果圖:
4.單片機代碼:
#include#define u8 unsigned char
#define u16 unsigned int
sbit highone = P3^0; //倒計時數碼管高標志位
sbit lowone = P3^1; //倒計時數碼管低標志位
sbit hightwo = P3^2; //選手編號數碼管高標志位
sbit lowtwo = P3^3; //選手編號數碼管低標志位
sbit set = P3^5; //清除/設置時間按鈕
sbit start = P3^6; //開始按鈕
sbit voice = P3^7; //蜂鳴器輸出位
sbit key1=P1^0; //選手1號按鈕
sbit key2=P1^1; //選手2號按鈕
sbit key3=P1^2; //選手3號按鈕
sbit key4=P1^3; //選手4號按鈕
sbit key5=P1^4; //選手5號按鈕
sbit key6=P1^5; //選手6號按鈕
sbit key7=P1^6; //選手7號按鈕
sbit key8=P1^7; //選手8號按鈕
u8 code number[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //共陰極
u8 xianshi[]={0x3f,0x3f,0x3f,0x3f};
u8 Tpointer=30; //時間指針
u8 Allpointer=0; //總指針
u8 tp=30; //時間副指針
u16 mm = 0; //寄存搶答選手號
u8 done = 0; //計時完成標志和搶答完成標志
u16 i;
u16 q;
u16 w;
void delay(u16 h) //延時函數
{
while(h--);
}
void shujuchuli() //數據處理函數
{ //處理時間顯示數據和選手號顯示數據
xianshi[0]=number[tp/10]; //整除10作為倒計時十位
xianshi[1]=number[tp%10]; //取余數運算作為倒計時個位
xianshi[2]=0x3f;
xianshi[3]=number[mm]; //作為選手號個位
}
void xuanze() //選擇函數函數
{ //選擇標志位接通對應的數碼管
u8 k;
for(k=0;k<4;k++)
{
switch(k)
{
case(0): //顯示倒計時數碼管低位
highone=0;lowone=1;hightwo=0;lowtwo=0;P0=xianshi[k];delay(10);break;
case(1): //顯示倒計時數碼管高位
highone=1;lowone=0;hightwo=0;lowtwo=0;P0=xianshi[k];delay(10);break;
case(2): //顯示選手編號數碼管低位
highone=0;lowone=0;hightwo=0;lowtwo=1;P2=xianshi[k];delay(10);break;
case(3): //顯示選手編號數碼管高位
highone=0;lowone=0;hightwo=1;lowtwo=0;P2=xianshi[k];delay(10);break;
}
P0=0x00; //消影
P2=0x00; //消影
}
}
void checksetkey2() //檢測設置時間按鈕函數,用于調整搶答時間
{
if(set==0)
{
delay(1000); //消抖
if(set==0)
{
if(Tpointer<60)
{
Tpointer= Tpointer+1;
tp= tp+1;
}
else
{
Tpointer=0;
tp=0;
}
}
while(!set)
{
xuanze();
}
}
}
代碼完整版請轉:https://download.csdn.net/download/weixin_47675608/74047012
由于篇幅有限相應的代碼和仿真圖已經上傳(包括程序和課程設計報告),有需要的自取:https://download.csdn.net/download/weixin_47675608/74047012
壓縮包內容包括(Protues仿真,單片機程序和單片機課程設計報告)
課程設計報告目錄
對您有幫助的話,請點贊、評論、收藏、轉發加關注。您的鼓勵才是作者創作的動力,求打賞。
你是否還在尋找穩定的海外服務器提供商?創新互聯www.cdcxhl.cn海外機房具備T級流量清洗系統配攻擊溯源,準確流量調度確保服務器高可用性,企業級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧
網站題目:基于單片機的八路搶答器的設計-創新互聯
新聞來源:http://vcdvsql.cn/article30/iijpo.html
成都網站建設公司_創新互聯,為您提供域名注冊、電子商務、網頁設計公司、網站收錄、搜索引擎優化、品牌網站制作
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯