单片机定时器初值计算
我是个新手,不知道怎么对定时器付初值,比如定时器方式1。。。要2ms,意思就是65536--2000,然后便成16进制,然后放到高8位,低8位。。。能否不用计算器转换,直...
我是个新手,不知道怎么对定时器付初值,比如定时器方式1。。。要2ms,意思就是65536--2000,然后便成16进制,然后放到高8位,低8位。。。能否不用计算器转换,直接编程时候直接变。
我看一个程序是这么写的,不太理解。。请帮忙解释下
TH0=(65536-2000)/256;
TL0=(65536-2000)%256; 展开
我看一个程序是这么写的,不太理解。。请帮忙解释下
TH0=(65536-2000)/256;
TL0=(65536-2000)%256; 展开
4个回答
展开全部
呵呵 帮你分析一下啊
定时时间2ms=(2的16次方-时间常数X)12/f 即晶振为12M f=12*1000000
2ms=(2的16次方-时间常数X)12/(12*1000000)
2*0.001=(2的16次方-时间常数X)12/(12*1000000)
2*0.001=(2的16次方-时间常数X)/(1000000)
2000=65536-时间常数X
时间常数X=65536-2000
TH0=(65536-2000)/256; 就是转换成十六进制 再除以256 取整数 即高8位送时间常数寄存器的高8位计数器
TL0=(65536-2000)%256; 就是转换成十六进制 再除以256 取余数 即低8位送时间常数寄存器的低8位计数器
哈哈 满意就选满意回答吧
定时时间2ms=(2的16次方-时间常数X)12/f 即晶振为12M f=12*1000000
2ms=(2的16次方-时间常数X)12/(12*1000000)
2*0.001=(2的16次方-时间常数X)12/(12*1000000)
2*0.001=(2的16次方-时间常数X)/(1000000)
2000=65536-时间常数X
时间常数X=65536-2000
TH0=(65536-2000)/256; 就是转换成十六进制 再除以256 取整数 即高8位送时间常数寄存器的高8位计数器
TL0=(65536-2000)%256; 就是转换成十六进制 再除以256 取余数 即低8位送时间常数寄存器的低8位计数器
哈哈 满意就选满意回答吧
展开全部
你的应该是51单片机数字是从 当前数字从 65535->0(65536) 发出中断(不是所有单片机都是这样),所以数字必须是 65536-2000,定时器定时要看时钟的,这种定时时钟应该是 12MHZ 1us 正好是计时器+1
这个写没问题,(65536-2000)/256 标准工时因该要乘以 你 的晶振时钟 然后除以 12MHZ ,
(65536-2000)/256 因为没有变量所以他是常数,不是表达式,只会编译成一个数字,而不是算式,不会占用额外运行时间,他的运算是编译器替你完成的。。。。
这个写没问题,(65536-2000)/256 标准工时因该要乘以 你 的晶振时钟 然后除以 12MHZ ,
(65536-2000)/256 因为没有变量所以他是常数,不是表达式,只会编译成一个数字,而不是算式,不会占用额外运行时间,他的运算是编译器替你完成的。。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
单片机的程序运行都是以系统时钟周期为基础,而系统时钟周期又和单片机晶振相关联,一般51单片机的系统时钟周期均为晶振的12分频。
单片机的定时器每计时一次为一个系统时钟周期(如果晶振频率为12MHz,一个系统时钟周期为12/(12M)=1/1000000秒)
单片机定时器定时是顺计时,计数到65536的时候才会产生中断,要定时2ms就得计时2000次,因此就用65536-2000
其实你上面写的两句程序就是取整,高八位给TH0,取余,低八位给TL0
这个没有办法编程的时候直接变,因为如果单片机的晶振频率一变定时器定的时间就会发生变化,而且定时器有八位的和十六位的计算方式都不同,不过你可以去下载51单片机定时器自动计算的小软件,很好用。
单片机的定时器每计时一次为一个系统时钟周期(如果晶振频率为12MHz,一个系统时钟周期为12/(12M)=1/1000000秒)
单片机定时器定时是顺计时,计数到65536的时候才会产生中断,要定时2ms就得计时2000次,因此就用65536-2000
其实你上面写的两句程序就是取整,高八位给TH0,取余,低八位给TL0
这个没有办法编程的时候直接变,因为如果单片机的晶振频率一变定时器定的时间就会发生变化,而且定时器有八位的和十六位的计算方式都不同,不过你可以去下载51单片机定时器自动计算的小软件,很好用。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
/256得到高8位
%256得到低8位
%256得到低8位
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询