历史上的今天
今天是:2025年02月27日(星期四)
2020年02月27日 | 如何设置PIC单片机的端口
2020-02-27 来源:elecfans
在学习这个部门的时候,曾经碰到过一些题目.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位才能继承开启此间断。
史海拾趣
|
关于视频系统处理器选择的建议基于ARM核心的Freescale的i.MX系列芯片是视频应用的佼佼者。 比如i.MX27和i.MX31 i.MX27嵌入式开发板是高清视频输入输出的首选,i.mx27芯片提供了更高的灵活性和更强大的多媒体处理能力,成为IP视频和语音(V2IP)、移 ...… 查看全部问答> |
|
关于7行5列LED键盘指示灯的编程,请高手解惑!十万火急!万分感谢! 7行5列的LED键盘指示灯,键按下时相应的LED指示灯也会亮! 灯亮的原则:列为高电平,行为低电平。 我想问的是,如果我知道了第0行第0列的键按下了,想要第0行第0列的灯亮,那么是不是应该让列所在的存储器第0位置1,其余列置0!即将0x01输入到相 ...… 查看全部问答> |
|
单片机的用途非常广阔,各种智能控制的产品中都少不了它的身影,前景看好,因此引起了一阵阵学习单片机的热潮。 相信很多初学单片机的朋友都是从做流水灯开始的,因为流水灯的电路较为简单。看着按照自己的设想做成的流水灯变幻着不同的花样, ...… 查看全部问答> |
|
如题, 望版主推荐 一直以来,因ARM开发板每次换屏的时候都要重新生成NK,有没人做过在板子上驱动一个显卡IC来驱动LCD? 如果有,IC型号大家了解的有哪些? 如果增加了这个显卡IC,那么原来的Display驱动还要不要? 大家一起讨论讨论,突然想 ...… 查看全部问答> |
|
关于vs2005开发windows ce 5程序部署到机器的问题 1:首先非常感谢您的帮助,同时我找遍了google和baidu,没有找到,或许是关键字搜索的不好。所以来此提问。 2:问题描述如下 机器是广州市微嵌计算机科技的Arm9 的硬件系统,采用的是windows ce 5.0。该设备有一个特点是会将hwDir目 ...… 查看全部问答> |
|
小弟要实现如下功能: 当我点击打印操作时,程序弹出一个对话框,显示正在打印,在打印的过程中,必须使程序无法响应用户的其它任何操作。当打印结束时,显示打印成功或打印失败,然后才让程序可以继续响应用户其它操作。 请问这个如何解决哈? … 查看全部问答> |




