基于51单片机的八路抢答器设计开题报告_8路抢答器设计51单片机

基于51单片机的八路抢答器设计开题报告_8路抢答器设计51单片机随着科学技术的发展和普及,各种各样的竞赛越来越多,其中抢答器的作用也越来越重要。本文设计出以STC89C52RC单片机为核心的八路抢答器。所需元器件如下:…

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

Jetbrains全系列IDE稳定放心使用

随着科学技术的发展和普及,各种各样的竞赛越来越多,其中抢答器的作用也越来越重要。本文设计出以STC89C52RC单片机为核心的八路抢答器。

所需元器件如下:
STC89C52RC芯片 *1
10K电阻 *1
200Ω电阻 *7
10uF 电解电容 *1
22pF 瓷片电容 *2
12MHz晶振 *1
按键 *10
单位7段数码管 *1
74LS08 *1
74LS21 *1

代码如下:

#include<reg52.h>
#define uint unsigned int
#define uchar signed char
sbit kai_key=P3^7;   //定义裁判开始按键
void delay(uint x)   //延时函数
{ 
   
	uchar i;
	while(x--)
	{ 
   
		for(i=0;i<120;i++);
	}
}

void main()    //主函数
{ 
   
	IT0=1;       //设置外部中断0边沿触发方式
	EX0=1;       //设置中断允许位
	P1=0xff;     //P1端口各位写“1”
	P0=0x76;     //初始化数码管,显示字型“H”
	while(1)
	{ 
   
		if(kai_key==0) //判断裁判开始键是否按下
		{ 
   
			delay(50);    //延时去抖
			if(kai_key==0)//判断裁判开始键是否按下
			{ 
   
				while(kai_key==0)//等待按键松开
				EA=1;     //开外部中断
				P0=0x3f;   //数码管显示“0”
			}
		}
	}
}
void qdq_int0(void)interrupt 0 using 1
{ 
   
	uchar key;
	EA=0;         //关外部中断
	key=(P1&0xff);  //读取按键
	switch(key)  //根据键值显示相应键号
	{ 
   
		case 0xfe: P0=0x06;break;
		case 0xfd: P0=0x5b;break;
		case 0xfb: P0=0x4f;break;
		case 0xf7: P0=0x66;break;
		case 0xef: P0=0x6d;break;
		case 0xdf: P0=0x7d;break;
		case 0xbf: P0=0x07;break;
		case 0x7f: P0=0x7f;break;
	}
}

仿真电路图如下:

在这里插入图片描述

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

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

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


相关推荐

  • 动态创建数组[通俗易懂]

    动态创建数组[通俗易懂]使用运算符new也可以创建数组类型的对象,这时需要给出数组的结构说明。用new运算符动态创建一维数组的语法形式为:new类型名【数组长度】;其中数组长度指出了数组元素的个数,它可以是任何能够得到正整数值的表达式。细节:用new动态创建一维数组时,在方括号后仍然可以加小括号“()”,但小括号内不能带任何参数。是否加“()”的区别在于,不加“()”,则对数组每个元素的初始化,与执行

    2022年5月2日
    38
  • webstorm快捷键大全

    webstorm快捷键大全  

    2022年6月23日
    18
  • 神经网络的若干关键基础理论研究_DLA深度神经网络

    神经网络的若干关键基础理论研究_DLA深度神经网络这是一篇关于神经网络算法设计的几个基本问题的理论分析的专题文章,涉及到比较多的原理推导。文章的主体来自IanGoodfellow的《DeepLearning》;AndrewNg在Coursera的《MachineLearning》课程;周志华老师的《机器学习》MichaelNielson的线上书籍:曹振华老师的《随机数学基础》。本文涉及到的概念和理论,尽可能参考自维基百科,保证所有观点的严密和权威。

    2022年8月11日
    7
  • Ubuntu18.04安装arm-linux-gcc交叉编译工具(附arm-linux-gcc 5.4.0包)

    Ubuntu18.04安装arm-linux-gcc交叉编译工具(附arm-linux-gcc 5.4.0包)一、下载arm-linux-gcc5.4.0包下载(百度云)链接:https://pan.baidu.com/s/1AeqzkboWkJDJjU9HxtXhrA提取码:uzup二、在/usr/local目录下新建arm文件夹,并且给予最高权限后进入新建的文件目录里面root@nandycool-virtual-machine:/usr/local#mkdirarmroo…

    2022年6月10日
    28
  • Java JDK 动态代理(AOP)使用及实现原理分析

    Java JDK 动态代理(AOP)使用及实现原理分析代理是一种常用的设计模式,其目的就是为其他对象提供一个代理以控制对某个对象的访问。代理类负责为委托类预处理消息​一、什么是代理?二、Java动态代理类三、JDK的动态代理怎么使用?四、动态代理怎么实现的?五、结论一、什么是代理?代理是一种常用的设计模式,其目的就是为其他对象提供一个代理以控制对某个对象的访问。代理类负责为委托类预处理消息,过滤消息并转发消息,以及进行消息被委托类执行后的后续处理。代理模式UML图:简单结构示意图:为了保持行为的…

    2022年6月7日
    31
  • java hd seks_jodconverter-web/src/main/java/cn/keking/service/impl/AseKsReportServiceImpl.java · mes…

    java hd seks_jodconverter-web/src/main/java/cn/keking/service/impl/AseKsReportServiceImpl.java · mes…packagecn.keking.service.impl;importcn.keking.hutool.StrUtil;importcn.keking.render.AseKsTableRenderPolicy;importcn.keking.render.CustomReplaceOptionalTextPictureRefRenderPolicy;importcn.keking.s…

    2022年7月7日
    27

发表回复

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

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