2个回答
2013-08-01
展开全部
我以2MS为例说明一下:单片机的晶振周期为12HZ,则执行一条代码为一个机器周期,为1微妙(uA),所以2MS=10*200(uA),对R2赋值200(4位二进制数最大值为256,所以只能取到200)即#C8H。再对R2循环20次就实现了2MS延时。至于100ms、 200ms、 1s等等方法类似,只是调整相应的初值。多设置几次循环就行。程序代码如下:DELAY:MOV R1,#0AH ;赋值R1为10次DELAY1:MOV R2,#C8H ;赋值R2为200次DELAY2:DJNZ R2,$ ;R2自减到0,不到0继续等待DJNZ R1,DELAY1 ;R2减到0后R1自减1,重新给R2赋初值后继续循环,直到R1到0为止,延时结束RET
2013-08-01
展开全部
看你用汇编还是C
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询