一个单片机晶振为12MHZ,要让单片机延时100ms怎么计算

一个单片机晶振为12MHZ,要让单片机延时100ms怎么计算。请大哥们帮忙看看... 一个单片机晶振为12MHZ,要让单片机延时100ms怎么计算。请大哥们帮忙看看 展开
 我来答
zsjdream
推荐于2016-02-26 · TA获得超过100个赞
知道答主
回答量:111
采纳率:0%
帮助的人:65.6万
展开全部
写个 delay函数 能实现软件延时
void delay(int ms)
{
int z,a;
for(z=ms;z>0;z--)
for(a=110;a>0;a--);
}

要延时多长时间 ms 赋值多少就OK了 当然 软件延时只是大概算出来的 不可能非常准确 要是需要很准确用定时器 也很简单 不过一般应用 软件延时就够了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
广州晶晟电子
2023-10-12 广告
OSC有源晶振是一种电子元件,它需要接电源才能工作,一般有四个引脚,其中有两个是电源输入引脚,有正负极之分。它是石英晶体震荡器的简称,英文名为Crystal。石英晶体震荡器的应用范围非常广,包括通讯系统、时钟电路、显卡、网卡、主板等配件的各... 点击进入详情页
本回答由广州晶晟电子提供
郦秋奚纶
2019-10-18 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:33%
帮助的人:738万
展开全部
指令周期T=4*时钟周期=4*1/12=1/3us
采用2重循环比较好,以下是程序
DELAY100MS
MOVLW
D'44'
MOVWF
20H
LOOP1
MOVLW
D'251'
MOVWF
21H
LOOP2
DECFSZ
21H,1
GOTO
LOOP2
DECFSZ
20H,1
GOTO
LOOP1
RETURN
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
13930735491
2008-08-15
知道答主
回答量:2
采纳率:0%
帮助的人:0
展开全部
12MHZ晶振的机器周期是1MS,延时100MS,就是初始值为65536-100是65436.你可以用10进制,也可以化成16进制的.这是MCS51单片机的定时方法.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
占雅霜笃意
2019-04-18 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:27%
帮助的人:602万
展开全部
f=12MHZ时,一个机器周期为1us
DEL:
MOV
R7,#X
;1us
1
DEL1:
MOV
R6,#Y
;1us
X
DJNZ
R6,$
;2us
X×Y
DJNZ
R7,DEL1
;2us
X
RET
;2us
全部指令执行时间为
1+X+2XY
+2X+2=3+3X+2XY个机器周期。
对于延时时间为100ms的延时程序,可以选择X=200,Y=250。这样,这个子程序的全部执行时间为(2+3×200+2×200×250)=100.62ms。
当然X、Y值选择恰当,能更好地满足精度要求。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
庄彭锺元恺
2019-04-02 · TA获得超过3692个赞
知道大有可为答主
回答量:3093
采纳率:31%
帮助的人:218万
展开全部
我举得用2的溢出计数计时是比较好的。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式