• 大小: 2KB
    文件类型: .c
    金币: 1
    下载: 0 次
    发布日期: 2021-06-02
  • 语言: 其他
  • 标签:

资源简介

基于51单片机的八路抢答器,使用两位的数码管对其计时,有两个开关可对数码管的时间进行加减,实现对所需的倒计时的时间设置

资源截图

代码片段和文件信息

#include
#define uchar unsigned char
#define uint unsigned int
uchar code table[]={0x3f0x060x5b0x4f0x660x6d0x7d0x070x7f0x6f};
 uchar time=30;
unsigned char countshige;
sbit K1=P3^0;
sbit LED1=P3^5;
sbit FM=P3^1;
sbit P3_3=P3^3;
sbit P3_4=P3^4;
sbit jia=P3^6;
sbit jian=P3^7;


void delay(uint z)
 {
  uint xy;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
  }

void time_init()


  shi=time/10;
  ge=time%10;

 P3_4=1; //关闭串口P3.4,即数码管的2口
 P0=table[shi]; //向段选位P0送十位的数据,显示十位
 P3_3=0; //开启第一个位选
 delay(2);
 
 P3_3=1; //关闭串口P3.3,即数码管的1口
 P0=table[ge]; //向段选位P0送个位的数据,显示个位
 P3_4=0; //开启第二个位选
 delay(2);
}

void key()
{
  if (jia==0)
  {delay(10);
   if (jia==0)
   {
    time++;
if(time==99)
time=0;
while(!jia);
   }
  }
  if (jian==0)
  {delay(10);
   if (jian==0)
   {
    time--;
if(time==0)
time=30;
while(!jian);
   }
  }
}


 vo

评论

共有 条评论