www问答网
所有问题
为什么单片机启动定时器要在主函数装初值?
如题所述
举报该问题
推荐答案 2020-04-20
因为那样你才能精确定时啊,否则定时器溢出后产生中断,然后进入中断函数,由于函数中没有对定时器设置初值,此时定时器默认高低位初值都为0,重新进行计时
,当然也有例外,比如方式2,只需要在主函数中装一次初值,然后中断函数中就不用再装初值了,其他几个方式都需要在中断函数中重新载入初值。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://www.wendadaohang.com/zd/A5Gn5d1G14335dWdAKW.html
相似回答
为什么要
给
单片机
的
定时器
赋
初值?
答:
给单片机的定时器赋初值是为了取得准确的自己需要的定时时间
,比如你数0--255要256秒,你赋个初值155,你就从156开始数了,数到255只用100秒 端口取反就更好理解了,比如现在的端口为高电平1,取反后就是低电平0了,实现的功能吗,就要看具体用法了,比如我在在点亮led时,让端口定时取反,那么led...
单片机定时器装初值
啥意思
答:
初值,用来控制定时时间
。具体时间,还和定时器的方式,以及所用的晶振频率有关。
单片机
定时器
装初值
做
什么
用?
答:
初始化时 如果不设置 自动装入8位
定时器
的话 那就必须在中断中重新转入一次
初值
是指溢出的间隔吗? 就是定时的间隔 根据晶振就可以求的 定时时间
51
单片机定时器
中断
为什么在主函数
进来赋一次
初值
,进入中断之后又赋一...
答:
主函数
中是初始化,中断服务程序中赋值,是因为溢出申请中断时,寄存器的值已经为0了,必须重新赋值才能保持
定时
时间。
单片机定时器
/计数器设置
初值
有
什么
用?各位大侠
答:
如果你有一个可以装3L的桶,如果你提前向里面装1.2L,那么这个桶就只有1.8L的容量。计数器也是这样,一个16位的计数器可以计到65535(再计一次就溢出,相当于65536一个周期),如果你事前放入60536,那么计数器再加5000次就会溢出。设置的
初值
一般是反相计算的。比如你的计数器是16位的,每1uS计数1...
单片机
串口数据发送,
为什么要
用到
定时器
? 为什么设
初值?
答:
2用定时器可以设置任意波特率,也可以不用定时器,但波特率是死的,不灵活.3 设置初值,是为了设置各种波特率的,一般我们根据公式,来确定一个波特率,反算出
定时器初值
的.得到这个值,赋到定时器寄存器里,开始计时,到达数值溢出,定时器就中断了,从初值到溢出的这段时间就是我们要的波特率
函数
时间. 这样也就...
51
单片机为什么
在于主程序中给TH1
装初值
,又
要在
中断
函数
中TH1的重装初 ...
答:
先
在主
程序中给TH1装入
初值
。此后,
定时
(或计数),到了 TH1 TL0=0 时,就进入中断
函数
。如果不重新装入初值,它将从 0 开始继续定时(或计数)。从初值,定时(或计数),到 0,这才是人们期望的。从 0 ,定时(或计数),到 0,这并不是所期望的。因此,中断后,必须重新装入初值。
单片机定时器
是赋
初值
后就开始工作?
答:
主函数
和中断函数里都可以赋值,开始计数是从TR0=1或TR1=1开始的。而且计时器是独立的,就是说除非关计时器(TR0=0或TR1=0),不然计时器会一直计数(就算有外部中断它也不会停止计数),具体你可以软件仿真,查看对应寄存器(如TH0,TL0)的变化。
关于51
单片机定时
/计数器装入
初值
的问题
答:
这样跟你说吧 因为th0只有一个字节 那就只能放下8位2进制 于是第一种表示就是把一个大于一个字节小于两个字节的数据转化成两个字节高八位和第八位的分离形式 第二种就简单了 0x9c就是65536-100的十六进制表示啊 那高八位就是前两个十六进制数ff就装到th0中 低八位就是后两个十六进制数9c ...
大家正在搜
单片机定时器最大定时时间计算
单片机定时器方式0的初值
51单片机定时器50ms初值
51单片机定时器初值怎样计算
51单片机定时器初值计算公式
51单片机定时器定时1秒
单片机定时器函数
单片机定时器赋值
51单片机计数器初值
相关问题
51单片机定时器中断为什么在主函数进来赋一次初值,进入中断之...
为什么要给单片机的定时器赋初值?
单片机设置定时计数器的初值时,为什么在定时子函数中设置好了初...
单片机定时器装初值啥意思
单片机C语言 为什么定时器初始化程序一定要放在主程序里,不能...
51单片机为什么在于主程序中给TH1装初值,又要在中断函数中...
关于单片机定时器装初值的问题
在主程序中设置定时器的初值后为什么还要在中断子程序中重新设置...