大家好,今天小编关注到一个比较有意思的话题,就是关于51单片机延时100ms的程序的问题,于是小编就整理了3个相关介绍51单片机延时100ms的程序的解答,让我们一起看看吧。
单片机中的延时程序的延时时间怎样计算的?
比如说:void delay (){ int x; char y; for(x=1000;x>0;x--) { for(y=100;y>0;y--)};}x每减一次,y减100次,x一共减少1000次这个子程序的延时时间是:1000100=100ms(默认时间是us)如果想更精确的话,可以用软件进行调试 for语句下面的{}还可以省略有不清的可以多交流
51单片机如何延迟到250纳秒?
对于那些老型号51单片机,无论如何也搞不出来250nS程序延迟,因为它们最快的指令也需要1微秒。
现在的主流51单片机都提高了主频,并且采用了流水线结构,所以,指令执行时间都缩短到了几百个皮秒,搞出250纳秒的延迟也就不成问题了。
新型51单片机的指令周期绝大多数是一个时钟,你可以根据单片机的当前主频计算出它的时钟周期是多少,然后算出在延迟子程序里布置多少个空操作指令,就可以完成250纳秒的延迟。
用汇编怎么写51单片机的延时程序?
DEL1S:MOV R7,#10D1: MOV R6,#200D2: MOV R5,#250 DJNZ R5,$ DJNZ R6,D2 DJNZ R7,D1 RET说明:
1、如果不使用R5、R6、R7可以用别的单元替换,比如换成30H、31H、32H等等 2、这个程序是12M时钟,如果时钟不同,要修改数值。如6M时钟,要把MOV R7,#10 修改成:MOV R7,#5
到此,以上就是小编对于51单片机延时100ms的程序的问题就介绍到这了,希望介绍关于51单片机延时100ms的程序的3点解答对大家有用。