|
100黑币
本帖最后由 冷场少年某 于 2020-4-12 11:34 编辑
各位大佬好,我目前做的东西是使用IAP15W4K58S4单片机P3.0~P3.3口控制四组9013三极驱动的MOS开关APM4953,在程序中需要把P3口设置成推挽输出,M1M0为01配置,但不知为什么在实际使用中,接入3.0,3.1开关后,再接入3.2-3.3这组,单片机就死机了,但两组分别接入又没问题。。换成别的I/O口接入又不会死机。。。求问这是啥原因呀
初始化设置
P3M1 = 0xF0; P3M0 = 0x0F;
//P3.2~P3.3 M1M0为01配置,控制9013,驱动MOS开关4953
//P3.4~P3.7 M1M0为10配置,四个检测配置为高阻输入
sbit KZ1 = P3^0;
sbit KZ2 = P3^1;
sbit KZ3 = P3^2;
sbit KZ4 = P3^3;
控制函数
void control(void)
{
if(CHK1==1)
{
KZ1=0; //开关1关
KZ2=1; //开关2开
}
else if(CHK2==1)
{
KZ1=1; //SW1 开
KZ2=0; //SW2关
}
else
{
KZ3 = 1; //SW3开
}
}
下面那个Proteus图纸只是模拟双P沟道的APM4953,而且我整的Proteus版本里,没有我使用STC15单片机
|
|