[分享] MSP430最基本的IO配置

fish001   2020-1-4 11:39 楼主

20190910102806405 (1).png

一、基本
1、io口可以认为就是那些板子上的管脚。
2、在使用io的时候需要先对他们进行配置
3、5529的io每一个都是单独可编程的,就是说可以对任意一个io单独进行配置。
4、P1和P2具有中断功能
5、都具有上下拉电阻
二、寄存器
PxIN 输入,将io配置为输入,这个时候接受外部数字信号。
PxOUT 输出
PxDIR 方向
初始状态应该是通过reset复位
当为0的时候,表示为输入
当为1的时候,表示为输出
PxIFG 中断标识
PxIES 中断边沿设置
=0上升沿
=1下降沿
PxIE 中断使能,当选择后,这个管脚的中断启动
PxSEL 端口选择,一个io既可以单纯用作io,也可以用作其他功能。
SEL=0时,管脚为基本io功能
SEL=1时,管脚为模块功能
之前看g2553还有SEL2,这个时候就要看它用户手册上给出的具体安排。
目前看来如果SEL只有一个的话,只需要看芯片的原理图就能得到模块功能是什么。


在这个原理图上其实已经标出来了。
PxREN 电阻使能
=0 上下拉电阻被禁用
=1 上下拉电阻被启用
三、配置
1、配置输入:PXDIR=BITX;
2、配置输出通道:
选择器 (OUT)+使能缓冲器(DIR)+是使能缓冲器(SEL /SEL2/DIR/IN)+上下拉电阻(REN)

3、上下拉电阻功能:
当电阻接入DVCC,表示为上拉电阻,输出信号为高电平的时候,上拉电阻能够提供较    大的电流。当输出为低电平的时候,上拉电阻会造成额外的功耗。当电阻接入DVSS,    表示为下拉电阻,输出信号为高电平的时候,下拉电阻降低输出阻抗,没有正面作用,    当输出信号为低电平的时候,下拉电阻将信号与地相连接。每一个端口都有单独的上下    拉电阻,所以PxREN.y=0 表示不接入电阻,=1表示接入上下拉电阻。
当SEL为零的时候,看电路图可以发现上下拉由OUT来决定
当OUT=1的时候,输出高电平,自动选择上拉电阻,
当OUT=0的时候,输出低电平,自动选择下拉电阻。
当用按键的时候,这个时候还是需要配置的。
4、配置中断口:
中断边沿选择:SEL和IES
IES=0,上升沿有效
IES=1,下降沿有效
同时必须打开IE=1,中断使能
则配置例程为:
P1IE.y=1;
P1SEL.y=0;
P1IES.y=0;
P1DIR.y=0 //表示端口为输入端口
当有中断信号进入的时候,会发生的是IFG变为1;所以中断信号其实是一个输入信号
经过试验以后发现这个io口的中断,不论是输入还是输出都可以发生中断。比如将IES    设置为0,那么不管是输入从0到1,还是在程序过程中让输出从0到1,都会触发中断,可以考虑利用这一点性质。
四、最基本的例子
让P1.1的LED亮
P1DIR|=BIT1;
P1OUT|=BIT1;
选择是哪一个Port,哪个管脚,输入还是输出,在P1.1输出1
P1是选择port1,而BIT1是0x02,也就是0000 0010,这样的话表示配置的是P1.1。其他的配置其实也基本都是这个意思。最初学单片机的时候好半天没有搞明白。
 

回复评论

暂无评论,赶紧抢沙发吧
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复