STC8G 低速 IRC
#include "STC8G.h"void IRC_32KHz(void){
P_SW2 |= 0x80; // EAXFR = 1,允许访问XFR
IRC32KCR = 0x80; // 使能内部32kHz低速IRC
CLKSEL = 0x03; // 0x00=内部高精度IRC,0x01=外部晶振,0x03: 内部32kHz低速IRC
CLKDIV = 0xff; // 分频 0x00~0xff
}
void main(void){
P5M1 &= ~0x10; P5M0 |= 0x10;
IRC_32KHz();
while (1){
P54 = 0;
P54 = 1;
}
}
实测30Hz ,占空比 80%(while看起来是5个时钟周期) ,
那么 30 x5 x256 =38.400kHz,
和文档里面的32kHz 差别这么大?
LIRC, 是 0.15uA的低功耗,
未设计 制造精度补偿电路,
未设计 温漂补偿电路,
未设计 压漂/电压漂移,补偿电路
20K ~ 50KHz
内部高速 HIRC时钟, 是 300uA的低功耗,
有专门设计 制造精度补偿电路,
有专门设计 温漂补偿电路,
有专门设计 压漂/电压漂移,补偿电路
满足串口通信要求,这 300uA 就很难省掉
神农鼎 发表于 2026-2-14 09:49
LIRC, 是 0.15uA的低功耗,
未设计 制造精度补偿电路,
未设计 温漂补偿电路,
谢谢 用外部晶振吧.
页:
[1]