C51,单片机T1,串口编程(请问如何设置TH1,TL1初值)

TH1=TL1=?我是新手,我想问问,定时器1的工作方式2下,16M晶振,想要250Kbps波特率,初值为多少?如何计算?谢谢(C51)... TH1= TL1=?
我是新手,我想问问,定时器1的工作方式2下,16M晶振,想要250Kbps波特率,初值为多少?如何计算?谢谢(C51)
展开
 我来答
绝望射手座
推荐于2016-07-23 · TA获得超过318个赞
知道小有建树答主
回答量:111
采纳率:0%
帮助的人:0
展开全部
这个要看你是什么单片机,不同的单片机指令周期不同,有12T,也有6T1T等等,
12T的算法就是256-16000000/(250000*12)=FAH
TH1=FAH
TL1=FAH
计算中你会发现除不尽,有小数点,被无情的舍去了,这样的话精度就无法保证,
所以要调整你的16M,比如用11.0592M 18.432M等,波特率一般9600等常用波特率
保证计算的时候能除尽,这样精度就高,通讯出错的几率就低

另外我这有波特率计算器,需要的话留邮箱
dengbzh
2011-07-14
知道答主
回答量:16
采纳率:0%
帮助的人:11.4万
展开全部
在方式2下貌似只利用了TL,当溢出的时候单片机会自动让TL=TH。TL有8位也就是0~255,每次计数要一个机器周期也就是12/16M(秒)。波特率250k就要看你工作在什么方式下了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
playmouse
2011-07-15
知道答主
回答量:14
采纳率:0%
帮助的人:4.7万
展开全部
哈,简单,下个51定时计算器就行了。不用自己去算。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友7324d02
2011-07-15 · TA获得超过476个赞
知道答主
回答量:352
采纳率:0%
帮助的人:307万
展开全部
两个赋相同的值即可,系统会自动使用减法将TL减到0,然后将TH赋给TL
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式