PIC单片机有哪些优势和不足?如何设置PIC单片机端口?
扫描二维码
随时随地手机看文章
从家电控制到工业自动化,PIC单片机在各类场景中发挥着重要作用,由此可见PIC单片机的重要性。为增进大家对PIC单片机的认识,本文将对PIC单片机的优势和不足以及PIC单片机的端口设置方法予以介绍。如果你对PIC单片机具有兴趣,不妨继续往下阅读哦。
一、PIC单片机的优势和不足
PIC单片机系列,作为美国微芯公司的杰出产品,凭借其卓越的性能和广泛的应用领域,在单片机市场上占据了举足轻重的地位。该系列分为基本级、中级和高级三个级别,旨在满足不同层次的应用需求。
PIC单片机的核心优势在于其CPU采用的RISC结构,这一结构精简而高效,分别包含33、35、58条指令,构成了精简指令集。这种设计不仅减少了指令的数量,还提高了指令的执行效率。
同时,PIC单片机采用了Harvard双总线结构,使得程序存储器和数据存储器的访问能够并行处理,极大地提升了运行速度。
在指令流水线结构方面,PIC单片机更是展现出了其独特的优势。在一个周期内,它能够完成两部分工作:一是执行当前指令,二是从程序存储器中取出下一条指令。这种设计使得每条指令只需一个周期即可完成,从而大大提高了整体运行效率。
首先,它具有低工作电压和低功耗的特点,这使得它在节能和环保方面具有显著优势。其次,PIC单片机的驱动能力强,其I/O口采用CMOS互补推挽输出电路,能够轻松驱动各种外设。此外,PIC单片机还支持在线调试及编程(ISP)功能,为开发者提供了极大的便利。
然而,PIC单片机也存在一些不足之处。例如,其专用寄存器(SFR)并不像某些其他系列的单片机那样都集中在一个固定的地址区间内,而是分散在四个地址区间内。这在编程过程中可能会增加一定的难度,需要开发者反复选择对应的存储体。
另外,PIC单片机的数据传送和逻辑运算基本上都得通过工作寄存器W来进行,而不像某些其他系列的单片机那样可以通过寄存器相互之间直接传送,这也在一定程度上限制了其性能的发挥。
二、如何设置PIC单片机端口
以PIC16F616为例,PIC16F616有12个IO口,但是有一个引脚(RA3)只能作为输入引脚用,不能用作输出,另外,A口具有电平变化间断的功能,而C口没有,在设计的时候要留意。
在设置的时候,一般要进行以下几项设置:
(1)设置端口是模拟端口仍是数字端口,可以通过寄存器ANSEL来设置。例如你想用AD,就要将相应的引脚设置为模拟输入端口。
(2)假如你选择的是数字端口,接下来就要设置端口的方向,是输入仍是输出(RA3除外),可通过寄存器TRISA(A口)或TRISC(C口)来设置。
(3)设置端口的输出电平,可以通过寄存器PORTA(A口)或PORTC(C口)来设置。
这是对IO口的通用设置,但是这不是全部的设置,接下来的设置要看时A口仍是C口了。对于A口,它有几个特殊的功能:内部弱上拉、电平变化间断、RA2/INT引脚的沿间断。假如想要这些功能,就要对相应的寄存器进行设置。
弱上拉的设置:只有当引脚为输出的时候弱上拉才有效,可以通过寄存器WPUA来设置相应引脚的弱上拉,值得一提的假如开启了弱上拉,会有多余的电流铺张, 这样对于低功耗的设计是不可取的,但是假如在进行一些例如键盘电路设计的候,可以开启弱上拉功能,这样就不需要在键盘电路中加上拉电阻了。
电平变化间断的设置:可以通过寄存器IOCA来设置,但是首先要将相应引脚设置为数字端口且为输入状态。同时要将寄存器INTCON的REIE位设置为1,总间断要答应(置寄存器INTCON的GIE位),假如设置相应引脚有这个功能,当此引脚电平发生的时候,就会产生一个间断,同时一些间断标志位被置上(INTCON的RAIF位被置1),且总间断GIE被置为0.在间断服务程序中,要软件清除RAIF位和重新置GIE位才能继承开启此间断。
RA2/INT脚的沿间断设置:同样首先要将相应引脚设置为数字端口且为输入状态,设置INTCON的INTF位为1,表示答应int引脚外部间断,寄存器 OPTION_REG的INTEGD位可以设置是上升沿间断仍是下降沿间断。当发生间断时,INTCON的INTF位被置为1,GIE被清零,在间断服务程序中,要软件清除INTF位和重新置GIE位才能继承开启此间断。
以上便是此次带来的PIC单片机相关内容,通过本文,希望大家对PIC单片机已经具备一定的了解。如果你喜欢本文,不妨持续关注我们网站哦,将于后期带来更多精彩内容。最后,十分感谢大家的阅读,have a nice day!