51单片机我要产生一个0.5ms的中断 初值是多少 怎么计算? 10

 我来答
逆袭的白痴
2015-08-05 · 超过11用户采纳过TA的回答
知道答主
回答量:21
采纳率:0%
帮助的人:14万
展开全部
给你一个最简单的吧。
首先要知道系统时钟频率,假设用12MHz的晶振,那么系统的时钟频率Sclk就是12MHz,那么一个时钟周期为1/Sclk即1/(12MHz)。
对于传统的51单片机,比如STC89C52RC或者AT89C52等,1个机器周期T=12个时钟周期。
计一个数需要的时间为一个机器周期,所以T=12/Sclk=12/(12MHz)=1us,即计一个数要花1微秒的时间。
0.5ms产生一个中断,那么0.5ms里面有多少个1us呢
(0.5ms)/(1us)=500,即0.5ms里面有500个1us,即计数器计500个数的时间。
51单片机计数器溢出时才会产生中断,那么我们要预先填一些值到计数器里面。
假设我们选用计数器1工作方式1,即16位计数器,16位计数器从0计数到65535溢出,一共要计65535个数,我们要计500个就溢出,那就要预先填充65535-500个数。
所以
高八位TH1 = (65535-500)/256;
第八位TL1 = (65535-500)%256;
追问
11.0592呢
清风来去无踪
2015-08-05 · TA获得超过320个赞
知道小有建树答主
回答量:286
采纳率:0%
帮助的人:193万
展开全部
0.5ms的中断是什么意思?中断是没有时间概念的,执行完中断任务,清除中断标志,中断就算结束了啊。你是要延时吧,那就用延时函数。
追问
11.0592的晶震计时中断 0.5ms初值是多少  怎么计算?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式