关于单片机TMOD问题1:TMOD=0x00指的是T0的工作方式0我想知道T1的工作方式0和1怎么表达 TMOD=?2:

1个回答

  • 问题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是说明你的定时时间到了.

    写了这么多,你要是还不理解就多看几遍书吧!

    这分要是不给我,单片机都不干了!