#include <reg51.h>

sbit signal = P1^0; // 信号输入引脚

void main() { unsigned char prev_state = 0; // 上一个状态,0表示低电平,1表示高电平 unsigned char curr_state; // 当前状态 while(1) { curr_state = signal; // 读取当前状态 if(curr_state == 1 && prev_state == 0) { // 如果当前状态为高电平且上一个状态为低电平 // 信号上升沿触发 // 在这里进行你需要的操作 } prev_state = curr_state; // 更新上一个状态 } }

注释中已经说明了每一步的作用,你可以直接复制粘贴使用。需要注意的是,这里的信号输入引脚为P1^0,如果你使用的是其他引脚,请自行修改代码。


原文地址: https://www.cveoy.top/t/topic/oSet 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录