cjtdz 发表于 2025-12-11 14:34:38

还是希望STC-ISP软件里增加带参延时函数生成功能

还是希望在STC-ISP软件里,增加带参数的延时函数生成功能,不是带参数的有时不方便,会增加代码的数量。既然有那个功能,那就给它搞完美。

Ayb_ice 发表于 2025-12-11 15:06:42

带参数延时就不准了

cjtdz 发表于 2025-12-11 15:07:39

Ayb_ice 发表于 2025-12-11 15:06
带参数延时就不准了
有的地方没必要那么准,通用性强就可以

Ayb_ice 发表于 2025-12-11 15:11:42

cjtdz 发表于 2025-12-11 15:07
有的地方没必要那么准,通用性强就可以

自己扩展一下就可以了,比如生成个10MS延时程序,再用此函数自己扩展一个

_奶咖君_ 发表于 2025-12-11 15:18:33

cjtdz 发表于 2025-12-11 15:07
有的地方没必要那么准,通用性强就可以

没必要那么准,你自己扩展呗。写个循环,差不了多少。

青穗三三 发表于 2025-12-11 16:11:41

/********************************
函数功能:延时
参数说明:最大延时65535ms
返回值:无
********************************/
void Delay_ms(u16 ms)
{
    u8 msH,msL,n_1ms;

    msH = *(u8 *)&ms;
    msL = (u8)ms;

    n_1ms = msL & 0x0F;
    while (n_1ms)
    {
      Delay1ms();
      n_1ms--;
    }

    msL >>= 4;
    while (msL)
    {
      Delay16ms();
      msL--;
    }

    while (msH)
    {
      Delay256ms();
      msH--;
    }
}

AI-32位8051 发表于 2025-12-11 16:22:49


angmall 发表于 2025-12-12 14:48:22

你可以用这个啊。精确在1-65535ms


/*********************************************
                程序名称      :延时函数
*********************************************/

//#define MAIN_Fosc 48000000L      //定义主时钟
//#define MAIN_Fosc 44236800L      //定义主时钟
//#define MAIN_Fosc 40000000L      //定义主时钟
//#define MAIN_Fosc 36864000L      //定义主时钟
//#define MAIN_Fosc 35000000L      //定义主时钟
//#define MAIN_Fosc 33177600L      //定义主时钟
//#define MAIN_Fosc 30000000L      //定义主时钟
//#define MAIN_Fosc 27000000L      //定义主时钟
//#define MAIN_Fosc 24000000L      //定义主时钟
//#define MAIN_Fosc 22118400L      //定义主时钟
//#define MAIN_Fosc 20000000L      //定义主时钟
//#define MAIN_Fosc 18432000L      //定义主时钟
#define MAIN_Fosc 12000000L      //定义主时钟
//#define MAIN_Fosc 11059200L      //定义主时钟
//#define MAIN_Fosc 6000000L      //定义主时钟
//#define MAIN_Fosc 5529600L      //定义主时钟

void Delay(unsigned int ms)                //注:ms_max=65536
{
    unsigned int i;
    do
    {
//            i=MAIN_Fosc/96000L;                //STC89/90_12T
//            i=MAIN_Fosc/48000L;                //STC89/90_6T
//            i=MAIN_Fosc/14000;                //STC12
//            i=MAIN_Fosc/13000;                //STC15
            i=MAIN_Fosc/10000;                //STC8
//            i=MAIN_Fosc/6030;               //STC32
            while(--i)      ;
            }
    while(--ms);
}

页: [1]
查看完整版本: 还是希望STC-ISP软件里增加带参延时函数生成功能