本帖最后由 xxkj2010 于 2024-10-20 13:07 编辑
us时间太短
ms的,基本可以用,但不可能完全准确,这是以前收存的:
- STC单片机自适应毫秒级延时函数:
- //#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_ms(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; //STC11、STC12
- // i=MAIN_Fosc/13000; //STC15
- i=MAIN_Fosc/10000; //STC8
- // i=MAIN_Fosc/6030; //STC32
- while(--i) ;
- }
- while(--ms);
- }
复制代码
|