【51单片机系列】应用设计——8路抢答器的设计

本文介绍了使用51单片机设计的8路抢答器,实现开始按键控制抢答流程,抢答允许指示灯和7段数码管显示抢答者编号。中断处理确保了只有在开始按键按下后才允许抢答,并避免同时点亮多个抢答指示灯。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

51单片机应用——8路抢答器设计

要求:

(1) 按下”开始“按键后才开始抢答,且抢答允许指示灯亮;

(2)按下“开始”键后如果有人抢答,则抢答指示灯灭,7段数码管显示抢答着编号。

设计思路

P3.0端口连接“开始”按键;P3.6端口连接一个LED,指示抢答允许;P0口接7段数码管,显示抢答者编号;P2口接8个独立式按键,依次编号为1~8;P1口接抢答者指示灯,当P2口的某一个独立按键按下后,对应的抢答者指示灯亮。

proteus设计原理电路图如下:

8路抢答器原理电路图

软件设计

代码清单:

/*
	实现功能:8路抢答器设计。
						(1) 按下”开始“按键后才开始抢答,且抢答允许指示灯亮;

						(2)按下“开始”键后如果有人抢答,则抢答指示灯灭,7段数码管显示抢答者编号。
						
						P3.0端口连接“开始”按键;
						P3.6端口连接一个LED,指示抢答允许;
						P0口接7段数码管,显示抢答者编号;
						P2口接8个独立式按键,依次编号为1~8;
						P1口接抢答者指示灯,当P2口的某一个独立按键按下后,对应的抢答者指示灯亮;
						
						
	[2024-01-31] zoya
*/

#include <reg51.h>
#include <intrins.h>

typedef unsigned char uchar;

#define GPIO_SMG	P0  // 数码管
#define GPIO_LED	P1  // 抢答者指示灯
#define GPIO_BTN	P2  // 抢答者按键

unsigned char code smg[]={
   0x00, 0x06, 0x5b, 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值