定时器工作原理谁来说说

2024-06-01 11:22:02 (36分钟前 更新) 195 5089

最新回答

你好,定时器是独立运行的,它不占用CPU的时间,不需要指令,只有调用对应的寄存器的时候才需要参与。
你好,定时器是独立运行的,它不占用CPU的时间,不需要指令,只有调用对应的寄存器的时候才需要参与。
耶阿吃吃吃 2024-06-01
定时器/计数器由定时器0、定时器1、定时器方式寄存器TMOD和定时器控制寄存器TCON组成。
定时器0,定时器1是16位加法计数器,分别由两个8位专用寄存器组成:定时器0由TH0和TL0组成,定时器1由TH1和TL1组成。
TL0、TL1、TH0、TH1的访问地址依次为8AH~8DH,每个寄存器均可单独访问。定时器0或定时器1用作计数器时,对芯片引脚T0(P3.4)或T1(P3.5)上输入的脉冲计数,每输入一个脉冲,加法计数器加1;其用作定时器时,对内部机器周期脉冲计数,由于机器周期是定值,故计数值确定时,时间也随之确定。
TMOD、TCON与定时器0、定时器1间通过内部总线及逻辑电路连接,TMOD用于设置定时器的工作方式,TCON用于控制定时器的启动与停止。
6.1.1  计数功能
计数方式时,T的功能是计来自T0(P3.4)T1(P3.5)的外部脉冲信号的个数。
输入脉冲由1变0的下降沿时,计数器的值增加1直到回零产生溢出中断,表示计数已达预期个数。外部输入信号的下降沿将触发计数,识别一个从“1”到“0”的跳变需2个机器周期,所以,对外部输入信号最高的计数速率是晶振频率的1/24。若晶振频率为6MHz,则计数脉冲频率应低于1/4MHz。当计数器满后,再来一个计数脉冲,计数器全部回0,这就是溢出。
脉冲的计数长度与计数器预先装入的初值有关。初值越大,计数长度越小;初值越小,计数长度越大。最大计数长度为65536(216)个脉冲(初值为0)。
6.1.2  定时方式
定时方式时,T记录单片机内部振荡器输出的脉冲(机器周期信号)个数。
每一个机器周期使T0或T1的计数器增加1,直至计满回零自动产生溢出中断请求。
定时器的定时时间不仅与定时器的初值有关,而且还与系统的时钟频率有关。在机器周期一定的情况下,初值越大,定时时间越短;初值越小,定时时间越长。最长的定时时间为65536(216)个机器周期(初值为0)。
6.2  定时器/计数器控制寄存器
与对定时器/计数器有关的控制寄存器共有4个:TMOD、TCON、IE、IP。IE、IP已在中断一节中介绍,这里不再赘述。
6.2.1  定时器/计数器控制寄存器TCON
特殊功能寄存器TCON用于控制定时器的操作及对定时器中断的控制。其各位定义格式如下。其中D0~D3位与外部中断有关,已在中断系统一节中介绍。
TF0和TF1:定时器/计数器溢出标志位。当定时器/计数器0(或定时器/计数器1)溢出时,由硬件自动使TF0(或TF1)置1,并向CPU申请中断。CPU响应中断后,自动对TF1清零。TF1也可以用软件清零。
TR0和TR1:定时器/计数起运行控制位。
TR0(或TR1)=0,停止定时器/计数器0(或定时器/计数器1)工作。
TR0(或TR1)=1,启动定时器/计数器0(或定时器/计数器1)工作。
可由软件置1(或清0)来启动(或关闭)定时器/计数器,使定时器/计数器开始计数。用指令SETB  (或CLR)使运行控制位置1(或清0)。
定时器/计数器由定时器0、定时器1、定时器方式寄存器TMOD和定时器控制寄存器TCON组成。
定时器0,定时器1是16位加法计数器,分别由两个8位专用寄存器组成:定时器0由TH0和TL0组成,定时器1由TH1和TL1组成。
TL0、TL1、TH0、TH1的访问地址依次为8AH~8DH,每个寄存器均可单独访问。定时器0或定时器1用作计数器时,对芯片引脚T0(P3.4)或T1(P3.5)上输入的脉冲计数,每输入一个脉冲,加法计数器加1;其用作定时器时,对内部机器周期脉冲计数,由于机器周期是定值,故计数值确定时,时间也随之确定。
TMOD、TCON与定时器0、定时器1间通过内部总线及逻辑电路连接,TMOD用于设置定时器的工作方式,TCON用于控制定时器的启动与停止。
6.1.1  计数功能
计数方式时,T的功能是计来自T0(P3.4)T1(P3.5)的外部脉冲信号的个数。
输入脉冲由1变0的下降沿时,计数器的值增加1直到回零产生溢出中断,表示计数已达预期个数。外部输入信号的下降沿将触发计数,识别一个从“1”到“0”的跳变需2个机器周期,所以,对外部输入信号最高的计数速率是晶振频率的1/24。若晶振频率为6MHz,则计数脉冲频率应低于1/4MHz。当计数器满后,再来一个计数脉冲,计数器全部回0,这就是溢出。
脉冲的计数长度与计数器预先装入的初值有关。初值越大,计数长度越小;初值越小,计数长度越大。最大计数长度为65536(216)个脉冲(初值为0)。
6.1.2  定时方式
定时方式时,T记录单片机内部振荡器输出的脉冲(机器周期信号)个数。
每一个机器周期使T0或T1的计数器增加1,直至计满回零自动产生溢出中断请求。
定时器的定时时间不仅与定时器的初值有关,而且还与系统的时钟频率有关。在机器周期一定的情况下,初值越大,定时时间越短;初值越小,定时时间越长。最长的定时时间为65536(216)个机器周期(初值为0)。
6.2  定时器/计数器控制寄存器
与对定时器/计数器有关的控制寄存器共有4个:TMOD、TCON、IE、IP。IE、IP已在中断一节中介绍,这里不再赘述。
6.2.1  定时器/计数器控制寄存器TCON
特殊功能寄存器TCON用于控制定时器的操作及对定时器中断的控制。其各位定义格式如下。其中D0~D3位与外部中断有关,已在中断系统一节中介绍。
TF0和TF1:定时器/计数器溢出标志位。当定时器/计数器0(或定时器/计数器1)溢出时,由硬件自动使TF0(或TF1)置1,并向CPU申请中断。CPU响应中断后,自动对TF1清零。TF1也可以用软件清零。
TR0和TR1:定时器/计数起运行控制位。
TR0(或TR1)=0,停止定时器/计数器0(或定时器/计数器1)工作。
TR0(或TR1)=1,启动定时器/计数器0(或定时器/计数器1)工作。
可由软件置1(或清0)来启动(或关闭)定时器/计数器,使定时器/计数器开始计数。用指令SETB  (或CLR)使运行控制位置1(或清0)。
小小骷髅 2024-05-17
中央处理单元(CPU)是定时器  的控制中枢,它按照定时器  系统程序赋予的功能接收并存储从编程器键入的用户程序和数据、检查电源、存储器I/O以及警戒定时器的状态;并能诊断用户程序中的语法错误。当定时器  投入运行时,首先它以扫描的方式接收现场各输入装置的状态和数据,并分别存入I/O  映象区,然后从用户程序存储器中逐条读取用户程序,经过命令解释后,按指令的规定执行逻辑或算数运算的结果送入I/O  映象区或数据寄存器内,等所有的用户程序执行完毕之后,最后将I/O  映象区的各输出状态或输出寄存器内的数据传送到相应的输出装置,如此循环运行直到停止运行。
中央处理单元(CPU)是定时器  的控制中枢,它按照定时器  系统程序赋予的功能接收并存储从编程器键入的用户程序和数据、检查电源、存储器I/O以及警戒定时器的状态;并能诊断用户程序中的语法错误。当定时器  投入运行时,首先它以扫描的方式接收现场各输入装置的状态和数据,并分别存入I/O  映象区,然后从用户程序存储器中逐条读取用户程序,经过命令解释后,按指令的规定执行逻辑或算数运算的结果送入I/O  映象区或数据寄存器内,等所有的用户程序执行完毕之后,最后将I/O  映象区的各输出状态或输出寄存器内的数据传送到相应的输出装置,如此循环运行直到停止运行。
大花的大呆地 2024-05-05

扩展回答

热门问答

装修专题

页面运行时间: 0.081875085830688 秒