晶振设置延时(10ms的延时程序)
本文目录
10ms的延时程序
若采用12M晶振则51单片机如89C51的一个机器周期为12个时钟周期,即1uSDJNZ指令为两个机器周期,你可以自己查DL10MS:MOVR6,#0C8H;循环200次,200*50uS=10msDL1:MOVR7,#19H;25*2个机器周期DL2:DJNZR7,DL2DJNZR6,DL1RET
C语言延时时间的计算
DelayMS(300)表示希望系统delay300毫秒,系统有自己的RTC,根据硬件的晶振(Hz)可以计算出一次振荡大约多少耗时,这样就能大约算出1ms需要多少次振荡;简单比喻一次振荡需要1us,那1ms就是1000次振荡,300ms就是300x1000次振荡,这样就能大概的计算出300msdelay;这得看你的CPU运行一条指令得多久,像单片机89C51一般一条1us。