为什么下面这个程序单片机延时程序当x=1时是延时1ms?不知道怎么算的

作者&投稿:文贝 (若有异议请与网页底部的电邮联系)
单片机的延时程序。。为什么这个是延时1ms??~

这个应该是51单片机晶振是12MHZ的,可以通过示波器测试时间,这个没有为什么,是一个经验值,准确的延时时间要用定时器做,这种延时是大概的时间

单片机的延时程序通过执行指令来达到延时效果,这个时间等于执行的指令需要的时间,而一个指令需要的时间叫做指令周期,这个时间等于若干个机器周期。

扩展资料:
1丶指令周期,是每种运算需要的时间,如加法、逻辑等,是每一步进行这种指令运算需要的时间,是机器周期的整数倍,这种周期不定。
2丶51单片机12M晶振,晶振周期1/12微妙,一个机器周期包含12个晶振周期,所以12M晶振时机器周期=12x(1/12)微妙=1微妙。
3丶1个毫秒延时子程序如下:
void delay1ms(uint ms)
{
uint i,j;
for(i=0;i<ms;i++)
{
for(j=0;j<110;j++);
}
}

这种利用循环执行代码来产生延时的程序依赖于单片机的工作频率,可能就是晶振的频率或者晶振的频率除以12.假如每执行一条指令需要1uS,则循环执行100遍以后,需要100uS。具体的数值是通过试验确定的,因为C编译出来的程序具体执行的指令条数不好确定。如果非得找到可以用仿真器调试运行确定。

for(t=120;t>0;t--) 这个运行完一遍的时间是1毫秒, 前提是单片机用的晶振是12兆赫的才行。

编译软件仿真一下就知道了

根据指令运行时间,还是进时钟频率算的


中了大乐透,领奖流程是什么?
并不是所有的奖项,都会经历繁琐的兑奖流程。比如我们中了5元钱,直接到投注站兑换即可。彩票兑换过程中,以大乐透为例,5000元以下,直接在投注站兑换;5000-10万,到市体彩票中心兑换;超过10万的奖金,则需要到省体彩票中心兑奖。下面蜗牛君就带领大家,熟悉下大奖的领奖流程,希望我们大家此生,都能...

什么是程序设计?有哪两种主要方法?
记得是哪本书上讲过,一个软件的开发成本是由:程序设计 30% 和程序维护 70% 构成。这是书上给出的一个理论值,但实际上,从我十几年的工作经验中,我得到的体会是:程序设计占 10%,而维护要占 90%。也许我说的还是太保守了,维护的成本还应该再提高。下面这个程序,提供了两种设计方案,大家...

程序语言Python?
Python是什么? Python是一种开放源代码的脚本编程语言,这种脚本语言特别强调开发速度和代码的清晰程度。它可以用来开发各种程序,从简单的脚本任务到复杂的、面向对象的应用程序都有大显身手的地方。Python还被当作一种入门程序员最适合掌握的优秀语言,因为它免费、面向对象、扩展性强同时执行严格的编码标准。 Python是免费...

帮我判断一下下面这个程序是不是使用了枚举法,简单的说一下你从哪里看 ...
这个程序使用的是“暴力法”,或者说“穷举法”、“枚举法”,通过遍历 100 到 1000 中的所有数,找出符合条件的数。从for循环就可以看出来啊。

...该内存不能为written”要终止此程序清单及确认
当然,出现了“该内存不能为read或written”的故障也不一定都是内存的问题,电脑中了病毒或木马以及运行的程序本身的Bug也会造成这种现象。很难分清究竟是什么原因造成的,一时半会不好排除,但没关系,按确定、取消,重启,即可。感兴趣的网友可用下述办法试着去解决:1、打开的程序太多,如果同时打开...

python最多多少线程(2023年最新整理)
下面这个程序是一个典型的生产者消费者模型。生产者消费者模型是经典的在开发架构中使用的模型 运维中的集群就是生产者消费者模型,生活中很多都是 那么,多线程的使用场景是什么?python中的多线程实质上是对上下文的不断切换,可以说是假的多线程。而我们知道,io操作不占用cpu,计算占用cpu,那么python...

java编写一个奶茶点单程序代码怎么写?
以下是一个简单的Java程序,用于实现奶茶点单功能。这个程序可以让用户选择奶茶的口味、大小、加料等选项,并计算订单的总价。import java.util.Scanner;public class MilkTeaOrder { public static void main(String[] args) { Scanner scanner = new Scanner(System.in);System.out.println("欢迎来到...

什么是小程序,有什么作用?
小程序的作用是方便,小程序指的是:小程序是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用。也体现了“用完即走”的理念,用户不用关心是否安装太多应用的问题。应用将无处不在,随时可用,但又无需安装卸载。优势:对于开发者而言,小程序开发...

解释下面一个汇编程序每一行代码的意思功能.
INT 21H ;这两句是调用21H中断的4C功能。返回DOS操作系统!!CODES ENDS ;代码段结束 END START ;指明程序的入口地址,如同高级语言中的MAIN();罗云彬的《WIN32汇编程序设计》我看过相当的经典 不过上面说的都是基于NT内核的API,WINDOWS VISTA 已经推出很久了 它的API有很多的变动,可能有些东西到...

抖音拼多多拍单退货流程(如何进行抖拼拍退货)
针对拍下订单但不想要或有质量问题需要退货的情况,可在抖音主页、订单详情页或拼多多小程序中操作。具体来说, 抖音拼多多拍单退货流程如下:1.进入拼多多小程序 在微信中搜索“拼多多小程序”,或者直接在手机上下载拼多多App。2.进入订单管理界面 在拼多多小程序中点击“我的”按钮,选择“拍下的订单”...

桃源县18050346208: 为什么下面这个程序单片机延时程序当x=1时是延时1ms?不知道怎么算的
冉康气滞: 这种利用循环执行代码来产生延时的程序依赖于单片机的工作频率,可能就是晶振的频率或者晶振的频率除以12.假如每执行一条指令需要1uS,则循环执行100遍以后,需要100uS.具体的数值是通过试验确定的,因为C编译出来的程序具体执行的指令条数不好确定.如果非得找到可以用仿真器调试运行确定.

桃源县18050346208: 单片机晶振频率为12MHZ,请问下面的这个程序为什么能实现1ms的延时 -
冉康气滞: 逐条分析哦, 第四行,两个FOR 语句,相当于变量J 加一 重复了305次,每次重复一次,都要判断是否超过了条件,这样呢,就相当于使用了 单片机的 两个指令周期. 我们知道,一个指令周期 是 6和机器周期 ,由此,可以大概的 做到 延时,但具体延时的 长度 和精确性,就有第三行的 FOR 来确定.

桃源县18050346208: void delay(uchar i) { while(i -- ); } 单片机延时程序? -
冉康气滞: 是谁说的这个程序大约延时10微秒,这是带有形参 i 的,所带 i 的值不同,延时不同,是无法确定时间的.就算是 i 为1,那延时也不是10微秒,调用子程序和从子程序返回也需要时间的,对于传统的51单片机,就需要10微秒以上了.

桃源县18050346208: 单片机时钟程序中为什么要延时 -
冉康气滞: 延时函数是所有单片机程序中不可缺少的,单片机的速度相对很多器件来说已经很高了,必须加延时才能匹配,如液晶屏1602,送一个字符或命令后,必须有ms级延时,才能送下一个字符 数码管扫描显示,每点亮一个数码管也要延时保持一会儿,还有一些短的延时,如模拟SPIJ时钟,只用2 个空操作语句就解决了

桃源县18050346208: 为什么用c语言编写单片机程序 好多子程序都要一直调用延时程序 比如 液晶显示屏子程序初始化时 等等 -
冉康气滞: 在中断程序中,不退出,又出现了本中断的申请,单片机,是不会再一次进入该中断程序的.只有高级的中断,才能中断本次中断.当退出本次中断后,回到主程序执行了一条指令,在处于主程序期间,单片机才会顾及已经出现的申请.但是,如果,该申请标志,已经消失,单片机就不会发生中断.这个过程,有些书,讲的很详细.有些书,就没有讲.

桃源县18050346208: 单片机简易计算器中为何要用延时程序
冉康气滞: 既然是计算器肯定有按键输入,按键输入程序是需要延时函数来滤波的.

桃源县18050346208: 下面单片机延时程序怎么理解? -
冉康气滞: 所谓延时,就是让单片机做些不会产生后果的闲杂事,把这段时间给耗过去.上面是毫秒级延时,下面是个100微秒的延时函数.你贴出的程序中的延时并不太精确,内循环的次数要根据实际汇编的执行指令周期数来测算.

桃源县18050346208: 单片机c程序的流程图为什么一开始都要延时,如下图 -
冉康气滞: 增加延时的作用是让电源电压稳定,和传感器的数据稳定下来.

桃源县18050346208: 为什么这个单片机延时子程序用了PUSH和POP? -
冉康气滞: 请你参考:1. 高手们喜欢这样写,看懂了就没有那么可怕了,其实就是一种保存数据的方法. 2. 下面逐句分析,先说明一下吧:PUSH与POP必须成对出现,否则就乱了;另外谁跟谁是一对也得弄清.DELAY:MOV R2,#30H //以下3行不解释...

桃源县18050346208: 单片机延时程序的延时时间怎么算的? -
冉康气滞: 单片机的延时程序通过执行指令来达到延时效果,这个时间等于执行的指令需要的时间,而一个指令需要的时间叫做指令周期,这个时间等于若干个机器周期. 扩展资料: 1丶指令周期,是每种运算需要的时间,如加法、逻辑等,是每一步进行这种指令运算需要的时间,是机器周期的整数倍,这种周期不定. 2丶51单片机12M晶振,晶振周期1/12微妙,一个机器周期包含12个晶振周期,所以12M晶振时机器周期=12x(1/12)微妙=1微妙. 3丶1个毫秒延时子程序如下: void delay1ms(uint ms) { uint i,j; for(i=0;i<ms;i++) { for(j=0;j<110;j++); } }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网