历史上的今天
返回首页

历史上的今天

今天是:2025年01月27日(星期一)

正在发生

2018年01月27日 | EM78系列单片机--延迟子程序的编写

2018-01-27 来源:eefocus

在許多程序设计的場合,我們時常会利用到时间延迟子程序,接下来就介紹一个可以控制延迟时间的延迟子程序。 
开下面是利用发工具E8-ICE来演示的一个精确的控制延迟时间的程序,选择使用石英振荡器,可以精确的算准延迟时间,时间可以到nanosecond(十亿分之一秒),很神奇。 
  
LP_CNT0 == 0X20     ;定义。 

LP_CNT1 == 0X21 
MOV  A, @2           ;A = 2。 
MOV  LP_CNT0, A      ;设定延迟寄存器0(LP_CNT0)=2 
CALL        P0_DLY      ;呼叫时间延迟子程序。 
P0_DLY: 
NOP                 ;调节延迟时间。 
MOV  A, @200         ;设定 A = 200。 
MOV  LP_CNT1, A      ;设定寄存器LP_CNT1 = 200。 
P0_LP: 
NOP                 ;调节延迟时间。 
NOP                 ;调节延迟时间。 
NOP                 ;调节延迟时间。 
DJZ LP_CNT1         ;递減LP_CNT1,为0就跳过下一行 
JMP P0_LP           ;循环。 
DJZ LP_CNT0         ;递減LP_CNT0,为0就跳过下一行 
JMP P0_DLY          ;循环。 
RET                 ;返回主程序。 
  
  
假设用户所使用的开发工具是E8-ICE,而且所采用的振荡器为石英振荡(4M Hz),並选择指令执行周期为1 Cycle, 2 CLOCk。这時每执行一个指令的时间为0.5 uS.  
用户可以看出在程序中用了两个寄存器来计数(LP_CNT0、LPCNT1),另外也使用了两个循环(P0_DLY、P0_LP),其中在P0_LP中有5个指令,所以在P0_LP这个循环中,执行了有1000个指令。 
  
5X 200= 1000                 P0_LP循环总共执行指令数目。 
5  +  1000 = 1005               P0_DLY循环总共执行指令数目。 
1005 X 2 = 2010 
2010 + 1 + 1 = 2012   延迟程序总共执行指令数目 
  
在整个P0_DLY循环中就有2012个指令,每个指令的执行时间为0.5 us。 
2012 (instructions) x 0.5 (us/instruction) = 1.006 ms 
所以用户可以精确的计算出延迟的时间,用户可以在LP_CNT0设定不同的值,如此可以有各种不同的延迟时间。 
l         例:设计一个延迟时间为2ms的程序。 
  
只要在上述程序中在呼叫P0_DEL延迟子程序之前,將LP_CNT0设成4就可以了。 
MOV   A, @4 
MOV   LP_CNT0, A 
CALL P0_DLY 
其余不变。 
1005 X 4 = 4020。 
4020 + 1 + 1 = 4022。 
4022 (instructions) X 0.5 (us)  = 2.011 ms 


推荐阅读

史海拾趣

台湾凌通(Generalplus)公司的发展小趣事
检查控制电路的逻辑是否正确,有无误触发或误关闭的情况。
上海如韵(CONSONANCE)公司的发展小趣事

在发展过程中,如韵始终关注社会责任和可持续发展问题。公司积极参与社会公益活动,为弱势群体提供帮助和支持。同时,如韵注重环保和节能减排工作,在产品设计和生产过程中严格遵守相关环保法规和标准。

为了推动行业的可持续发展,如韵还积极参与行业交流和合作活动,与同行分享经验和资源。通过与产业链上下游企业的紧密合作和协同创新,如韵为推动电子行业的绿色发展和技术进步做出了积极贡献。

Chiplus Semiconductor Corp公司的发展小趣事

在21世纪初,全球半导体行业蓬勃发展,台湾地区的IC设计领域也呈现出勃勃生机。在这样的背景下,晶发半导体的创始人蒲文豪怀揣着对低功率SRAM领域的深厚热情,于2002年创立了Chiplus Semiconductor Corp.(晶发半导体)。蒲文豪曾在一家专攻低功率SRAM的公司工作,深知这一领域的潜力和市场需求。他立志要做低功率SRAM领域的领军者,为全球客户提供卓越的产品和服务。

屹晶微(EG)公司的发展小趣事

屹晶微的创始人黄米龙,原本在发电厂从事电气运营工作长达八年。这段经历让他对电子领域有了深入的了解和浓厚的兴趣。然而,他并没有满足于现状,而是看到了中国芯片产业的巨大潜力和发展空间。于是,在2007年,他毅然决定从发电厂辞职,利用自己的积蓄和借来的资金,在台州创立了屹晶微电子有限公司。

在创立初期,屹晶微面临着资金短缺、技术落后和市场竞争激烈的困境。但黄米龙凭借对电子行业的深刻理解和坚定的信念,带领团队克服了种种困难。他们不断引进先进技术和设备,加强研发力量,提升产品质量。经过几年的努力,屹晶微逐渐在芯片设计领域崭露头角,并成功推出了多款具有自主知识产权的芯片产品。

Henkel公司的发展小趣事

随着业务的不断拓展和市场的不断扩大,屹晶微逐渐意识到与合作伙伴建立长期战略合作关系的重要性。于是,在2023年,他们与电子产业一站式服务平台华秋电子达成了授权代理合作。这一合作不仅为屹晶微提供了更广阔的市场渠道和客户资源,也为其未来的发展奠定了坚实的基础。

在合作过程中,华秋电子为屹晶微提供了全方位的支持和服务。他们共同推广屹晶微的芯片产品,为客户提供更优质的解决方案和服务。同时,华秋电子还利用自身的技术优势和渠道优势,帮助屹晶微拓展海外市场,提升品牌知名度和影响力。

以上两个故事只是屹晶微在电子行业中发展起来的一部分。他们的发展历程充满了挑战和机遇,但黄米龙和他的团队始终保持着坚定的信念和不懈的努力,为中国的芯片产业做出了积极的贡献。

Advanced Ceramic X Corporation公司的发展小趣事

屹晶微的创始人黄米龙,原本在发电厂从事电气运营工作长达八年。这段经历让他对电子领域有了深入的了解和浓厚的兴趣。然而,他并没有满足于现状,而是看到了中国芯片产业的巨大潜力和发展空间。于是,在2007年,他毅然决定从发电厂辞职,利用自己的积蓄和借来的资金,在台州创立了屹晶微电子有限公司。

在创立初期,屹晶微面临着资金短缺、技术落后和市场竞争激烈的困境。但黄米龙凭借对电子行业的深刻理解和坚定的信念,带领团队克服了种种困难。他们不断引进先进技术和设备,加强研发力量,提升产品质量。经过几年的努力,屹晶微逐渐在芯片设计领域崭露头角,并成功推出了多款具有自主知识产权的芯片产品。

问答坊 | AI 解惑

操作系统的移植

编出来的程序,一定要移植吗? 有什么好处? 不移植的话会怎么样? [ 本帖最后由 xujingxinna 于 2009-6-8 08:24 编辑 ]…

查看全部问答>

打印驱动中 接口调用问题?

入口: DrvEnableDriver [code] DrvEnableDriver(     ULONG          iEngineVersion,     ULONG          cj,     DRVENABLEDATA *pdrvenabled ...…

查看全部问答>

移植USB Mass storage Device驱动

大家好,请教一个问题 目前在公司的OS上开发USB Mass storage Device驱动 ,连上PC后能变成一个优盘。 现在的软件平台是ThreadX的,硬件接口是USB1.1的,目前ThreadX上面没有挂文件系统,想把SPI Flash上某个区域做成一个分区,然后USB Mass st ...…

查看全部问答>

怎样在WINCE下一个应用程序中做一个函数来获知另一个程序是否在运行

怎样在WINCE下一个应用程序中做一个函数来获知另一个程序是否在运行?急的…

查看全部问答>

ARM的串口输出问题

问个困扰了我很久的问题: Uart_Printf这个函数 我看了它的定义。但还是不很懂。而且用它串口输出的话,显示的是乱码。过程是这样的:我选取了某公司写的测试程序中的3个文件:RTC.C 、44BINIT.S和44blib.c。用这3个文件做了工程。(当然了,我还添 ...…

查看全部问答>

放假了,都出来晒晒吧~~

果断回家了~~呵呵,好久没有来51单片机这个版本了,来了很扎眼的还是那些所谓的毕业设计,哎~~~~~虽然说提供这些东西大部分是出于好意吧,但每次来都是这些东西排在最前面(排在前面的总是各种课件),想当年我的问题就没人回答~~~不过现在好了,自 ...…

查看全部问答>

Engineer It -了解运算放大器的精密性挑战

了解不同的微调方法会对运算放大器产生的影响,以及怎样为你的系统挑选合适的运放。…

查看全部问答>

晒WEBENCH设计的过程+POWER设计

POWER设计软件, 一打开, 就能看到, 可以添加输入和输出, 对于多输入和多输出, 有很好的设计安排, 添加电源后, 可以看见两个输入的选择, 在这里, 我设计成12V和5V的输入, 而输出是2.7V的0.5A, 主要想应用在汽车电子转换上, 在选择提交项目要求后, ...…

查看全部问答>

Open1081使用心得_1

   Open1081 开发板试玩了一段时间了. 感觉Open1081 是一个资源丰富.扩展能力极好的开发板.   我比较喜欢它以下几点:     -CPU强大. 几乎可以满足绝大多数的嵌入式应用     -板上引出丰富的IO.可以自由 ...…

查看全部问答>