欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
單片機(jī)四路搶答器(基于普中科技單片機(jī))
[打印本頁]
作者:
HJY19990124
時(shí)間:
2019-12-11 22:45
標(biāo)題:
單片機(jī)四路搶答器(基于普中科技單片機(jī))
這是我們單片機(jī)的一次設(shè)計(jì)程序,這個(gè)程序是基于普中科技的單片機(jī)開發(fā)板,能實(shí)現(xiàn)一個(gè)四路搶答器的功能,本人親自在開發(fā)板上燒錄,能正常運(yùn)作,所以發(fā)出來讓大家給我提些建議,因?yàn)楸救爽F(xiàn)在的編程水平有限,所以讓大家?guī)臀腋倪M(jìn)改進(jìn)。
單片機(jī)源程序如下:
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
#define WHO P0
sbit player1=P1^0;
sbit player2=P1^1;
sbit player3=P1^2;
sbit player4=P1^3;
sbit Ensure=P3^7;
sbit beep=P1^6;
sbit LSA=P3^2;
sbit LSB=P3^3;
sbit LSC=P3^4;
uchar state=0;
uchar ssec=0;
uchar table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
uchar OUT[]={0x71,0x77,0x38,0x38};
void delay(uint time)
{
uint x,y ;
for(x=time;x>0;x--)
for(y=130;y>0;y--);
}
void Delay2(uint i)
{
while(i--);
}
void Show(uchar content[])
{
uchar i;
for(i=0;i<4;i++)
{
switch(i) //位選,選擇點(diǎn)亮的數(shù)碼管,
{
case(0):
LSA=0;LSB=0;LSC=0; break;//顯示第0位
case(1):
LSA=1;LSB=0;LSC=0; break;//顯示第1位
case(2):
LSA=0;LSB=1;LSC=0; break;//顯示第2位
case(3):
LSA=1;LSB=1;LSC=0; break;//顯示第3位
}
P2=content[i];//發(fā)送段碼
Delay2(100); //間隔一段時(shí)間掃描
P2=0x00;//消隱
}
}
void InitTimer0(void)
{
TMOD = 0x01;
TH0 = 0x0D8;
TL0 = 0x0F0;
EA = 1;
ET0 = 1;
TR0 = 1;
}
void main()
{
Ensure=1;
while(1)
{
if(player1==0) //玩家1進(jìn)入搶答狀態(tài)
{
delay(10); //延時(shí),按鍵消抖
if(player1==0) //再次判斷是否進(jìn)入搶答狀態(tài)
{
if(state==0) //前方無人搶答狀態(tài)
{
InitTimer0();
state=1; //將搶答狀態(tài)置為1,防止其他玩家搶答
while(!player1) //搶答成功,蜂鳴器發(fā)聲
{
beep=~beep;
delay(1);
}
WHO=table[1]; //數(shù)碼管顯示搶答成功的玩家編號(hào)
}
}
}
if(player2==0) //以下結(jié)構(gòu)類似于玩家1
{
delay(10);
if(player2==0)
{
if(state==0)
{
InitTimer0();
state=1;
while(!player2)
{
beep=~beep;
delay(1);
}
WHO=table[2];
}
}
}
if(player3==0)
{
delay(10);
if(player3==0)
{
if(state==0)
{
InitTimer0();
state=1;
while(!player3)
{
beep=~beep;
delay(1);
}
WHO=table[3];
}
}
}
if(player4==0)
{
delay(10);
if(player4==0)
{
if(state==0)
{
InitTimer0();
state=1;
while(!player4)
{
beep=~beep;
delay(1);
}
WHO=table[4];
}
}
}
}
}
void Timer0() interrupt 1
{
TH0=(65536-45872)/255; //給定時(shí)器賦初值,定時(shí)50ms
TL0=(65536-45872)%255;
ssec++;
if(Ensure)
{
if(ssec>=100) //5s
{
EA=0;
while(1)
Show(OUT);
}
}
else
{
delay(10);
if(Ensure==0)
{
while(!Ensure);
Ensure=0;
if(ssec>=100)
{
EA=0;
}
}
}
}
復(fù)制代碼
所有資料51hei提供下載:
四路搶答器.docx
(24.28 KB, 下載次數(shù): 26)
2019-12-11 22:45 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
作者:
1228110765
時(shí)間:
2020-6-22 07:49
有仿真圖嗎
作者:
1228110765
時(shí)間:
2020-6-22 07:50
有仿真圖嗎
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1