久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標(biāo)題:
單片機(jī)四路搶答器程序,按鍵沒(méi)有反應(yīng)? 求幫助
[打印本頁(yè)]
作者:
棒棒糖123
時(shí)間:
2019-6-28 12:23
標(biāo)題:
單片機(jī)四路搶答器程序,按鍵沒(méi)有反應(yīng)? 求幫助
仿真的圖
捕獲.PNG
(191.16 KB, 下載次數(shù): 36)
下載附件
2019-6-28 12:23 上傳
為什么按照程序只能實(shí)現(xiàn)按下開(kāi)始鍵就倒計(jì)時(shí),按K1,K2,K3,K4沒(méi)反應(yīng)的,?
下面是程序:
#include<reg51.h>
typedef unsigned char uchar;
typedef unsigned int uint;
sbit K0=P3^2;//?????
sbit beep=P3^7;//??????
sbit D0=P3^3;//????
sbit K1=P1^0;//1???????????
sbit K2=P1^1;//2???????????
sbit K3=P1^2;//3???????????
sbit K4=P1^3;//4???????????
sbit D1=P1^4;//1??????
sbit D2=P1^5;//2??????
sbit D3=P1^6;//3??????
sbit D4=P1^7;//4??????
sbit S1=P3^4;//?????????
sbit S2=P3^5;//????1
sbit S3=P3^6;//????1
char s;
uchar num=0;
char time1;//???????
char time2;//??????????
uint m,n;//T0,T1???????????
bit flag1,flag2,flag3,flag4; //???λ
bit aa,bb;//?????????λ
//????????
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=120;y>0;y--);
}
uchar code table1[]={
//?????????????
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71
};
uchar code table2[]={
//?????????λ???
0xfe,0xfd,
0xfb,0xf7
};
//??????????
void init()
{
TMOD=0x11;
TH0=(65536-2000)/256;
TL0=(65536-2000)%256;
TH1=(65536-2000)/256;
TL1=(65536-2000)%256;
ET0=1;
ET1=1;
EA=1;
P0=0x00;
time1=8;
time2=8;
flag2=1;
}
//?????????????
void key1()
{
uchar i=100;
if(K0==0)
{
delay(8);
if(K0==0)
{
while(K0==0&&i)
{
i--;
delay(8);
}
TR0=1;
s=time1;
m=0;
flag1=1;
flag2=1;
flag3=1;
num=0;
beep=1;
flag4=0; //???Υ????λ
aa=0;
bb=0;
}
}
}
//?????????????????
void key()
{
uchar i=100;
if(K1==0)
{
delay(8);
if(K1==0)
{
while(K1==0&&i)
{
i--;
delay(8);
}
num=1;
P2=0x01;
D1=0; //????????1??"1"
TR0=0; //???????0,?????
TR1=1; //???????1,????????????
flag2=0; //??????????λ,????????????????????
}
}
if(K2==0) //?????????????????
{
delay(8);
if(K2==0)
{
while(K2==0&&i)
{
i--;
delay(8);
}
num=2;
D2=0;
TR0=0;
TR1=1;
flag2=0; //???
}
}
if(K3==0)
{
delay(8);
if(K3==0)
{
while(K3==0&&i)
{
i--;
delay(8);
}
num=3;
D3=0;
TR0=0;
TR1=1;
flag2=0;
}
}
if(K4==0)
{
delay(10);
if(K4==0)
{
while(K4==0&&i)
{
i--;
delay(8);
}
num=4;
D4=0;
TR0=0;
TR1=1;
flag2=0;
}
}
}
//?????????????
void display()
{
if(flag1==1) //?????????,??????????
{
if(num!=0) //???????????,?????????????
{
P0=table1[num]; //?????????????
P2=table2[0];
delay(2);
}
else //???????????,????治???????
{
P0=0x00;
P2=table2[0];
}
P0=table1[s/10]; //???????????????
P2=table2[2];
delay(2);
P0=table1[num];
P2=table2[0];
P0=table1[s%10];
P2=table2[3];
delay(2);
P0=0;
P2=table2[0];
P2=table2[1];
P2=table2[2];
P2=table2[3];
}
else //??????????а???,?????F FF(????Υ????,?????Υ????? FF)????????
{
if(flag4==1) //Υ?????
{
if(num!=0)
{
P0=table1[num]; //???????Υ????
P2=table2[1];
D0=1;
delay(2);
P0=0x00;
P2=0xff;
P0=table1[15]; //??????? FF,???Υ????
P2=table2[2];
delay(2);
P0=0x00; //????
P2=0xff;
P0=table1[15];
P2=table2[3];
delay(2);
P0=0x00;
P2=0xff;
P0=table1[15];
P2=table2[0];
delay(2);
P0=0x00;
P2=0xff;
}
else
{
P0=0x00;
P2=0xff;
}
}
else //?????Υ?????????????
{
if(aa==1)
{
P0=0x76; //???λ????????"5(S)"(?????????????)
P2=table2[0];
delay(2);
P0=0x00;
P2=0xff;
P0=table1[time1/10]; //????????????????????
P2=table2[2];
delay(2);
P0=0x00;
P2=0xff;
P0=table1[time1%10];
P2=table2[3];
delay(2);
P0=0x00;
P2=0xff;
}
else if(bb==1)
{
P0=0x38; //???λ????λ?????????????"T",?????????????
P2=table2[0];
delay(2);
P0=0x00;
P2=0xff;
P0=table1[time2/10];
P2=table2[2];
delay(2);
P0=0x00;
P2=0xff;
P0=table1[time2%10];
P2=table2[3];
delay(2);
P0=0x00;
P2=0xff;
}
else //???????F FF
{
P0=table1[15];
P2=table2[0];
delay(2);
P0=0x00;
P0=table1[15];
P2=table2[2];
delay(2);
P0=0x00; //????
P2=0xff;
P0=table1[15];
P2=table2[3];
delay(2);
P0=0x00;
P2=0xff;
}
}
}
}
//????????????????
void key2()
{
uchar i=100;
if(S2==0) //??????????
{
delay(8);
if(S2==0)
{
while(S2==0&&i)
{
i--;
delay(80);
}
time1++;
if(time1==61)
{
time1=8;
}
aa=1; //???????????λ??1
bb=0; //?????????????λ
}
}
if(S3==0) //??????????
{
delay(8);
if(S3==0)
{
while(S3==0&&i)
{
i--;
delay(8);
}
time2++;
if(time2==61)
{
time2=8;
}
bb=1;
aa=0;
}
}
}
//??????
void main()
{
uchar i=100;
init();//???ó?????????
while(1)
{
key1();//????????????????
if((flag1==0)&(flag2==1)) //??????????????????Υ???????????????
{
key2();
}
if((flag1==1)&(flag2==0)) //???????????????????????п????????????
{
if(S1==0)
{
delay(8);
if(S1==0)
{
while(S1==0&&i)
{
i--;
delay(8);
}
s=time2;
TR0=1;
m=0;
TR1=1;
}
}
}
if((flag1==0)&(flag2==1)) //Υ??
{
key();
if(num!=0) //???????а????,???????????????,????Υ????λ
{
flag4=1;
D0=0;
}
}
if((flag1==1)&(flag2==1)) //???????????????????????????,????а?·????????
{
key();
}
display();//????????????
}
}
//?????0?ж??????
void t0() interrupt 1
{
TH0=(65536-2000)/256; //2ms
TL0=(65536-2000)%256;
if(flag3) //???(START)??????,????(??1??),??????????
{
beep=~beep;
}
else
beep=1;
if(s<5) //????????????,??1??????????????,??????
{
if(s%2==0)
{
flag3=1;
D0=0;
}
else
{
flag3=0;
D0=1;
}
}
m++;
if(m==500) //1??
{
m=0;
s--;
flag3=0; //????????????????????
if(s==-1)
{
s=20;
TR0=0;
flag1=0; //???F FF
flag2=1;
num=0;
D0=1;
}
}
}
//?????1?ж??????
void t1() interrupt 3 //?????1?????????????????????(??1??)
{
TH1=(65536-2000)/256;
TL1=(65536-2000)%256;
beep=~beep;
n++;
if(n==500)
{
n=0;
TR1=0;
}
}
復(fù)制代碼
作者:
xianfajushi
時(shí)間:
2019-6-28 20:50
https://blog.csdn.net/xianfajushi/article/details/90022291
作者:
007
時(shí)間:
2019-6-29 10:59
你這LED燈接錯(cuò)了吧,共陽(yáng)極一端不應(yīng)該是VCC嗎,你怎么接地了
作者:
007
時(shí)間:
2019-6-29 11:00
電路有問(wèn)題,程序你再查查吧
作者:
wc86110
時(shí)間:
2019-6-29 23:20
沒(méi)反應(yīng)復(fù)位電路是罪魁禍?zhǔn)祝?LED 電路也有問(wèn)題,實(shí)物上蜂鳴器少拿 SPEAER 代替
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
国产精品福利视频
|
精品日韩在线观看
|
亚洲一二三视频
|
古典武侠第一页久久777
|
亚洲天堂色
|
99re99
|
日韩精品免费视频
|
一区在线视频
|
国产精品区二区三区日本
|
日本免费一区二区三区
|
精品1区
|
久久成人一区
|
欧美日韩视频
|
久久久2o19精品
|
在线观看亚洲
|
日韩中文字幕在线观看视频
|
欧美九九
|
国产精品视频在线观看
|
久久av资源网
|
日本成人在线观看网站
|
在线观看毛片网站
|
99精品欧美一区二区蜜桃免费
|
五十女人一级毛片
|
一级毛片大全免费播放
|
毛片黄片
|
国产一区不卡
|
久久久精
|
国产成人综合一区二区三区
|
亚洲天堂精品一区
|
欧美国产日韩在线观看成人
|
亚洲一区二区高清
|
国产精品99久久久久久www
|
97免费在线观看视频
|
亚洲黄色高清视频
|
久久久久网站
|
婷婷在线免费
|
免费一二区
|
激情婷婷
|
欧美一区二区三区一在线观看
|
亚洲精选一区
|
播放一级毛片
|