使用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的单片机不工作时,直接查最小系统,看单片机的供电是否正常——一切从根源查起。 1非电子学科的人知道吗
2兼容不代表相同,相同的话要他做甚,速度变化肯定有一定改变的 说的对 我也遇见过 lzl000 发表于 2013-12-20 20:18
1非电子学科的人知道吗
2兼容不代表相同,相同的话要他做甚,速度变化肯定有一定改变的 ...
额。。。说的有点夸张了,见谅。 如果非得指令周期一致,可以买STC 89系列 饭桶 发表于 2013-12-20 20:35
如果非得指令周期一致,可以买STC 89系列
恩恩,多谢指点。 手册上写着呢
stc 有1T的单片机
恩恩,能说一个具体的型号吗?STC用过的只有89、11、12、15,对于89比较熟悉,其他的只是在做东西的时候用过。 {:lol:}只要是不是自己写的51程序,第一件事情就是更换合适的延时,有时候用STC1T的单片机还要在IO口输出后加上几个_nop_(); eva015401 发表于 2013-12-20 20:43
只要是不是自己写的51程序,第一件事情就是更换合适的延时,有时候用STC1T的单片机还要在IO口输出后 ...
恩恩,51学习的时间并不长,只是拿他入门,后来就去用MSP430和STM32了。 搞着玩我用STC
做产品的话我绝对选择AT lxa0 发表于 2013-12-20 21:08
搞着玩我用STC
做产品的话我绝对选择AT
恩恩AT的延时准确 这样啊,长知识了{:smile:}{:smile:} 这根本不是问题。。。
很多人上来就写程序,根本就没搞懂啥是啥。。。 用TreeOS 1.0操作系统,各种模块稍作配置就可以移植到不同平台。 其实若干年后你会发现这根本不是问题! 为什么很多人抱着51不放,是因为老吗? lxa0 发表于 2013-12-20 21:08
搞着玩我用STC
做产品的话我绝对选择AT
看来那些大量使用STC的都是傻瓜了?! rebar 发表于 2013-12-22 13:11
为什么很多人抱着51不放,是因为老吗?
你看论坛里哪个元老是真正的老?傻孩子还是妇科圣手?决定使用哪个单片机的不一定是性能和价格,还要看资料丰富度,成熟度,还有完成任务的难度,用个51一小时就能做完的难道用ARM?用C写几句话的非得用OS? 饭桶 发表于 2013-12-22 13:21
你看论坛里哪个元老是真正的老?傻孩子还是妇科圣手?决定使用哪个单片机的不一定是性能和价格,还要看资 ...
你可能误解了, 所谓老是指芯片不是指人.
还有更老的Z80, 8031
为什么是51?
我认为是学校里就教51不教其他, 老师知识停滞.造就一代人.
资料丰裕度也是个问题.
最近查stm的资料就比avr的资料不知道少多少, 常常搜索结果
有几百条,但是内容都是互相copy的,含金量少.
如果社会都享受现成, 也就无所谓创新了.
不过说实话,去国外坛子比如hack a day等用51,甚至stm都少.
嗯,明白了,倒是觉得不管学校教什么,至少大家学好也行啊,现在大学各种糊弄,学生也基本没有学明白的了。 stc小批量用的多,不计较价格,大批量就要考虑OTP单片机了。 william_rain 发表于 2013-12-20 20:38
手册上写着呢
stc 有1T的单片机
恩恩 这个肯定要自己调整的 STC 只能用蛋疼来形容,稳定性无法直观 1T,拉倒吧,定时器1T没有多大作有的。又不是每一个指令都是1T,典型的营销手段。
页:
[1]