原创 几个延时函数

2007-11-9 10:52 5426 9 10 分类: MCU/ 嵌入式

      这两天写lcd1602的驱动程序,要用到延时程序,都是从别人那考现成的,不知道怎么调试,昨天看了用keil调试延时程序的文章,今天调好了两个程序,一个是1ms为基准的,1个100ms为基准的,


 


/*******************************延时函数******************************************/
#include <reg51.h>
//#include <intrins.h>
#define MHz 12    //晶振频率



void delay_1ms(unsigned char delay);  // 基准为1ms的延时函数,最大255ms
void delay_100ms(unsigned char delay);



/************************************1ms基准延时函数******************************/
/*延时函数,基准值为1ms,最大255毫秒             */
/*********************************************************************************/
void delay_1ms(unsigned char delay)

 unsigned char i,j,tmp;
 
 tmp = (char)((100*MHz)/12+23);
 //根据晶振频率计算内层循环初值,调整23可以对延时时间进行微调
 
 for(i=0;i<delay;i++)
 {
  for(j=0;j<tmp;j++);
 }
}


/**********************************100ms基准延时函数******************************/
/*延时函数,基准值为100ms,最大25 秒             */
/*********************************************************************************/
void delay_100ms(unsigned char delay)

 unsigned char i;
 unsigned int j, tmp;
 
 tmp = (int)100*((100*MHz)/12-17);
 //根据晶振频率计算内层循环次数,调整17可以对延时时间进行微调
 
 for(i=0;i<delay;i++)
 {
  for(j=0;j<tmp;j++);
 }
}

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户1821401 2015-4-19 13:11

这种延时根本不能用 , 博主可以先去学习如何写一个无堵塞的程序
相关推荐阅读
用户42640 2012-03-28 09:28
评论:@小野兽的小草窝 博客中提到的“【博客 大赛】虚焊,你伤不起~~”
这个确实很重要,不起眼的问题会折腾人很久 ...
用户42640 2010-11-05 14:14
怎样用Realview MDK生成bin文件?
怎样用Realview MDK生成bin文件?       使用RVCT的fromelf.exe工具进行转换。也就是说首先将源文件编译链接成*.axf的文件,然后使用fromelf.exe工具将*....
用户42640 2010-10-28 21:35
新塘M051中文技术参考手册
  今天无意中在网上看到的,这个要比研讨会上光盘上提供的那个中文版详细很多,看了一下,就是英文手册的完整翻译版 需要的朋友可以到这里下载:http://www.wang1jin.com/bbs/vie...
用户42640 2010-10-26 16:50
保护三极管基础
这次出现的问题是使用了ULN2003,由于直接用它的输入级接入模块的输入端,因此出现了问题。 由于电缆上存在分布电感和分布电容,因此很容易出现耦合,在ISO7637的实验中,存在高频脉冲250V,20...
用户42640 2010-08-10 09:04
广岛无冤魂
1945年8月6日,美国的B-29“空中堡垒”轰炸机向日本广岛投下代号为”男孩”(Boy)的原子弹,实施了人类首次核轰炸。 总听到有些人(尤其是中国人)说,战争是日本军国主义者全面发动的,日本人民是受...
用户42640 2010-07-15 16:59
RT-Thread学习笔记--- 初步认识RT-Thread
最近对RT-Thread很感兴趣,准备学习一下,硬件使用安富莱开发板2.0。软件使用keil MDK   RT-Thread的目录结构 其中Bsp是针对各个具体的平台,可以认为是用户代码。为了方...
我要评论
1
9
关闭 站长推荐上一条 /3 下一条