基于51单片机的简易抢答器

具体功能:
1、主持人按下抢答开始按键,抢答者才可以开始抢答,数码管抢答倒计时20S。
2、抢答者按下按键,数码管显示抢答者的编号。
3、可以通过按键修改倒计时时间。

部分程序代码:

#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
#define  max 20
uchar tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};   //共阴数码管段码sbit d1=P2^4;
sbit d2=P2^5;
sbit x1=P2^6;
sbit x2=P2^7;sbit k1=P1^0;
sbit k2=P1^1;
sbit k3=P1^2;
sbit k4=P1^3;
sbit k5=P1^4;
sbit k6=P1^5;
sbit k7=P1^6;
sbit k8=P1^7;sbit zk1=P2^0;
sbit zk2=P2^1;sbit buz=P2^2;unsigned char d_num,cnt;
uchar x_flag;void jianpan();void init(void)
{TMOD=0X01;TL0=0XB0; TH0=0X3C;
//   TR0=1;    ET0=1;     EA=1;d_num=max;
}void delay(uint xms)
{uint x,y;for(x=xms;x>0;x--)for(y=110;y>0;y--);
}void display()
{d1=0;  //位选端;P0=tab[d_num/10];//显示倒计时delay(5);d1=1;d2=0;P0=tab[d_num%10];delay(5);d2=1;x1=0; //位选端P0=tab[x_flag/10];//显示选手号delay(5);x1=1;x2=0;P0=tab[x_flag%10];delay(5);x2=1;
}void main()
{   init();while(1){ jianpan();display();}
}void timer0(void) interrupt 1
{ TL0=0XB0; //重装初值TH0=0X3C; cnt++;if(cnt==20)//1 秒时间到{cnt=0;//计数清零d_num--;if(d_num==0){d_num=max;TR0=0;  //关闭所有操作}buz=0;    delay(20);buz=1;}
}

仿真原理图:

以下可以忽略不看!

一、复位电路的用途:单片机复位电路就好比电脑的重启部分,当电脑在使用中出现死机,按下重启按钮电脑内部的程序从头开始执行。单片机也一样,当单片机系统在运行中,受到环境干扰出现程序跑飞的时候,按下复位按钮内部的程序自动从头开始执行。

二、复位电路的工作原理在书本上有介绍,51单片机要复位只需要在第9引脚接个高电平持续2US就可以实现,那这个过程是如何实现的呢?在单片机系统中,系统上电启动的时候复位一次,当按键按下的时候系统再次复位,如果释放后再按下,系统还会复位。所以可以通过按键的断开和闭合在运行的系统中控制其复位。
开机的时候为什么会复位:在电路图中,电容的的大小是10uF,电阻的大小是10k。所以根据公式,可以算出电容充电到电源电压的0.7倍(单片机的电源是5V,所以充电到0.7倍即为3.5V),需要的时间是10K*10UF=0.1S。也就是说在单片机启动的0.1S内,电容两端的电压时在03.5V增加。这个时候10K电阻两端的电压为从51.5V减少(串联电路各处电压之和为总电压)。所以在0.1S内,RST引脚所接收到的电压是5V~1.5V。在5V正常工作的51单片机中小于1.5V的电压信号为低电平信号,而大于1.5V的电压信号为高电平信号。所以在开机0.1S内,单片机系统自动复位(RST引脚接收到的高电平信号时间为0.1S左右)。

按键按下的时候为什么会复位:在单片机启动0.1S后,电容C两端的电压持续充电为5V,这是时候10K电阻两端的电压接近于0V,RST处于低电平所以系统正常工作。当按键按下的时候,开关导通,这个时候电容两端形成了一个回路,电容被短路,所以在按键按下的这个过程中,电容开始释放之前充的电量。随着时间的推移,电容的电压在0.1S内,从5V释放到变为了1.5V,甚至更小。根据串联电路电压为各处之和,这个时候10K电阻两端的电压为3.5V,甚至更大,所以RST引脚又接收到高电平。单片机系统自动复位。

基于51单片机的简易抢答器设计相关推荐

  1. 基于51单片机的四路抢答器设计

    0 要求介绍 使用51单片机设计一个思路抢答器 正常抢答:主持人按下开始按钮后数码显示管显示最先按下按钮台号,蜂鸣器发出音响,其它抢答按钮无效:主持人按下开始按钮之前,若选手按下抢答器,抢答违规,显示 ...

  2. 基于51单片机的八路抢答器设计

    随着科学技术的发展和普及,各种各样的竞赛越来越多,其中抢答器的作用也越来越重要.本文设计出以STC89C52RC单片机为核心的八路抢答器. 所需元器件如下: STC89C52RC芯片 *1 10K电阻 ...

  3. 基于51单片机的简易抢答器

    具体实现功能 具体规则: 1.主持人进行复位,依次显示8位选手的分数,8位选手分数显示结束后主持人方可按下开始按键. 2.主持人按下抢答开始按键,抢答者才可以开始抢答,数码管抢答倒计时10S. 3.抢 ...

  4. 【Proteus仿真】基于51单片机的八路抢答器

    [Proteus仿真]基于51单片机的八路抢答器 Proteus仿真 主要功能和使用介绍 采用4位数码管设计. 下排按键一一对应八位选手. 上排三个按键,从走到右依次为:开始.暂停.复位. 操作流程: ...

  5. 基于51单片机的八路抢答器附仿真代码开源

    基于51单片机的八路抢答器代码开源 单片机采用51单片机 一个共阳数码管 需要该源码的可以关注公众号:智慧小巷 回复:八路抢答器 即可!

  6. 【Proteus仿真】【51单片机】竞赛抢答器设计

    文章目录 一.主要功能 二.硬件资源 三.软件设计 四.实验现象 联系作者 一.主要功能 本项目使用Proteus8仿真51单片机控制器,使用数码管显示模块.键盘模块.蜂鸣器.按键模块等. 主要功能: ...

  7. 基于51单片机的八路抢答器

    写一下寒假做的51小项目,本次是基于AT89C51的八路抢答器,课设水平难度. 具体说明:硬件分为两部分,主持人主控部分和选手使用部分.可以实现:按动开始可以开启程序或者开启答题倒计时,按动复位可以实 ...

  8. 基于51单片机六路抢答器

    资料编号:194 本设计是以六路抢答为基本理念.考虑到依需设定限时回答的功能,利用51单片机及外围接口实现的抢答系统,利用单片机的定时器/计数器定时和记数的原理,将软.硬件有机地结合起来,使得系统能够 ...

  9. 51单片机的八路抢答器设计

    一.硬件方案 本设计 利用STC89C52单片机及外围接口实现的抢答系统,利用单片机的定时器/计数器定时和记数的原理,将软.硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时 ...

最新文章

  1. python 编程实例 1
  2. html与css结合动效案例,CSS3制作动画效果例子
  3. 【Consul】Consul架构-Gossip协议
  4. Spring Boot 常见面试题
  5. cannot resolve symbol spark
  6. FreeBSD的功能特点
  7. WSSv3 Technical Articles_Windows SharePoint Services 3.0编码开发工具和技巧(Part 2 of 2)
  8. iOS开发中防止键盘挡住UITextField解决方案
  9. java 拦截html请求参数值_javaweb项目,html文件放在了WebRoot下,如何拦截访问html的请求呀?...
  10. pandas.Series.asfreq
  11. Safari 是什么
  12. html加图形验证码,canvas基础之图形验证码的示例
  13. Test from Windows Live Writer
  14. 实时即未来!Flink Forward Asia 2021 议程正式上线!
  15. 计算机组装小游戏,电脑组装店游戏
  16. Debian7系统安装python3
  17. Redhat 7.9安装db2 11.1.4.6 DBT3514错误
  18. iOS 环信移动客服接入
  19. 怎么根据日志分析出 PV 和 UV?
  20. DAP数据分析平台可视化组件开发

热门文章

  1. 计算机毕业设计(附源码)python医院门诊分诊系统
  2. php 7天余额显示不出来的,为何我在余额宝里面放了两千元钱,三天以后还是看不到收益?请问手机余额宝的收益在哪里可以看到?还有余...
  3. 人人都会的Android无埋点数据采集技术
  4. 基于Android原生开发的理财小助手APP
  5. 算法小抄6-二分查找
  6. 关于HTML几种简单布局方式
  7. 苹果plus HTML高度,iphone7plus尺寸多大?长、宽、高度和尺寸图详解
  8. Elasticsearch:使用 ELSER 进行语义搜索
  9. Apache Harmony的介绍
  10. 学分信息管理系统C语言代码,C语言学分管理系统(需求文档附源代码)(32页)-原创力文档...