前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于51单片机的八路抢答器设计开题报告_8路抢答器设计51单片机

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

作者头像
全栈程序员站长
发布2022-11-01 15:14:37
4350
发布2022-11-01 15:14:37
举报
文章被收录于专栏:全栈程序员必看

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

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

代码如下:

代码语言:javascript
复制
#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.cn/179841.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年10月20日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档