视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
51单片机 4路抢答器
2025-09-28 00:35:52 责编:小OO
文档
先说下我这个4路抢答器的功能:

5个按键,第五个是复位。第一个按键到第四个按键分别对应4个led灯,只要1到4的其中任何一个按键按下,其对应的led灯就会亮,再按其他按键,不会有其他led灯亮。第五个按键进行复位,开始下一轮抢答。 不多说直接上程序和protues仿真图  如下:

注意 :我试了下 ,程序有点小问题,(编译是完全通过的)我也没改出来,毕竟小弟我也才学,有大神知道的话可以给我说说,谢谢。

#include//51头文件

sbit key0 = P3^0;//定义key0,为P3^0引脚

sbit key1 = P3^1;//定义key1,为P3^1引脚

sbit key2 = P3^2;//定义key2,为P3^2引脚

sbit key3 = P3^3;//定义key3,为P3^3引脚

sbit key4 = P3^4;//定义key4,为P3^4引脚

void main()//主函数

{

 while(1)死循环

 {

 if(key0==0) {P1 = 0xfe;P3 = 0xf0;}//如果key0等于0,即闭合,led1亮,将其他三个按钮锁定为低电平

 else if(key1==0) {P1 = 0xfd;P3 = 0xf0;}//如果key0等于1,即闭合,led2亮,将其他三个按钮锁定为低电平

 else if(key2==0) {P1 = 0xfb;P3 = 0xf0;}//如果key0等于2,即闭合,led3亮,将其他三个按钮锁定为低电平

 else if(key3==0) {P1 = 0xf7;P3 = 0xf0;}//如果key0等于3,即闭合,led4亮,将其他三个按钮锁定为低电平

 

 if(key4==0) //复位按钮 按下闭合,则复位

 {

 P1 = 0xff;P3 = 0xff;

 }

 }

}下载本文

显示全文
专题