关于使用STC8系列问题
各位大佬好,本人目前刚接触STC系列单片机,今天有看到相关程序例程,关于晶振有个疑问。时钟的相关初始化代码在哪里?刚才找了一下没有找到
一般使用内部IRC,下载时频率被选定(下载界面左侧的频率下拉列表,也可直接输入),
只要确定选择的频率和软件需要使用的频率相同,无需再进行额外操作
内部时钟,下载时在“硬件选项”里选择你要的时钟。
外部时钟或晶振,则要用软件启动、选择。 谢谢各位大佬的回复 这么定义主时钟,是因为要做延时函数。
/*********************************************
程序名称 :延时函数
*********************************************/
//#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; //STC12
// i=MAIN_Fosc/13000; //STC15
i=MAIN_Fosc/10000; //STC8
// i=MAIN_Fosc/6030; //STC32
while(--i);
}
while(--ms);
}
页:
[1]