gpt4 book ai didi

c - 如何在 C 语言中为我的 8051、AT89C51CC03 板微 Controller 创建按钮软件复位?

转载 作者:太空宇宙 更新时间:2023-11-04 07:24:27 24 4
gpt4 key购买 nike

我在 Keil uVision 中使用 8051 处理器、AT89C51CC03 板和 C 编码。

我正在尝试创建一个循环来检查我的按钮是否被按下并将程序发送回主代码的开头。

按钮在任意引脚上,即 P0_0。如果该引脚变为 low = 0,我希望程序跳回到代码的开头。

到目前为止,我唯一想到的是:

if (P0_0 == 0) {
/* Reset */
} else {
/* Body of the rest of the program */
}

我认为这不会令人满意地完成我的过程,因为在运行我的代码主体之前我不会再次查看重置按钮,如果它遇到错误或故障,它可能不会返回到重置。

最佳答案

通常您会在 RST 引脚和地之间连接您的复位按钮。 RST 引脚应使用弱上拉电阻保持高电平,但当您按下按钮时,它会将此引脚接地并执行硬重置。

如果您无法重新连接按钮,您可以将该引脚引导至中断。然后在你的中断中,你可以触发处理器的软复位。这不需要等待当前函数完成。

正如 Phil 在上文中指出的,您很可能希望在顶层有一个 super 循环。自己调用 main 一点也不正常。

关于c - 如何在 C 语言中为我的 8051、AT89C51CC03 板微 Controller 创建按钮软件复位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19455226/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com