Proteus 8 C51单片机仿真_使用按键输入控制LED灯
  RGE9SaKkXr6k 2023年12月06日 17 0

首先在proteus中点击P放置器件,输入DIPSW来放置1个插件形式的按键,将按键连接在P3的IO口上:

Proteus 8 C51单片机仿真_使用按键输入控制LED灯_单片机仿真

Proteus 8 C51单片机仿真_使用按键输入控制LED灯_按键控制_02

编写程序,通过读取P3的值,赋给P2,来获取按键的输入效果:

#include <REGX52.H>

int main()
{
	int i = 0;
	
	while(1)
	{
		P2_0 = ~P3_0;
	}
	return 0;


通过按键来控制来控制P1^0口的LED亮灭,增加了消抖和松手检测:

Proteus 8 C51单片机仿真_使用按键输入控制LED灯_按键控制_03

程序示例:

#include <REGX52.H>

sbit LED = P1^0;
sbit KEY = P1^1;

void Delay10ms()		//@12.000MHz 延时10毫秒
{
	unsigned char i, j;
	i = 20;
	j = 113;
	do
	{
		while (--j);
	} while (--i);
}

int main()
{
	while(1)
	{
		P2 = ~P3;  //使用P3_IO口按键来控制P2_IO口的LED灯
		if(KEY == 0)
			Delay10ms();   	 	//按键消抖
			if(KEY == 0)
			LED = ~LED;  	 	//LED状态取反
			while(KEY == 0);  	//松手检测
	}
	return 0;
}
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年12月06日 0

暂无评论

推荐阅读
RGE9SaKkXr6k