单片机SC95F8617
中间加了一个去抖。
//LED :P06
#include "SC95F861x_C.H"
sbit LED1=P0^6;
sbit k1=P0^3;
void delay(unsigned long time)
{
while(time>0){
time--;
}
}
void Ioinit()
{
P0CON=0x40;//MOV P0CON,#40H
P0PH=0xFF;//MOV P0PH,#3FH
}
void main()
{
Ioinit();
while(1){
if(k1==0){
delay(1000);
if(k1==0){ //去抖之后再次判断
//delay(1000);
LED1=0;
}
if(k1==1){
//delay(1000);
LED1=1;
}
}
}
}
学习记录,仅供参考
这篇博客介绍了如何使用SC95F8617单片机控制LED,并实现按键去抖功能。通过设置P0CON和P0PH寄存器初始化IO口,然后在主循环中检测按键状态,当检测到按键按下时,进行延时判断以消除抖动,从而稳定地切换LED的状态。代码中展示了简单的延迟函数和按键状态判断逻辑。
4303

被折叠的 条评论
为什么被折叠?



