标题: 请教如何STC15w408单片机上电时IO口设置成低平? [打印本页]

作者: WCM1998    时间: 2023-11-23 18:18
标题: 请教如何STC15w408单片机上电时IO口设置成低平?
各位大侠请指点STC15w408上电时IO口设置成低平丶
默认上电是高平丶电路需要设成低电平、谢谢。
作者: npn    时间: 2023-11-23 20:43
选择STC8或STC32系列任意一型号,除P3.0和P3.1外其余IO口上电瞬间均为高阻态,先将IO口拉低再配置为准双向或强推挽即可。
其余系列上电瞬间为准双向模式的高电平,加一片74HC04或74HC14等非门反相器翻转即可。
作者: wulin    时间: 2023-11-23 21:17


作者: WCM1998    时间: 2023-11-24 04:57
wulin 发表于 2023-11-23 21:17

谢谢、我试过加下拉电阻、我的电路是控制SG3525的8脚`电压微弱了丶加了下拉就不能正常工作了、必须上电就是低电平
作者: wulin    时间: 2023-11-24 09:47
WCM1998 发表于 2023-11-24 04:57
谢谢、我试过加下拉电阻、我的电路是控制SG3525的8脚`电压微弱了丶加了下拉就不能正常工作了、必须上电就 ...

加下拉电阻只是措施之一,还得将该IO口设置为推挽模式。程序开始,端口初始化=0,再将该IO口设置为推挽模式。否则后续程序操作该端口=1时无法建立高电平。
作者: yzwzfyz    时间: 2023-11-24 10:44
在外设上电前,先上CPU的电,CPU得电后才能逻辑正常。
这样,对于外设来说,默认上电状态就受控了。

单纯的要求IO上电时是低电平:IO对地接一个电容C。由于上电前C上无电压,这样上电的瞬间,IO电压必为0。
作者: WCM1998    时间: 2023-11-24 18:04
yzwzfyz 发表于 2023-11-24 10:44
在外设上电前,先上CPU的电,CPU得电后才能逻辑正常。
这样,对于外设来说,默认上电状态就受控了。


谢谢、我试试看
作者: WCM1998    时间: 2023-11-24 18:08
wulin 发表于 2023-11-24 09:47
加下拉电阻只是措施之一,还得将该IO口设置为推挽模式。程序开始,端口初始化=0,再将该IO口设置为推挽模 ...

谢谢、我控制的电压是5v电流50uA、所以加下拉电阻不行丶电流太小了带不了下拉电阻

作者: coody_sz    时间: 2023-11-24 20:40
下拉3K电阻到GND,上电就是低电平,初始化时先输出低电平,再设置为推挽输出。
作者: WCM1998    时间: 2023-11-25 06:45
coody_sz 发表于 2023-11-24 20:40
下拉3K电阻到GND,上电就是低电平,初始化时先输出低电平,再设置为推挽输出。

pwm输出引脚p0.1上电输出低位怎么样设置?
作者: coody_sz    时间: 2023-11-25 21:35
WCM1998 发表于 2023-11-25 06:45
pwm输出引脚p0.1上电输出低位怎么样设置?

PCA-PWM连续输出0或1的方法,以PCA0(PWM0-CCP0)为例:

PCA_PWM0 &= ~0x02;        // PWM0正常输出
PCA_PWM0 |= 0x3f, CCAP0H = 0xff, CCAP0L = 0xff;        // PWM0一直输出0
PCA_PWM0 &= 0xc0, CCAP0H = 0,    CCAP0L = 0;        // PWM0一直输出1

作者: WCM1998    时间: 2023-11-26 06:54
coody_sz 发表于 2023-11-25 21:35
PCA-PWM连续输出0或1的方法,以PCA0(PWM0-CCP0)为例:

PCA_PWM0 &= ~0x02;        // PWM0正常输出

谢谢、但是上电总有一个瞬间高电平脉冲呀丶无法消除、
作者: WCM1998    时间: 2023-11-26 09:17
coody_sz 发表于 2023-11-25 21:35
PCA-PWM连续输出0或1的方法,以PCA0(PWM0-CCP0)为例:

PCA_PWM0 &= ~0x02;        // PWM0正常输出

但是PWM引脚上电也有一高电平、电机就会抖一下、Pwm输出接Lks561驱动芯片
作者: WCM1998    时间: 2023-11-26 10:23
有人说改变STARTUP.A51可以改变上电时IO口电平丶可操作不来
作者: wulin    时间: 2023-11-26 15:03
WCM1998 发表于 2023-11-26 10:23
有人说改变STARTUP.A51可以改变上电时IO口电平丶可操作不来

至少对STC15W408来说没有用,我在5楼的建议是经实践切实可行的。只是你没有掌握好步骤。对于默认的PWM输出脚,必需在初始化PWM时设置:
        CCAP0H = CCAP0L = 0xFF; //PWM0的占空比为0%
        //CCAP1H = CCAP1L = 0xFF; //PWM1的占空比为0%       
因为一旦启动PWM,默认的PWM输出脚就会按PWM寄存器设置输出高/低电平。原先对该端口高/低电平的设置无效。
作者: WCM1998    时间: 2023-11-26 17:46
wulin 发表于 2023-11-26 15:03
至少对STC15W408来说没有用,我在5楼的建议是经实践切实可行的。只是你没有掌握好步骤。对于默认的PWM输 ...

谢谢大侠、我试试看.向你请教学习
作者: WCM1998    时间: 2023-11-28 04:21
wulin 发表于 2023-11-26 15:03
至少对STC15W408来说没有用,我在5楼的建议是经实践切实可行的。只是你没有掌握好步骤。对于默认的PWM输 ...

大侠、向你学习请教





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1