標題: 單片機四路搶答器 [打印本頁]

作者: 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 發(fā)表于 2020-1-6 01:03
本帖需要重新編輯補全電路原理圖,源碼,詳細說明與圖片即可獲得100+黑幣(帖子下方有編輯按鈕)

沒看到有編輯啊





歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1