久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
51單片機八路搶答器代碼與Proteus仿真
[打印本頁]
作者:
845464672
時間:
2022-10-15 21:31
標題:
51單片機八路搶答器代碼與Proteus仿真
8路搶答器設計難度分:9基本要求:8個選手搶答按鍵,1個主持人按鍵,4只LED數碼管顯示。系統復位狀態LED顯示“00 00”;主持人按下按鍵則搶答開始,系統顯示3秒搶答時間倒計時,計時到無人搶答則系統發出報警后自動復位;8個選手最先按下者搶答成功,顯示選手編號和答題時間10秒,支持人發出開始作答指令同時按下主持人鍵,答題時間開始倒計時并顯示,若選手回答結束之后主持人按下主持人鍵復位系統,若倒計時結束選手未回答問題系統發出報警后自動復位。擴展要求:增加1個“√”鍵和1個“×”鍵,只在10秒回答時間內有效,若選手回答正確,主持人按下“√”鍵彩燈閃爍,若選手回答錯誤,主持人按下“×”鍵發出低沉報警音;系統復位后搶答開始前,選手不得提前搶答,否則發出違例報警,顯示違例選手編號,由主持人復位系統;可修改答題時間。
仿真原理圖如下(proteus8.10版本的仿真工程文件可到本帖附件中下載)
1.png
(235.51 KB, 下載次數: 49)
下載附件
2022-10-16 00:16 上傳
單片機源程序如下:
//頭文件聲明
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
//code uchar seven_seg[] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
code uchar seven_seg[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
code uchar seven_bit[] = {0xfe,0xfd,0xfb,0xf7};
sbit run_key = P3^2; //啟動按鍵
sbit buzzer = P3^5; //報警
sbit add_key = P3^6; //加
sbit dec_key = P3^7; //減
uchar player; //定義選手按鍵的鍵值參數
uint player_num = 0; //選手號
uchar now_time = 0; //默認復位時間0S
uchar next_time=10; //默認答題時間10s
bit run_flag = 0; //主持人按下開始標志位
bit time_off = 0; //倒計時時間到,或者開始有人搶答成功標志位
uint Count_A = 0; //定時器計數參數
uint Count_B = 0; //定時器計數參數
void delay(uint ms) //延時函數
{
uint i,j;
for(i=ms;i>0;i--)
for(j=110;j>0;j--);
}
void dispaly(uint a,uint b) //a為選手號碼,b為時間
{
P2=seven_bit[0];
P0=seven_seg[a]; //顯示選手號
delay(5);
P2=seven_bit[1];
P0=0x40; //顯示橫杠
delay(5);
P2=seven_bit[2];
P0=seven_seg[b/10]; //顯示倒計時時間
delay(5);
P2=seven_bit[3];
P0=seven_seg[b%10];
delay(5);
P2=0xff;
}
void keyScan() //按鍵子程序
{
if(run_key==0) //如果啟動按鍵按下
{
delay(5); //消抖
if(run_key==0)
{
if(now_time!=next_time)
{
if(player_num!=0)
{
now_time=0; //答題結束按鍵按鍵復位
player_num=0;
time_off=0;//復位選手按下標志
}
else
{
player_num=0;
run_flag=1; //設置模式調整
buzzer=0;//0.5S聲音
now_time=3;
TR0=1; //開啟定時器
TR1=1;
}
}
else
{
buzzer=0;//0.5S聲音
TR0=1; //開啟定時器
TR1=1;
}
}
while(run_key==0); //等待按鍵放開
}
if(run_flag==0&&time_off==0) //只有沒開始搶答的時候可以加減
{
if(add_key==0)
{
delay(5);
if(add_key==0)
{
next_time++; //時間加上去
}
while(add_key==0) dispaly(player_num,next_time); //顯示
}
if(dec_key==0)
{
delay(5);
if(dec_key==0)
{
next_time--; //時間減下來
}
while(dec_key==0) dispaly(player_num,next_time); //顯示
}
}
}
void EX_Init()
{
/*********初始化定時器/外部中斷**********/
TMOD = 0x11; //10ms
TH0 = 0x0D8;
TL0 = 0x0F0;
TH1 = 0x0D8;
TL1 = 0x0F0;
IE = 0x8b; //IE = 0x85;
IT0 = 1;
IT1 = 1;
PX0 = 1;
TR0 = 0; //關閉定時器
TR1 = 0;
}
void main(void)
{
EX_Init(); //初始化
buzzer=1;
P2=0xff;
P1=0xff;
P0=0xff;
while(1) //死循環
{
keyScan(); //按鍵程序
dispaly(player_num,now_time); //顯示
}
}
void Time0() interrupt 1
{
TH0 = 0x0D8; //10ms
TL0 = 0x0F0;
if(run_flag==1) //如果開始搶答
{
player=P1; //讀取端口
switch(player)
{
case 0xfe:player_num=1;run_flag=0;time_off=1;TR0=0;TR1=0;now_time=next_time;break; //為第一個選手按下時,選手號=1,定時器停止,時間十秒
case 0xfd:player_num=2;run_flag=0;time_off=1;TR0=0;TR1=0;now_time=next_time;break;
case 0xfb:player_num=3;run_flag=0;time_off=1;TR0=0;TR1=0;now_time=next_time;break;
case 0xf7:player_num=4;run_flag=0;time_off=1;TR0=0;TR1=0;now_time=next_time;break;
case 0xef:player_num=5;run_flag=0;time_off=1;TR0=0;TR1=0;now_time=next_time;break;
case 0xdf:player_num=6;run_flag=0;time_off=1;TR0=0;TR1=0;now_time=next_time;break;
case 0xbf:player_num=7;run_flag=0;time_off=1;TR0=0;TR1=0;now_time=next_time;break;
case 0x7f:player_num=8;run_flag=0;time_off=1;TR0=0;TR1=0;now_time=next_time;break;
case 0xff:break; //全高電平-無人按下,退出
default:player_num=9; break; //出現其它情況,顯示9
}
}
}
void Time1() interrupt 3
{
TH1 = 0x0D8;
TL1 = 0x0F0; //10ms
Count_A++;
Count_B++;
if(Count_B<50) //500ms的蜂鳴器提示
buzzer=0;
else buzzer=1;
if(Count_A==100) //每秒鐘減一,倒計時
{ Count_A=0;
now_time--; //當前倒計時時間 --
if(now_time<=0) //倒計時結束(到0),那么開始報警,其它復位
{ now_time=0;run_flag=0;TR0=0;TR1=0;time_off=1;buzzer=0; delay(1200);buzzer=1;}
}
}
復制代碼
Keil代碼與Proteus8.10仿真下載:
搶答器.rar
(94.5 KB, 下載次數: 80)
2022-10-15 21:30 上傳
點擊文件名下載附件
搶答器
下載積分: 黑幣 -5
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
91成人免费
|
久久久久久国产精品
|
欧美视频一区二区三区
|
日韩成人在线观看
|
欧美日韩在线视频一区二区
|
亚洲视频www
|
久久久激情
|
xnxx 日本免费
|
欧美日韩在线免费
|
久久精品视频在线观看
|
在线成人
|
欧美精品一区久久
|
在线中文一区
|
婷婷综合五月天
|
国产亚洲人成a在线v网站
|
欧美最猛黑人xxxx黑人
|
91传媒在线播放
|
日韩视频免费在线
|
成人av电影在线观看
|
久久av一区
|
国产欧美日韩在线观看
|
午夜久久久
|
国产成人精品久久二区二区91
|
国产二区av
|
欧美亚洲视频在线观看
|
91原创视频
|
精品久久九九
|
在线播放国产一区二区三区
|
91亚洲精品久久久电影
|
四虎在线播放
|
久久久久久久久91
|
一区二区三区成人
|
色偷偷人人澡人人爽人人模
|
91 视频网站
|
韩国理论电影在线
|
国产一区二区三区免费观看视频
|
久久精品超碰
|
91久久久久
|
国产精品久久久久久久免费观看
|
毛片大全
|
亚洲国产成人精品久久久国产成人一区
|