打印

STC的单片机强推挽输出疑问?

[复制链接]
17020|34
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 followme001 于 2013-4-18 14:07 编辑

是这样的,我打算用STC11F04E的三个I/O口P1^2,P1^5,P1^6来驱动三路红色LED,每一路都有三个红色LED。下图为了简化,每一路都只画了一个出来。


现在的问题是我在软件里输出高电平,每一路LED都只会微亮,用镊子短路三极管的CE极,才会全亮。我知道这是单片机输出高时驱动能力不足所引起的。
可以换用PNP三极管,但我手头上只有NPN9013这个管子。

我也试过改用强推挽输出的方式,程序如下:
sbit R1 = P1^2;
sbit R2 = P1^5;
sbit R3 = P1^6;

void main(void)
{
     P1M1 = 0x00;
     P1M0 = 0xFF;

     while (1)
     {
          R1 = 1;
          R2 = 1;
          R3 = 1;
     }
}
可以达到全亮了,但是我有一点搞不懂,这个强推挽方式,说是可以提供20ma的电流,是每一个管脚同时提供20ma,还是分时的(同一时刻只有一个管脚)提供呢?

上电气特性表:

如果是同时提供的,那就是3X20ma = 60ma,那不就超过了上表的ICC值了么?

评分
参与人数 1威望 +1 收起 理由
stcisp + 1 见手册:每路IO驱动均可达20mA, 但44、40脚.

相关帖子

沙发
wangyy608| | 2013-4-18 10:37 | 只看该作者
可以提供,但是这个时候远远没有20mA的电流

使用特权

评论回复
评分
参与人数 1威望 +3 收起 理由
followme001 + 3
板凳
followme001|  楼主 | 2013-4-18 11:14 | 只看该作者
嗯,那会不会有损坏单片机的可能?会过流吗?

使用特权

评论回复
地板
NE5532| | 2013-4-18 11:24 | 只看该作者
亲,你的LED上不串电阻啊?端口是推挽输出还是开漏输出,有用万用表测下端口输出高电平时候的电压是多少么?楼主的硬件要补课啊~~

使用特权

评论回复
评分
参与人数 1威望 +3 收起 理由
followme001 + 3 细心
5
28182900| | 2013-4-18 12:07 | 只看该作者
垃圾stc上电IO电平居然不是高阻的。太阳

使用特权

评论回复
6
学习_成长| | 2013-4-18 12:41 | 只看该作者
LED灯珠耐压挺好的,导通都不烧坏。

使用特权

评论回复
7
followme001|  楼主 | 2013-4-18 14:14 | 只看该作者
本帖最后由 followme001 于 2013-4-18 14:22 编辑
NE5532 发表于 2013-4-18 11:24
亲,你的LED上不串电阻啊?端口是推挽输出还是开漏输出,有用万用表测下端口输出高电平时候的电压是多少么 ...


还是版主细心,是图少画了电阻,实际每一路有300R的电阻,后来补上。(12 -2.2X3)V/18ma = 300R
以前没设为推挽输出时是普通I/O口,输出高时为0.67V。
设为推挽后输出高时为4.60V。
两年来都是主要搞单片机软件,从不碰硬件的说,现在自已实验搞个小电路。

使用特权

评论回复
8
followme001|  楼主 | 2013-4-18 14:16 | 只看该作者
学习_成长 发表于 2013-4-18 12:41
LED灯珠耐压挺好的,导通都不烧坏。

粗心画错了。:L

使用特权

评论回复
9
NE5532| | 2013-4-18 14:21 | 只看该作者
followme001 发表于 2013-4-18 14:14
还是版主细心,是图少画了电阻,实际每一路有300R的电阻,后来补上。(12 -2.2X3)V/18ma = 300R
以前没设 ...

楼主去看下51端口不设置推挽输出的时候是什么结构?要不要上拉电阻,能源出多少的电流?为什么人家用51的时候一般都用低电平驱动?

使用特权

评论回复
评分
参与人数 1威望 +3 收起 理由
followme001 + 3
10
followme001|  楼主 | 2013-4-18 14:25 | 只看该作者
嗯,只是用推挽的方式不知道保险不,心里没底。

使用特权

评论回复
11
NE5532| | 2013-4-18 15:31 | 只看该作者
followme001 发表于 2013-4-18 14:25
嗯,只是用推挽的方式不知道保险不,心里没底。

那先告诉楼主,这里应该用推挽输出,以后自己慢慢找原因。

使用特权

评论回复
评分
参与人数 1威望 +3 收起 理由
followme001 + 3
12
coody| | 2013-4-18 15:34 | 只看该作者
28182900 发表于 2013-4-18 12:07
垃圾stc上电IO电平居然不是高阻的。太阳

我觉得是你偏见了。

各个厂家兼容51的MCU,大部分都是复位为准双向IO(内部弱上拉)。
按你这么说,那么以前TI、ATMEL和菲利蒲的51,都是复位为准双向IO(内部弱上拉),P0口除外,并且基本都不能设置IO为高阻输入、开漏输出或推挽输出。按这么说,TI、ATMEL和菲利蒲的51是不是更垃圾呢?

象PIC那样的IO有时候比较麻烦,比如要用IO做双向通讯时,要不断的切换输入输出,而51和其派生的系列就不需要切换。

还有8086那样的CPU,IO口特性跟51是类似的,还16位呢,是不是更垃圾?

使用特权

评论回复
评论
stcisp 2013-4-19 13:16 回复TA
顶12#,8051复位就是弱上拉! 同时顶【江枫渔火】,对事要客观哦。。。 :) 
江枫渔火 2013-4-19 09:26 回复TA
看问题就应该这样客观,不能像那位哥们,自己用着不惯就当众耍赖~ 各种CPU有特点,用不用都是自己的事。 
13
followme001|  楼主 | 2013-4-18 15:37 | 只看该作者
本帖最后由 followme001 于 2013-4-18 16:10 编辑

好的,谢谢各位了.

使用特权

评论回复
14
coody| | 2013-4-18 15:38 | 只看该作者
LZ,51系列的,准双向IO(复位后状态),输出高电平的能力很弱,所以以前的51,你这样的高电平驱动都要加上拉电阻或缓冲IC。STC的可以设置推挽输出,不需要加上拉了。以前用过8051的都会知道。

使用特权

评论回复
评分
参与人数 1威望 +3 收起 理由
followme001 + 3 长知识了。
15
28182900| | 2013-4-18 15:42 | 只看该作者
本帖最后由 28182900 于 2013-4-18 15:48 编辑
coody 发表于 2013-4-18 15:34
我觉得是你偏见了。

各个厂家兼容51的MCU,大部分都是复位为准双向IO(内部弱上拉)。

好,是我没说清楚。
不但不是高阻,他上电是不可控制的瞬间高电平。不管你如何设置他都会瞬间高电平。P4口

使用特权

评论回复
16
NE5532| | 2013-4-18 15:50 | 只看该作者
28182900 发表于 2013-4-18 15:42
好,是我没说清楚。
不但不是高阻,他上电是不可控制的瞬间高电平。不管你如何设置他都会瞬间高电平。P4口 ...

是因为上拉电阻惹出来的,所以基于51的设计,要保证MCU持续复位状态,外设不能有不可接受的动作。简单来说就是外设最好是低电平动作。

另外上面的说法也不对,PIC需要切换输入输出,51在输入之前也必须先输出高电平,释放上拉,否则也输入不了的,所以从麻烦程度上看,大家一样。

使用特权

评论回复
17
followme001|  楼主 | 2013-4-18 16:10 | 只看该作者
coody 发表于 2013-4-18 15:38
LZ,51系列的,准双向IO(复位后状态),输出高电平的能力很弱,所以以前的51,你这样的高电平驱动都要加上 ...

OK.

使用特权

评论回复
18
28182900| | 2013-4-18 16:11 | 只看该作者
NE5532 发表于 2013-4-18 15:50
是因为上拉电阻惹出来的,所以基于51的设计,要保证MCU持续复位状态,外设不能有不可接受的动作。简单来 ...

不是所有的口,只有P4口是这样的。建议你试一下

使用特权

评论回复
19
yueyam| | 2013-4-18 22:00 | 只看该作者
但是这个时候远远没有20mA的电流

使用特权

评论回复
20
frlop| | 2013-4-18 22:05 | 只看该作者
我上次用了STC15F204E,结果它的外中断。。。。。
太阳呀,STC把这种带bug的产品就这样放着卖。
手册上说12年修正好的B版就量产代替了,可上次我问淘宝代理,他们说B版至今未量产。
STC 太阳。。。。。。
再也不用了。。。。

使用特权

评论回复
评论
stcisp 2013-4-19 13:14 回复TA
TB没代理的。204EA好像没有新版,但STC15F104E有外部中断正常的新版:STC15F104W! :) 
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

26

主题

154

帖子

1

粉丝