现在写的程序有比较复杂的状态机控制,带LCD驱动,比较语句写的非常郁闷。 如果你要进行判断大与 小于 或者等与 之类的东西时 你就会知道 PIC是多么的垃圾
--------------------------------------------------------------------- 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口单片机.
以上是本人使用多年单片机的一点体会 见笑了 |