单片机编程:画出定时计数器T0工作在方式0时的结构图,并解释工作原理。

如题所述

方式0:为13位定时/计数器方式

       其中TH0占高8位,TL0占低5位(只用低5位,高3位未用)

       如果是常用的12分频的51系列的话逻辑图如下:

工作原理如下:

T0端:定时器/计数器0外部信号输入端(一般为i/o口P3.4)

TR0:定时器/计数器的运行控制位(为TCON.5)

TF0:定时器/计数器0溢出标志位(为TCON.6)

C/T:定时器/计数器选择位,

     当C/T = 0 时选择开关打在上方(振荡器12分频的位置),

              能够得到准确的定时时间,

              此时为定时方式(用作定时器)

     当C/T = 1 时选择开关打在下方(T0端:定时器/计数器0外部信号输入端),

              此时定时器/计数器0对外部输入脉冲信号进行计数,

              因此为计数方式(用作计数器) 

GATE:门控位,(只有当 控制=1 控制开关才接通,定时/计数器0才工作,无论是定时、计数)

                 至于工作于定时方式还是计数方式就看C/T位了。

       当GATE= 0 时通过非门之后成为1;

                  从而在与INT0进行“或”运算时无论INT0为0还是1,输出都为1

                             (即INT0没有作用了);这个值1再和TR0进行“与”运算

                 从而达到只通过软件给TR0置位(即TR0=1)来启动定时/计数器

       当GATE= 1 时通过非门之后变为0;

                 从而再与INT0进行“或”运算后,

                 “或门”的输出与INT0的值一致,

                 因此经过“与门”之后控制如下:

                 控制 =  INT0&TR0

                              从而达到通过TR0和INT0来共同决定定时/计数器启动

                 不过此时一般用于计数方式

只要定时器/计数器0启动,则开始进行加1运算,当低位(TL0)溢出时自动向高位(TH0)进位,而当高位(TH0)溢出向TF0进位(硬件自动进行),并申请中断。

这个逻辑图的理解就这些,还有什么问题大家共同探讨!

温馨提示:答案为网友推荐,仅供参考
相似回答