專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

如何嚴(yán)格1秒點(diǎn)亮一次

作者:逍遙王   來(lái)源:原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2009年11月26日   【字體:

  C51設(shè)計(jì),單片機(jī)晶振為11.0592MHz。P1.5口每1秒鐘輸出一次高電平或低電平,但高低電平時(shí)長(zhǎng)不一樣。還請(qǐng)各位高手幫我改進(jìn)一下。
我也采用過(guò)for語(yǔ)句,但是設(shè)計(jì)不成嚴(yán)格的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--);
 }
}
 

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

版主回復(fù):

 你上面這個(gè)延時(shí)是非常不精確,具體你可以看keil 里面的匯編文件就可分析出原因來(lái),本站曾經(jīng)發(fā)表過(guò)一篇精確延時(shí)的文章,希望對(duì)你有幫助 http://www.torrancerestoration.com/mcu/696.html,另外使用定時(shí)器也是非常簡(jiǎn)單的.

一般如果是用循環(huán)延時(shí)使用12M的晶振要方便些,如果是定時(shí)器則是用11.0592的要方便和精確一些.

關(guān)閉窗口

相關(guān)文章