设定pic单片机端口为输入_PIC单片机的输入输出端口

在学习这个部门的时候,曾经碰到过一些题目.PIC单片机的引脚未几,大多都是复用引脚,例如AD、IO、比较器、外接晶振等等,所以在配置端口的时候,一定要知道每个功能怎样设置才能实现的,在这一小节中,我要讲的是通用IO口的设置题目.

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位才能继承开启此间断.

对于C口,不能产生电平变化间断和沿间断.

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值