单片机的连接方式
本实验中,使用了普中A7单片机开发板,其中进行实验时,需要做的比较简单,我们需要将单片机的P3与8位键盘模块进行连接,将P2口与8位LED模块组进行连接。
关于延时函数思考
做站内的各类项目中,我对两种延时函数的实现方式较为熟悉 (一)
void delays(unsigned int xms)
{
unsigned int x,y;
x=2;
y=239;
while(xms)
{
do
{
while(--y);
}while(--x);
xms--;
}
}
(二)
void delays(unsigned int xms)
{
for(x=xms;x>=0;x--)
for(y=110;y>=0;y--);
}
消除抖动进行的操作
在进行项目程序编写时,我们需要对按键动作进行消除抖动操作,现将程序写下,我们再做分析。
void main()
{
if(P3_0==0)
delays(20);
while(P3_0==0)
;
}
总程序
void delays(unsigned int xms)
{
unsigned int x,y;
x=2;
y=239;
while(xms)
{
do
{
while(--y);
}while(--x);
xms--;
}
}
void main()
{
unsigned char LEDNUM;
while(1)
{
if(P3_0==0)
delays(20);
while(P3_0==0);
delays(20);
P2=~(P2<<LEDNUM);
LEDNUM++;
if(LEDNUM>=7)
LEDNUM=0;
}
}
项目程序如上所示,粗略来看这个程序应该是没有问题的,但是我在进行程序烧录时,明显出现了延时程序的问题,无法正确消除按键的抖动,按照单片机的12MHz的工作频率,单片机的每一步的工作所消耗的时候大约为1μs。 截止本文章写完,我还是没有找到程序无法运行的问题。 RNM,普中退钱。
|