导航:首页 > 操作系统 > 51单片机初值计算

51单片机初值计算

发布时间:2022-07-11 10:22:09

① 51单片机初值计算

应该做不到吧 定时器2是自动装载的8位计数 最大255 单片机时钟频率晶振/12 是1M 也就是1000次才1ms 模式2不行的 除非你在在弄个全局变量中断中计数

② 51单片机波特率初值怎么计算

用专门软件算吧,象STC烧录软件就附带有定时器和波特率的计算程序,何必自己按计算器呢。

③ 51单片机定时器初值公式

1.简单说起,256表示一个8位分界点,对它求模得高位字节存在TH0中,求余得低位字节放在TL0中,拿十进制打比:15/10得十位1,15%10得个位数5
2.12Mhz时,单周期指令时间为12/fsoc=1us
方式1为16位定时/计数器
故定时1ms为:TH0=(2^16-1000)/2^8,
TL0=(2^16-1000)%256
当为11.0592MHz时,单周期指令时间为12/fsoc=12/11.0592us
由于采用方式0,为13为定时器,TH0高8位和TL0的低5位
故定时1ms为:
TH0=(2^13-1000/(12/11.0592))/2^5,
TL0=(2^16-1000/(12/11.0592))%2^5
这么晚了 写写不容易,多给些分以此鼓励俺
O(∩_∩)O~

④ 51单片机各种位数定时器初值计算方法

对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

方式3 仅适用于T0,此时T0分成两个8位计数器,T1停止计数

当选用定时器的方式1时,设机器周期为Tcy,定时器产生一次中断的时间为t,那么需要计数的个数N=t/Tcy,装入THX和TLX中的数分别为:

THX = (2^16 - N)/256 TLX = (2^16 -N )%256(此处的X为定时器0或定时器1)

公式为:(2^y - X)*Tcy = t

Tosc= 1/ fosc

一个机器周期 = 12个时钟周期 = 12/fosc

溢出速率 = 1 / 溢出时间
故:初值X = 2^y – t/Tcy

THX = 高八位
TLX = 低八位

注:

X:定时器初值

N:计数值

y:定时器工作方式

fosc:晶振频率

Tcy:机器周期,Tosc:时钟周期
Tcy = 1/Tosc

⑤ 51单片机定时器初值怎样计算

首先要知道一个计时脉冲的周期,计时脉冲频率是晶振频率的1/12,晶振12M时,计时脉冲频率是1MHz,周期是1us,因此定时1mS就是1000个脉冲,由于51定时器是加法计数,计数到最大值65536溢出,定时结束,产生中断,因此初值应该写为65536-1000,计数器分高8位和低8位,高8位的1代表256,低8位是不足256的那一部分,因此高8位初值为TH=(65536-1000)/256,低8位TL=(65536-1000)%256。

⑥ 51单片机串口通信定时器初值怎么计算公式和计算原理是什么

串口通信方式1和方式3,要用T1来控制波特率。

T1,使用定时方式2,其初始值,和晶振频率、波特率、SMOD的关系式如下:
T1初值 = 256 - fosc * (SMOD + 1) / (384 * 波特率)

--我不明白波特率跟这个定时器的关系。麻烦你详细一点!

这个关系,是由硬件决定的,只有搞微电子的,才能弄明白。
软件人员,编程的时候,会用这个公式即可,也没有必要弄明白这个。

基本上,也没有几个人,能够弄明白集成电路内部,究竟是怎么处理的。
其它的很多人,好像是很明白,其实都是在瞎编理由,包括写书的那些人。

⑦ 51单片机中PCON的初值如何算

PCON一般只有在使用串口时设置,要设置也只设置它的最高位SMOD。SMOD是串口波特率倍增位,设为1串口波特率就加倍,为0就不变。PCON不能位寻址,所以说初值就00H和80H两种。

⑧ 51单片机中定时1分钟,怎么计算初值

void init()//初始化定时器50毫秒 开启定时0
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
}

void timer0() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
aa++; //50MS 一次
}

通过判断aa的值可以得到时间长度

⑨ 51单片机中定时器初始值是怎样计算的呀

下面按外接,12MHz晶振算..在P1.0处输出1MS方波
ORG 00
AJMP MAIN
ORG 0BH
LALL T0INT
RETI
ORG 30H
MAIN:
LCALL T0INIT
AJMP $
T0INIT:
MOV TMOD,#01H
LCALL T0LOAD
SETB TR0
SETB ET0
SETB EA
RET
T0LOAD:
MOV TL0,#0F0H ;初值计算,65536US-1MS=D8F0H
MOV TH0,#0D8H
RET
T0INT:
LCALL T0LOAD
JB P1.0,NEXT
SETB P1.0
RET
NEXT:
CLR P1.0
RET
END
大概应该就是这样的..

阅读全文

与51单片机初值计算相关的资料

热点内容
服务器地址和ip地址一样不 浏览:662
php中括号定义数组 浏览:600
php打印堆栈 浏览:514
华为adb命令行刷机 浏览:963
人像摄影pdf 浏览:755
解压文件密码怎样重新设置手机 浏览:999
高考指南pdf 浏览:693
爬虫python数据存储 浏览:240
u盘怎么取消加密 浏览:429
567除以98的简便算法 浏览:340
pdf手机如何解压 浏览:15
python描述器 浏览:60
战地联盟3解压密码 浏览:805
s型命令 浏览:25
php年薪5年 浏览:71
如何上网上设个人加密账户 浏览:44
linux打开ssh服务 浏览:78
微信位置可以加密吗 浏览:470
算法蛮力法 浏览:438
随机排练命令 浏览:147