基于51的八位抢答器

本文介绍了如何使用51单片机设计一个8位抢答器,抢答器在倒计时10s过程中,LED熄灭,最后5s闪烁。抢答或计时结束时,LED常亮。通过Proteus进行布线,并提供了代码实现,包括变量说明、初始化、主函数等。当玩家违规抢答时,系统会有所显示。分享的源代码可供下载。
摘要由CSDN通过智能技术生成

8位抢答器

利用51单片机设计一个8位抢答器。按下按钮,倒计时10s,初始状态LED处于熄灭状态,最后5s倒计时伴随LED闪烁。有玩家抢答或者计时结束时,LED灯常亮。开始计时后的任意状态下再次按下按钮,抢答器重置。

Proteus布线图

在这里插入图片描述

代码

变量说明:

sbit LED = P3^1;	//led
sbit key4=P3^4; //TO计时器

uint xian[4]={
   0};//数据存储
uint N=20;//Time=50ms*20=1s
uint begin=0;//判断开始和结束
uint counter=10;//计时10s 
uint player=0;//玩家号码
uint flag=0;//有玩家抢答,暂停
uchar p1=0x00; 

初始化:

void init()
{
   
	TMOD=0x01;
	TH0=(65536-41500)/256;
	TL0=(65536-41500)%256;
	ET0=1;
	TR0=0;
	EX0=1;
	IT0=1;
	EA=1;
	}

主函数:

void main(void)
{
   
	init();
	counter=10;	
	LED=1;
	SPEAKER=
  • 1
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值