liuhailan5757 发表于 2021-1-15 09:24 肯定是没得示波器呗 |
用《人人学会单片机》视频教程的代码,直接IO口接上就行了。如果P0需要上拉。不需要电容 更不需要串联电阻。主函数高速循环不断的调用以下扫描函数就行了。 以下代码的A和B分别代表两个普通IO口。 void ROTARY_ROTARY_Scan_Drive(void) { static xdata u8 count=0,Rotary_Flag=0; if(count>30) { count=0; if((ROTARY_B==0)&&(Rotary_Flag==0)) //如果按键B按下,且flag是0 { Rotary_Flag=1; Rotary_Read_Data_Rotary++; //按键值增加1 } if((ROTARY_A==0)&&(Rotary_Flag==0)) //如果按键A按下,且flag是0 { Rotary_Flag=1; Rotary_Read_Data_Rotary--; //按键值减少1 } if((ROTARY_B!=0)&&(ROTARY_A!=0)) //按键必须释放,下次按键才有效 { Rotary_Flag=0; } } count++; } |