请选择 进入手机版 | 继续访问电脑版

DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2434|回复: 4

[待整理] 论PIC和MCS51

[复制链接]
发表于 2014-10-4 22:32:37 | 显示全部楼层 |阅读模式
论PIC和MCS51

先谈硬件:

    对于PIC,它的优点有诸如抗干扰性能好,双向I/O口驱动电流大等优点,甚至内部有上电复位电路,上电延时电路,内建RC振荡器,看门狗定时器,A/D变换电路,功耗低等。硬件上吸引人的地方确实比较多,而且正是由于这些点点滴滴使得它的抗干扰性能比51好,这好像是公认的。当然它也有一个致命的弱点--不能外扩程序存储器和数据存储器,对于程序比较大而且是低端的产品来说是致命的!让人不得不转而投入51的怀抱。更何况PIC就微芯这一家公司,而拥有51内核的单片机遍地都是,让人在价格和供货时间上多了不少选择。

再谈谈软件编程:

    一般的教科书谈到PIC好像总忘不了说它的程序代码是如何的小,速度又是如何的快。速度快,对于单条指令同样频率的晶振来说,PIC当然是比51快得多,PIC毕竟是RISC,既然指令总线和数据总线分离,速度当然快,但我们往往忽视了一点:我们是比较单条指令,而不是以实现同样一个功能所需的时间作为判断的标准!!就像CISC一样,它的一条指令可以顶RISC好几条指令,51和PIC也存在类似的情况。对于PIC来说,实现一个基本的功能需要好几条指令,而51往往只需要一两条就做到了。如果以这样的标准来比较的话,PIC比51并不快多少,更何况还有如下的情况存在呢:

1)、PIC的软件编程,不是我故意贬它,确实是挺麻烦,一不小心就要犯错。这恐怕要归结于PIC的分页思想,不但数据空间要分页,程序空间还得分页,而且不同型号的PIC还不一样!!要访问一个寄存器还得考虑考虑它是在哪个BANK,你说累不累!因此编起程序还时不时要去查看它的编程手册,不然出了错都不知错在哪里。

2)、中断向量地址只有0004H这一个,因此发生了中断还得去判断是哪一个中断,然后再跳到相应的处理子程序。如此等等虽然是鸡毛蒜皮的事情,但用惯了51的方便简明,总觉得不是那么爽。

3)、说到软件编程,不能不提到C。想当初用单片机时到处都是用汇编在开发,也有高级一点的就用PLM(限于51/96),不像现在很多人都在用C开发。51的好处就是有几家做得很好的C编译器,像TASKING,KEIL之流。大家知道现在开发产品,软件编程所占的比重越来越大,因此有一个好的开发环境可以大大提高编程的效率,使产品尽早上市。而PIC在这一点上就没有51做得好!再加上由于2)的存在给使用者设置了障碍,无疑使编程效率打了折扣。
发表于 2019-7-13 10:29:24 | 显示全部楼层
LZ对单片机理解很深,我没用过PIC。
发表于 2019-11-21 16:16:40 | 显示全部楼层
学习了,原来如此,之前只知道两种设备的模型不一样。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-3-29 09:21 , 耗时 0.087513 秒, 18 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

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