标题: 为什么进入单片机中断后,需要再给定时器赋值? [打印本页]

作者: 可爱萌萌哒    时间: 2020-7-4 23:20
标题: 为什么进入单片机中断后,需要再给定时器赋值?
如题
作者: 路人748号    时间: 2020-7-4 23:56
进中断后 TH0和TL0是一直加一,直到溢出清零,所以需要重新写入初值
作者: zzjz    时间: 2020-7-5 08:15
因为进入中断后,TH0和TL0会不断的计数,直至溢出清零,再从0开始加一,所以需要重新赋初值
作者: 可爱萌萌哒    时间: 2020-7-5 08:32
路人748号 发表于 2020-7-4 23:56
进中断后 TH0和TL0是一直加一,直到溢出清零,所以需要重新写入初值

进入中断后,定时器一直加一,满足中断条件之后,但是程序还在扫描中断程序,这时,怎么运行???
作者: cx2008lxl    时间: 2020-7-5 11:29
51单片机除了定时器工作方式2可以自动重装载初值,其余工作模式溢出后会从0开始计数,因此均需要在中断中再次设定初值。
作者: 十里春风    时间: 2020-7-5 12:47
可爱萌萌哒 发表于 2020-7-5 08:32
进入中断后,定时器一直加一,满足中断条件之后,但是程序还在扫描中断程序,这时,怎么运行???

有外部中断,内部定时器中断,内部定时器是溢出就触发中断
作者: 可爱萌萌哒    时间: 2020-7-6 07:32
十里春风 发表于 2020-7-5 12:47
有外部中断,内部定时器中断,内部定时器是溢出就触发中断

设置中断,还得考虑中断程序执行的时间,
作者: ymt    时间: 2020-7-6 08:40
因为要得到精确的时间,就要给定时器赋初值。不然得不到想要的精确时间。
作者: sam1988    时间: 2020-7-6 08:51
对于没有自动装载值的定时器,应为计数器里的值被清零了,中断标志位置位而产生中断,如过想要再次产生中断需要将计数器重新装载值。对于有自动装载功能的定时器则不需要,除非想改变定时器参数。
作者: 笨笨兔    时间: 2020-7-6 10:39
放着好好的数据手册自己不看,这么简单的问题也来瞎问,唉。。。
作者: 1030231787    时间: 2020-7-6 15:41
赋值得目的是每次以这个初始值开始计数
作者: mhk    时间: 2020-7-6 21:18
在工作方bai式2时是自动重装初值的,不du需要给TH0/TL0重新赋值;在其他工作方式下zhi需要。定时器工作时其TH/TL的值是一直dao加,直到溢出得到中断。工作方式2是8位定时/计数器,其高8位被用来保存初值,来中断后就自动把保存在其中的初值付给定时计数器,而方式0方式1是13位、16位定时/计数器,2个寄存器都使用掉了,硬件不能保存初值,需要软件每次在中断中赋初值。
作者: 青桑叶    时间: 2020-7-7 15:42
在中断程序执行中,定时器已经重装结束。不用担心程序运行。程序比你想的快!加油!!




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1