51单片机延时程序问题
答案:2 悬赏:60 手机版
解决时间 2021-07-26 08:16
- 提问者网友:爱了却不能说
- 2021-07-25 08:38
延时程序中要延时的 时间 怎么算 比方说 100ms、 200ms、 1s等等
最佳答案
- 五星知识达人网友:第幾種人
- 2021-07-25 10:09
我以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
全部回答
- 1楼网友:往事隔山水
- 2021-07-25 10:17
看你用汇编还是C
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯