欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: DIY 較為準確的單片機延時 [打印本頁]

作者: liuqq    時間: 2015-5-20 18:30
標題: DIY 較為準確的單片機延時
自己總結,不完善,歡迎指正!!!!

主函數調用Delay10us( )時,先執行一個LCALL指令(2 μs),然后執行6個_NOP_( )語句(6 μs),最后執行了一個RET指令(2 μs),所以執行上述函數時共需要10 μs。
void Delay10us( )
{
    _NOP_( );
    _NOP_( );
    _NOP_( );
    _NOP_( );
    _NOP_( );
    _NOP_( );
  }
/*****************************************************/
//12MHZ 晶振 延時1s
/****************************************************/
void delay1s()
{
        unsigned char h,i,j,k;        
        for(h=5;h>0;h--)      
        for(i=4;i>0;i--)        
        for(j=116;j>0;j--)        
        for(k=214;k>0;k--);
}
/*****************************************************/
//12MHZ 晶振 延時10ms
/****************************************************/
void delay10ms()
{
          unsigned char i,j,k;   
        for(i=5;i>0;i--)        
        for(j=4;j>0;j--)        
        for(k=248;k>0;k--);
}
/*****************************************************/
//12MHZ 晶振 延時200ms
/****************************************************/
void delay200ms(void)
{
          unsigned char i,j,k;
        for(i=5;i>0;i--)        
        for(j=132;j>0;j--)         
        for(k=150;k>0;k--);
}
/*****************************************************/
//12MHZ 晶振 延時500ms
/****************************************************/
void delay500ms()
{
        unsigned char i,j,k;         
        for(i=15;i>0;i--)         
        for(j=202;j>0;j--)         
        for(k=81;k>0;k--);
}


延時模塊:其中問號代表要填的數,要延時多少,到表格中去找數據,然后填上就OK!切忌3條FOR語句不能顛倒順序
void Delay()
{
    unsigned char a,b,c;
    for(a=0;a<?;a++)
    for(b=0;b<?;b++)
    for(c=0;c<?;c++);
}  
延時時間           a的值                 b的值               c的值       延時誤差(us)
10us                       1                       1                       1                         -0.5      
20us                       1                       1                       8                         0  
30us                       1                       1                       15                       +0.5
40us                       2                       1                       9                         0  
50us                       1                       1                       28                           0  
60us                       1                       1                       35                       +0.5
70us                       1                       1                       42                       +1
80us                       1                       1                       48                           0
90us                       1                       1                       55                       +0.5  
100us                     1                       1                       61                       -0.5  
200us                     1                       1                       128                       0  
300us                     3                       1                       63                       +1.5  
400us                     2                       1                       129                       0  
500us                     5                       1                       63                       +0.5  
600us                     6                       1                       63                         0  
700us                     7                       1                       63                           -0.5  
800us                     1                       3                       175                       +0.5  
900us                     9                       1                       63                         -1.5  
1ms                        1                       3                       219                       -1.5
2ms                        2                       3                       220                       +3
3ms                        3                       3                       220                       +3
Xms                        X                       3                       220                       +3         
(X的范圍為2到255)







歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1