普中开发板学习(一)

本文介绍了在普中A7开发板上进行LED实验的心得,包括独立按键的抖动消除、延时函数的编写以及8bit引脚的操作。在实验中,作者强调了在使用独立按键时需要考虑的抖动问题,通过延时函数来避免误判,并展示了如何通过P2口进行共阳极LED的控制。此外,还提及了二进制加法运算中LED的状态变化。
摘要由CSDN通过智能技术生成

学习普中A7开发板心得(一)

关于LED实验的总结

在开发板中关于LED的实验中,最值得注意的是在开发过程中,出现了按键的使用,在使用独立按键时,我们需要注意的是,按键的抖动消除。

延时函数的学习编写

void delays(unsigned int xms)
{
	unsigned int x,y;
	x=2;
	y=239;
	while(xms>0)
	{
		do
		{
		while(--y);
		}while(--x);
		xms--;
	}
}

除了使用while循环的方式,我在论坛上还看到了使用for语句编写的延时,大约为500ms的延时

void delays(500)
{
	unsigned int x,y;
	x=xms;
	for(x=xms;x>=0;x--)
		for(y=110;y>=0;y--);
}

关于8bit引脚的一些思考

在项目中,我们的P2口进行的是共阳极连接,所以默认引脚上为高电平,我们使用16进制对该8bit引脚进行赋值。
但是在使用独立按键对一组LED进行二进制加法运算时,我们可以注意到,需要对LED进行另外的赋值。

void main()
{
unsigned int LEDNUM;
	while(1)
	{
		if(P3_0==0)
		delays(20);
		while(P3_0==0);
		LEDNUM++;
		P2=~LEDNUM;
	}
}

运算符号的回忆

暂时还未涉及,在今后的文章中会逐渐回忆

按键消除抖动的方式

根据独立按键的工作方式,我们可以看出,在其工作时,由于其弹片按下时,会产生一定的抖动,我们需要消除其影响,防止这个抖动对我们单片机识别信号产生影响。
从项目中我们以P3_0引脚连接独立按键、P2_0连接LED为例,在判断独立按键是否按下时,我们需要进行20ms的延时,判断是否因为按键抖动而产生的的信号,消除单片机可能会产生的误判。

void main()
{
	while(1)
	{
		if(P3_0==1)
		delays(20);
		while(P3_0==0);
		P2_0=0;
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值