consini 发表于 2023-5-31 16:05:12

关于使用STC8系列问题

各位大佬好,本人目前刚接触STC系列单片机,今天有看到相关程序例程,关于晶振有个疑问。
时钟的相关初始化代码在哪里?刚才找了一下没有找到


神农鼎 发表于 2023-5-31 16:22:16


kksk 发表于 2023-5-31 19:23:49

一般使用内部IRC,下载时频率被选定(下载界面左侧的频率下拉列表,也可直接输入),
只要确定选择的频率和软件需要使用的频率相同,无需再进行额外操作

kksk 发表于 2023-5-31 19:28:09






梁工 发表于 2023-5-31 23:00:46

内部时钟,下载时在“硬件选项”里选择你要的时钟。
外部时钟或晶振,则要用软件启动、选择。

consini 发表于 2023-6-1 09:02:47

谢谢各位大佬的回复

angmall 发表于 2023-6-2 17:21:04

这么定义主时钟,是因为要做延时函数。

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

//#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]
查看完整版本: 关于使用STC8系列问题