/www/wwwroot/www.aneu.cn/usr/plugins/AMP/templates/MIPpage.php on line 33
">

基于STC8G1K08A的上电自启开机卡模块

2025-07-11T10:37:00

因部分电脑主板BIOS不支持上电开机,故有此项目。

  • 供电支持5V输入或者主板PCIE插槽
  • 支持所有新老主板
  • 不影响原有按键开机功能

代码

#include "STC8G.H"
// 延时函数(单位ms),已根据STC8G1K08A的时钟频率校准(假设24MHz)
void DelayMs(unsigned int ms) {
    unsigned int i, j;
    for (i = ms; i > 0; i--) {
        for (j = 114; j > 0; j--); // 大约1ms的延时(需根据实际时钟校准)
    }
}
void main() {
    unsigned int i; // 将变量i的声明移到循环外部
    // 设置P3.3为推挽输出模式,用于控制光耦继电器
    P3M0 = 0x08; // 设置P3.3为推挽输出模式
    P3M1 &= ~0x08; // 清除P3.3的输出模式位
    // 设置P5.5为推挽输出模式,用于控制LED
    P5M0 = 0x20; // 设置P5.5为推挽输出模式
    P5M1 &= ~0x20; // 清除P5.5的输出模式位
    // 上电后,立即将P3.3设置为高电平(连通光耦继电器)
    P33 = 1;
    // 延时1秒
    DelayMs(1000);
    // 断开光耦继电器
    P33 = 0;
    // LED闪烁三次
    for (i = 0; i < 3; i++) {
        P55 = 0; // 点亮LED
        DelayMs(1000); // 调整延时参数为1000ms
        P55 = 1; // 熄灭LED
        DelayMs(1000); // 调整延时参数为1000ms
    }
    // 无限循环,防止程序退出
    while (1);
}
当前页面是本站的「Baidu MIP」版。发表评论请点击:完整版 »