单片机开关检测方法时间计算

单片机延时时间怎样计算
C程序中可使用不同类型的变量来进行延时设计。经实验测试,使用unsigned char类型具有比unsigned int更优化的代码,在使用时应该使用unsigned char作为延时变量。 以某晶振为12MHz的 为例,晶振为12MHz即一个机器周期为1us。
一. 500ms延时子程序
void delay500ms(void)
unsigned char i,j,k;
for(i=15;i&0;i--)
for(j=202;j&0;j--)
for(k=81;k&0;k--);
程 序共有三层循环
一层循环n:R5*2 = 81*2 = 162us DJNZ 2us
二 层循环m:R6*(n+3) = 202*165 = 33330us DJNZ 2us + R5赋值 1us = 3us
三 层循环: R7*(m+3) = 15*33333 = 499995us DJNZ 2us + R6赋值 1us = 3us
循 环外: 5us 子程序调用 2us + 子程序返回 2us + R7赋值 1us = 5us
延 时总时间 = 三层循环 + 循环外 =
= 500000us =500ms
计算公式:= [(2*R5+3)*R6+3]*R7+5
二. 200ms延时子程序
void delay200ms(void)
unsigned char i,j,k;
for(i=5;i&0;i--)
for(j=132;j&0;j--)
for(k=150;k&0;k--);
三. 10ms延时子程序
void delay10ms(void)
unsigned char i,j,k;
for(i=5;i&0;i--)
for(j=4;j&0;j--)
for(k=248;k&0;k--);
四. 1s延时子程序
void delay1s(void)
unsigned char h,i,j,k;
for(h=5;h&0;h--)
for(i=4;i&0;i--)
for(j=116;j&0;j--)
for(k=214;k&0;k--);
原文链接:
责任编辑:
声明:该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。
今日搜狐热点春花秋月何时了?活动不能少。无奈上海路又遥,21ic探报……
MWC(世界移动通信大会)22号正式开幕了,手机不再唱主角,……
无论是 《机械公敌》 里的终极大BOSS还是POI的the machi……
ApplePay自从今年3月正式入华,不少人在尝鲜之后都大呼……
演讲人:黄孝旋时间: 10:00:00
演讲人:陶瑜浦时间: 10:00:00
演讲人:张亚晖时间: 10:00:00
预算:¥5,000-¥10000预算:¥5,000-¥10000
单片机常用初值的计算
[导读]本文总结了单片机的一些初值计算,希望对大家有所帮助。
以下均为方式1(16位)
一。10MS定时器初值的计算:
12MHz除12为1MHz,也就是说一秒=1000000次机器周期。10ms=10000次 机器周期。
TH0=0xd8,TL0=0xf0
2.晶振11.0592M
11.0592MHz除12为921600Hz,就是一秒921600次机器周期,10ms=9216次机器周期。
=56320(dc00)
TH0=0xdc,TL0=0x00
二。50MS定时器初值的计算:
12MHz除12为1MHz,也就是说一秒=1000000次机器周期。50ms=50000次 机器周期。
TH0=0x3c,TL0=0xb0
2.晶振11.0592M
11.0592MHz除12为921600Hz,就是一秒921600次机器周期,50ms=46080次机器周期。
TH0=0x4c,TL0=0x00
  通用运动控制技术现状、发展及其应用:运动控制技术的发展是制造自动化前进的旋律,是推动新的产业革命的关键技术。运动控制器已经从以单片机或微处理器作为核心的运动控制器和以专用芯片(ASIC)作为核心处理器的......关键字:
英特尔于日宣布了4004处理器及其芯片集,它是芯片巨人第一个完整的单片机和第一个商业微处理器。4004处理器有2300个晶体管,手指甲大小,计算性能与第一代电子计算机相当,但第一代计算机需要占据整间房......关键字:
说说我对于物联网的看法。首先,可以肯定的是,物联网肯定是将来发展的一个大方向,这个毋庸置疑,但是物联网的真正崛起可能还需要一段时间。要让物能联网,必须要有一个微型的控制器,这个控制器就是所谓的单片机,这个单片机的功能不需要很强,但是最好能低......关键字:
作为过来人思前想后,我感到完全有责任将发自心底的感受传递给年轻一代,“一个企业家心灵深处渴望优秀人才的卓越追求和深层次的叹息、痛苦和感受”。您们千万不要等到毕业求职时才觉得自己能力太差,世界上从来就没有后悔药。......关键字:
新唐9月在大陆及台湾举办的四场「 2015 新唐科技 NuMicro&
单片机新产品暨应用研讨会」引起热烈回响,好评不断,为了响应众多客户的期待,新唐决定再加码12场,分别于 2015 年 11 月 16 日......关键字:
我 要 评 论
热门关键词单片机延时程序怎么计算时间_百度知道
单片机延时程序怎么计算时间
void delay(uint z){
for(x=z;x&0;x--)
for(y=110;y&0;y--);}怎么算出当z=1时,其运行时间为1ms?(晶振为11Mhz)还是其他的答案!
我有更好的答案
C语言脱离了底层操作,这些语句到底需要多少个指令周期,不便于计算,一般用软件仿真来查看延时时间,好多场合也不必精确延时,如果要精确延时,可以用内部定时器
采纳率:88%
来自团队:
直接这么计算时间是很难算的, 不同的单片机有不同的指令时间。 而且要看具体有几条指令需要看汇编。 最好是用示波器来测试时间。另外, 这种延时会受到中断程序的影响。要想要精确的时间, 最好使用定时器.
本回答被提问者采纳
用示波器看,或者反汇编查指令周期
110 不是算出来
是试出来的
其他1条回答
为您推荐:
其他类似问题
您可能关注的内容
延时的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。请在APP上操作
打开万方数据APP,点击右上角"扫一扫",扫描二维码即可将您登录的个人账号与机构账号绑定,绑定后您可在APP上享有机构权限,如需更换机构账号,可到个人中心解绑。
检索详情页
{"words":"$head_words:单片机+$head_words:延时程序+$head_words:机器周期+$head_words:时间","themeword":"$head_words","params":"$title:51系列单片机延时程序运行时间的计算"}
&&&51系列单片机延时程序运行时间的计算
51系列单片机延时程序运行时间的计算
软件延时在检测和控制领域使用广泛,延时时间的准确性和误差尤为重要.本文分析了单片机延时程序运行时间的详细计算过程,并采用工具软件使延时程序的运行时间计算显得更加快捷、准确.
摘要: 软件延时在检测和控制领域使用广泛,延时时间的准确性和误差尤为重要.本文分析了单片机延时程序运行时间的详细计算过程,并采用工具软件使延时程序的运行时间计算显得更加快捷、准确.&&
相关论文(与本文研究主题相同或者相近的论文)
同项目论文(和本文同属于一个基金项目成果的论文)
您可以为文献添加知识标签,方便您在书案中进行分类、查找、关联
请输入添加的标签
万方数据知识服务平台--国家科技支撑计划资助项目(编号:2006BAH03B01)
&北京万方数据股份有限公司 万方数据电子出版社
实名学术社交
个性化订阅推荐
快速查看收藏过的文献单片机定时时间怎么算,,下面程序的50ms是怎么算出来的啊。求过程_百度知道
单片机定时时间怎么算,,下面程序的50ms是怎么算出来的啊。求过程
void InitTime(void)
TMOD=0x51;//T0为定时器工作于方式1,T1为计数器工作于方式1
TH0=0x4C;//定时器50ms赋高8初值 ,
TL0=0x00;//定时器50ms赋低8初值 ,
TR0=1;//开定时器1
TH1=0;//计数器赋高8初值初值
TL1=0;//计数器...
我有更好的答案
12MHz晶振,经典51核是12分频,因此时钟周期为1μs。50ms = 50000μs,因此定时器累加至溢出需要50000个周期。因此65536 - 50000 = 15536 = 0x3CB0因此TH0 = 0x3C,TL0 = 0xB0。0x4C00这个初值对应的不是12MHz晶振,*而是11.0592MHz晶振。你抄错了。
采纳率:66%
为您推荐:
其他类似问题
单片机的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 51单片机在sd卡写txt 的文章

 

随机推荐