单片机/MCU论坛
直播中

leetow2006

10年用户 561经验值
擅长:嵌入式技术
私信 关注
[问答]

请教个单片机延时的问题

我看了个在1602上显示字符串的代码,看到要用到延时程序。

我上网查了下,说
单片机的速度相对很多外设来说已经很高了,必须加延时才能与外设匹配。
我现在有个疑问:
单片机的延时子程序(比如汇编代码):
DELAY:
MOV R4,#10
D1:MOV R5,#0F8H   
D2:DJNZ R5,D2   
DJNZ R4,D1   
RET

那么就是说单片机的延时程序只是单片机自己在那空转,并没有
把时间分配给外设,那也就是说单片机的延时并没有给外设运行
时间(不是多进程的),即使单片机延时结束再执行外设程序,
好像单片机没有等待外设,怎么说单片机的延时是为了与外设
匹配呢?这该如何理解呢?



已退回20积分

回帖(4)

阿信509

2019-11-11 17:15:28
单片机执行一个语句需要1微秒就够了,但是一个外设执行一个动作可能就是几个毫秒或是几百个毫秒,所以单片机在发送一个指令后,就要等着外设,等他忙乎完了才能继续
举报

leetow2006

2019-11-12 07:48:19
那是不是说单片机在延时的时候,外设还在运行?可是我看单片机延时程序,是单片机自己在不停的空转,没有把时间分配给外设,
这是怎么回事?
1 举报
  • 阿信509: 什么叫时间片分配给外设,外设是一直在那干着活呢好不,就像领导给你安排完任务就走了,你还不是在那苦逼的干活,领导就是单片机只会发命令,你就是那个外设

xxxevery

2019-11-12 09:47:03
你还是先学习一下基本的硬件原理再说吧,1602LCD内部也有自己的控制电路,单片机不对它进行控制时,它也是自己忙活自己的。对它进行控制时,他完成一定的动作要一些时间,比单片机慢多了,所以单片机要延时等它忙活完了再进行下一步操作。
举报

lm12041204a

2019-11-12 13:15:40
你先想着,我打个盹。就是这个意思。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分