C51常用延时程序
来源:互联网 发布:游戏行业编程发展前景 编辑:程序博客网 时间:2024/04/30 10:17
在一些场合下,我们需要对单片机进行延时,我之前学的是汇编,没有感觉到延时很难控制。使用C语言写程序后感觉到程序好写了,可以一块一块写,但是对相对精确的延时却比较头痛。使用单片机的定时器延时很精确,在时间长的情况下使用,这涉及到定时器初值的载入,定时器开启,和通过软件查询定时器溢出,对于短暂延时麻烦了写。本篇仅仅就使用小程序延时进行说明
1>短暂延时思路一
unsigned char i;
***************************************************************************************************************
for(i=0;i<n;i++)//本句 延时时间 n*3+2个机器周期。
可以通过keil编译器设置断点,设置好晶振频率,通过调试判断该句实际运行时间!使用后断点时间减去该断点时间就是本句执行时间。
****************************************************************************************************************
详情请咨询: http://shop108408772.taobao.com/
****************************************************************************************************************
2>短暂延时思路二
void Delay10us( ) { //这是延时10个机器周期的函数
_NOP_( );
_NOP_( );
_NOP_( );
_NOP_( );
_NOP_( );
_NOP_( );
}
Delay10us( )函数中共用了6个_NOP_( )语句,每个语句执行时间为1T。主函数调用Delay10us( )时,先执行一个LCALL指令(2 T),然后执行6个_NOP_( )语句(6 T),最后执行了一个RET指令(2 T),所以执行上述函数时共需要10 T。
注:T表示机器周期
通过编译软件先将C语言翻译成汇编语言,我们可以对照指令执行时间,手动计算出延时程序所运行的机器周期数,当然麻烦一些了。
*******************************************************************************************************************
详情请咨询: http://shop108408772.taobao.com/
*****************************************************************************************************************
- C51常用延时程序
- C51 延时程序
- 我的C51延时程序
- Keil C51 延时程序的两次研究
- C51 延时程序两种方案
- 利用定时器1延时1秒的程序(c51语言)
- 精准延时程序及用keil C51调试
- C51精确延时
- 在进行C51程序设计时如何精确延时的常见方法介绍
- 延时程序
- 延时程序
- 延时程序
- Keil C51程序设计中几种精确延时方法
- 用C51编写单片机延时函数(转贴)
- 用C51编写单片机延时函数(转贴)
- Keil C51程序设计中几种精确延时方法
- Keil C51程序设计中几种精确延时方法
- Keil C51程序设计中几种精确延时方法
- 图像特征提取:边缘检测
- Java爬虫搜索原理实现
- 1111*1111与5个1相乘……6个……9个
- JSP自定义标签开发
- Javascript小记:setTimeout、阻止冒泡、两道面试题的联系及联想(上)
- C51常用延时程序
- Android图像开源框架--SmartImageView
- BZOJ 1014 JSOI2008 火星人prefix Splay+Hash+二分
- 关于multiprocessing,我也来聊几句
- POJ 1637 混合图的欧拉回路
- Binary Tree Preorder Traversal (Recursive solution)
- 符号链接和硬链接
- UVa 11732 - strcmp() Anyone? (Trie + 邻接表)
- 开博