贪狼lyb 发表于 2013-12-20 20:08:21

使用STC系列单片机和Atmel系列单片机存在的问题

地球人都知道STC的51系列单片机的指令系统和AT的完全兼容,最近做一个小系统出了点问题,在网上四处寻觅他俩之间的区别,结果……到处充斥着同样一句废话——他俩完全可以替换,但事实上问题很多——
1.STC单片机执行指令的速度很快(其实这也是一句废话,呵呵),大约是AT的3-30倍,尽管快是好事,但这样一来,你在AT上好使的程序在STC上不一定好用,反之亦然,最典型的例子就是那些对时序有要严格求求的模块,比如IIC,18B20、DS1302等的时序。再者,既然执行速度快了,那么那些非定时器控制的精确延时肯定要受影响,用STC时注意得加长延时,大约是AT的10—30倍就差不多,这一点自己调试就知道了。
2.STC单片机对工作环境的要求比较低,电压低于5伏时仍然正常工作,甚至3伏到4伏之间都还可以工作,然而这样的环境下AT肯定不行了,所以当一个系统用STC单片机好用,但用AT的单片机不工作时,直接查最小系统,看单片机的供电是否正常——一切从根源查起。

lzl000 发表于 2013-12-20 20:18:29

1非电子学科的人知道吗
2兼容不代表相同,相同的话要他做甚,速度变化肯定有一定改变的

四轴飞行器 发表于 2013-12-20 20:25:45

说的对    我也遇见过

贪狼lyb 发表于 2013-12-20 20:35:12

lzl000 发表于 2013-12-20 20:18
1非电子学科的人知道吗
2兼容不代表相同,相同的话要他做甚,速度变化肯定有一定改变的 ...

额。。。说的有点夸张了,见谅。

饭桶 发表于 2013-12-20 20:35:26

如果非得指令周期一致,可以买STC 89系列

贪狼lyb 发表于 2013-12-20 20:37:12

饭桶 发表于 2013-12-20 20:35
如果非得指令周期一致,可以买STC 89系列

恩恩,多谢指点。

william_rain 发表于 2013-12-20 20:38:08

手册上写着呢
stc 有1T的单片机

贪狼lyb 发表于 2013-12-20 20:42:45

恩恩,能说一个具体的型号吗?STC用过的只有89、11、12、15,对于89比较熟悉,其他的只是在做东西的时候用过。

eva015401 发表于 2013-12-20 20:43:28

{:lol:}只要是不是自己写的51程序,第一件事情就是更换合适的延时,有时候用STC1T的单片机还要在IO口输出后加上几个_nop_();

贪狼lyb 发表于 2013-12-20 21:01:23

eva015401 发表于 2013-12-20 20:43
只要是不是自己写的51程序,第一件事情就是更换合适的延时,有时候用STC1T的单片机还要在IO口输出后 ...

恩恩,51学习的时间并不长,只是拿他入门,后来就去用MSP430和STM32了。

lxa0 发表于 2013-12-20 21:08:26

搞着玩我用STC
做产品的话我绝对选择AT

贪狼lyb 发表于 2013-12-20 21:10:25

lxa0 发表于 2013-12-20 21:08
搞着玩我用STC
做产品的话我绝对选择AT

恩恩AT的延时准确

yhsy1002 发表于 2013-12-20 21:11:25

这样啊,长知识了{:smile:}{:smile:}

mahengyu 发表于 2013-12-21 10:59:02

这根本不是问题。。。
很多人上来就写程序,根本就没搞懂啥是啥。。。

1欧姆 发表于 2013-12-21 19:26:49

用TreeOS 1.0操作系统,各种模块稍作配置就可以移植到不同平台。

unifax001 发表于 2013-12-22 11:14:13

其实若干年后你会发现这根本不是问题!

rebar 发表于 2013-12-22 13:11:21

为什么很多人抱着51不放,是因为老吗?

饭桶 发表于 2013-12-22 13:18:42

lxa0 发表于 2013-12-20 21:08
搞着玩我用STC
做产品的话我绝对选择AT

看来那些大量使用STC的都是傻瓜了?!

饭桶 发表于 2013-12-22 13:21:20

rebar 发表于 2013-12-22 13:11
为什么很多人抱着51不放,是因为老吗?

你看论坛里哪个元老是真正的老?傻孩子还是妇科圣手?决定使用哪个单片机的不一定是性能和价格,还要看资料丰富度,成熟度,还有完成任务的难度,用个51一小时就能做完的难道用ARM?用C写几句话的非得用OS?

rebar 发表于 2013-12-22 13:32:53

饭桶 发表于 2013-12-22 13:21
你看论坛里哪个元老是真正的老?傻孩子还是妇科圣手?决定使用哪个单片机的不一定是性能和价格,还要看资 ...

你可能误解了, 所谓老是指芯片不是指人.
还有更老的Z80, 8031
为什么是51?
我认为是学校里就教51不教其他, 老师知识停滞.造就一代人.
资料丰裕度也是个问题.
最近查stm的资料就比avr的资料不知道少多少, 常常搜索结果
有几百条,但是内容都是互相copy的,含金量少.
如果社会都享受现成, 也就无所谓创新了.
不过说实话,去国外坛子比如hack a day等用51,甚至stm都少.

饭桶 发表于 2013-12-22 13:35:40

嗯,明白了,倒是觉得不管学校教什么,至少大家学好也行啊,现在大学各种糊弄,学生也基本没有学明白的了。

1181zjf 发表于 2013-12-22 14:41:24

stc小批量用的多,不计较价格,大批量就要考虑OTP单片机了。

贪狼lyb 发表于 2013-12-23 12:51:35

william_rain 发表于 2013-12-20 20:38
手册上写着呢
stc 有1T的单片机

恩恩                           

xjtyOnly51 发表于 2013-12-23 14:02:19

这个肯定要自己调整的

冰雪王爵 发表于 2013-12-24 10:40:40

冰雪王爵 发表于 2013-12-24 10:48:04

1826772880 发表于 2013-12-25 00:32:48

STC 只能用蛋疼来形容,稳定性无法直观

freshuman 发表于 2013-12-29 16:06:19

1T,拉倒吧,定时器1T没有多大作有的。又不是每一个指令都是1T,典型的营销手段。
页: [1]
查看完整版本: 使用STC系列单片机和Atmel系列单片机存在的问题