学习普中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;
}
}