打印

51延时

[复制链接]
1323|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
C.Beginners|  楼主 | 2011-8-12 16:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
程序中不出现1ms以上的指令延时,比如delay()这样的函数,所有的长时间的延时都是用定时器延时。
例如:  
      在一个子函数中,要使用延时。那么就用定时器来作延时时间的计算.在这个时间段内。保护现场以及寄存器,接下来让PC指针回到主函数执行其他程序,这样就做到了释放CPU。
   不知道我这样理解对吗.
      如果正确。那么实现这样的程序是否要用到设置堆栈?如果要用到堆栈那么C51如何压栈出栈等??
     大虾们帮帮忙

相关帖子

沙发
NE5532| | 2011-8-12 19:22 | 只看该作者
楼主把若干个问题给混乱在一起了。

1.没人规定不能写1mS以上延时,我就经常干100mS的延时,关键应该看软件延时这段时间CPU有没有其他要做到事,如果没有,那为啥不用最简单的软件方式来做?除非有自虐倾向!
2.C51是一群学校里的书呆子对“C语言写51单片机”的简称,别拿来写,会被笑的。
3.如果用汇编写51,麻烦自己设置堆栈;如果写C,一般不用理会。
4.任何函数调用、中断都要使用中断,欲知详情,请学习51硬件系统,主要是内核部分。

使用特权

评论回复
板凳
C.Beginners|  楼主 | 2011-8-13 15:04 | 只看该作者
谢谢你的答案 2# NE5532

使用特权

评论回复
地板
gw_cs| | 2011-8-14 20:52 | 只看该作者
学到了...用C写51单片机,简称 C51~

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

2

帖子

1

粉丝