delay.c

来自「单片机数据通讯典型应用(光盘内容)」· C语言 代码 · 共 41 行

C
41
字号
 //文件名:delay.c
#include "delay.h"
#include "reg52.h"
void delay_ms(unsigned int num)
{
     RCAP2H = (RCAP2_1ms>>8);
     RCAP2L=(RCAP2_1ms&0x00ff);
     TH2=(RCAP2_1ms>>8);;
     TL2=(RCAP2_1ms&0x00ff);;
     ET2 = 0;     // Disable timer2 interrupt
     T2CON = 0x04;    // 16-bit auto-reload, clear TF2, start timer 
     while (num--)
      {
        while (!TF2);
        TF2 = FALSE;
      }
     TR2 = FALSE;
}
void delay_40us(unsigned char num)
{
    RCAP2H=(RCAP2_50us>>8);
    RCAP2L=(RCAP2_50us&0x00ff);
    TH2=(RCAP2_50us>>8);
    TL2=(RCAP2_50us&0x00ff);
    ET2=0;
    T2CON=0x04;
    while(num--)
    {
        while(!TF2)
            TF2=FALSE;
    }
    TR2=FALSE;
}
void delay_us(unsigned char num)
{
    unsigned char i;
    for (i=0;i<num;i++)
    {
    }
}

⌨️ 快捷键说明

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