首页 > 编程知识 正文

单片机定时器2秒设置(51单片机定时器原理)

时间:2023-05-05 07:10:17 阅读:76905 作者:3671

我最近在学习单片机计时器初始值的计算方法。 以下大致列举了12MHz石英振动和11.0592MHz这两种不同石英振动的差异。 10ms和50ms的计算方法,希望对大家有帮助。 如果有问题的话请在评论区提问

一、10MS计时器初始值计算:

1 .晶体振动12M 12MHz除以12等于1MHz,即1秒=1000000次机械周期。 10ms=10000次机器循环。 6536-10000=55536(D8F0) TH0=0xd8,TL0=0xf0 2 .晶体振动11.0592M 11.0592MHz除以12,达到921600Hz,则每秒921600次机器循环,达到1000 6536-9216=56320(DC00 ) TH0=0xdc、TL0=0x00尼、50MS计时器初始值计算:

1 .晶体振动12M 12MHz除以12等于1MHz,即1秒=1000000次机械周期。 50ms=50000次机器循环。 6536-50000=15536(3CB0) TH0=0x3c,TL0=0xb0 2 .晶体振动11.0592M 11.0592MHz除以12,达到921600Hz,则每秒921600次机器循环,达到5000 65536-46080=19456(4c00 ) TH0=0x4c,TL0=0x00

三.使用说明

以12M石英晶体振动为例,每秒可执行1000000次机械周期的机械周期。 t每次最多溢出65536个机器周期。 还应尽量减少溢出中断次数,使对主程序的干扰最小。 开发时根据需要可能更换不同频率的石英振子。 例如,c51单片机适用于使用11.0592M的晶振,生成串行时钟,而12M的晶振则便于计算计时器的时间。 使用插件表达式很有用。 12MHz 1机器周期1us 12/fosc=1us方式0 13位定时器最大时间间隔=2^13=8.192ms方式1 16位定时器最大时间间隔=2^16=65.536ms方式2位定时器最大时间间隔=2^8=0.256ms=256 us定时5ms Fosc/12 12MHz方式0: K=13,X=5ms,Fosc=12MHz计算为M=2^13 - 5*10^(-3 ) *12*10^6/12=312,X=5ms,fosc

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。