导航:首页 > 操作系统 > 单片机计数器初值

单片机计数器初值

发布时间:2023-12-11 07:01:15

‘壹’ NEC单片机的计数初值的计较

定时或计数法子下计数初值若何确定,定时器决议不同的事变法子,不同的把持情势其计数值均不类似。若设最大计数值为m,各把持情势下的m值为:
情势0:m=213=8192
情势1:m=216=65536
情势2:m=28=256
情势3:m=256,定时器t0分成2个自力的8位计数器,所以th0、tl0的m均为256。
因为mcs-51的两个定时器均为加1计数器,当初到最大值(00h或0000h)时产生溢出,将tf职位地方1,可发出溢出间断,因此计数器初值x的计较式为:x=m-计数值式中的m由把持情势确定,不同的把持情势计数器的长不类似,故m值也不类似。而式中的计数值与定时器的事变法子有关。
1、计数事变法子时
计数事变法子时,计数脉冲由外部引入,是对外部冲进行计数,因此计数值依照哀求确定。其计数初值:x=m-计数值
例如:某工序哀求对外部脉冲旗帜暗号计100次,x=m-100
2、定时事变法子时
定时事变法子时,因为计数脉冲由内部供给,是对板滞周期进行计数,故计数脉冲频率为fcont=fosc×1/12、计数周期t=1/fcont=12/fosc定时事变法子的计数初值x便是:
x=m-计数值=m-t/t=m-(fosc×t)/12
式中:fosc为振荡器的振荡频率,t为哀求定时的时间。
定时器有两种事变法子:即定时和计数事变法子。由tmod的d6位和d2位决议,其中d6位决议t1的事变法子,d2位决议t0的事变法子。=0事变在定时法子,=1事变在计数法子。并有四种把持情势:
1、情势0:13位计数器,tli只用低5位。
2、情势1:16位计数器。
3、情势2:8位自动重装计数器,thi的值在计数中不变,tli溢出时,thi中的值自动装入tli中。
4、情势3:t0分成2个自力的8位计数器,t1停止计数。
mcs-51有5个间断源,可分为2个间断优先级,即高优先级和低优先级,间断自然优先级:
外部间断0;定时器0间断;外部间断1;定时器1间断;
串行口间断;定时器2间断
(1)同级或高优先级的间断在进行中;
(2)现在的板滞周期还不是履行指令的末端一上板滞周期,即在履行的指令还没完成前不响应任何间断;
(3)在履行的是间断返回指令ret1或是访谒专用寄存器ie或ip的指令,换而言之,在reti大要读写ie或ip今后,不会登时响应间断请求,起码要在履行此外一要指令之扣才会响应。
(一)间断响应条件
cpu响应间断的条件有:
(1)有间断源发出间断请求;
(2)间断总允许位ea=1,即cpu开间断;
(3)哀求间断的间断源的间断允许位为1,即没有被屏蔽。
八、串行口事变法子及帧格局
mcs-51单片机串行口可以经过进程软件设置三种办法:
法1:与常见的微型计较机的串行口不同,它又叫同步移位寄存器输出法子。在这种法子下,数据从rxd端串行输出或输入,同步旗帜暗号从txd端输出,波特率安稳不变,为振荡率的1/12。该法是以8位数据为一帧,没有肇端起誓位和停止位,先发送或接管最低位。
法2:可接管或发送11位数据,以11位为一帧,比方式1增加了一个数据位,此外类似。第9个数据即d8位具有特别的用场,可以经过进程软件搂控制它,再加特别成果寄存器scon中的sm2位的配合,可使mcs-51单片机串行口适用于多机通信。法子2的波特率安稳,只需两种决议,为振荡率的1/64或1/32,可由pcon的最高位决议。
法3:法3与法2类似,唯一的区别是法3的小组特率是可变的。而帧格局与法2-样为11位一帧。所以子3也适当于多机通信。

‘贰’ 单片机中 定时器/计数器 的计数初值是怎么计算得出的(计数和定时计算方式是否不同)--初学单片机

计数初值的计算:

定时或计数方式下计数初值如何确定:定时器选择不同的工作方式,不同的操作模式其计数值均不相同。若设最大计数值为M,各操作模式下的M值为:

模式0:M=2^13=8192

模式1:M=2^16=65536

模式2:M=2^8=256

模式3:M=256,定时器T0分成2个独立的8位计数器,所以THO、TLO的M均为256。

因为MCS-51的两个定时器均为加1计数器,当初值到最大值(00H或0000H)时产生溢出,将TF位置1,可发出溢出中断,因此计数器初值X的计算式为:X=M-计数值。

式中的M由操作模式确定,不同的操作模式计数器的长不相同,故M值也不相同。而式中的计数值与定时器的工作方式有关。

1、计数工作方式时

计数工作方式时,计数脉冲由外部引入,是对外部冲进行计数,因此计数值根据要求确定。其计数初值:X=M-计数值。

2、定时工作方式时

定时工作方式时,计数脉冲由内部供给,对机器周期进行计数,计数脉冲频率fcont=fosc*1/12、计数周期T=1/fcont=12/fosc定时工作方式的计数初值X等于:

X=M-计数值=M-t/T=M-(fosc*t)/12

式中:fosc为振荡器的振荡频率,t为要求定吋的时间。

(2)单片机计数器初值扩展阅读:

定时器工作方式的设定:

定时器有两种工作方式:定时和计数。由TMOD的D6位和D2位决定,其中D6位决定T1的工作方式,D2位决定T0的工作方式。值为0时工作在定时方式,值为1时工作在计数方式。并且有四种操作模式:

1、模式0:13位计数器,TLi只用低5位。

2、模式1:16位计数器。

3、模式2:8位自动重装计数器,THi的值在计数中不变, TLi 溢出时,THi中的值自动装入TLi中。

4、模式3:T0分成2个独立的8位计数器,T1停止计数。

‘叁’ 单片机如何计算初值

一般最直接的想法就是,指定一个计时值x,然后从0开始累加计数,计数到x表示时间到,可以处理事务了。这种处理方法,需要一个数值比较器,每计一次数,就比较一下。这对单片机或者说硬件电路来讲,一个8位计数器就需要包含一个8位数值比较器,实在不够简便。

第二种想法,是指定一个计时值x,然后进行减计数,减计数到0表示时间到。这也要一个比较器,只不过是个0值比较器,硬件电路上比上一种要简单一些,但减计数器还是不常用。我们知道累加器才是最简便的硬件电路之一。

上面两种方法,都是软件实现的定时器的合理想法。那么硬件电路实现定时最简便的方法是什么呢?

那就是用累加器来实现。比如一个8位的累加器,可以从0累加计数,计数到256时溢出,产生溢出信号,就可以触发事务处理了。

要是我们只需要计数10次就够了,则可以将计数初值定义为246。那样,计数10次后就可以达到256,产生溢出信号了。

所以就有了(2^n-x)。n是计数器的位数;2^n就是最大计数值;x是计数初值。整个这段,表示我们需要的计时次数。

计数器每次计数的时间间隔是t,及计数周期。那么总的计时时长m=计数周期×计数次数=t×(2^n-x),也就是m=(2^n-x)×t。

计数位数n由选用的单片机确定,通常等于8,12,16或32等等,即8位、12位等计数器。计数周期t由定时器基础时钟确定,可通过设置定时器时钟源和选择时钟分频数确定。这两项灵活性不大,一般在程序初始化时就应设定。

初值x可以在应用时,根据定时需求进行修改确定。

协调好n,t和x三者的设定,就可以完美实现定时功能了。

‘肆’ 单片机C51,对定时器/计数器初值设置

一个用作定时器。定时器中断的时候输出一个脉冲作为计数器的计数脉冲,设定一个计数值,计数满的时候中断,这样计数值为10时候,定时器中断10次,用一个计数值来记录定时器的中断次数,一个用作计数器。
至于定时/计数器的操作;计数器串联.536ms,所以12M晶振的情况下,然后将计数值清0,重新计数,即为100ms。总的定时时间的原理同上。这个方法会有小小误差,因为操作计数值的时候会占用一点时间,这个时间比较短。
2、2个定时/,用单个16位定时器得不到100ms的定时。这时可更换频率较低的晶振或用以下两种软件的方法:
1、定时器累加。用一个计数值来记录定时器的中断次数。比如;计数器能达到的最大定时时间为:65536*1uS=65,每中断一次计数加151单片机12M晶振时,定时/计数器的时钟为1uS,所以单个16位的定时/,设定定时器10ms中断

‘伍’ 51单片机定时计数器四种工作方式哪种可以实现计数初值的自动加载

51单片机定时计数器四种工作方式中,方式2可以实现计数初值的自动加载。

解释分析:

16位的计数器只用了8位来计数,用TLx来进行计数,而THx用于保存初值,当TLx计满时则溢出,该方式的溢出状态一方面使TF变化,另一方面使TH的值再次置入TL,正所谓自动重置定时/计数器

自动装载初值,无需程序运行赋值,此方式更精确。

此时MAX值为28=256,设计数值为100。

初值为156=10011100B(0x9C)。

TH0=TL0=0x9C。

定时/计数器有如下一些用途:

(1)产生所需频率的脉冲,如产生频率1000,占空比1:1的脉冲波。

(2)在累加计数中的应用,计数器可在一段时间内记录信号A经整形后的脉冲个数。

(3)在频率测量中的应用,通过测量脉冲宽度或在一定时间内测量脉冲的个数,从而推算出脉冲的频率。

(4)定时/计数器在计时中的应用,定时/计数器可对时钟信号,如秒信号进行计数,也可用来倒计时,秒表计,时间循环等。

阅读全文

与单片机计数器初值相关的资料

热点内容
安卓os14怎么默认桌面 浏览:547
应用市场下载在哪个文件夹 浏览:893
安卓上的谷歌地图怎么用 浏览:181
安卓命令行打包 浏览:514
编程文字与数字教学视频 浏览:815
如何看手机号码注册哪些app 浏览:411
linux查看总内存 浏览:850
python进程间共享 浏览:436
js如何获取本地服务器地址 浏览:68
gfx什么时候支持安卓十一系统 浏览:939
压缩机90兆帕 浏览:928
程序员调侃语句 浏览:579
不是php函数的是 浏览:998
压缩文件好处 浏览:785
3d266期神童三胆计算法 浏览:189
通过爱思助手怎么下载app 浏览:323
vi命令将文件创在桌面上 浏览:925
程序员做竞价 浏览:698
江苏中小学编程纳入课程 浏览:732
单纯形法包括动态规划算法 浏览:953