历史上的今天
返回首页

历史上的今天

今天是:2025年04月07日(星期一)

正在发生

2021年04月07日 | 51单片机几个延时程序

2021-04-07 来源:eefocus

简介:51单片机几个精确延时程序:在精确延时的计算当中,最容易让人忽略的是计算循环外的那部分延时,在对时间要求不高的场合,这部分对程序不会造成影响.


一. 500ms延时子程序(晶振12MHz,一个机器周期1us.)


程序:


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


延时总时间 = 三层循环 + 循环外 = 499995+5 = 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--);


}


void delay1s(void)//12M晶振,延时999999.00us


{


unsigned char i,j,k;


for(i=46;i>0;i--)


for(j=152;j>0;j--)


for(k=70;k>0;k--);


}


推荐阅读

史海拾趣

Cretex Companies Inc公司的发展小趣事

为了降低成本、提高生产效率,Cretex开始对产业链进行整合与优化。他们与上游供应商建立长期稳定的合作关系,确保原材料的稳定供应和质量可靠。同时,公司还加强了对下游客户的服务与支持,通过提供个性化的解决方案和优质的售后服务,增强了客户黏性。这些举措使得Cretex在激烈的市场竞争中保持了领先地位。

Coiltronics公司的发展小趣事

在电子行业的初期,Coiltronics公司凭借其独特的线圈技术,成功打破了市场格局。当时,市场上的电子线圈普遍存在效率低下、散热不良等问题,而Coiltronics公司则通过深入研究,开发出一种新型的高效散热线圈。这一创新不仅提高了电子设备的性能,还大大降低了故障率,使得Coiltronics的产品在市场上大受欢迎。公司凭借这一技术优势,迅速在电子行业崭露头角。

ETEQ Microsystems Inc公司的发展小趣事

ETEQ Microsystems Inc一直将品质管理作为公司的核心竞争力之一。公司建立了严格的质量管理体系,从原材料采购到产品生产、测试、包装等各个环节都严格把控。同时,公司还鼓励员工积极参与品质改进活动,通过持续改进不断提升产品质量和客户满意度。

HellermannTyton公司的发展小趣事

Heimann Optoelectronics Gmbh深知人才是企业发展的核心动力。公司建立了完善的人才培养体系,通过内部培训、外部交流等多种方式提升员工的专业技能和综合素质。同时,公司还注重营造开放、包容的企业文化,鼓励员工创新思维和团队合作。这种良好的企业文化氛围吸引了大量优秀人才加入公司,为公司的持续发展提供了有力的人才保障。

以上五个故事虽然基于虚构的“Heimann Optoelectronics Gmbh”公司构建,但反映了电子行业中企业发展的一般规律和趋势。

General Magnetics Inc公司的发展小趣事
使用兆欧表测量电子变压器的绝缘电阻,以判断绝缘层是否损坏。
Hendon Semiconductors公司的发展小趣事

Hendon Semiconductors在能源管理和照明控制领域也有着显著的成就。公司开发了一系列高效、可靠的能源管理解决方案和照明控制产品,广泛应用于智能家居、商业建筑和工业自动化等领域。这些解决方案不仅帮助客户降低了能耗和运营成本,还提高了能源使用效率和环境可持续性。通过不断创新和优化产品设计,Hendon Semiconductors在能源管理和照明控制市场上赢得了广泛的认可。

问答坊 | AI 解惑

扬声器感冒了

扬声器型号:BSTC  8530  -273  2A, 器件质量没问题,焊好后在酒精里超声冲洗, 完了上电一试,声音变得很小。 是不是超声损坏了扬声器啊?…

查看全部问答>

玩网页游戏会关机

电脑进入正常,玩中游也正常,但只要是一玩网页游戏就会自动关机,检测电源显卡正常…

查看全部问答>

招聘Senior wince/windows mobile应用开发工程师!

精通C/C++,理解面向对象思想,有良好的编程习惯。 3~5年Windows/Windows Mobile程序开发经验,精通Windows编程,熟悉Win32API, COM。 熟悉TCP/IP等通信协议,熟悉Socket应用,多线程和进程间通讯编程。 熟悉数据库开发, 有实际数据库开发经验 ...…

查看全部问答>

如何防止WINCE 5.0 多镜像地址空间重叠?

在config.bib中把CE镜像划分为了4个部分,例如: KERNEL.BIN,DRIVER.BIN,APP.BIN,NK.BIN 这样做以便后期对单个镜像文件升级,现在问题来了,每个BIN文件中的DLL在SLOT0,SLOT1中所占用的地址空间都是在编译器时计算好的。如果后面我的APP.BIN变化 ...…

查看全部问答>

那位高手用过ads1210芯片呀,能给个程序么。

那位高手用过ads1210芯片呀,能给个程序么。…

查看全部问答>

菜鸟提问:关于触摸屏驱动加载的问题

本人在研华的PCM3350上移植WinCE4.2,目前触摸屏驱动一直加不上   具体情况如下:触摸屏光盘上提供了两个dll:TOUCHP.DLL  USBPort.dll  我先修改了project.bib文件在MODULES里加入   TOUCHP.DLL  ...…

查看全部问答>

无铅制造时代,恒温烙铁焊台大可借鉴蓄水池效应

    很多价格昂贵的无铅焊台都喜欢强调和炫耀瞬间强大的温度恢复能力,其实这个有一些钻牛角尖的做法,虽然性能是上去了,但焊台本身的总体制造成本以及使用成本也跟着抬高,势必转嫁到最终用户身上。       &nb ...…

查看全部问答>

分享给看国嵌视频的朋友, 课程5-内核驱动进阶班更新啦!

replyreload += \',\' + 1344538;         看国嵌视频的朋友有部分可能也和我一样,在看完国嵌内核模块和驱动程序的视频后,没办法自己写,感觉自己是听懂了,能理解,但就是没办法写。这个很郁闷啊。 但是 ...…

查看全部问答>

如何解决MSP430的复位问题

MSP430有时候在整个系统断电之后,不能马上复位,需要在断电之后将整个系统的电源短路几分钟才能让MSP430复位,要不然程序都没法下载。…

查看全部问答>