单片机问题

晶体振荡器的频率fosc=6MHz,T0作为定时器,实现每隔0.1秒引起一次定时器中断,设计TMOD和IE以及计算机器周期和T0的初值,要求写出计算公式。... 晶体振荡器的频率fosc = 6MHz,T0作为定时器,实现每隔0.1秒引起一次定时器中断,设计TMOD和IE以及计算机器周期和T0的初值,要求写出计算公式。 展开
 我来答
百度网友20ddbe0
2012-12-21 · TA获得超过429个赞
知道小有建树答主
回答量:602
采纳率:100%
帮助的人:357万
展开全部
晶振=6MHz----->时钟周期=1/(6×10^6)秒,机器周期=12*时钟周期=2us。
机器周期个数=0.1s/2us=100000us/2us=50000。显然需要用定时器工作方式1,因为只有2^16=65535>50000,2^13和2^8都小于50000.

初值=2^16-50000=65536-50000=15536,TH0=15536/256=60=0x3C,TL0=15536%256=176=0xB0.
TMOD=0x01,EA=1,TR0=1,ET0=1
胖大海君
2012-12-21 · TA获得超过1.4万个赞
知道大有可为答主
回答量:1436
采纳率:11%
帮助的人:638万
展开全部
晶体振荡器的频率fosc = 6MHz,T0作为定时器,定时0.1秒,定时时间还是比较大的,只能选用定时计数器的工作方式1,即16位的计数器。
即TMOD=01H
定时时间的计算公式:

定时时间=(2^16-X)12/fosc=0.1秒

(2^16-X)12/6MHz=0.1秒 即 (2^16-X)12/6*10^6=0.1秒
2(2^16-X)=0.1*10^6
2(2^16-X)=10^5 (2^16-X)=50000
x=2^16-50000=65536-50000=15536=3CB0H
TH0=3CH TL0=B0H

呵呵 满意就选满意回答吧
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhxiufan
2012-12-21 · 知道合伙人软件行家
zhxiufan
知道合伙人软件行家
采纳数:14923 获赞数:38385
国家科技进步奖

向TA提问 私信TA
展开全部
TMOD=0x01;
IE=0x82;

计数值=fosc/12*time=0.5*(0.1*1000000)=50000
所以
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式