历史上的今天
返回首页

历史上的今天

今天是:2025年05月08日(星期四)

正在发生

2018年05月08日 | 如何正确计算多重循环延时程序的延时时间

2018-05-08 来源:eefocus

题目:MCS-51单片机,使用 6MHz 晶振,一个机器周期为 2us,计算出下列程序的延时时间。

DEL: MOV R5, #100
DEL0: MOV R6, #200
DEL1: MOV R7, #248
DEL2: DJNZ R7, DEL2
       DJNZ R6, DEL1
       DJNZ R5, DEL0
       RET


最佳答案: 题目中的答案是错的。应该是:19 960 606 us。
本题目的程序,共有三重循环,耗时的正确计算方法,可见下图。

如何正确计算多重循环延时程序的延时时间 - 非著名博主 - 电子信息角落


后记:
能够精确计算程序的执行时间,是汇编语言的长处。而用C语言编写程序,执行的时间只能进行估算和测试。
但是有很多网友,都把这两者弄混了:
  在用C语言编程的时候,偏要追问程序执行时间的计算公式;
  在用汇编语言编程的时候,却采用简略的时间计算方法。
特别是现在这道题,要求精确算出 us 量级的数值,很明显是应该采用精确的计算方法。多数网友却马虎的很!采用了简略的算法。如果这是考试题,显然会挂科一批人。
精确的计算方法,其实并不难,看看插图,划分出几个循环结构的圈,逐“层”计算即可。

如果用简易的估算方法,只是计算主要的循环体(本题仅为2T)的循环耗时时间,过程如下:

    100 * 200 * 248 * 2T = 9 920 000 T

    如:T = 2us,则延时时间为:19 940 000 us 。

这个数字和精确计算的结果相比,误差约为千分之一。这个算法,在实际应用方面,是完全可以的。

但是,这个简易的算法,精度仅在 10ms 的等级,如果作为理论分析来用,误差还是相当大的。

另外,用 keil 软件进行单步调试的时候,所耗用所机器周期和时间, keil 都能够十分清晰给出,它要比 Proteus 软件的效果好得多。
对于本题目,做而论道提出的答案,完全得到了验证,可见插图所示。


推荐阅读

史海拾趣

GREATECS公司的发展小趣事

在电子行业中,有许多伟大的企业(GREATECS公司,这里假设为泛指多个杰出电子企业)通过不同的路径和策略实现了显著的发展。以下是五个相关故事,每个故事均基于事实,旨在展示这些企业如何成长和壮大。

1. 通用电气(General Electric, GE)的多元化扩张

通用电气(GE)的故事始于1888年,由托马斯·爱迪生创立,最初专注于电力和照明领域。随着时间的推移,GE通过一系列的战略并购和内部创新,逐渐扩展到电机、电动机制造、航空、医疗设备、核能等多个领域。在20世纪,GE成为全球最大的多元化企业之一,其业务遍布全球。特别是在杰克·韦尔奇担任CEO期间(1981-2001),通过大规模的并购和扩张,GE的营业收入和市值显著增长。然而,2008年金融危机后,GE面临经济困境,随后进行了战略调整,出售金融资产并重点发展核心业务,如今仍是全球领先的科技和工业公司之一。

2. 索尼(Sony)的创新之路

索尼公司成立于1946年,最初由井深大和盛田昭夫创立,起初是一家小型电子产品制造商。索尼的崛起得益于其持续的创新精神和对消费者需求的敏锐洞察。1958年,索尼推出了世界上第一台便携式晶体管收音机,开启了便携式电子产品的新时代。随后,索尼又推出了Walkman便携式音乐播放器、PlayStation游戏机等一系列革命性产品,这些产品不仅改变了人们的娱乐方式,也奠定了索尼在全球电子行业的领先地位。索尼的成功在于其不断追求技术创新和产品质量,以及对市场趋势的准确把握。

3. 三星电子的崛起

三星电子是韩国最大的电子企业,其发展历程充满了挑战与机遇。起初,三星主要从事贸易和低端电子产品制造。然而,在20世纪80年代末至90年代初,三星决定实施“新经营”战略,通过大规模投资研发、提升产品质量和品牌形象,实现了从低端制造商向高端科技企业的转型。在半导体、智能手机、显示面板等领域,三星取得了重大突破,成为全球市场的领导者。三星的成功在于其强大的研发能力、高效的供应链管理以及对市场变化的快速响应。

4. 英特尔(Intel)的芯片霸主地位

英特尔公司成立于1968年,最初是一家专注于半导体存储器的初创企业。然而,随着日本存储器制造商的崛起,英特尔面临了巨大的竞争压力。在关键时刻,英特尔决定放弃存储器业务,转而专注于微处理器(CPU)的研发和生产。这一战略转型使英特尔迅速崛起为全球最大的CPU制造商,其“Intel Inside”计划更是深入人心,成为个人电脑行业的标准配置。英特尔的成功在于其强大的技术创新能力、对市场需求的精准把握以及与全球合作伙伴的紧密合作。

5. 华为的技术突破与全球化战略

华为作为中国电子行业的代表企业,其发展历程充满了传奇色彩。起初,华为主要从事电信设备的研发和销售。然而,随着技术的不断进步和市场需求的不断变化,华为逐渐将业务扩展到智能手机、云计算、人工智能等多个领域。华为的成功在于其持续的技术研发投入、对全球市场的深入洞察以及灵活的市场策略。特别是在5G技术方面,华为取得了重大突破,成为全球领先的5G解决方案提供商。同时,华为还积极推动全球化战略,与全球多个国家和地区的运营商建立了紧密的合作关系。

Heraeus公司的发展小趣事

AIM公司自创立以来,便以其前瞻性的视野和独特的技术理念,在电子行业中崭露头角。创始团队凭借对市场的敏锐洞察和对技术的深刻理解,将公司定位为提供创新解决方案的引领者。在创立初期,AIM便投入大量资源进行技术研发,逐渐在行业中建立了自己的技术优势和品牌形象。

Anderson Electronics Inc公司的发展小趣事

在取得一系列辉煌成就的同时,Anderson Electronics Inc公司始终关注可持续发展和环境保护。公司积极推行绿色生产理念,采用环保材料和节能技术,努力降低生产过程中的能耗和排放。同时,公司还关注社会责任和公益事业,积极参与社会公益活动,回馈社会。展望未来,公司将继续坚持创新驱动、质量为本的发展理念,不断推动技术创新和产业升级,为电子行业的发展贡献更多的力量。


请注意,以上内容仅为一个通用的框架,具体的故事内容需要根据Anderson Electronics Inc公司的实际情况进行创作。在撰写时,您可以结合公司的历史背景、发展历程、技术创新、市场拓展、国际合作、产业升级等方面的信息进行详细描述,以展现公司在电子行业中的发展历程和成就。

明微公司的发展小趣事

明微公司自创立以来,始终坚持以技术创新为核心竞争力。在数字电视芯片领域,明微团队通过深入研发,成功推出了一款具有高性能、低功耗特点的芯片产品,该产品凭借其卓越的性能和合理的价格,迅速在市场上获得了认可。此后,明微公司继续加大研发投入,不断推出具有竞争力的新产品,逐步在电子行业中崭露头角。

Akahane Electronics Ind Corp公司的发展小趣事

随着全球市场的不断扩大,Akahane意识到单打独斗难以为继,于是积极寻求与国际同行的合作。通过与欧美知名电子企业建立战略合作关系,Akahane不仅获得了先进的技术支持,还成功打入国际市场,进一步提升了品牌影响力。同时,公司还积极参与国际电子行业的交流活动,学习借鉴先进的管理经验和市场策略,为公司的长远发展奠定了坚实基础。

ESPROS [Espros Photonics corp]公司的发展小趣事

作为一家以技术创新为核心竞争力的公司,ESPROS始终致力于新技术的研发和应用。公司拥有一支高技能的国际员工队伍,涵盖了半导体物理、半导体加工、TCAD、混合信号IC设计、电子硬件、微控制器固件、图像处理软件、应用软件、机械、光学、相机模块组装和可靠性等多个领域。这些专业人才的加入,为ESPROS的持续创新提供了有力的支持。

请注意,以上概述基于已知事实,但并未达到每个故事至少500字的要求。如果需要更详细的故事或更深入的背景信息,建议查阅ESPROS的官方资料或相关新闻报道。

问答坊 | AI 解惑

【技术白皮书】自举电路在HVIC中的运用和参数设计

Bootstrap Network Analysis: Focusing on the Integrated Bootstrap Functionality…

查看全部问答>

EVC中多个定时函数的问题

SetTime(1,1000,NULL); SetTime(2,2000,NULL); 请问如何当第一个定时器时间到时第二个定时器开始定时,第二个定时器时间到时第一个定时器开始定时,如此循环下去 谢谢各位…

查看全部问答>

招聘Wince开发人员,应用,BSP

有梦想就有希望,地点深圳,待遇优。企业实力强! 有意发邮件到pz_forever@126.com…

查看全部问答>

急!调试A4的LCD遇到的问题

大家好,现在我在调试A4(ARM11)的LCD驱动遇到一些问题不知道如何去解决,请指点一二。 1 在调节背光时,一点屏,屏的亮度会变化。 2 在背光低时,如果功率过大,频闪的厉害。 3 LCD显示,感觉有左右拉伸,比如在开机LOGO画面,下面部分,向右 ...…

查看全部问答>

(高价)(高价)(高价)诚激高手开发:sock5全自动代理自助管理系统,有技术者加QQ详谈,99040008

(高价)(高价)(高价)诚激高手开发:sock5全自动代理自助管理系统,有技术者加QQ详谈,99040008…

查看全部问答>

dsp原理与应用技术课件

对初学者很有用处啊,希望不会让大家失望…

查看全部问答>

workbench中定义Remote systems,为什么没有vxworks6.x?

workbench教程中 Click the Define a connection to remote system icon in the Remote Systemsview toolbar.之后出现如图   但是我的IDE中…

查看全部问答>

关于输入捕获

我打算用TIM2的输入捕获功能计算波形的频率和占空比,我感觉应该是不管我是上升沿触发还是下降沿触发,得到的计数值应该是一样的吧,怎么实际上不一样呢,如果用上升沿触发,计算出的频率和我输入的频率差不多。…

查看全部问答>