中国领先的单片机及嵌入式资讯、教程、开发工具提供者!

如何严格1秒点亮一次

作者:逍遥王   来源:原创   点击数:  更新时间:2009年11月26日   【字体:

本文地址:http://www.drawyourideal.com/mcu/754.html
文章摘要:,授乳伤势海蟹,打滑满袖春风装瓶。

  C51设计,赌球网|真人赌球网|世界杯赌球网:单片机晶振为11.0592MHz。P1.5口每1秒钟输出一次高电平或低电平,但高低电平时长不一样。还请各位高手帮我改进一下。
我也采用过for语句,但是设计不成严格的1s输出一次的方式。

#include<reg52.h>
sbit D1=P1^5;
unsigned int a;
void main()
{
 while(1)
 { a=46500;
  D1=0;
  while(a--);
  a=45701;
  D1=1;
  while(a--);
 }
}
 

-----------------------

版主回复:

 你上面这个延时是非常不精确,具体你可以看keil 里面的汇编文件就可分析出原因来,本站曾经发表过一篇精确延时的文章,希望对你有帮助 http://www.drawyourideal.com/mcu/696.html,另外使用定时器也是非常简单的.

一般如果是用循环延时使用12M的晶振要方便些,如果是定时器则是用11.0592的要方便和精确一些.

发表评论】【告诉好友】【收藏此文】【关闭窗口

文章评论

相关文章