问题2:当你选择好工作方式后,接下来就是设定初始值,方式0:16位加法计数器用了13位,也就是说,可以计算2^13;要想计数更大,使用循环即可。同理方式1:16位加法计数器用了16位,方式2是8位的。以上是对内部脉冲进行计数。想计数P3_4输入了多少个脉冲,需要用外部中断。
问题3:
#include"reg52.h"
led[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}
main()
{
unsigned char counter,i
TMOD=0x01
TL0=-50000%256
TH0=-50000/256
TR0=1
while(1)
{
while(TF0)
{
TF0 = 0
TL0=15536%256
TH0=15536/256
counter++
if(counter==20)
{
P3=led[i++]
counter=0
if(i==8)
{
i=0
}
}
}
}
}
以上是每隔一秒数码管加一;
所谓的查询就是指不停的查询置位标志位TF0或TF1是否为1,当为1是说明你的定时时间到了。
写了这么多,你要是还不理解就多看几遍书吧!
这分要是不给我,单片机都不干了!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)