搜索
bottom↓
回复: 171

AVR和PIC的一点体会

[复制链接]

出0入0汤圆

发表于 2006-5-19 13:47:25 | 显示全部楼层 |阅读模式
PIC的只有几层堆战,用起来简直繁的要死

尤其是PIC12C508 或者PIC16C54之类的  连个中断都没有,写其程序来麻烦的要命

  当你连续调用两个子程序的时候,堆栈就溢出了,你说痛苦不痛苦

更不要说移植UC/OS之类的操作系统了(操作系统一般都要频繁的使用堆栈)



就算PIC16F877还算可以,可是价格高的吓死人 和AVR的没法比

  PIC唯一的优点就是指令少 适合一些什么都不懂的初学者,只有33条指令,就是傻子也能学会

但是如果你要进行判断大与 小于 或者等与 之类的东西时 你就会知道 PIC是多么的垃圾.

我相信能用PIC指令独立写出 判断大与 小于 或者等与 的不是很多.

如果你用AVR的指令基本上1到2条指令就能很快的判断出结果了.

还有PIC的RAM和ROM都要来回的分页,把你的头都搞大了.而AVR的都是线性地址不存在分页问题





AVR是是我用到的性价比最高的一款芯片,其速度也是最块的,最近有好多新的单片机或者低价位的ARM

我看了一下,其功能比AVR的强不了多少



现在用涌出了一大批台湾系列的芯片,其内核与PIC的差不了多少 ,就是因为PIC的内核简单,很容易被

被人仿造,比如 义隆EMC 麦肯MDT HOLTEK合泰 普泰PT 通泰等等 你仔细分析一下其指令集和PIC的基本一致 有好多可以直接代替PIC的,比如EMC公司的 和MDT的 具体什么型号的我就不多说了

但是市场上到现在为止没有一款可以仿造AVR的内核的 因为他是真正的好东西,不是谁都能仿造的

其实PIC的片子和台湾的片子功能大同小异,和AVR还是有点差距   

   台湾合泰的片还是不错的 C至少有一套完整的C开发工具,尤其最近还推出了可以反复擦写的,比如

HT48E06等纯IO口单片机.



以上是本人使用多年单片机的一点体会 见笑了

出0入0汤圆

发表于 2006-5-19 13:49:45 | 显示全部楼层
我也喜欢AVR,不懂PIC,顶你一下!

出0入0汤圆

发表于 2006-5-19 14:00:48 | 显示全部楼层
哈哈哈楼主还忘记了一点:

PIC的OTP,说是能够降低成本不少,但是看到武汉力源的报价,简直就是杀人,而且,OTP在开发初期特别是资本小的时候,真的怕怕,如果用UV擦除的芯片,寿命不说,光擦除就够受的了,麻烦死了,而16F84、16F877等等芯片比起同类AVR的可开发性和价格来说基本上就是垃圾。



HT还是好一点,价格好,开发费用算比较低的。虽然资源少,但是家电特别是小家电来说,足够了。



很多人用NEC或者富士通芯片,不是为了别的,只是为了防止别人解密仿制,用量很少的芯片一般很少有人破解,这是个好处。但是PIC就麻烦得很,2K/1天就可以完全破解,连地摊老板都这么说。

出0入0汤圆

发表于 2006-5-19 14:17:07 | 显示全部楼层
用PIC的,为的是价格低。因为核芯简单造价低便是一大好处。可能楼主没有考虑过,好几年前,AVR还没有出生时,PIC与51相比,很有价格优势。之于开发难度大小问题,习惯了,开发起来一点也不难的。就像我认为AVR汇编很难,但老外还不是一样用汇编写操作系统,而且性能很好。你认为难的,别人不一定认为难。再者难,只是难在工程师,老板却不觉得。以10k的量,可以做otp加裸片。价格很低的,特别是玩具市场和小家电控制。还有AVR的内核已经有几个仿造品了,而且是高档的m128。性能比atmel的还好。只是它核芯复杂,成本高,利润空间不大。用PIC的并不怕别人破解,因为破解了也挣不到什么钱。研发成本比破解费更低。

出0入0汤圆

发表于 2006-5-19 14:21:31 | 显示全部楼层
PIC的不是怎么烂的吧,它的抗干扰好象很强的嘛,有不少电能表都用PIC的片子的.

不过我最讨厌的就是PIC什么都分页,CALL个子程序先换页,CALL回来再换页.三换两换头都晕了.

出0入0汤圆

发表于 2006-5-19 14:23:27 | 显示全部楼层
凤凰你这句:“用PIC的并不怕别人破解,因为破解了也挣不到什么钱。研发成本比破解费更低”



我听了的第一感觉就是想哭。。。。。。

出0入0汤圆

发表于 2006-5-19 15:00:37 | 显示全部楼层
“2K/1天就可以完全破解,连地摊老板都这么说。”PIC真的就这么容易被破解吗?



当时想用PIC,发现使用起来真的很麻烦,而且没有找到好的技术支持,就作罢了,用了AVR,现在看来用AVR是正确的选择。

出0入0汤圆

发表于 2006-5-19 15:14:30 | 显示全部楼层
其实不管什么单片机只要能在市场上存活,,就证明有其优点,

   比如pic的抗干扰比较好,还有价格比较低

当然我个人还是比较喜欢avr的

出0入0汤圆

发表于 2006-5-19 15:28:18 | 显示全部楼层
PIC破解我们这里的行价就是如此,哎。。。。

出0入0汤圆

 楼主| 发表于 2006-5-19 16:06:08 | 显示全部楼层
上面有一位老兄说得对,PIC是最早推出来低价位的芯片,比如8只脚的PIC的PIC12C508 只有0。5K的ROM 还有PIC16C54 这两个片子就是纯IO口的 只有两级堆栈,连个中断都没有,

就占了一个出来的最早的优势,但是那时候AVR是没有研制出来,因为当时不需要,



  主要是AVR也是ATMEL的一个系列而已,ATmel的AT89C51已经全世界都在用。

ATMEL公司当时不把PIC当作一回事。

  不过有人说PIC的抗干扰能力好,是因为他的功能少只有IO,没有中断,肯定会好一些

但是功能多的72,或者73 抗干扰并不好。

现在有好多直接代替PIC的,不需要转移程序,价格做到两块钱以下,但是PIC的价格连PIC12C508的都在4块多。我不认为PIC现在的价格占优势。

  你也不会拿16C54根MEGA48去比吧 ,懂行的人一看资料就是到这两个片子不是一码事

出0入54汤圆

发表于 2006-5-19 16:15:23 | 显示全部楼层
请教直接代用PIC的两块钱以下的都是些什么片子?我现在需要用到,呵呵。代用16C58的2K片子

出0入0汤圆

发表于 2006-5-19 16:50:51 | 显示全部楼层
-_-#PIC的片子,我用PICC写的大点C程序基本上跑不起来。AVR就比较爽了,GCC是免费,而且到现在还没出现,代码没问题,电路也没问题,但就是跑不起来的事。

出0入0汤圆

发表于 2006-5-19 17:25:53 | 显示全部楼层
OTP来OTP去,OTP到底是什么意思?

One-Time-Programmable



怎么省钱的?是把程序给片子制造商,事先将程序写入吗?
-----此内容被alisha于2006-05-19,17:28:04编辑过

出0入0汤圆

发表于 2006-5-19 17:41:45 | 显示全部楼层
OTP,自己可以用编程器烧写一次,仅有一次,烧错了活该,心理压力大(LPC767FN=14.00元/pcs),87LPC7XX全系列也是这样的,小规模开发特别不爽。

出0入0汤圆

发表于 2006-5-19 18:33:52 | 显示全部楼层
因为软件仿真同实物还是有差别的,所以很多时候直接用实物运行,但是用OTP问题就来了,AVR的Mega16L我可以修改5000次(我现在就修改了5000多次了,好几个东西用一片),不会增加负担,但是PIC的OTP就惨了,就算6元/pcs,5000次都是3万哪。。。。实在受不了了。。。。。原来烧废了100多片,心痛。

出0入0汤圆

发表于 2006-5-19 18:54:05 | 显示全部楼层
没有用过更多的单片机,51老师只讲到定时器就完了,后来知道了可以用C写单片机的程序,网上一搜,看到AVR,又看到这个网站,所以就选了AVR开始学习,没有多想,做自己想做的就OK!

出0入0汤圆

发表于 2006-5-19 21:37:17 | 显示全部楼层
因为gcc支持avr,所以俺想玩一下。所有gcc支持的架构俺都想玩一下 :)



arm以下gcc支持的好象只有avr了,去年说那个什么430也打算支持gcc,可惜到现在似乎还没看到动静。



(当然,俺目前为止还没玩出什么东西出来,就是喜欢玩,感觉还不错 :D )

出0入0汤圆

发表于 2006-5-19 23:23:53 | 显示全部楼层
同意搂主的说法。



pic分页让人头痛,一个函数大于分页容量就编译通不过了。对于一个函数大于2k似乎是设计不妥,但是在单片机范畴里,是有这种可能的,频繁的调用对实时性是打折扣的~~~

另外,我同事在使用pic的过程中发现,电路没问题,c写的软件没问题,但是程序就跑飞掉了,反汇编一看,果然是跳转指令跳错地方了,而应该跳到的地址是在另外一页相同偏移量的地方。这样的问题应该是分页特性和编译器造成的。解决方法更加夸张,我同事把几个子程序长长短短的相隔排列,结果就好了,真是晕掉~~~



相比之下,还是信任AVR和avr-gcc。

PC上的gcc毕竟经受了商业公司的考验,例如google,ibm等,因为它们都使用了用gcc编译的linux,而风河的tornado5使用了arm-gcc-2.9.5。

移植为avr后,尽管有或这或那的问题,但是稳定性是存在的,因为gcc的目的就是为了跨平台的支持,至少不会出现PIC出现的问题~~~

出0入0汤圆

 楼主| 发表于 2006-5-20 11:39:24 | 显示全部楼层
有位老兄提到‘’请教直接代用PIC的两块钱以下的都是些什么片子?我现在需要用到,呵呵。代用16C58的2K片子 ,,有兴趣的化与我联络 gao8051@sohu.com

  本人可以为你找到最好的渠道。

  虽然我说了关于好多PIC芯片方面的不足 但是我还是很感激PIC公司的,因为我可以直接在PICC下面进行写程序 ,然后直接烧到兼容 PIC的片子里去(降低成本)。 由于工作的需要 我有时候不得不用PIC的东西,最近就刚刚用PIC10F202做了一个小产品(主要因为他是6只脚,天下没有比他在小的东西) 其他公司的都太大了无法装到产品上去,真是无奈。

   本人用PIC单片机开发的东西太多了,有些情况是客户指定要PIC的你没办法,还有些客户指定要用2元的单片机 你也没办法,人生有时候太无奈。你想用好一点的片子 但是由于成本不允许,支能忍辱负重。  

当然我用AVR的片子和菲利浦的LPC900系列的8位单片机 这类的片子也很多 还有菲利浦 LPC2100系列的ARM,这些片子用起来感觉很爽。

出0入54汤圆

发表于 2006-5-20 12:56:46 | 显示全部楼层
楼上的留个QQ吧,我的QQ 89167315  MSN mutoudonggua@126.com

出0入475汤圆

发表于 2006-5-20 13:50:20 | 显示全部楼层
。。。代码没问题,电路也没问题,但就是跑不起来。。。







又看到这样的话,真不知道应该怎说,

那就是你的方案规划有问题,要不就是芯片是坏的,或者最大可能就是没有接电源,哈哈哈

出0入0汤圆

发表于 2006-5-21 01:56:50 | 显示全部楼层
无论51,PIC,AVR,ARM经济适用都是好东西哈!!!

出0入0汤圆

发表于 2006-5-21 07:42:27 | 显示全部楼层
PIC还有PIC18的,大家可以看一下的

出0入8汤圆

发表于 2006-5-22 19:21:57 | 显示全部楼层
不过我也最讨厌的就是PIC什么都分页,CALL个子程序先换页,CALL回来再换页.三换两换头都晕了.

出0入0汤圆

发表于 2006-5-22 23:21:40 | 显示全部楼层
还是讨论几个实用的算法吧,这个意义不大吧

出0入0汤圆

发表于 2006-5-22 23:24:01 | 显示全部楼层
但是PIC的交椅做的还是蛮稳当的~~

有点不可思议啊~~

出0入0汤圆

发表于 2006-5-23 08:55:46 | 显示全部楼层

出0入0汤圆

发表于 2006-5-23 21:11:19 | 显示全部楼层
我也想不明白啊,老是建议老板用AVR的,他就是不用死抱着PIC,哎!

出0入0汤圆

发表于 2006-5-23 21:47:26 | 显示全部楼层
我现在听到pic就觉得痛苦。

出0入54汤圆

发表于 2006-5-24 09:31:22 | 显示全部楼层
可是我们老板点名要用PIC,为什么,就是两块钱就能买得到代用片,呵呵!!!

出0入0汤圆

发表于 2006-5-25 11:22:34 | 显示全部楼层
而且PIC每个型号的汇编指令有些还不一样,郁闷!

出0入0汤圆

发表于 2006-5-26 00:09:18 | 显示全部楼层
用PIC的话,还是用汇编写程序吧,用C反而很痛苦。

PIC的第一把交椅做的很好,这个也是事实。

出0入0汤圆

发表于 2006-5-26 09:12:05 | 显示全部楼层
pic和avr各有好处;这要看你的要求和习惯;

一个公司中要是同时使用几种单片机,是有一定的压力的;举个例子:俺同学公司时作石油井下数据采集的,有一种是存储式的,要放在井底一两个星期才提升出来转移数据,老板以前请电子科大的人用51系列开发的,由于当时并没有用于高温井(90度以上),所以还可以应付;去年开始作100度以上的,51系列的麻烦就来了;工业级的已经不够用,到处托人情才买来一批军工级的,可后续供货就麻烦了;而pic系列的军工级相对好买;avr的军工级也比较好买;。。。



俺自己有些东西需要体积小重量小,如果用51系列就麻烦,avr和pic就好啦,但俺还是偏重于pic,这也就是习惯问题,毕竟俺去年才开始接触avr;俺是半路出家的,学的专业是机械,但不能老是去求人做吧?反正东西也不复杂,俺也懂少许电子,早两年接触到pic的PICBASIC PRO编译器,真的如获至宝。。;以前用汇编用怕了;去年开始学AVR,如果还用汇编或C,太麻烦,幸亏有BASCOMAVR,呵呵,而且还有BASCOM 8051,.....

俺的用法是这样的:简单功能的用PIC,毕竟8脚的好买;涉及到复杂而且有界面要求的用AVR,毕竟BASCOMAVR对液晶和曲线等支持的多;51基本上不用啦;

对某些行业的设备要求极高,并不在乎几百一两千的费用,不需要去节约那一点点,而开发周期才是致命的,实际上的开发费用绝大部分都是处在开发期的时间和人工上。。

所以不一定非要强调只用哪一种单片机,公司内部的习惯和技术的延续要求应该是比较重要的。。

出0入0汤圆

发表于 2006-5-26 09:30:03 | 显示全部楼层
最早用PIC,汇编写程序.感觉就是记住几个常用指令程序就可以写出来.很好用.

其实PIC应用最大的问题就是要换页,程序没写出来人先累死了.但PIC的C编译器不大好用.



AVR要配置的东西太多,个人感觉不用C的话大点的程序根本没法完成,看那上百条的汇编指令头就大了.能用汇编写AVR的都是超人.

出0入0汤圆

发表于 2006-5-26 09:38:04 | 显示全部楼层
PIC的各种型号的汇编指令还不一样.

不过认为大家不要再讨论这个问题了,存在既是有他存在的道理.

出0入0汤圆

发表于 2007-11-16 23:46:41 | 显示全部楼层
我用过PIC,现在基本不用了,指令是简单,指的是支持的汇编指令少,但指令少造成实际运行效率也低了,那个分页是要命,有的时候干脆就用一半!再有就是堆栈,不得不小心,随时就可能死在这里,还很难找到问题。我以前曾经也用过一次性编程芯片,彻底服了,一不小心就是一片进去了,我靠,当时怎么想起来用它了!我现在还有不少PIC芯片,看着就堵心。至于稳定性我没看出有多大区别,反正我用过的这些不同芯片都差不多。都能够正常工作。

出0入0汤圆

发表于 2007-11-19 08:51:13 | 显示全部楼层
我觉得诸位对PIC的认识还停留在过去的PIC16级别,现在PIC除了很多很强的片子。PIC18这个型号不太好,我比较看好PIC24,这个系列估计将来会取代一些高端8位机的市场,比如MEGA128和MEGA64。

出0入0汤圆

发表于 2007-11-23 11:14:01 | 显示全部楼层
PIC不是想象的那么难写了,只是很多人写C习惯了,写PIC的汇编写的少,也只是一个熟练的程度而已,PIC的分页,只要程序结构安排合理,也不是那么复杂的,堆栈本来就是程序员自己心里要要清楚控制的,现在做过几年MCU的人应该说很少会死在堆栈上了吧.
要说功能,个人觉得都不错,分工目的有些不一样了,抗干扰的,高速AD和高速PWM我一般都用PIC的,低价格的一般用和PIC兼容的台湾MCU(EMC,MDT,ALPHA,还有几家了,好象现在海尔也是和PIC兼容的啊),呵呵,做一般的控制和普通功能的就用AVR,C语言写起来快啊(不过说句,AVR的汇编是写过的汇编中最难写的,以前觉得是430的,^_^,写过个语音的,用AVR汇编,写的人是欲仙欲死啊)

出0入0汤圆

发表于 2007-11-23 11:20:20 | 显示全部楼层
哦,再说一句,做的好的东西才有机会有市场,做的差的基本没多少市场的,或者时间都做不长,而能有好的市场的产品一定有他的优点才能不能被其他产品抢占,所以个人觉得PIC不仅仅只是内核简单才被台湾好多家公司仿制,51内核相对来说应该更成熟吧?

出0入0汤圆

发表于 2008-3-20 10:55:09 | 显示全部楼层
呵呵,avr的确实不错,有竞争力,PIC有点也很多

出0入0汤圆

发表于 2008-3-20 11:16:25 | 显示全部楼层
觉得avr的下载线和eeprom确实好,缺点就是编程工具太多。

出0入0汤圆

发表于 2008-4-11 14:51:04 | 显示全部楼层
要说PIC我觉得在这个论坛上我算是有发言权了,我用了整整三年的PIC16c5X系列(12位指令)。要说PIC的性价比好,大概说的是以前,如今PIC12fF509(与5X为同一个档次产品)在华强北大概是4元一片(两级堆栈,41RAM,6IO)和ATtiny12,13相比价格相当,但其落后的架构导致其在性能上却相去甚远。5x系列动不动就要切换RAM bank和ROM page,写子函数要小心再小心,一不留神就会堆栈溢出,查表时表格放置位置有要求,长度有限制,就算你已经调试好的代码,很有可能在下次修改时增加两句,而导致页溢出,或表格中有几行位置超出查表范围,让使你死的很难看。倒是有个C编译器,但是不好用,也是一不留神就会出问题的, 这个不怪C编译器的开发商,5x系列这个架构是很难做出高效的C编译器的。说了这些再看AVR就觉得顺眼多了,tiny系列虽然资源也很少,开发起来就方便很多。最后说说抗干扰的问题,PIC的OTP芯片抗干扰是很不错的,FLASH的好象就差一点,用过AVR Mega64片子感觉不比PIC的FLASH差,还有一点我觉得很重要的是PIC的抗干扰性得益于其简单的架构,在PIC中低档的产品中没有那一条指令会超过一个字(字长固定12/14)的,当其程序跑飞时不会落到数据区,总是会落到指令区,从而可以很方便的使用陷阱捕捉错误,但是即使捕捉到错误也很难处理,因其堆栈指针是不可改写,你不能使用软复位。这时一般都会用死循环,使WDT溢出而强行硬复位,不过要是产品需要低功耗,WDT(wdt熔丝开启)不能开,麻烦就大了,跑飞几乎没有有效的复位手段。
    写了这么一大段PIC的毛病,有人可能觉得奇怪了,那么不好你怎么还用呢。呵呵,因为我用的不是真正的MicroChip的产品,而是台湾仿PIC的产品,价格超低,有钱赚,老板就要求用了,这在深圳实在不是什么秘密。

出0入0汤圆

发表于 2008-4-14 16:17:28 | 显示全部楼层
现在很多人一提到pic  就是换页头疼  堆栈太少  中断源不独立   可那都是pic低档的片子

为什么不去试试pic的中档(18F)和高档(24F,30F,33F)呢 ?

出0入0汤圆

发表于 2008-4-14 23:07:50 | 显示全部楼层
对头现在我也PIC24F64GA004,16位,64K程序空间,8KRAM就20元左右
便宜过AVR了

出0入0汤圆

发表于 2008-4-15 22:21:14 | 显示全部楼层
用C呀,很多事情都可以交给编译器去做。
像16F508注定是做打火器这类的东西,就打个火吗,有多难?

出0入0汤圆

发表于 2008-5-19 15:25:08 | 显示全部楼层
pic高中低档,一应俱全。

很多avr的fans,就会攻击pic12,

怎么不说pic24???????????

pic24系列比avr好一个档次!

出0入0汤圆

发表于 2008-5-19 21:15:47 | 显示全部楼层
pic24能和avr32比吗?
楼上的有没有想过??

出0入0汤圆

发表于 2008-5-20 08:51:37 | 显示全部楼层
pic32和avr32比啊.

pic24除了16位数优势,也比avr要好很多!

出0入0汤圆

发表于 2008-5-23 12:42:59 | 显示全部楼层
AVR还真厉害,用自己的32和别人的24比.

说AVR好的人一般分两种:一种是硬件(模拟电子)技术超强的人,设计的硬件环境超级舒适,能帮单片机抵挡所有的干扰.另一种就是水平一

般,单片机应用环境超级好,小大小闹用它完成一些简单任务的.

说AVR好的人真的是没有在关键时候吃过亏的.用AVR单片机做做电机控制等等有强干扰应用环境的产品试试,不让你哭才怪呢.
头像被屏蔽

出0入0汤圆

发表于 2008-5-23 12:56:55 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

出0入0汤圆

发表于 2008-5-23 14:56:03 | 显示全部楼层
这个很多种了,呵呵.像对别的单片机有特殊感情的;用AVR单片机吃过亏的;像心胸狭隘无聊之极的等等.

不过我认为AVR的单片机很好,性价比应该是最好的.

单片机的好坏不重要,既然敢拿出来卖,绝对没有到坏的无法使用的地步.

用什么单片机都一样能做出好的产品.评价单片机好坏其实都是过于狭隘的表现,最值得讨论的是应用某个单片机时我采用的算法

,此算法完成了别人无法完成的功能,解决了别人无法解决的问题才是最值得称赞的.单片机的好坏之分其实是运用它的工程师的水平高低

之分.

出0入0汤圆

发表于 2008-5-23 17:30:54 | 显示全部楼层
我只会汇编,但程序代码少啊,

出0入0汤圆

发表于 2008-5-24 11:09:03 | 显示全部楼层
同意51楼的说法。单片机各有短长,单纯比较好坏没有意义。

出0入0汤圆

发表于 2008-5-25 22:27:10 | 显示全部楼层
PIC不错,尤其是pic24系列,pic18,pic16也不错.

pic16是microchip的早期产品,尽管存在rom分页,ram分段的问题,但其主要是面向低端,产品种类丰富,功能搭配齐全,
抗干扰性能好,为用户提供了最优性价比选择,尤其在工业控制领域应用广泛,抗干扰口碑尤其好,几乎成为不需要大运算量的
工业控制领域的不二选择.

pic18针对pic16的弱点进行了改进,保持了原来的优点,并提高了性能.
主要表现在:
取消rom分页,增加了中断优先级,增加了全局存储器控制,增加了快速返回堆栈,宽展了31级别硬件堆栈,并可读写栈顶数据.
宽展了间接寻址功能,增加了间接寻址后后增,后减,先增,不变,以及增加固定数目到FSR,极大的提高了指针操作的性能.

具体的好处表现在:全局存储器控制可以直接寻址全部的特殊功能存储器和部分ram,几乎可以不用进行ram段选择,就可以操作特殊功能存储器和部分ram,对于大数组的操作用,间接寻址更加高效,可以说虽然有ram分页,但以前pic16系列,ram段选择的麻烦,在pic18里面不复存在.

快速返回堆栈以硬件方式极大增强了中断的实时性能.

31级栈顶可读写的硬件堆栈,可以扩展实现软件堆栈功,这个虽然实现还是麻烦一点,但毕竟和pic16比,可以实现软件堆栈了.

间接寻址后后增,后减,先增,不变,以及增加固定数目到指针地址,极大增强了数组以及队列操作的性能.
(有点类似于arm)

出0入0汤圆

发表于 2008-5-25 22:32:24 | 显示全部楼层
pic18系列实现了硬件乘法器功能,pic16系列的部分不足几乎不复存在.
pic18的种类也特别丰富,部分实现了搞性价比的usb,can,lcd等功能,芯片的种类非常齐全,为用户提供了几乎应有尽有的选择.

这都是avr不能比拟的.

有些avr的fans,老是拿早期的pic16甚至pic12说事,实在是选择性失明.

出0入0汤圆

发表于 2008-5-25 22:44:15 | 显示全部楼层
pic24更是质的提高.

首先是16位,极大地提高了数据处理能力.
中断功能彻底提高,
具有硬件乘法器,硬件除法器,
带FIFO的UART和SPI,
500K 10位adc,
实时时钟...

比avr好一个档次.

出0入22汤圆

发表于 2008-5-25 22:46:37 | 显示全部楼层
个人感觉,pic的低端开发工具不如何。比avr差。而且自制不易。

出0入0汤圆

发表于 2008-5-25 22:50:41 | 显示全部楼层
dspic实现了低端工业用dsp功能,和同档次的ti的2407比,具有很高的性价比.

pic32的性能更是一级棒.

PIC32(MIPS内核)性能为 1.5DMIPS/MHZ
其他性能分别为1.3DMIPS/MHZ到0.95DMIPS/MHZ,分别是avr32,cortex M3,arm9,arm7.

可以说pic系列是高中低档次应有尽有,而且maplab和icd2提供对pic16,pic18,pic24,dspic,pic32全系列支持,

这是avr能比的吗?

出0入0汤圆

发表于 2008-5-25 22:57:44 | 显示全部楼层
对初学的学生而言,pic的开发工具是不如jtag方便,但是对真正用pic干事情的人而言,pic的开发工具非常好,
maplab和icd2提供对pic16,pic18,pic24,dspic,pic32全系列支持!

好像听说avr的开发工具,全系列的通用性能不是很好啊!

而且一个串口的icd2淘宝上才100左右,自制几十元吧,不是很贵吧!
不过自制不是很方便.

要是用只是下载程序,不调试的话,jdm下再起,做起来,十元钱好像就够了.

maplab免费下载,C18 C编译器,正版300元而已!

出0入22汤圆

发表于 2008-5-25 23:05:32 | 显示全部楼层
楼上,请问jdm支持pic24吗?还有dspic30.谢谢!
我现在想玩玩pic的,但是看了看jdm,好像不支持这两种芯片。

出0入0汤圆

发表于 2008-5-25 23:13:21 | 显示全部楼层
用icd2.

用pic24,dspic干事情的程序都不会很小,想想不出,不用icd2是自找麻烦,

用下载器,没有必要!

出0入0汤圆

发表于 2008-5-25 23:16:11 | 显示全部楼层
要是学生,不愿意花个百十块钱买icd2,又想练习程序,推荐proteus仿真,

proteus支持pic24F,学生玩玩,够了.

出0入0汤圆

发表于 2008-5-26 11:31:50 | 显示全部楼层
machunshui 高人啊!

小弟只搞了两年多PIC,而且都是16 12系列的.后来一直搞AVR和430,心里是一直想只搞PIC的,但是公司要求AVR和430,没办法.

pic18啊,24啊,dspic啊,等等都没弄过.一大遗憾的.

出0入0汤圆

发表于 2008-5-26 11:33:57 | 显示全部楼层
简单的说,用pic会省不少事的,操作简单简单,运行可靠,放心啊.

出0入0汤圆

发表于 2008-5-26 11:51:35 | 显示全部楼层
其实不管pic也好,avr也好,430也好,都是好东西.
适合自己的项目,自己熟悉,能搞得定项目,就是好东西.

看到这个论坛,有几个用早期的pic芯片的缺点,说pic不好,选择性失眠的帖子,就罗唆了两句,
也有些偏激.

但是pic确实是个好东西,抗干扰性能不错,各种性能,配置,可选择的型号太多了!
高中低档,应有尽有!
而且maplab和icd2支持全系列!

可以说,会pic,就能满足大部分需求了.

出0入0汤圆

发表于 2008-5-26 12:34:55 | 显示全部楼层
其实我认为就pic低档的10,12,16等系列的芯片也不比AVR同档次的芯片差的,大家都有优缺点的.

其实单片机不需要会那么多的,用一个搞精就好.不过,多数人都没有选择的自由.为了生活,别人让怎么搞就得怎么搞,让搞什么就得搞什

么.

出0入0汤圆

发表于 2008-5-28 22:21:31 | 显示全部楼层
楼主我看你是井底之蛙,不知到外面的世界有多么美好,看来你也只有用AVR的命了。看一下别的芯片的技术参数(不知到你是真懂还是假懂),就横加批评。PIC单片机世界销售第一不是吹出来的,我一直在用PIC单片机,我也用过AVR,但没有觉得AVR比PIC强啊。不过我更放心使用PIC。ARM更是经过长时间的考验,在以前占据手机75%的市场份额,不知道AVR有没有他的一个零头。

出0入0汤圆

发表于 2008-5-28 22:29:35 | 显示全部楼层
还有就是对楼主说PIC单片机难用方面我得加以反驳。我觉得PIC单片机事非常好用的。举个例子:公司给我一个项目,前提是一定要PIC来做,首先声明我以前没有用过,但从认识到编写程序就用了 一天时间,编写10K代码到调试完毕用了1个月,是不是很快,但用过AVR之后我觉得AVR要比PIC难用点,而且因为AD转换器的原因,现在已经弃而不用了,有时间研究AVR还不如直接上ARM,性能还是强很多的。

出0入0汤圆

发表于 2008-5-29 08:37:26 | 显示全部楼层
^_^,与楼上同感!

出0入0汤圆

发表于 2008-5-29 14:15:06 | 显示全部楼层
其实我觉得两种都很好,各有千秋,但从网站主页来看,microchip比atmel好多了

出0入0汤圆

发表于 2008-6-3 10:22:29 | 显示全部楼层
我现在有一项目是用在民航飞机上,不知道用AVR可靠不?但PIC我从来没用过也不会啊!哪位高人指点一下!

出0入0汤圆

发表于 2009-5-8 14:13:24 | 显示全部楼层
是啊,PIC指令少真正应用起来更要命,本来一条51指令能完成的工作,可能用PIC的要4-5条。
就好像让你搭同一个积木,你用越低级的材料就越费事一样。
BTW,你们知道有种叫做BrainFuck的编程语言吗?笑死我了,能用这种语言写程序的都是超人.

出0入0汤圆

发表于 2009-5-9 08:32:26 | 显示全部楼层
从51转过来的人,用汇编开发的,都PIC好用,指令少。如果配合强大的伪指令,更省心。
一开始用C搞PIC的,也不会特别被分页所困扰。PIC的编译器,不论HI-TECH公司做的,还是MICROCHIP做的,都很优秀。几乎不曾听过被优化优死掉的事情。

出0入0汤圆

发表于 2009-5-9 08:42:31 | 显示全部楼层
pic量上去之后,价格还是比较亲民的。而且个人觉得24f,30f、33f。pic32都是比较好玩的片子,特别是电机控制方面。
汇编指令量小,学习成本低。microchip的网站资料要足够的多。

出0入0汤圆

发表于 2009-5-9 08:51:44 | 显示全部楼层
【49楼】 wllwpy
积分:16
派别:
等级:------
来自:
        AVR还真厉害,用自己的32和别人的24比.

用AVR单片机做做电机控制等等有强干扰应用环境的产品试试,不让你哭才怪呢.

~~~~~~~~~~~~~~~
完全同意。做电机控制的时候,avr的抗干扰做的太差,时常会导致人的误判,比如以为电源模块有问题,换了好的还是不行。
      当然高手能通过修改硬件电路,修改layout来改善抗干扰环境。

出0入0汤圆

发表于 2009-5-9 22:24:10 | 显示全部楼层
headwolf_83
积分:52
派别:
等级:------
来自:
从51转过来的人,用汇编开发的,都PIC好用,指令少。如果配合强大的伪指令,更省心。
一开始用C搞PIC的,也不会特别被分页所困扰。PIC的编译器,不论HI-TECH公司做的,还是MICROCHIP做的,都很优秀。几乎不曾听过被优化优死掉的事情。  
-----------------------------------------------------------------------------------
呵呵,我用PIC16F877A,PICC8.05,倒是出现过优化后的程序能正常运行,不优化的却死在那边。
我也不排斥用PIC,但是对它的C编译器有点担心.
用汇编的话写大型程序太痛苦了.

出0入0汤圆

发表于 2009-5-29 17:26:39 | 显示全部楼层
我也正在学习PIC,支持PIC.

出0入0汤圆

发表于 2009-5-29 21:22:13 | 显示全部楼层
那楼上对于什么编译器放心呢?如果连编译器都不放心的话还不如直接使用汇编或者机械语言,这样最保险。再说PIC的dspic很好,PIC32性能也非常好dsPIC在电机控制上的性能是连TI的28XX系列也比不了的,可以轻松实现很多在DSP上面要花很多时间才能完成的功能,而且指令集精简有什么不好?现在连显卡都是和CPU都是精简指令集的,能够精简说明指令更加合理,如果能精简到2条,那就是世界上最优秀的单片机了。

出0入0汤圆

发表于 2009-5-30 17:39:56 | 显示全部楼层
哎,AVR PIC的模拟部分就是不怎么的啊,msp430都可以集成16位的AD,TI公司技术先进

出0入0汤圆

发表于 2009-5-31 11:59:49 | 显示全部楼层
16位AD真正能到多少位呢?想2812的AD,说是12位精度,但是好像实际发现最后两三位总是不稳定,最后结果是只相当于不到10位的精度,我感觉一味地最求高性能不是绝对的。因为侧重点不一样,这就好像客车和货车一样,因为用途不一样,因此功能的侧重点不一样。我感觉MSP430系列用在控制上,应该不会比dsPIC系列的单片机来的好。

出0入0汤圆

发表于 2009-5-31 12:23:26 | 显示全部楼层
一般的AD最后一位都是不稳定,你觉得12位相当于10位,等到你选10位的有只相当于8位了啊。

出0入0汤圆

发表于 2009-6-1 00:00:05 | 显示全部楼层
AVR作为市场的后来者,当然要瞄准PIC的缺点。

所以,若干年钱,AVR确实有些性价比优势。

但目前,AVR和PIC完全没有办法比。

PIC32,DSPIC,PIC24,PIC18,PIC16F19XX ,PIC16,PIC12,PIC10,

高中低端全面出击,

性能和性价比方面都远胜AVR。



比较值得推荐的PIC16F917,PIC16F946, PIC18XXK20系列, PIC24F16KA102,都不错,非常有性价比。

出0入0汤圆

发表于 2009-6-5 12:56:27 | 显示全部楼层
各有各的优点吧。如果工控方面PWM调速的话AVR的PWM频率太低了。我做跑步机方面AVR的PWM频率达不到所以只用用PIC的,但是PIC的FLASH又太小了。两难!最后只能用汇编,不过PIC的汇编比AVR要好的多只有几十条指令。但是AVR的C语言和51相近非常好用!各有各的好处吧。看具体用法。

出0入0汤圆

发表于 2009-6-5 17:22:00 | 显示全部楼层
PIC大flash的很多.

pic18,pic24都有很多大flash的产品

出0入162汤圆

发表于 2009-6-5 17:54:33 | 显示全部楼层
pic的是个充满补丁的怪胎。
pic出来的时候,12位指令长度相对51 的八位长有很大的优势。
精简指令集用12bit长度能够更快、更省空间。

但是随着rom空间的不断扩大,pic 的指令字长由12位扩充到14位再到16位。

由于pic指令在创立之初就没有预见到大rom的情况,于是为了兼容,只能分区分块切换。。。。。。

超级补丁啊。

pic 的 c语言与标准c有很多不同,限制了他的发展。

出0入0汤圆

发表于 2009-6-7 16:58:01 | 显示全部楼层
使用C语言来说,感觉不到你上面所说的那些问题,既然C语言的编译器已经很多了,一些简单的应用还是使用C比较省事。

出0入0汤圆

发表于 2009-6-11 11:13:57 | 显示全部楼层
说PIC补丁?

少见多怪.

哈佛总线的一个好处,就是可以允许数据总线,指令总线具有不同的宽度,

可以设计出最具成本优势的MCU,

这就是为什么经融危机下MICROCHIP可以到处撒钱收购别的企业,

ATMEL差点被收购的原因,

出0入0汤圆

发表于 2009-6-11 11:26:40 | 显示全部楼层
LS搞笑吗,avr也是哈佛总线的好不好...

出0入0汤圆

发表于 2009-6-11 11:27:53 | 显示全部楼层
"但是随着rom空间的不断扩大,pic 的指令字长由12位扩充到14位再到16位。"


这句话更是搞笑,

知道PIC中级增强型PIC16F19xx吗?

同样的14位指令,却寻址能力大大超过老式的14位中级PIC16F877等产品.

完全,不是85楼所说,提高指令字长才能提高寻址能力.


寻址能力由PC的长度决定!

这都不清楚!

出0入0汤圆

发表于 2009-6-11 11:28:33 | 显示全部楼层
"但是随着rom空间的不断扩大,pic 的指令字长由12位扩充到14位再到16位。"


这句话更是搞笑,

知道PIC中级增强型PIC16F19xx吗?

同样的14位指令,却寻址能力大大超过老式的14位中级PIC16F877等产品.

完全,不是85楼所说,提高指令字长才能提高寻址能力.


指令寻址能力由PC的长度决定!

这都不清楚!

出0入0汤圆

发表于 2009-6-11 11:32:18 | 显示全部楼层
snoopyzz ,什么逻辑,

我说过AVR不是哈佛总线吗?

但是AVR,没用好哈佛总线.

指令设计的太多,内核不大才怪,

生产成本不高才怪

出0入0汤圆

发表于 2009-6-11 11:35:04 | 显示全部楼层
或者说ATMEL企图用占据性能制高点,

但是没预见到,

32位大潮来临以后,

最高20DMIPS性能,根本可以无视,

成本也下不来

出0入0汤圆

发表于 2009-6-11 11:36:13 | 显示全部楼层
我是用PIC单片机的,avr没用过,不敢多说。

当时还不会单片机的时候(多年以前),有个课题需要用单片机开发一个小板子,就拿来51书来看,看了半个月,还搞不清什么叫长跳转。。。只是周围的人都用51来开发项目,更可笑的是好多人争抢一个仿真器的情形。有一天,看到网上有人卖PIC开发套件,ICD2+开发板,只要不到200元,遂决定买来一套玩玩。拿到手后对照其推荐的书籍学了一下,一周完全掌握了PIC16F877,一个月板子已经装在仪器中用着了。当时感觉,这就是我要用的单片机!有相见恨晚的感觉。Microchip给样片很大方,要过几次,全部都给了,不过后来申请的从美国寄到中国就没有了下文,据说是被代理收走了。。

学PIC的另一个原因是老外用PIC的很多,网上可找到大量资料;相对老外用51的少,可能是开发成本比较高吧(多年以前,51还是要用仿真器仿真的)。另外,PIC的很多功能都是内置的,用起来很方便,同事开发的51的板子有10个左右的芯片,而我用PIC开发类似的板子只要3~4只片子就解决问题。

再一个我用PIC的原因是CCS-PICC的库很全,感觉很方便。特别是Delay_ms() Delay_cycle() Delay_us() 这些库很好用,不用任何计算,就可将延时精确做好。还有94C46、4x4键盘一类的驱动也都有。效率不高可以用FLASH大一倍的芯片嘛,不差那几元钱,因为我的项目一般附加值都是很高的。

我虽然用PIC,但我也不排斥,不鄙视其它的单片机。因为适合自己的才是最好的,自己不熟悉的再优秀也和自己没关系。任何一个MCU大厂能够生存下来,必然有它的道理。最近在看MSP430,就是想用它做两节干电池能用1年的自容式设备。有些人争论什么MCU效率高、价格如何如何,但对我一个开发者来说,一个月可做一个项目可以赚2万;如果用效率很高,性能很好,且价格便宜10元,但自己不熟悉的MCU,多花一个月时间,就等于少赚2万。所以我用熟了PIC,就一直用PIC,它能很好的为我赚钱,为何不继续用呢?所以,适合自己的才是最好的,存在即有其合理性。

出0入0汤圆

发表于 2009-6-11 11:43:17 | 显示全部楼层
楼主:

我看到的 PIC12C508 一般都是用在打印机硒鼓计数解码、IC卡内嵌MCU什么的,并不需要太多堆栈,要堆栈多可以用IBM-PC,呵呵呵。。

出0入0汤圆

发表于 2009-6-11 11:52:54 | 显示全部楼层
引用87L“
哈佛总线的一个好处,就是可以允许数据总线,指令总线具有不同的宽度,

可以设计出最具成本优势的MCU,

这就是为什么经融危机下MICROCHIP可以到处撒钱收购别的企业,

ATMEL差点被收购的原因,”
====================================

正常人都会理解成,哈佛总线好,是微星强过atmel的原因
====================================
顺便说下,我公司用量最大有是PIC的...我没说PIC坏话吧,
我只是就你的话来说说,
不过,PIC低端芯片的代码分页,寄存器也分页是挺讨厌的,每页又不大(PIC16F57)

出0入0汤圆

发表于 2009-6-11 12:18:32 | 显示全部楼层
我特地强调了,

"哈佛总线的一个好处,就是可以允许数据总线,指令总线具有不同的宽度,
可以设计出最具成本优势的MCU,  "

针对前面有人说PIC补丁的说法,
微芯这么做了,是有原因的.

ATMEL当然是另外的做法,
否则前面的人说的就会是:
"PIC和AVR到处是PIC补丁了"


看东西,要;联系上下文环境看.

出0入0汤圆

发表于 2009-7-13 14:38:40 | 显示全部楼层
用过一次PIC18F2450,那个反感啊,没法说。
以后坚决不用

出0入0汤圆

发表于 2009-7-14 13:18:27 | 显示全部楼层
没有垃圾的单片机,只有耳根薄的工程师,听别人说几句,就觉得这东西垃圾,它们能用到现在是有理由的,老外不是把它们用的很好吗

出0入0汤圆

发表于 2009-7-14 21:40:19 | 显示全部楼层
pic最不爽的就是,没有便捷的自制烧写方式,当然官方的开发版,仿真器还算非常非常便宜了。(比起傻X的atmel的mkii来说)
当然avr最方便的也就是有个便捷的自制烧写器,和iccavr傻瓜式初始化软件。(没有这两个,avr就很挫了)
头像被屏蔽

出0入0汤圆

发表于 2009-10-13 17:12:13 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-5 06:14

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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