基于51单片机的八路抢答器设计_单片机八路抢答器课程设计

基于51单片机的八路抢答器设计_单片机八路抢答器课程设计写一下寒假做的51小项目,本次是基于AT89C51的八路抢答器,课设水平难度。具体说明:硬件分为两部分,主持人主控部分和选手使用部分。可以实现:按动开始可以开启程序或者开启答题倒计时,按动复位可以实现归零;八个选手各有一个按键,按下即可抢答,与此同时,蜂鸣器响一秒钟,选手的LED点亮。在答题时间还剩十秒钟时,发出提示音,时间耗尽时,所有LED点亮,蜂鸣器鸣响。当抢答倒计时结束仍没有选手抢答,所有…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

写一下寒假做的51小项目,本次是基于AT89C51的八路抢答器,课设水平难度。
具体说明:硬件分为两部分,主持人主控部分和选手使用部分。可以实现:按动开始可以开启程序或者开启答题倒计时,按动复位可以实现归零;八个选手各有一个按键,按下即可抢答,与此同时,蜂鸣器响一秒钟,选手的LED点亮。在答题时间还剩十秒钟时,发出提示音,时间耗尽时,所有LED点亮,蜂鸣器鸣响。当抢答倒计时结束仍没有选手抢答,所有LED点亮,同时蜂鸣器报警一秒钟,之后主持人可以复位重新开始。

原理图

在这个PCB设计时,为了考虑到现实中的使用,设计了主板和副板配合使用的模式。主持人用主板,上面有显示模块,蜂鸣器模块和MCU。选手每人一个副板,上面有选手按键和其LED灯。VCC,GND,按键和LED采用2.54mm排针引出,使用杜邦线链接。
主板PCB副板PCB

部分代码,CSDN对于keil-C代码的支持越来越差,Ctrl+V后就会卡死,只能选很小一部分,剩下的可以下载文件看


if(reset==0)    //复位按键按下时,复位部分
  { 
   
   delay(10);    //显示函数用做延时去抖
   if(reset==0)   //再次判断按键是否按下
   { 
   
    disp_qd_dt=0;  //标志位置0
    second=qd_time;
    t=0;
    p=10;    //显示H
    TR0=0;    //停止计时
    beep=1;       //蜂鸣器归1,为0时发声
    qd=0;
    dt=0;    //停止抢答和答题计时
    ASD=0;
   }
   do
    delay(10);
   while(!reset);
  }

资源包含:proteus仿真+原理图;keil编写的C语言程序;ad原理图+PCB;产品说明书。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/179768.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 支付宝API_支付宝支付接口开发官方文档

    支付宝API_支付宝支付接口开发官方文档1、 业务场景描述:在我们的爱旅行项目中,用户只有报名并且付款之后才能算作参加旅行团成功,因此必须提供快速便捷的支付功能;这里,我们选择了阿里的支付宝api来实现快捷支付,基于此,我们向蚂蚁

    2022年8月2日
    5
  • Supesite 参数说明

    Supesite 参数说明supesite有人看到的是强大的功能,我看到的是坑爷的一些用法,第一次看到block,我晕了。对于参数一头雾水,下面收集了一些,备用吧。supesite标签调用参数详解参数:blocktype模块

    2022年7月2日
    25
  • JDK8新特性_JDK8面试题

    JDK8新特性_JDK8面试题JDK8新特性lambda表达式要求:接口必须是函数式接口,一个接口如果只有一个抽象方法,那他就是函数式接口,我们可以在一个接口上使用_Functionallnterface_注解package com.atguigu.java;import java.util.Comparator;public class LambaTest { public static void main(String[] args) { Runnable r1 = new Runnable()

    2022年8月8日
    5
  • Android Studio入门教程(新手必看)[通俗易懂]

    Android Studio入门教程(新手必看)[通俗易懂]上篇文章已经说过了AndroidStudio的安装配置,从这里开始我们就来完成第一个Android项目吧!如何安装配置还不太熟悉的可以参考这篇文章:AndroidStudio安装配置详细步骤(超详细) 让我们开始第一个Android项目吧1.建立项目选一个EmptyActivity,然后Next默认即可,点击FinishName:文件名Savelocation:文件的保存位置Language:默认Java,会用Kotlin的也可以更改APIlevel:默认即可,级别低运行

    2022年5月1日
    148
  • MFC中的SetCapture、ReleaseCapture、GetCapture函数「建议收藏」

    MFC中的SetCapture、ReleaseCapture、GetCapture函数「建议收藏」转载地址:http://blog.csdn.net/laowu_/article/details/6839345  正常情况下,鼠标指针位于哪个窗口区域内,鼠标消息就自动发给哪个窗口。如果调用了SetCapture,之后无论鼠标的位置在哪,鼠标消息都发给指定的这个窗口,直到调用ReleaseCapture或者调用SetCapture设置另一个窗口为止。很多时候,窗口或控件在鼠标按下后,需…

    2022年5月29日
    82
  • dedesms中的导致生成静态页面多出空白行解决办法

    dedesms中的导致生成静态页面多出空白行解决办法

    2021年9月25日
    48

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号