p1in程序如何使用 python程序如何在手机上运行
MSP430中如何读取P1IN的第五位BIT5
【1】P1IN 是输入寄存器,反映的是之前P1DIR的状态,0为输入低电压,1为输入高电压;只读不写。 BIT5即0001 0000 两者与若为0 说明P1IN的第五位为0,输入低电压。【2】0x02 即 0000 0010 “~”为 非号,对 0000 0010取反, 即 1111 1101 P1所在的位为0 置低 希望有用,谢谢。
define B_LED_H P1OUT |= BIT5 输入引脚的定义:define RXD_IN P2IN&BIT5 当然也可以不用宏定义,程序语句里面直接用P2IN&BIT5就可以了。
MSP430的P1口可以通过配置相应的寄存器来实现按键的输入功能。具体实现方式如下:设置P1口为输入模式:要将P1口的相关管脚设置为输入模式,需要配置P1DIR(方向寄存器)。将需要作为输入的管脚对应的位设置为0,这样这些管脚就被配置为输入模式,可以接收外部信号。
MSP430按键的问题,有关长按,有关P1IN
1、判断按键要设对应的引脚方向为输入。按键之后P1IN&BIT3就为1了,放开按键的那一刻P1IN&BIT3就为0了。
2、MSP430的P1口可以通过配置相应的寄存器来实现按键的输入功能。具体实现方式如下:设置P1口为输入模式:要将P1口的相关管脚设置为输入模式,需要配置P1DIR(方向寄存器)。将需要作为输入的管脚对应的位设置为0,这样这些管脚就被配置为输入模式,可以接收外部信号。
3、如再键盘键盘扫描程序中经常要读取行线或者列线的端口寄存器值来判断案件情况。例如:unsigned charkey;P1DIR&=~BIT4; //P4输入 ……key=P1IN&0X10; //输出端口P4的值 ……但是 PXOUT:输出寄存器。可读可写 如:PIOUT|=0X01; //P0输出1 ,PIOUT&=~0X01; //P0输出0 。
4、// P6 IFG case 16: break; // P7 IFG default: break;} P1IFG = 0x00;} 另外while(1)里边那个延时还是去掉吧,你这样问题很大,按键按快了的话一直都执行不到P2OUT&=~BIT6;吧,执行到的话灯也亮了8至16秒的任一时间了。

msp430单片机里P1IN可以赋一个确定的值吗
PXIN:输入寄存器,为只读寄存器。用户不能对它进行写入,只能通过读取其寄存器的内容来知道I/O口的输入信号。所以其引脚的方向要选为输入。如再键盘键盘扫描程序中经常要读取行线或者列线的端口寄存器值来判断案件情况。例如:unsigned charkey;P1DIR&=~BIT4; //P4输入 ……key=P1IN&0X10; //输出端口P4的值 ……但是 PXOUT:输出寄存器。
PxIN是输入寄存器,是只读的。用户不能对其写入,只能读取其内容,此时引脚方向必须为输入。因为430的寄存器是不能进行位运算的,所以你需要进行一些逻辑运算。例如:将P0输入1,其他位设置为输出。
对P0端口单独操作的命令可以这样:P1DIR_bit.P1DIR_0=1。明白了吧?这是在包含了头文件msp430.h下的操作。这是因为该头文件中对每个端口的代号有定义。如果是汇编语言的话则比较简单,只需要BIS.B #BIT0,&P1DIR,即完成了置1,如果置零用BIC.B置零即可。
判断按键要设对应的引脚方向为输入。按键之后P1IN&BIT3就为1了,放开按键的那一刻P1IN&BIT3就为0了。
能,不过这样错了,因为单个IO口只能赋值0或1。只能先声明:sbit P21=P2^1; //声明位变量 然后 P21=0;或 P21=1;当然P2=0x4E;时,P21也是1了。
