标题: 单片机四路抢答器 [打印本页]

作者: fateful    时间: 2020-1-5 19:16
标题: 单片机四路抢答器
#include <reg51.h>
#include <intrins.h>
typedef unsigned int u16;
typedef unsigned char u8;
typedef unsigned char uchar;
u8 code smgduan[17]={0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
     0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//ÏÔʾ1~FµÄÖµ
sbit wei1=P2^2;
sbit wei3=P2^3;
sbit wei4=P2^4;
     
     
sbit k1=P3^1;
sbit k2=P3^0;
sbit k3=P3^2;
sbit k4=P3^3;
sbit D1=P2^0;
sbit D2=P2^1;
sbit D3=P2^2;
sbit D4=P2^3;
sbit beep=P2^5;
uchar k;
uchar D;
uchar num;


void T0Int_s(void)
{
TMOD=0x11;
TH0=0x37;  //??50ms????
TL0=0xb0;
ET0=1;
TR0=1;
EA=1;
}
void delay(u16 i)
{
while(--i);
}

void delays(u16 tm)
{
while(tm--)
{
delay(248);
  delay(248);
}
}
void keypros1()
{
  if(k1==0)
{
D1=~D1;
  while(1)
  {
beep=~beep;
delay(100);
  if(k1!=0)
  break;
  }
}
}
void keypros2()
{
if(k2==0)
{
D2=~D2;
while(1)
{
  beep=~beep;
delay(100);
  if(k2!=0)
  break;
}
}
}
void keypros3()
{
if(k3==0)
{
D3=~D3;
while(1)
{
  beep=~beep;
delay(100);
  if(k3!=0)
  break;
}
}
}
void keypros4()
{
if(k4==0)
{
D4=~D4;
while(1)
{
  beep=~beep;
delay(100);
  if(k4!=0)
  break;
}
}
}
void main()
{
if(k1==0)
{
delays(10);
keypros1();
T0Int_s();
while(1);
}
if(k2==0)
{
delays(10);
keypros2();
T0Int_s();
  while(1);
}
  if(k3==0)
{
delays(10);
keypros3();
T0Int_s();
  while(1);
}
  if(k4==0)
{
delays(10);
keypros4();
T0Int_s();
  while(1);
}
}  


作者: admin    时间: 2020-1-6 01:03
本帖需要重新编辑补全电路原理图,源码,详细说明与图片即可获得100+黑币(帖子下方有编辑按钮)
作者: fateful    时间: 2020-4-23 09:14
admin 发表于 2020-1-6 01:03
本帖需要重新编辑补全电路原理图,源码,详细说明与图片即可获得100+黑币(帖子下方有编辑按钮)

没看到有编辑啊





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1