找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4645|回复: 2
收起左侧

一文读懂PIC单片机的技术特性和优势

[复制链接]
ID:101093 发表于 2019-3-15 10:31 | 显示全部楼层 |阅读模式
对于电子工程师而言,PIC单片机是非常重要的一个产品。PIC单片机是一种用来开发的去控制外围设备的集成电路,一种具有分散作用(多任务)功能的CPU,与人类相比,大脑就是CPU,PIC共享的部分相当于人的神经系统。
PIC.jpg


PIC单片机的特点


PIC 单片机是一个小的计算机,PIC单片机有计算功能和记忆内存像CPU并由软件控制运行。然而,处理能力—般,存储器容量也很有限,这取决于PIC的类型。但是它们的最高操作频率大约都在20MHz左右,存储器容量用做写程序的大约1K—4K字节。时钟频率与扫描程序的时间和执行程序指令的时间有关系。但不能仅以时钟频率来判断程序处理能力,它还随处理装置的体系结构改变。如果是同样的体系结构,时钟频率较高的处理能力会较强。


因为PIC单片机可以把计算部分、内存、输入和输出等都做在一个芯片内。所以它工作起来效率很高、功能也自由定义还可以灵活的适应不同的控制要求,而不必去更换不同的IC。这样电路才有可能做的很小巧。


PIC单片机的优势


PIC最大的特点是不搞单纯的功能堆积,而是从实际出发,重视产品的性能与价格比,靠发展多种型号来满足不同层次的应用要求。就 实际而言,不同的应用对单片机功能和资源的需求也是不同的。比如一个摩托车的点火器需要一个I/O较少、RAM及程序存储空间不大、可靠性较高的小型单 片机,若采用40脚且功能强大的单片机,投资大不说,使用起来也不方便。PIC系列从低到高有几十个型号,可以满足各种需要。其中,PIC12C508单 片机仅有8个引脚,是世界上最小的单片机。


该型号有512字节ROM、25字节RAM、一个8位定时器、一根输入线、5根I/O线,市面售价在3-6元人人民币。这样一款单片机在象摩托车点 火器这样的应用无疑是非常适合。PIC的高档型号,如PIC16C74(尚不是最高档型号)有40个引脚,其内部资源为ROM共4K、192字节RAM、 8路A/D、3个8位定时器、2个CCP模块、三个串行口、1个并行口、11个中断源、33个I/O脚。这样一个型号可以和其它品牌的高档型号媲美。


精简指令使其执行效率大为提高。PIC系列8位CMOS单片机具有独特的RISC结构,数据总线和指令总线分离的哈佛总线(Harvard)结构,使指令具有单字长的特性,且允许指令码的位数可多于8位的数据位数,这与传统的采用CISC结构的8位单片机相比,可以达到2:1的代码压缩,速度提高4倍。


PIC有优越开发环境。OTP单片机开发系统的实时性是一个重要的指标,象普通51单片机的开发系统大都 采用高档型号仿真低档型号,其实时性不尽理想。PIC在推出一款新型号的同时推出相应的仿真芯片,所有的开发系统由专用的仿真芯片支持,实时性非常好。就 我个人的经验看,还没有出现过仿真结果与实际运行结果不同的情况。


PIC的引脚具有防瞬态能力,通过限流电阻可以接至220V交流电源,可直接与继电器控制电路相连,无须光电耦合器隔离,给应用带来极大方便。PIC以保密熔丝来保护代码,用户在烧入代码后熔断熔丝,别人再也无法读出,除非恢复熔丝。目前,PIC采用熔丝深埋工艺,恢复熔丝的可能性极小。


PIC单片机与MCS-51系列单片机区别


一、总线结构方面


MCS-51单片机的总线结构是冯-诺依曼型,计算机在同一个存储空间取指令和数据,两者不能 同时进行;而PIC单片机的总线结构是哈佛结构,指令和数据空间是完全分开的,一个用于指令,一个用于数据,由于可以对程序和数据同时进行访问,所以提高 了数据吞吐率。正因为在PIC单片机中采用了哈佛双总线结构,所以与常见的微控制器不同的一点是:程序和数据总线可以采用不同的宽度。数据总线都是8位 的,但指令总线位数分别位12、14、16位。


二、流水线结构方面


MCS-51单片机的取指和执行采用单指令流水线结构,即取一条指令,执行完后再取下一条指令;而PIC的取指和执行采用双指令流水线结构,当一条指令被执行时,允许下一条指令同时被取出,这样就实现了单周期指令。


三、寄存器组方面


PIC单片机的所有寄存器,包括I/O口,定时器和程序计数器等都采用RAM结构形式,而且都只需要一个指令周期就可以完成访问和操作;而MCS-51单片机需要两个或两个以上的周期才能改变寄存器的内容。


回复

使用道具 举报

ID:617981 发表于 2019-12-10 10:53 | 显示全部楼层
不错说的很好
回复

使用道具 举报

ID:410640 发表于 2019-12-20 17:27 | 显示全部楼层
PIC开发环境很头大,花里胡哨的的错误,特别是新的IDE X贼不好用 8.x的版本又早就不支持更新,而且我头一次见一个能放在任何位置运行独立函数,在某个特定位置(同样的引用方式同样的代码,在那一行就会出现这问题 )会出现编译后跑飞的情况,在前后哪怕是加上个I=1;都能避免跑飞,同样的头文件,还会出现IO口单独初始化寄存器后不受控的情况,一开始还以为是代码问题,还是用控制变量法一个一个试才发现的,还有IDE X设置保护EEPR后,程序完全读不到参数,手动查看又能读出,同事用旧版和我一样设置,他的没问题。纯粹吐槽,也很可能是我自己学艺不精,代码不够完善
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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