大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新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;
}
}
仿真电路图如下:
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/179841.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...