为了iic的稳定性，使用io模拟，而不用stm32本身硬件iic；配合硬件上的按键检测方式，修改key相关代码