和51单片机不同,MSP430的IO引脚有输入和输出之分,刚开始思路没有转换过来,不习惯。不过慢慢就会好了。
MSP430单片机独立按键:
板子上P1.1 和P4.6为独立按键,现在已P4.6的按键为例,P1.0的LED做显示,按下按键,LED取反闪烁。
思路:判断P4.6的输入数据,当P4.6输入数据为0时说明键被按下,现在遇到个问题了,单片机的默认输入数据也为0。通过百度解决了问题:通过内部上拉,将输入拉高。上拉使能寄存器为PxREN,当该端口方向为输入,上拉使能寄存器为1,输出寄存器为1时,才会实现上拉。
主要问题解决了,独立按键功能也可以实现,实现代码:
MSP430独立按键IO中断方法实现:IO中断,即脉冲中断(好吧,好久才明白这个原理)。 当有一个上升沿或者下降沿的时候(可通过寄存器选择上升沿触发还是下降沿触发),即可触发该IO的中断。实现代码:
功能:通过按键P1.1 和P1.5端口的与GND 接触(模拟一个脉冲),实现中断功能。再通过P4.6闪烁来显示。