单片机80c51中定时/计数器的工作方式中怎么计数范围怎么算的为什么这样算?

中定时/计数器的工作方式中怎么计数范围怎么算的为什么这样算? 如方式一计数个数是8192是2的13

定时器有一个16位的计数寄存器,这个16位被分成两个8位的寄存器,分别是THx和TLx,有4种工作方式:
方式0:用了THx的8位,用了TLx中的低5位,这样,加起来一共是13位,所以,最大计数范围就是0-8191,一共8192个时钟
方式1:用了THx的8位,用了TLx中的全部8位,这样,加起来一共是16位,所以,最大计数范围就是0-65535,一共65536个时钟,也是定时器用的最大的范围
方式2:只用了THx用来计数,当THx的计数用完了之后,硬件自动把TLx赋值给THx,所以方式2相当于只是8位,所以最大计数到 0-255,共256个
方式3:用于串口波特率的计算,不讨论.
方式0是为了向上兼容老式单片机,一般很少用,现在基本上用方式1最多.追问

我是说那个计数范围是怎么出来的?怎么算的?

追答

晕,我不说明白了吗,方式1,只用了13位,2的13次方是8192,即0-8191;
方式2,用了16位,2的16次方是65536,即 0--65535
方式3只用了8位,2的8次方是256

所有的关于计算机位的问题,都是2的多少次方,比如14位,就是2的14次方,因为计算机用的是二进制

温馨提示:内容为网友见解,仅供参考
第1个回答  2019-01-03
首先13位是从全0到全1变化的二进制数如果转化为十进制数就是0~255,是256个数也是256个变化,每一位可以是0也可以是1就是2^13=256种变化,注意该变化是数学意义上的默认从1开始的所以是256种变化。而实际单片机中数值却是从0开始的。但是从0~255就是数学意义上的256种变化只不过表示的方法不一样而已,区别开来就可以了
第2个回答  2013-01-05
一个机器周期计数一次,比如采用12m晶振,一个机器周期1us,方式1启用了13位,他总共能计2的13次方个数,此时经过了8192us,然后溢出。追问

为什么是2的13次方呀不明白这个?

追答

方式1 :TH用了5位,TL用8位,加起来13位,13位二进制数从0000000000000~1111111111111一共有2的13次方

第3个回答  2013-01-10
方式0是13位定时器
方式1是16位定时器
方式2是8位定时器
你说的例子 :2的13次方是8192
第4个回答  2013-01-04
方式0是13位定时器
方式1是16位定时器
方式2是8位定时器
方式3另类。
上面的几种定时方式,13位是为了兼容早期的48系列单片机设定的,目前无用。16位定时65536
8位定时256

单片机80c51中定时\/计数器的工作方式中怎么计数范围怎么算的为什么这样...
方式0:用了THx的8位,用了TLx中的低5位,这样,加起来一共是13位,所以,最大计数范围就是0-8191,一共8192个时钟方式1:用了THx的8位,用了TLx中的全部8位,这样,加起来一共是16位,所以,最大计数范围就是0-65535,一共65536个时钟,也是定时器用的最大的范围方式2:只用了THx用来计数,当THx的计数用完了之后,...

80C51 的定时器 计数器有几个?是多少位的?有几种工作方式?其工作原理如 ...
80C51 有2 个16 位的定时器\/计数器,有4 种工作方式。定时器与计数器的工作原理是相同的,80C51 的定时器\/计数器是根据输入的脉冲进行加1 计数,当计数器溢出时,将溢出标志位置1,表示计数到预定值。

80C51单片机内部有几个定时\/计数器?它们由哪些功能寄存器组成?怎样实现...
1.中断启用寄存器IE 2.中断优先级寄存器IP 3.定时器\/计数器模式寄存器TMOD 4.定时器\/计数器控制寄存器TCON 5.计数寄存器THx TLx:先进行定时\/计数中断相关寄存器的设定即1-4的赋值,再对计数寄存器即5进行赋值,接着开启中断TRx=1; 具体赋值见相关资料寄存器结构,不清楚的地方可以探讨一下。

设80C51单片机晶振频率为12MHZ,定时器作计数器使用时,其最高的输入计数...
计算方法:确认一次记数,即一次负跳变,需要2个机器周期,即24个时钟周期或震荡周期,则最高记数频率为12M\/24=500khz。或者按照时间计算,晶振频率12M的2个机器周期即2us,那么频率就是1\/2*10^6=500khz,结果相同。

利用80C51内部定时计数器T0,按计数器模式和方式一工作,对P3.4(T0...
TMOD=0X05;\/\/定时器 0工作在16位计数器模式 TH0=0;\/\/清0 TL0=0;TR0=1;\/\/启动 while(dao1){ counter=TH0*256+TL0;\/\/读出 display(counter);\/\/显示 }

80C51系列单片机学习→中断一节里→计算初值→
因为计数器是+1 计数的,所以先算初值:65536-50000=15536 然后,把15536化为2进制数,按照不同的模式放置初值,例如;方式2的话,所得2进制的高八位直接放TH0,第八位直接放TL0(可能不是方式2,记不太清楚而来,反正其中有一种方式是这样的)这里 对15536\/256取模,相当得到该数对应的2进制数...

单片机中 定时器\/计数器 的计数初值是怎么计算得出的?(计数和定时计算...
式中的M由操作模式确定,不同的操作模式计数器的长不相同,故M值也不相同。而式中的计数值与定时器的工作方式有关。1、计数工作方式时 计数工作方式时,计数脉冲由外部引入,是对外部冲进行计数,因此计数值根据要求确定。其计数初值: X=M- 计数值。2、定时工作方式时 定时工作方式时,计数脉冲由...

单片机8051定时器和计数器方式的区别是什么?
单片机8051定时器和计数器的区别如下:\\x0d\\x0a1、定时器是以内部时钟作为基准来工作的,计数器是以外部脉冲输入来计数的。\\x0d\\x0a2、TMOD的C\/T位等于0时为定时器模式,等于1时为计数器模式\\x0d\\x0a3、定时器模式与外部IO口无关,计数器模式需要P3.4,P3.5输入脉冲 ...

单片机系统中的定时和计数功能有什么区别?简述其工作原理
假设定时器是一个16为的定时器,那么对于单片机来说这个定时器工作需要从0计数到65535,而每增加一个数他需要一定的时间,比如从0到1就需要一定时间,这个时间是这样算的,t=1\/(系统主时钟频率),这个时间就是0到1的时间,那么0到65535的时间就是65535*t,一般单片机可以写初值,那么定时公式为:...

80C51串行口使用定时器1作波特率发生器,应定义为工作方式2,即( )方式...
80C51串行口使用定时器1作波特率发生器,应定义为工作方式2,即( 自动重新装载 )方式。假定晶振频率为12MHZ,则可设定的波特率范围为 (6000 ) 到 ( 4800 ) 。理由如下:波特率=((2的SMOD1次方)\/32)x(F\/(12x(256-TH1))其中:SMOD1 是控制寄存器PCON的第7位(值为0或1),F是...

相似回答