⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 delay.c

📁 SAMSUNG S6B33B0程序
💻 C
字号:
#include  "define.h"
#include  "cpu8052.h"
#include  "global.h"
#include  "delay.h"

#include  <intrins.h>

/*****************************/
void DelayX1ms(Word count)	//crystal=12Mhz
{
    Word i,j;			//variable:declare Word 
     
    for(i=0; i<count; i++)
       for(j=0; j<120; j++)
          ;
}

void DelayX1ms1(Word count)
{
    Word j;
     
    while (count-- != 0)
       for(j=0; j<72; j++)
          ;
}

void DelayX1ms2(Byte count)
{
    Byte i,j,k;			//declare Byte,assembly different
     
    for(i=0; i<count; i++)
       for(j=0; j<40; j++)
           for(k=0; k<120; k++)
              ;
}

/*****************************/
void DelayX10ms(Word count)
{
    Word i,j,k;  
     
    for(i=0; i<count; i++)  	
       for(j=0; j<10; j++)
          for(k=0; k<120; k++)
             ;
}

void DelayX10ms1(Word count)
{
    Word j,k;  
     
    while (count-- != 0)
       for(j=0; j<10; j++)
          for(k=0; k<72; k++)
             ;
}

/*****************************/  
void Delay50uS(Byte count)
{
    Byte i,j;
    
    for(j=0; j<count; j++)      
       for(i=0; i<6; i++)
          ;
}

void ShortDelay(Byte count)
{
    Byte i,j;

    for(i=0; i<count; i++)
       for(j=0; j<=140; j++)
          _nop_( );		//include  <intrins.h>	
}

/*****************************/
void Timer40msDelay(Byte count)
{
    T40msTimer = count;
    while ( T40msTimer != 0 );	//do loop until T40msTimer=0
}

// Description : 40ms interrupt
void Timer1ISR_40ms (void) interrupt 3 using 2
{
    TL1 = CLOCK_40MS & 0xff;	//timer1:40mS
    TH1 = CLOCK_40MS >> 8;	//CLOCK_40MS=(65536 - 40000)
    TF1 = 0;

    if (T40msTimer != 0 )  	 
       T40msTimer--;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -