下载啦:请放心下载,安全无病毒!

软件提交最近更新 热门排行
您现在的位置: 下载啦 > 行业软件 > 机械电子 > 51单片机定时初值计算软件 v1.0绿色版
51单片机定时初值计算软件 v1.0绿色版
0%
0%

51单片机定时初值计算软件 v1.0绿色版 51单片机定时初值计算软件

  • 软件介绍
  • 软件截图
  • 相关下载
  • 相关文章

51单片机定时初值计算软件是一款小巧好用的51单片机定时初值计算软件,它提供了2种定时方式和4种工作方式,操作十分简单,用户只需输入晶振频率和延时时间,点击“开始”按纽即可计算出需要定时的初值。

51单片机定时初值计算软件 v1.0绿色版

基本介绍

本软件为51系列单片机计算定时器初值的小工具,直接输入时钟频率和要定时的时间即可得到需要定时初值。

此软件是作者在学习C++Builder过程中练习时所编写。

计算公式

一、51单片机定时器初值计算

1、方法一

void main(void)

{

s1=1;

TMOD=0x01; //使用定时器T0的模式1

TH0=(65536-46083)/256; //定时器T0的高8位设置初值

TL0=(65536-46083)%256; //定时器T0的低8位设置初值

函数功能:定时器T0的中断服务函数

********************************************************/

void TIme0(void ) interrupt 1 using 0 //定时器T0的中断编号为1,使用第1组工作寄存器

{

count++; //每产生1次中断,中断累计次数加1

if(count==20) //如果中断次数计满20次

count=0; //中断累计次数清0

s++; //秒加1

网络上阅读一段程序,定时器初值 46083 是怎么计算出来的? 一般我们如用 AT892051的话 定时50MS 就是 TH0=(65536-50000)/256;

猜想应该是使用的12M晶体 ,20次为1S.

2、方法二

10MS定时器初值的计算:

1)晶振12M

12MHz除12为1MHz,也就是说一秒=1000000次机器周期。10ms=10000次 机器周期。

65536-10000=55536(d8f0)

TH0=0xd8,TL0=0xf0

2)晶振11.0592M

11.0592MHz除12为921600Hz,就是一秒921600次机器周期,10ms=9216次机器周期。

65536-9216=56320(dc00)

TH0=0xdc,TL0=0x00

3、方法三

50MS定时器初值的计算:

1)晶振12M

12MHz除12为1MHz,也就是说一秒=1000000次机器周期。50ms=50000次 机器周期。

65536-50000=15536(3cb0)

TH0=0x3c,TL0=0xb0

2)晶振11.0592M

11.0592MHz除12为921600Hz,就是一秒921600次机器周期,50ms=46080次机器周期。

65536-46080=19456(4c00)

TH0=0x4c,TL0=0x00

使用方法

以12M晶振为例:每秒钟可以执行1000000次机器周期个机器周期。而T 每次溢出

最多65536 个机器周期。我们尽量应该让溢出中断的次数最少(如50ms),这样对主程序的干扰也就最小。

开发的时候可能会根据需要更换不同频率的晶振(比如c51单片机,用11.0592M的晶振,很适合产生串口时钟,而12M晶振很方便计算定时器的时间),使用插接式比较方便。

对12MHz 1个机器周期 1us 12/fosc = 1us

方式0 13位定时器最大时间间隔 = 2^13 = 8.192ms

方式1 16位定时器最大时间间隔 = 2^16 = 65.536ms

方式2 8位定时器最大时间间隔 = 2^8 = 0.256ms =256 us

定时5ms,计算计时器初值 M = 2^K-X*Fosc/12 12MHz

方式0: K=13,X=5ms,Fosc=12MHz 则 M = 2^13 - 5*10^(-3)*12*10^6/12= 3192 = 0x0C78

THx = 0CH,TLx = 78H,

方式1: K=16,X=5ms,Fosc=12MHz 则 M = 2^16 - 5*10^(-3)*12*10^6/12= 60536 = 0xEC78

THx = ECH,TLx = 78H,

50ms 12MHz THx = 3CH,TLx = B0H,

10ms THx = D8H,TLx = F0H,

方式2: 最大时间 2^8Fosc/12 = 0.256ms

十进制数是怎么来的?

6MHz 一个机器周期 12/6 = 2us

定时1ms 计数初值x

(2^16-x)*2us = 1000us

x = 2^16 - 500 ,TH,TL 可置 -500

12MHz 一个机器周期 12/12 = 1us

12MHz 一个机器周期 12/12 = 1us

定时50ms 计数初值x

(2^16-x)*1us = 50000us

x = 2^16 - 50000 ,TH,TL 可置 -500

定时器 计内部晶振频率

计数器 计外部输入CPU脚上的脉冲个数 P3.4(T0) P3.5(T1) 负跳变加一

当晶振为6MHz时,最高计数频率500KHz

  • 51单片机定时初值计算软件v1.0绿色版(1)

下载地址

  • Pc版

51单片机定时初值计算软件 v1.0绿色版

软件评论 您的评论需要经过审核才能显示

请自觉遵守互联网相关政策法规,评论内容只代表网友观点,与本站立场无关!
网友评论

热门精选

热门推荐