51单片机的定时器和计数器分别定时和计数的周期是多长时间,这个脉冲周期有规定吗?
4个回答
展开全部
定时器/计数器本质上都是计数器,只不过数的东西不一样.
定时器/计数器做为定时器来用的时候,是数的单片机时钟的脉冲个数,也就是说,单片机的时钟做为定时器/计数器的时钟源,因为单片机的时钟一般比较固定,因此,我们就知道一个脉冲占多长时间,因为根据脉冲的个数,就能推算出时间,就能做定时器用.
比如:12MHz的传统51单片机,一个脉冲周期是1us,如果定时器数了10个脉冲周期就中断了,说明10us时间到了.
而作为计数器的时候,数的是来自引脚上的脉冲,也就是说,是引脚上的脉冲做为定时器/计数器的时钟源,如果这个脉冲是规律的,周期是固定的,那么,也可以实现定时,比如,如果引脚的脉冲是10KHz的,那么,一个脉冲周期是100us,如果定时器/计数器数了10个脉冲周期就中断,说明1ms时间到了.
但是,如果引脚上的脉冲频率不固定,时高时低,那么,就没办法根据脉冲个数算出时间来,此时,就只是单纯的计数功能.
总而言之,定时器/计数器本质都是对脉冲计数,只是作为定时器,数的是内部的脉冲,做为计数器,数的是外部的脉冲,如果脉冲固定,外部脉冲也可以用来定时.赞同0|评论
定时器/计数器做为定时器来用的时候,是数的单片机时钟的脉冲个数,也就是说,单片机的时钟做为定时器/计数器的时钟源,因为单片机的时钟一般比较固定,因此,我们就知道一个脉冲占多长时间,因为根据脉冲的个数,就能推算出时间,就能做定时器用.
比如:12MHz的传统51单片机,一个脉冲周期是1us,如果定时器数了10个脉冲周期就中断了,说明10us时间到了.
而作为计数器的时候,数的是来自引脚上的脉冲,也就是说,是引脚上的脉冲做为定时器/计数器的时钟源,如果这个脉冲是规律的,周期是固定的,那么,也可以实现定时,比如,如果引脚的脉冲是10KHz的,那么,一个脉冲周期是100us,如果定时器/计数器数了10个脉冲周期就中断,说明1ms时间到了.
但是,如果引脚上的脉冲频率不固定,时高时低,那么,就没办法根据脉冲个数算出时间来,此时,就只是单纯的计数功能.
总而言之,定时器/计数器本质都是对脉冲计数,只是作为定时器,数的是内部的脉冲,做为计数器,数的是外部的脉冲,如果脉冲固定,外部脉冲也可以用来定时.赞同0|评论
更多追问追答
追问
单片机的晶振和机器周期的关系!晶振震 荡12次是否为一个机器周期?
追答
哦,对你正学习的单片机来,是这样的,51,共四种周期
振荡周期:也称时钟周期,是指为单片机提供时钟信号的振荡源的周期
状态周期:每个状态周期为时钟周期的2倍,是振荡周期经二分频后得到的。
机器周期:一个机器周期包含6个状态周期S1~S6,也就是12个时钟周期。
在一个机器周期内, CPU可以完成一个独立的操作。
指令周期:它是指CPU完成一条操作的所需的全部时间。每条指令执行时间都是有一个
或几个机器周期组成。MCS-51系统中,有单周期指令、双周期指令和四周期指令
振荡*12 = 状态*6 = 机器
记住这个概念
展开全部
51单片机不同厂家生产的不同产品是不同的,比如AT89C51是12T的,STC89C52是12T也可以通过设置工作在6T,STC12C5A60S2是1T的但是它默认情况下会对时钟进行12分频,来模拟12T,所谓T就是一个晶振周期,12T就是一个机器周期也就是单片机执行一条语句所对应的晶振周期为12个(不是很严谨,新手可以这么理解),定时器记录一个数对应一个机器周期。由于大多数51单片机的结构比较简单,它的外设总线的时钟不具备独立的分频器,所以外设时钟是以机器周期计算的。比如你外接一个12M晶振,单片机每12个晶振周期才能执行一条基本语句,所以实际工作频率只有1Mhz,定时器等片上外设同理。
具体编程的时候可以用单片机小精灵v1.2这个工具来直接生成代码,不用关心太多。
51的16位定时器设置好初值后,每过一个机器周期的时间,存储值自加1,当达到65536时会溢出,产生一个定时器中断执行相应代码,通过改变定时器的初值,就是设置定时器的溢出率,就可以达到你想要的定时结果。
具体编程的时候可以用单片机小精灵v1.2这个工具来直接生成代码,不用关心太多。
51的16位定时器设置好初值后,每过一个机器周期的时间,存储值自加1,当达到65536时会溢出,产生一个定时器中断执行相应代码,通过改变定时器的初值,就是设置定时器的溢出率,就可以达到你想要的定时结果。
追问
单片机的晶振和机器周期的关系!晶振震 荡12次是否为一个机器周期?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
应该每个定时器都是有TIMRH和TIMRL,最大计数时间就是TIMRH*TIMRL*总线频率(时钟分频后的频率)
追问
单片机的晶振和机器周期的关系!晶振震 荡12次是否为一个机器周期?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
与晶振、工作方式、初值有关
更多追问追答
追问
有人和我说定时器定时的是一个机器周期的时间,一定是一个机器周期吗?
追答
那人概念不清,如果只定时1个机器周期,那要定别的时长是怎么办呀?
定时时每次来的脉冲是定周期的,即机器周期,计数时来的脉冲是随机的,可能有定周期也可能不是,怎么能一概而论呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询