问题1:工作方式0:0x00;工作方式1:0x01;工作方式2:0x02;工作方式3:0x03;
问题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()
{
x09unsigned char counter,i;
x09TMOD=0x01;
x09TL0=-50000%256;
x09TH0=-50000/256;
x09TR0=1;
x09while(1)
{
while(TF0)
{
TF0 = 0;
x09x09x09TL0=15536%256;
x09x09x09TH0=15536/256;
x09x09x09counter++;
x09x09x09if(counter==20)
x09x09x09{
x09x09x09x09P3=led[i++];
x09x09x09x09counter=0;
x09x09x09x09if(i==8)
x09x09x09x09{
x09x09x09x09x09i=0;
x09x09x09x09}
x09x09
x09x09x09}
x09
x09x09}
x09
x09
x09}x09
x09
}
以上是每隔一秒数码管加一;
所谓的查询就是指不停的查询置位标志位TF0或TF1是否为1,当为1是说明你的定时时间到了.
写了这么多,你要是还不理解就多看几遍书吧!
这分要是不给我,单片机都不干了!