标题:
单片机八路抢答器可显示组号 倒计时与分数 带仿真与源码
[打印本页]
作者:
(xiaobai)
时间:
2017-12-20 19:52
标题:
单片机八路抢答器可显示组号 倒计时与分数 带仿真与源码
我是个初学者这,个是自己编写的,带仿真
仿真.png
(179.74 KB, 下载次数: 92)
下载附件
2017-12-20 19:53 上传
单片机控制数码管显示显示组号 倒计时与分数
0.png
(5.42 KB, 下载次数: 106)
下载附件
2017-12-20 23:47 上传
单片机源程序如下:
#include<reg51.h>
#define uchar unsigned char
uchar duanma [10] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
uchar weima [6] = {0x01,0x02,0x04,0x08,0x10,0x20};
uchar xianshi[6] = {0,0,0,0,0,0};
uchar cj [9]= {0,0,0,0,0,0,0,0,0};
uchar jishu1,jishu2,zuhao,daojishi,miao,jifen,chengji;
bit qiangda=1;
sbit k1=P0^0;
sbit k2=P0^1;
sbit k3=P0^2;
sbit k4=P0^3;
sbit k5=P0^4;
sbit k6=P0^5;
sbit k7=P0^6;
sbit k8=P0^7;
sbit chafen=P3^4;
sbit jianfen=P3^5;
sbit jiafen=P3^6;
sbit fuwei=P3^7;
sbit fengming=P3^2;
void yanshi10ms()
{
unsigned char i,j;
for(i=20;i>0;i--)
for(j=250;j>0;j--);
}
void chushihua()
{
TMOD=0x11;
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
TH1=(65536-1000)/256;
TL1=(65536-1000)%256;
EA=1;
ET0=1;
TR0=1;
ET1=1;
}
void main(void)
{
chushihua();
while(1)
{ //蜂鸣器控制
if(daojishi==20)
{
TR1=1;
}
if (daojishi==19)
{
TR1=0;
}
if(daojishi==1)
{
TR1=1;
}
if (daojishi==0)
{
TR1=0;
}
if(fuwei==0) //按钮 复位
{
yanshi10ms();
if(fuwei==0)
{
qiangda=0;
zuhao=0;
daojishi=0;
chengji=0;
}
while(fuwei==0);
}
if(jiafen==0) //加减分
{
yanshi10ms();
if(jiafen==0)
{
cj[zuhao]=cj[zuhao]+10;
if(cj[zuhao]>=100)
{
cj[zuhao]=90;
}
chengji=cj[zuhao];
while(jiafen==0) ;
}
}
if(jianfen==0) //加减分
{
yanshi10ms();
if(jianfen==0)
{
cj[zuhao]=cj[zuhao]-10;
if(cj[zuhao]==-10)
{
cj[zuhao]=0;
}
chengji=cj[zuhao];
while(jianfen==0) ;
}
}
if(chafen==0) //查分
{
zuhao++;
if(zuhao==9)zuhao=1;
chengji=cj[zuhao];
while(chafen==0);
}
if(qiangda==0)
{
if(k1==0)
{
yanshi10ms();
if(k1==0)
{
zuhao=1;
daojishi=20;
qiangda=1;
}
while(k1==0) ;
}
if(k2==0)
{
yanshi10ms();
if(k2==0)
{
zuhao=2;
daojishi=20;
qiangda=1;
}
while(k2==0);
}
if(k3==0)
{
yanshi10ms();
if(k3==0)
{
zuhao=3;
daojishi=20;
qiangda=1;
}
while(k3==0);
}
if(k4==0)
{
yanshi10ms();
if(k4==0)
{
zuhao=4;
daojishi=20;
qiangda=1;
}
while(k4==0);
}
if(k5==0)
{
yanshi10ms();
if(k5==0)
{
zuhao=5;
daojishi=20;
qiangda=1;
}
while(k5==0);
}
if(k6==0)
{
yanshi10ms();
if(k6==0)
{
zuhao=6;
daojishi=20;
qiangda=1;
}
while(k6==0);
}
if(k7==0)
{
yanshi10ms();
if(k7==0)
{
zuhao=7;
daojishi=20;
qiangda=1;
}
while(k7==0);
}
……………………
…………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
八路抢答器.zip
(70.34 KB, 下载次数: 64)
2017-12-20 19:14 上传
点击文件名下载附件
下载积分: 黑币 -5
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1