打印
[51单片机]

怎样使得I/O口上电输出是0?

[复制链接]
3275|25
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
mrjackyu|  楼主 | 2014-4-26 17:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我学习的一个项目,用51单片机P2^6口0/1占空比驱动三极管再驱动mosfet,使灯可按开关调节亮度
现在有一个问题,启动的时候灯会猛亮一下,小于0.1秒;我估计是P2^6口上电的时候输出是1,到程序开始把它写0有0.0004S的时间,造成mosfet导通状态,请问如何写能在上电的时候给P2^6写个0,或者其他办法解决这个问题?谢谢
我把程序精简成这样还是会有闪一下~,证明是上电那一下造成的吧!
#include<reg51.h>
sbit driver=P2^6;
/***************************/
void main()
{
        init();
}
/***************************/
void init()
{

        driver=0;
}
/***************************/

相关帖子

沙发
wangch_sh| | 2014-4-26 17:49 | 只看该作者
改一下电路,低电平灯亮。

使用特权

评论回复
板凳
ningling_21| | 2014-4-26 17:49 | 只看该作者
加下拉电阻...

使用特权

评论回复
地板
xuyaqi| | 2014-4-26 18:03 | 只看该作者
可在灯上并联一只电容(100uf)利用电压不能突变解决上电亮一下问题。

使用特权

评论回复
5
ayb_ice| | 2014-4-26 19:23 | 只看该作者
取反一次就可以了

使用特权

评论回复
6
mrjackyu|  楼主 | 2014-4-26 20:56 | 只看该作者
xuyaqi 发表于 2014-4-26 18:03
可在灯上并联一只电容(100uf)利用电压不能突变解决上电亮一下问题。

并上后没那么明显,但是我调明暗开关不能用了,因为这个电容在这里稳压作用,而我设计的是PWM,谢谢

使用特权

评论回复
7
chen499103| | 2014-4-26 21:43 | 只看该作者

加反相器

使用特权

评论回复
8
mrjackyu|  楼主 | 2014-4-26 21:58 | 只看该作者
wangch_sh 发表于 2014-4-26 17:49
改一下电路,低电平灯亮。

实测有效,谢谢

使用特权

评论回复
9
mrjackyu|  楼主 | 2014-4-26 21:59 | 只看该作者
ningling_21 发表于 2014-4-26 17:49
加下拉电阻...

没试过,估计不行,因为我还要不断输出010101重复,加下拉就没得输出1了

使用特权

评论回复
10
mrjackyu|  楼主 | 2014-4-26 22:01 | 只看该作者
ayb_ice 发表于 2014-4-26 19:23
取反一次就可以了

取反需要加元件,根据2楼说的,接三极管射基驱动,实现低频有效即可

使用特权

评论回复
11
mrjackyu|  楼主 | 2014-4-26 22:01 | 只看该作者
chen499103 发表于 2014-4-26 21:43
加反相器

根据2楼说的,接三极管射基驱动,实现低频有效即可

使用特权

评论回复
12
ningling_21| | 2014-4-26 22:06 | 只看该作者
mrjackyu 发表于 2014-4-26 21:59
没试过,估计不行,因为我还要不断输出010101重复,加下拉就没得输出1了

下拉电阻不是0欧的,怎么会输出不了 1 呢?

使用特权

评论回复
13
xuyaqi| | 2014-4-26 22:43 | 只看该作者
mrjackyu 发表于 2014-4-26 20:56
并上后没那么明显,但是我调明暗开关不能用了,因为这个电容在这里稳压作用,而我设计的是PWM,谢谢 ...

你是一种什么样的灯

使用特权

评论回复
14
mrjackyu|  楼主 | 2014-4-27 00:50 | 只看该作者
ningling_21 发表于 2014-4-26 22:06
下拉电阻不是0欧的,怎么会输出不了 1 呢?

你指的是在R3左端加下拉电阻吗?

使用特权

评论回复
15
mrjackyu|  楼主 | 2014-4-27 00:52 | 只看该作者
xuyaqi 发表于 2014-4-26 22:43
你是一种什么样的灯

一个36V灯,因为是电池供电,加上PWM调占空比,所以是脉动直流的,并电容导致调光的时候有延迟

使用特权

评论回复
16
ayb_ice| | 2014-4-27 05:27 | 只看该作者
mrjackyu 发表于 2014-4-26 22:01
取反需要加元件,根据2楼说的,接三极管射基驱动,实现低频有效即可

这不也是取反吗

使用特权

评论回复
17
mrjackyu|  楼主 | 2014-4-27 07:07 | 只看该作者
ayb_ice 发表于 2014-4-27 05:27
这不也是取反吗

是一样的~:)

使用特权

评论回复
18
ayb_ice| | 2014-4-27 07:51 | 只看该作者
本帖最后由 ayb_ice 于 2014-4-27 15:16 编辑
mrjackyu 发表于 2014-4-27 07:07
是一样的~

本质是一样的

使用特权

评论回复
19
ningling_21| | 2014-4-27 08:12 | 只看该作者
mrjackyu 发表于 2014-4-27 00:50
你指的是在R3左端加下拉电阻吗?

是的,有时加电容也有通用效果...

使用特权

评论回复
20
xuyaqi| | 2014-4-27 15:38 | 只看该作者
mrjackyu 发表于 2014-4-27 00:52
一个36V灯,因为是电池供电,加上PWM调占空比,所以是脉动直流的,并电容导致调光的时候有延迟 ...

有点延迟影响大吗

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

45

帖子

0

粉丝