发布网友 发布时间:2022-04-24 01:11
共4个回答
热心网友 时间:2023-10-17 13:51
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit kai=P2^2;
sbit ting=P2^3;
sbit hao1=P1^0;
sbit hao2=P1^1;
sbit hao3=P1^2;
sbit hao4=P1^3;
sbit hao5=P1^4;
sbit hao6=P1^5;
sbit hao7=P1^6;
sbit hao8=P1^7;
sbit wela=P2^1;
sbit dela=P2^0;
sbit P2_6=P2^6;
sbit P2_7=P2^7;
uchar code table[]=
{0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x40};
uchar a,a1,num,shi,ge,hao,
aa,num1,flag1,flag2,flag3,flag4,
flag5,flag6,flag7,flag8,flag9,flag10;
void display(uchar hao,uchar aa,uchar shi,uchar ge);
void init();
void delay(uint z);
void keyscan();
void main()
{
init();
while(1)
{
keyscan();
if(flag1==1)
{
display(hao,10,shi,ge);
}
else
{
display(hao,10,0,0);
}
}
}
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void keyscan()
{
if(kai==0)
{
delay(5);
if(kai==0)
{
while(!kai);
hao=0;
num=30;
shi=3;
ge=0;
TR0=1;
flag1=1;
P2_7=0;
P2_6=1;
}
}
if(ting==0)
{
delay(5);
if(ting==0)
{
while(!ting)
{
a=0;
num=30;
num1=0;
hao=0;
shi=3;
ge=0;
TR0=0;
TR1=0;
flag1=0;
P2_6=0;
P2_7=1;
P3=0xff;
}
}
}
if(flag1==1)
{
if(hao==0&&hao1==0)
{
delay(5);
if(hao1==0)
{
while(!hao1);
P2_6=1;
P2_7=1;
P3=0xfe;
flag2=1;
shi=0;
ge=0;
hao=1;
TR1=1;
TR0=0;
}
}
if(hao==0&&hao2==0)
{
delay(5);
if(hao2==0)
{
flag3=1;
while(!hao2);
P2_6=1;
P2_7=1;
P3=0xfd;
shi=0;
ge=0;
hao=2;
TR0=0;
TR1=1;
}
}
if(hao==0&&hao3==0)
{
delay(5);
if(hao3==0)
{
flag4=1;
while(!hao3);
P2_6=1;
P2_7=1;
P3=0xfb;
shi=0;
ge=0;
TR0=0;
TR1=1;
hao=3;
}
}
if(hao==0&&hao4==0)
{
delay(5);
if(hao4==0)
{
flag5=1;
while(!hao4);
P2_6=1;
P2_7=1;
P3=0xf7;
shi=0;
ge=0;
TR0=0;
TR1=1;
hao=4;
}
}
if(hao==0&&hao5==0)
{
delay(5);
if(hao5==0)
{
flag6=1;
while(!hao5);
P2_6=1;
P2_7=1;
P3=0xef;
shi=0;
ge=0;
TR0=0;
TR1=1;
hao=5;
}
}
if(hao==0&&hao6==0)
{
delay(5);
if(hao6==0)
{
flag7=1;
while(!hao6);
P2_6=1;
P2_7=1;
P3=0xdf;
shi=0;
ge=0;
hao=6;
TR0=0;
TR1=1;
}
}
if(hao==0&&hao7==0)
{
delay(5);
if(hao7==0)
{
flag8=1;
while(!hao7);
P2_6=1;
P2_7=1;
P3=0xbf;
shi=0;
ge=0;
hao=7;
TR0=0;
TR1=1;
}
}
if(hao==0&&hao8==0)
{
delay(5);
if(hao8==0)
{
flag9=1;
while(!hao8);
P2_6=1;
P2_7=1;
P3=0x7f;
shi=0;
ge=0;
hao=8;
TR0=0;
TR1=1;
}
}
if(!hao==0)
{
if(flag2==1)
{
if(hao1==0)
{
delay(5);
if(hao1==0)
{
TR1=0;
}
}
}
if(flag3==1)
{
if(hao2==0)
{
delay(5);
if(hao2==0)
{
TR1=0;
}
}
}
if(flag4==1)
{
if(hao3==0)
{
delay(5);
if(hao3==0)
{
TR1=0;
}
}
}
if(flag5==1)
{
if(hao4==0)
{
delay(5);
if(hao4==0)
{
TR1=0;
}
}
}
if(flag6==1)
{
if(hao5==0)
{
delay(5);
if(hao5==0)
{
TR1=0;
}
}
}
if(flag7==1)
{
if(hao6==0)
{
delay(5);
if(hao6==0)
{
TR1=0;
}
}
}
if(flag8==1)
{
if(hao7==0)
{
delay(5);
if(hao7==0)
{
TR1=0;
}
}
}
if(flag9==1)
{
if(hao8==0)
{
delay(5);
if(hao8==0)
{
TR1=0;
}
}
}
}
}
}
void display(uchar hao,uchar aa,uchar shi,uchar ge)
{
P0=0xff;
wela=1;
P0=0xfe;
wela=0;
P0=0;
dela=1;
P0=table[hao];
dela=0;
delay(5);
P0=0xff;
wela=1;
P0=0xfd;
wela=0;
P0=0;
dela=1;
P0=table[aa];
dela=0;
delay(5);
P0=0xff;
wela=1;
P0=0xfb;
wela=0;
P0=0;
dela=1;
P0=table[shi];
dela=0;
delay(5);
P0=0xff;
wela=1;
P0=0xf7;
wela=0;
P0=0;
dela=1;
P0=table[ge];
dela=0;
delay(5);
}
void init()
{
TMOD=0X11;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
ET1=1;
num=30;
num1=0;
a1=0;
a=0;
shi=3;
ge=0;
flag1=0;
P2_6=0;
}
void timer0() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
a++;
if(a==18)
{
a=0;
num--;
if(num==0)
{
num=0;
TR0=0;
}
shi=num/10;
ge=num%10;
}
}
void timer1() interrupt 3
{
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
a1++;
if(a1==18)
{
a1=0;
num1++;
if(num1==60)
{
P3=0xff;
P2_6=0;
P2_7=1;
TR1=0;
}
shi=num1/10;
ge=num1%10;
}
}
热心网友 时间:2023-10-17 13:51
估计不会有人来“领赏”,因为:热心网友 时间:2023-10-17 13:52
抢答器这个东西其实是比较简单的,热心网友 时间:2023-10-17 13:52
这是DP801单片机做的8路抢答器电路图,如果需要程序你可给我邮箱,我给你发过去。
怀疑对方AI换脸可以让对方摁鼻子 真人摁下去鼻子会变形
女子野生动物园下车狼悄悄靠近 后车司机按喇叭提醒
睡前玩8分钟手机身体兴奋1小时 还可能让你“变丑”
惊蛰为啥吃梨?倒春寒来不来就看惊蛰
男子高速犯困开智能驾驶出事故 60万刚买的奔驰严重损毁