打印

51和PIC单片机的代码里效率比较

[复制链接]
2859|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jiangbo123|  楼主 | 2009-8-10 15:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
比如同样的c语言,编译成51的bin和编译成PIC的bin,大小差距有多少呢?有没有人有类似经验请帮忙。我想选一个PIC替代现在的51单片机,但是在flash容量上没法确定,现在51的单片机bin文件已经超过30k了,本来我看中了PIC的PIC18F14K50。但是它的flash只有16k。有传言说PIC的效率要高一倍,不知道是不是真的?
沙发
yewuyi| | 2009-8-10 15:09 | 只看该作者
一般我都是这么估计的:PIC=30K/2.2

当然,这和程序结构和你的软件水平等密切相关。

使用特权

评论回复
板凳
jiangbo123|  楼主 | 2009-8-10 15:11 | 只看该作者
差距有这么大?PIC单片机很强呀。

使用特权

评论回复
地板
yewuyi| | 2009-8-10 16:50 | 只看该作者
这个和强不强没什么关系,这是单字节指令的原因

使用特权

评论回复
5
一朝成名| | 2009-8-10 16:51 | 只看该作者
确实要高哦,另外抗干扰也比较强,因为单字节单周期~so,干扰性要好点~

使用特权

评论回复
6
牛牛特工| | 2009-8-10 17:11 | 只看该作者
不知道 估计要看什么样的程序吧

使用特权

评论回复
7
machunshui| | 2009-8-11 14:02 | 只看该作者
设计东西软硬件都不能资源用的过紧,
过紧必然会给改进功能带来麻烦,
而且有可能为此,优化程序大小,
会把程序结构改**七八糟.

如果不是为了用PIC18F14K50的USB功能,
不如用PIC18F25J10加一片外扩EEPROM来的好

使用特权

评论回复
8
gx_huang| | 2009-8-12 12:50 | 只看该作者
实际上PIC的代码很大的。
我的一个程序,C51是6K字节左右,PIC是5K字,PIC的一个字是14bit,相当于8.75K字节。
也就是说PIC的比C51的大40%左右。是PICC 9.65的。
PIC的代码结构不适合高级语言。如果有较多的CODE数据,效率极低。

使用特权

评论回复
9
yewuyi| | 2009-8-12 13:22 | 只看该作者
回复LS:

如果是CODE数据,当你选择14位指令宽度的PIC时和51是相等的,如果有16位指令宽度的PIC时,如果是整型数据,51=2倍的PIC,如果是字节数据,51=PIC

另需要大量CODE数据的产品并不是很多。

至于你C51是6K,PIC是5K的情况,除非如你所说存在大量CODE数据,PIC的ROM按照字节来算是不合理的,一个指令一行空间,这个行是多长,那就看你选择了哪个系列的PIC产品了。

如果可能请看看PIC16F19XX系列,那个和你以前所了解的PIC有不少区别。

使用特权

评论回复
10
牛牛特工| | 2009-8-12 13:50 | 只看该作者
本帖最后由 牛牛特工 于 2009-8-12 14:07 编辑

所以说根据不同情况 代码量是不一样的~~
不过还好它是单字节
不然像ARM那样 一条指令4个字节 有时就很不划算

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

10

帖子

1

粉丝