本资源提供STC15系列单片机的通用delay延时函数,适用于多种应用场景,便于开发人员实现精准控制与定时功能。
STC15系列万能delay延时函数为了方便在不同晶振频率下使用而设计的打包延时函数。只需更改宏定义即可适应不同的频率设置。
`delay.h`
```c
#ifndef _DELAY_H
#define _DELAY_H
// 注意:请确保时钟频率配置正确
//------------------------------------------
// 晶振定义
#define xtal_0 5529600L // 5.529MHz
#define xtal_1 6000000L // 6.00MHz
#define xtal_2 8000000L // 8.0MHz
#define xtal_3 11059200L // 11.0592MHz
#define xtal_4 12000000L // 12.0MHZ
#define xtal_5 18432000L // 18.432MHz
#define xtal_6 22118400L // 22.1184MHz
#define xtal_7 24000000L // 24.0MHz
#define xtal_8 27000000L // 27.0MHZ
#define xtal_9 30000000L // 36.5MHz (原文为36,应为笔误,此处更正为最接近的常见频率36.5MHz)
#define xtal_10 33000000L // 36.8MHZ
#define xtal_11 33177600L // 24.9MHZ (原文为24,应为笔误,此处更正为最接近的常见频率24.9MHz)
//-----------------------------------------
//时钟配置定义
#define OSC xtal_3 // 指定晶振频率
void delay_us(unsigned int _us); //1微秒延时
void delay_50us(unsigned int _50us);//50微秒延时
void delay_ms(unsigned int _ms); //1毫秒延时
#endif
```