单片机问题
晶体振荡器的频率fosc=6MHz,T0作为定时器,实现每隔0.1秒引起一次定时器中断,设计TMOD和IE以及计算机器周期和T0的初值,要求写出计算公式。...
晶体振荡器的频率fosc = 6MHz,T0作为定时器,实现每隔0.1秒引起一次定时器中断,设计TMOD和IE以及计算机器周期和T0的初值,要求写出计算公式。
展开
展开全部
晶振=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
机器周期个数=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
展开全部
晶体振荡器的频率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
呵呵 满意就选满意回答吧
即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
呵呵 满意就选满意回答吧
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
TMOD=0x01;
IE=0x82;
计数值=fosc/12*time=0.5*(0.1*1000000)=50000
所以
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
IE=0x82;
计数值=fosc/12*time=0.5*(0.1*1000000)=50000
所以
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询