论坛风格切换切换到宽版
  • 12692阅读
  • 41回复

先学51,还是PIC好? [复制链接]

上一主题 下一主题
离线KENWOOD
 
发帖
83
只看楼主 倒序阅读 0楼 发表于: 2002-12-07
新手请教先学51,还是pic好?
在线BD7CE
发帖
1289
只看该作者 1楼 发表于: 2002-12-07
建议51,资料多!
离线HF游客
发帖
182
只看该作者 2楼 发表于: 2002-12-07
建议用51系列
51生产厂家多,型号多,开发工具也多
离线BG4RFF
发帖
1581
只看该作者 3楼 发表于: 2002-12-07
我也说不准,我现在在学51,但是觉得pic有很多优点,不知道要是我先学pic,对51有什么感觉
离线HF游客
发帖
182
只看该作者 4楼 发表于: 2002-12-07
先学51,还是PIC好?
51,世界上大的半导体厂商都有生产或生产它的增强品种,不会只有一两家厂生产,老的51在速度和品种上不如pic,但现在已不一样了,品种非常齐全。
离线BD7QX
发帖
301
只看该作者 5楼 发表于: 2002-12-09
从价格和资料上讲还是先学51好,也容易学会,pic除了速度和功耗好之外,也没有什么好的地方了,并且价格也高,编程器也贵。如果你要求速度高的话也可以学avr的单片机,从性能价格比上来讲它都比同一级的pic要好很多。
离线bd8dl
发帖
2739
只看该作者 6楼 发表于: 2002-12-09
实际上我用不着多话了。确实应先学51,51可说是单片机领域的“微软”,pic或其它再好的芯片也只能叫“苹果”。不知各位意见如何。
离线HF游客
发帖
182
只看该作者 7楼 发表于: 2002-12-09
51工具网站
我推荐一个网站大家去看一下http://www.manley.com.cn
离线bd1es
发帖
2096
只看该作者 8楼 发表于: 2002-12-09
随便说说了:

我觉得51比较好。因为51是比较标准的复杂指令单片机,通过学习51可以比较全面掌握单片机和通用cpu知识,达到触类旁通的目的(z80也不错,可惜有些过时了,开发工具也很落后)。而pic是一种精简指令系统,虽然机器码好懂,但是局限性较大,就是说会过分偏重理解microchip的设计思想。其实全面掌握单片机技术较用精某一种芯片来得划算(不要被某一个公司捆住思想)。
类似pic的芯片很多,比如avr、msp430、z8等,掌握51的结构和指令系统之后理解这些单片机的原理就很容易。而反过来也许就要各个击破。

还有一些理由:
就芯片而言:51单片机有非常低廉的价格和数不胜数的衍生芯片系列,这些产品从低速(1mps)到高速(30mps)几乎涵盖整个自控领域。新芯片价格从5元到数百元都有,当然还有大量拆机片供应,很方便自学和自助实验。
就开发工具而言:51有完全免费的c语言编译器和实时任务系统,当然还有随手可得的大量评估版(包括d版)世界顶级开发工具,比如:keil / tasking / hitech / resonance / franklin(resonance前身)。当然在非盈利前提下领略这些大气的开发环境无疑对培养系统化的思维方式和细致入微的洞察能力有较大的帮助。
就调试工具而言:51系列的仿真器是最便宜的,也是种类最多的。

就pic系列而言:
单一芯片的用途比较有限,受机器自身容量限制较大,即通用性稍差。这也是microchip的产品线非常长的原因。当然microchip的这一思想对商业运作十分有利,在成本/性能和量产方面与用户的结合点很好。
还有pic的指令系统有一定的缺陷,常用户最有感觉,使人不得不陷入microchip的芯片选型迷宫,经常在小问题上犹豫不决。
在国内:pic的价格也是阻碍其大量应用的致命原因,供货种类不够充足。

所以我觉得:
先学习通用单片机,就是51系列,然后结合具体应用需求选择学习其他常用单片机。做到灵活思考,灵活选择。比如当需要少量开关量资源时使用89c2051,需要简单a/d资源时选择pic16f873,需要大量i/o时考虑89c52;需要低速时尽量考虑51系列,需要中速时考虑pic系列,需要高速时考虑90s avr系列,需要甚高速时返回来考虑51兼容的soc系列。而需要低功耗时考虑msp430系列。
顺便说一句,大家常说的pic16f74/84完全可以用89c2051替代,因为一般的设计方案中都留有速度余量,且这几种芯片都没有a/d,其基本结构类似。而为了使用pic就不得不使用纯汇编(编译器难寻),而用51系列就可以从容使用c代码,还有rtos的支持。

最后建议一下:就速度而言,pic不是最好的,avr系列做到了类单周期指令和流水线操作,在同一功耗下avr比pic快得多,而价格便宜得多(当然比低档51系列稍贵),avr是一种值得注意的新机型。

尽管做项目时应尽量使用c,但是为了用好c就必须先学习汇编,学完51系列规整的汇编体系后再领略各个小厂家自己的汇编环境真有游刃有余的感觉。我不得不佩服intel在cpu技术方面的学识和规划能力,不愧是计算机界的巨人。

罗嗦半天不知所云,最后给个不负责任的比较吧:

芯片价格:51/avr/pic/msp430
机器速度:51soc/avr/pic/51 (msp430是16位机,不便比较)
开发工具学习容易度:51/pic/avr/msp430
免费编译器:51和avr
高档开发器易寻找程度:51/avr/pic/msp430
在线仿真容易度:msp430/51/avr/pic

相信学习顺序已经出来了。有错误请指出,俺是信口胡言。

73!
:d
在线BD7CE
发帖
1289
只看该作者 9楼 发表于: 2002-12-09
胡说也写得这么好啊,加精。。。
离线ecs-worker
发帖
656
只看该作者 10楼 发表于: 2008-06-14
好资料
离线阳光999
发帖
52
只看该作者 11楼 发表于: 2008-06-14
还得看你要学来做什么用,将来要用到哪个就学哪个
还不知道要用什么就学51
离线szcharle
发帖
13335
只看该作者 12楼 发表于: 2008-06-15
偶的看法是 比51和pic强的 现在看 有很多 当然 51也在不断“变种”
偶不敢推荐了 本人最近打算学学stm32 cortex m3架构的arm 学这个总有一个感觉 或者一个新手 脑袋还空白的时候 干脆从新款的开始算了?
光看看那个看门狗 就知道啥叫“独立”看门狗了!
十几二十年前的技术 确实和今天的技术没法比
但是貌似国内资源最多的 大家最懂的 应该是51了
至于pic epe杂志上介绍的diy 10个有9.9个是用pic的
离线yzhkpli
发帖
493
只看该作者 13楼 发表于: 2008-08-19
问一下:凌阳mcu在实际使用中多么?
离线wgqaz
发帖
22504
只看该作者 14楼 发表于: 2008-08-19
先学好c吧。。。
离线antforum
发帖
218
只看该作者 15楼 发表于: 2008-08-20
'
随便说说了:
我觉得51比较好。因为51是比较标准的复杂指令单片机,通过学习51可以比较全面掌握单片机和通用cpu知识,达到触类旁通的目的(z80也不错,可惜有些过时了,开发工具也很落后)。而pic是一种精简指令系统,虽然机器码好懂,但是局限性较大,就是说会过分偏重理解microchip的设计思想。其实全面掌握单片机技术较用精某一种芯片来得划算(不要被某一个公司捆住思想)。
类似pic的芯片很多,比如avr、msp430、z8等,掌握51的结构和指令系统之后理解这些单片机的原理就很容易。而反过来也许就要各个击破。
还有一些理由:
就芯片而言:51单片机有非常低廉的价格和数不胜数的衍生芯片系列,这些产品从低速(1mps)到高速(30mps)几乎涵盖整个自控领域。新芯片价格从5元到数百元都有,当然还有大量拆机片供应,很方便自学和自助实验。
就开发工具而言:51有完全免费的c语言编译器和实时任务系统,当然还有随手可得的大量评估版(包括d版)世界顶级开发工具,比如:keil / tasking / hitech / resonance / franklin(resonance前身)。当然在非盈利前提下领略这些大气的开发环境无疑对培养系统化的思维方式和细致入微的洞察能力有较大的帮助。
就调试工具而言:51系列的仿真器是最便宜的,也是种类最多的。
就pic系列而言:
单一芯片的用途比较有限,受机器自身容量限制较大,即通用性稍差。这也是microchip的产品线非常长的原因。当然microchip的这一思想对商业运作十分有利,在成本/性能和量产方面与用户的结合点很好。
还有pic的指令系统有一定的缺陷,常用户最有感觉,使人不得不陷入microchip的芯片选型迷宫,经常在小问题上犹豫不决。
在国内:pic的价格也是阻碍其大量应用的致命原因,供货种类不够充足。
所以我觉得:
先学习通用单片机,就是51系列,然后结合具体应用需求选择学习其他常用单片机。做到灵活思考,灵活选择。比如当需要少量开关量资源时使用89c2051,需要简单a/d资源时选择pic16f873,需要大量i/o时考虑89c52;需要低速时尽量考虑51系列,需要中速时考虑pic系列,需要高速时考虑90s avr系列,需要甚高速时返回来考虑51兼容的soc系列。而需要低功耗时考虑msp430系列。
顺便说一句,大家常说的pic16f74/84完全可以用89c2051替代,因为一般的设计方案中都留有速度余量,且这几种芯片都没有a/d,其基本结构类似。而为了使用pic就不得不使用纯汇编(编译器难寻),而用51系列就可以从容使用c代码,还有rtos的支持。
最后建议一下:就速度而言,pic不是最好的,avr系列做到了类单周期指令和流水线操作,在同一功耗下avr比pic快得多,而价格便宜得多(当然比低档51系列稍贵),avr是一种值得注意的新机型。
尽管做项目时应尽量使用c,但是为了用好c就必须先学习汇编,学完51系列规整的汇编体系后再领略各个小厂家自己的汇编环境真有游刃有余的感觉。我不得不佩服intel在cpu技术方面的学识和规划能力,不愧是计算机界的巨人。
罗嗦半天不知所云,最后给个不负责任的比较吧:
芯片价格:51/avr/pic/msp430
机器速度:51soc/avr/pic/51 (msp430是16位机,不便比较)
开发工具学习容易度:51/pic/avr/msp430
免费编译器:51和avr
高档开发器易寻找程度:51/avr/pic/msp430
在线仿真容易度:msp430/51/avr/pic
相信学习顺序已经出来了。有错误请指出,俺是信口胡言。
73!
:d
'

讲解的很好! 我用过 c51,pic, avr 和 高速的soc51, 确实是这么个情况。
离线antforum
发帖
218
只看该作者 16楼 发表于: 2008-08-20
'
偶的看法是 比51和pic强的 现在看 有很多 当然 51也在不断“变种”
偶不敢推荐了 本人最近打算学学stm32 cortex m3架构的arm 学这个总有一个感觉 或者一个新手 脑袋还空白的时候 干脆从新款的开始算了?
光看看那个看门狗 就知道啥叫“独立”看门狗了!
十几二十年前的技术 确实和今天的技术没法比
但是貌似国内资源最多的 大家最懂的 应该是51了
至于pic epe杂志上介绍的diy 10个有9.9个是用pic的
'

因为是pic epe杂志 ,当然就只会说用pic的多了。
离线hahamm
发帖
19
只看该作者 17楼 发表于: 2008-08-22
51入手,avr好处是编程方便下载器自己做成本极低,s51也可以。最近想学学pic,发现片子贵,还要用编程器,c编译器也没有免费的。不方便。
离线yzhkpli
发帖
493
只看该作者 18楼 发表于: 2008-08-22
pic的c编译器连开源的都出来了。怎么说没免费的捏?倒是51,一直得用keilc~
离线cqmiao
发帖
825
只看该作者 19楼 发表于: 2008-08-23
直接avr,51实在太老了,而且avr难度和51差不多,为何不用avr?