延时有很多种方法,有一种是让单片机去做无聊的循环,还有一种是用定时器。我本身也是菜鸟所以只能粗略的讲一下。第一种的算法是晶振的周期T1=1/f; 这里f=6MHz 所以T1=1/6 us;(微秒)单片机花12个T1去执行一个指令,所以一个机器周期等于12个晶振周期,T2=12*T1=2us10ms=1000 0us所以你要得到10ms的延时就要想办法让机器去做5000条“无聊的指令”所以DEL: MOV R5,#05HF1: MOV R6,#05HF2: MOV R7,#32HF3: DJNZ R7,F3
DJNZ R6,F2
DJNZ R5,F1RET这种方法
|