找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 1441|回复: 19
打印 上一主题 下一主题

89C51与89S51 驱动区别

[复制链接]

36

主题

414

帖子

6523

积分

五级会员(50)

Rank: 5

积分
6523
跳转到指定楼层
1#
发表于 2013-6-3 16:56 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

EDA365欢迎您!

您需要 登录 才可以下载或查看,没有帐号?注册

x
最近由于采购不到89C51,所以公司根据Atmel的产品升级,选用89S51代替,但是驱动相同的LED指示电路,却有区别。89C51可以驱动得了,89S51驱动不了。比较两个芯片的datasheet,发现IO端口的带负载能力指标都相同,为什么会出现上述的驱动差异,希望高人指点。用89S51时,我将R16去掉就可以正常工作。

1.jpg (30.65 KB, 下载次数: 0)

1.jpg

点评

樓主可否說明是用哪根管腳驅動的?  发表于 2013-6-4 09:53
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 支持!支持! 反对!反对!
有信心不一定能赢,没有信心一定会输!
我为生活……

1

主题

9

帖子

65

积分

二级会员(20)

Rank: 2Rank: 2

积分
65
20#
发表于 2013-6-6 09:45 | 只看该作者
MARK

8

主题

358

帖子

2541

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
2541
19#
发表于 2013-6-5 17:57 | 只看该作者
超級狗 发表于 2013-6-5 09:58
6 H) u/ Q; r4 T9 V$ BPush-Pull 不一定是 TTL,CMOS 也有 Push-Pull。
( \0 e# Y- ]% v. ^2 u# \8 T8 ^: ?
4 n- A% H6 {# L* @樓主說換了 AT89S51 後就推不動 LED,照文字敘述應 ...

2 L; e1 q% D- [9 h{:soso_e138:} 我错了,单片机的输出为(除了P0)OD门,电平只与上拉有关,输出电平与VCC称比例是因为上拉电阻的存在,VCC/IOH为定值就是上拉电阻的值{:soso_e109:} 我也找到了楼主的那个芯片资料发现算出的上拉电阻确实不一样(大家可以找到VOH对照下){:soso_e138:} ;事实再次证明了狗大的英明,我对狗大的敬仰如滔滔江水连绵不绝,如黄河泛滥一发不可收拾{:soso_e113:} 等我下次再搞死狗大{:soso_e130:}

doc1001.pdf

388.27 KB, 下载次数: 1, 下载积分: 威望 -5

楼主的AT89C51

AT89S51.pdf

472.71 KB, 下载次数: 1, 下载积分: 威望 -5

点评

來人啊~給我準備兩桶地溝油叫牠喝下去!^_^  发表于 2013-6-5 21:36

36

主题

414

帖子

6523

积分

五级会员(50)

Rank: 5

积分
6523
18#
 楼主| 发表于 2013-6-5 10:09 | 只看该作者
超級狗 发表于 2013-6-5 09:58 6 o6 ~7 g0 C* F  X9 y
Push-Pull 不一定是 TTL,CMOS 也有 Push-Pull。) D4 {" O& d. f5 I: J; s
: y$ N2 \7 o, G
樓主說換了 AT89S51 後就推不動 LED,照文字敘述應 ...
7 K* D' n, {7 k: |! {/ ~1 w
版主高人,看来我也得学学Pspice 了{:soso_e179:}
有信心不一定能赢,没有信心一定会输!
我为生活……

36

主题

414

帖子

6523

积分

五级会员(50)

Rank: 5

积分
6523
17#
 楼主| 发表于 2013-6-5 10:05 | 只看该作者
风吹摇摆 发表于 2013-6-5 09:28
' y  a; Y" [( c- q2 x不是flash的问题,我只是举个例子。你应该再确认下你的51的型号,我指的是完整的型号,然后 ...

" b+ G9 ]! k2 n  c2 U不管是C51还是S51,P2口输出都是TTL的,附件是资料。完了咨询Atmel技术人员,在给大家官方回复。

AT89C51.pdf

142.04 KB, 下载次数: 6, 下载积分: 威望 -5

AT89S51.pdf

472.71 KB, 下载次数: 4, 下载积分: 威望 -5

有信心不一定能赢,没有信心一定会输!
我为生活……

33

主题

4949

帖子

1万

积分

EDA365特邀版主

Rank: 6Rank: 6

积分
12225
16#
发表于 2013-6-5 09:58 | 只看该作者
本帖最后由 超級狗 于 2013-6-5 10:17 编辑
6 {& Y" m4 ]7 l: C
风吹摇摆 发表于 2013-6-5 09:02
4 F8 ~( h0 m# ~" e$ z6 }不是上拉电阻的问题是输出电路的问题,都是推挽输出但是一种是TTL电平一种是CMOS电平。TTL电路的速度快, ...
3 z" z  r8 x! ~' X9 Z/ r, G
5 j4 r/ s; \* o' @/ D0 h& f- X
Push-Pull 不一定是 TTL,CMOS 也有 Push-Pull。
/ j" j7 s, Z9 y8 T
/ f; Z/ Z0 n" N: f樓主說換了 AT89S51 後就推不動 LED,照文字敘述應該是什麼都沒變只換 CPU。所以我排除是軟件設定的問題,即便是 AT89C51 和 AT89S51 I/O Port 也可以設定成 Push-Pull 輸出,但他們設錯了。/ g' e$ l' `1 l5 T' e- [
- F7 h/ j3 I/ w; g. o4 Q% ~/ L- q8 B" T0 g
但你仔細看芯片資料,Port 0 他直接跟你講是 Open Drain。Port 1 ~ 3 示意圖看起來也都是 Open Drain,差別只在於 Port 2 內部的上拉電阻可以被控制。
3 ?5 I' J1 {& r3 m# p
6 J. Q' }5 W: |* S' {/ \我知道有些 8051 的 I/O Pin 可以被設為好幾種模式(Push-Pull 是其中一種),但它們會被畫成像最後一張圖那樣(節錄自 新唐電子 NuvoTon 8051 芯片資料)。對於 ATMEL 這兩個系列,我從 I/O Port 結構圖看不出他們可以被設為 Push-Pull。但我也說過,芯片資料內容少得可憐,除非他們有不能說的秘密沒講出來。
8 B9 F( o. u. F* M% D+ {" T' M$ f/ R0 ]
Port 0:  J' W1 }2 m0 d  B
Is an 8-bit open drain bi-directional I/O port. Port 0 pins that have 1’s written to them float, and in this state can be used as high-impedance inputs. Port 0 is also the multiplexed low-order address and data bus during accesses to external Program and Data Memory. In this application it uses strong internal pull-ups when emitting 1’s. Port 0 also outputs the code Bytes during program validation. External pull-ups are required during program verification.+ A5 \. E' z8 u- C  Z  b3 n9 ^

, l3 w' v: t5 Y8 @4 L{:soso_e113:}
, r7 H& E8 X2 |! S+ \: g: s/ i2 C" o# w% Q1 P; K" \

CMOS Push-Pull.jpg (34.62 KB, 下载次数: 0)

CMOS Push-Pull.jpg

AT89C51 Port 1, 3, 4.jpg (39.32 KB, 下载次数: 0)

AT89C51 Port 1, 3, 4.jpg

AT89C51 Port 2.jpg (34.73 KB, 下载次数: 0)

AT89C51 Port 2.jpg

NuvoTon 8051 GPIO Port.jpg (39.35 KB, 下载次数: 0)

NuvoTon 8051 GPIO Port.jpg
哈士奇是一種連主人都咬的爛狗!

3

主题

157

帖子

2697

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
2697
15#
发表于 2013-6-5 09:32 | 只看该作者
版主高人。。。。。。。。。

8

主题

358

帖子

2541

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
2541
14#
发表于 2013-6-5 09:28 | 只看该作者
sjh835170 发表于 2013-6-5 09:20
- P) d3 E7 q, M我说的都是4k flash的,O(∩_∩)O哈哈~,咱俩的分歧在这。
: s1 n+ F9 y" ^8 a7 D/ A; |7 |
{:soso_e134:} 不是flash的问题,我只是举个例子。你应该再确认下你的51的型号,我指的是完整的型号,然后到官网搜下;你先前用的AT89C51应该是TTL电平的,换成AT89S51是CMOS电平才会出现这个问题

36

主题

414

帖子

6523

积分

五级会员(50)

Rank: 5

积分
6523
13#
 楼主| 发表于 2013-6-5 09:20 | 只看该作者
风吹摇摆 发表于 2013-6-5 09:02
1 T* D8 L' A: k' J! X* x不是上拉电阻的问题是输出电路的问题,都是推挽输出但是一种是TTL电平一种是CMOS电平。TTL电路的速度快, ...

# o* t/ D: s' @4 W( T" v我说的都是4k flash的,O(∩_∩)O哈哈~,咱俩的分歧在这。

点评

支持!: 5.0
支持!: 5
一次要對付兩條狗,辛苦啦!^_^  发表于 2013-6-5 10:39
有信心不一定能赢,没有信心一定会输!
我为生活……

36

主题

414

帖子

6523

积分

五级会员(50)

Rank: 5

积分
6523
12#
 楼主| 发表于 2013-6-5 09:15 | 只看该作者
超級狗 发表于 2013-6-4 21:44 + p7 c4 ~8 {0 U, x" M0 c% \2 f
樓主︰
; e* E4 Z# X; g+ v( t3 k5 y/ r3 z
( h, m  A& u" R/ N8 j您這個問題真的很奇怪,上網找 ATMEL AT89C51 和 AT89S51 的芯片資料,其實內容也少得可憐。但如 ...

- N8 d6 A6 M/ `1 b8 G版主牛X,用仿真软件就是方便啊。O(∩_∩)O哈哈~……试验我之前做过了,外部上拉我用的是5.1K。只是我不明白为什么Ateml官网的资料和实际使用有差异。还有风吹摇摆兄弟的暴脾气也挺有意思,我对资料的正确来源还是比较清楚的,多谢各位的参与。{:soso_e142:} {:soso_e142:}

点评

上拉電阻的變動,可能還在規格範圍內,所以你從數字上看不出來。^_^  发表于 2013-6-5 10:09
有信心不一定能赢,没有信心一定会输!
我为生活……

8

主题

358

帖子

2541

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
2541
11#
发表于 2013-6-5 09:02 | 只看该作者
超級狗 发表于 2013-6-4 21:44
4 o- h0 b" t2 H3 u4 E+ l6 j! Y& a樓主︰
( y; u% _5 e, g' O, \* {9 w0 X* w# R) \/ N0 A" y2 |1 g( I
您這個問題真的很奇怪,上網找 ATMEL AT89C51 和 AT89S51 的芯片資料,其實內容也少得可憐。但如 ...

# r4 O- l/ ~' l5 \% ^不是上拉电阻的问题是输出电路的问题,都是推挽输出但是一种是TTL电平一种是CMOS电平。TTL电路的速度快,传输延迟时间短(5-10ns),但是功耗大。  COMS电路的速度慢,传输延迟时间长(25-50ns),但功耗低。有些单片机为了低功耗使用了CMOS电平# G) w# H% m8 g8 `$ ^# ]/ ?2 b
   

doc1920.pdf

516.12 KB, 下载次数: 14, 下载积分: 威望 -5

低功耗的

doc4127.pdf

1.16 MB, 下载次数: 25, 下载积分: 威望 -5

4

主题

56

帖子

902

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
902
10#
发表于 2013-6-4 22:50 | 只看该作者
超級狗 发表于 2013-6-4 21:44
; g8 r9 b2 }4 |% c+ S7 w樓主︰
# q7 G' J* [5 y, j. l5 K6 j- |& h! l* {
您這個問題真的很奇怪,上網找 ATMEL AT89C51 和 AT89S51 的芯片資料,其實內容也少得可憐。但如 ...

% u7 i. A! f% V6 u9 c5 f$ l# W) d( s版主经典,{:soso_e120:} ,51单片机的P0口上拉电阻几十k一直到100多K,好像不是定值,和拉电流大小有关。加外部上来一定ok

33

主题

4949

帖子

1万

积分

EDA365特邀版主

Rank: 6Rank: 6

积分
12225
9#
发表于 2013-6-4 21:44 | 只看该作者
本帖最后由 超級狗 于 2013-6-4 21:55 编辑
3 ?& N2 g0 Y& v, ^; Z; H$ F8 g
& n) F# a6 i/ a7 h& }' P6 u+ r5 x樓主︰
5 Y7 J: I; |# e( j$ f. b% [  f
, h8 _5 t8 q) B+ y% b6 ^* s+ Q5 y( M  A您這個問題真的很奇怪,上網找 ATMEL AT89C51 和 AT89S51 的芯片資料,其實內容也少得可憐。但如果您仔細閱讀芯片資料就會發現,不管是 Port 0 ~ Port 4 它們似乎都是 Open Drain 的結構,差別只是在於芯片內部是否有上拉電阻。$ x' Q# F+ n: @( _4 }

9 R1 d4 V4 R9 J9 z! N' S* K而從芯片資料的 VOL 和 VOH 的規格也可以看到,IOL 還能到 mA 級、但 IOH 只有數十 uA。證明 Port 0 ~ Port 4 當 General Purpose I/O,是 Open Drain 架構的推論可能是對的。4 Z1 J7 W* {6 h, B6 k* D1 k. y

) ^3 ?& ~" J. Z& Z3 d5 W9 X有鑑於此,我從 Pspice 模擬出一種狀況,會發生類似你敘述的情形。
# @: u. V5 W, f6 A( k0 a' k8 ?4 V2 V6 ]7 `. Q+ O, v
如果 IC 內部的上拉電阻小於 100K,LED 驅動電路大概還有 1mA 以上的電流。0 @3 e! l3 L  d  P* u6 k$ ]
3 h, }) P% [. [. S3 |
但如果 IC 內部的上拉電阻大於 120K,LED 驅動電路就只剩 550uA 以上的電流,這時候即便 LED 能亮,光線應該也是很微弱。此時若拿掉外部 20K 下拉電阻,LED 電流可以拉高到 4.5mA。7 O! H& V) H% L
! R6 K7 c6 h' Y
所以,我懷疑 AT89C51 在轉換至 AT89S51 製程時,I/O Port 內部上拉電阻值變高了,才會發生今天的問題。9 x5 n3 _: P; p) R9 c+ d
: j) s) H/ O' M' t. |! Q
如果不拿掉 20K 下拉電阻,下拉電阻增大到 47K,或加一個 10K 上拉電阻,都可以解決這個問題,或許樓主可以驗證看看。5 l  d' s6 l- O* g8 ]- Z0 j, `

. \0 J3 @4 P8 z5 H{:soso_e177:}
& v9 z& H- ^  H" L* g" |
0 x- z! K& q2 j! F. L, \0 K* w! V% b$ s

GPIO Internal Pull-Up = 100K.jpg (90.57 KB, 下载次数: 0)

GPIO Internal Pull-Up = 100K.jpg

GPIO Internal Pull-Up = 120K.jpg (90.31 KB, 下载次数: 1)

GPIO Internal Pull-Up = 120K.jpg

GPIO Internal Pull-Up = 120K without 20K External Pull-Down.jpg (85.8 KB, 下载次数: 0)

GPIO Internal Pull-Up = 120K without 20K External Pull-Down.jpg
哈士奇是一種連主人都咬的爛狗!

11

主题

876

帖子

1368

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1368
8#
发表于 2013-6-4 20:46 | 只看该作者
这种驱动电路 都需要自己加上拉  内部上拉都很弱 但有些单片机可以设置为推挽输出。

点评

支持!: 5.0
支持!: 5
讚一個!  发表于 2013-6-4 22:37

8

主题

358

帖子

2541

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
2541
7#
发表于 2013-6-4 18:29 | 只看该作者
风吹摇摆 发表于 2013-6-4 10:10
' G' h3 @, Z  A5 I. w楼主,你不要老是拿个资料在哪里分析,你自己不会搭个电路测一下,你都不验证就说别人的是错的........AT ...
7 B0 k1 Q! N$ R' |
我一向脾气很好的,直到被斑竹咬了一口,感染了......

点评

支持!: 4.0
支持!: 4
  发表于 2013-6-5 17:09

评分

参与人数 1贡献 +5 收起 理由
超級狗 + 5 好吧!我給點錢讓兄弟您去看病。>_<|||.

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

巢课

技术风云榜

关于我们|手机版|EDA365 ( 粤ICP备18020198号 )

GMT+8, 2025-2-17 18:52 , Processed in 0.077580 second(s), 46 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表