在LPC2131中,运用IOxCLR,IOxSET寄存器来对x口清零置1
要清零P0口的第5位
IO0CLR=0x00000010;
0x00000010,为16进制数据
用二进制一共为0000,0000,0000,0000,0000,0000,0001,0000
31——————————————0
其间的1出现在第五位
要清零P1口的第7位
IO1SET=0x00000040;
LPC2131不能直接对某一位进行拜访,有必要对整个P0口进行操作,
输出时经过向IO0SET和IO0CLR写1来完成引脚电平的凹凸改换,输入时查询IO0PIN。在这之前需要对P0口进行装备,运用PINSEL0和PINSEL1进行引脚工作方式装备。
IO0DIR对IO口工作方式下P0的输入或许输出方向操控。
例如,假如要对P0.0进行方波输出的话
PINSEL0=PINSEL0 &(~0x00000003)|0x00000000; //P0.0装备为GPIO
IO0DIR = IO0DIR &(~0x00000001)|0x00000001; //P0.0装备为输出
while(1)
{
IO0SET = 0x00000001; //P0.0置高
延时
IO0CLR = 0x00000001; //P0.0拉低
延时
}
当然,假如你为了直观及后续输入方面的话,能够前面宏界说
#define wave 0x00000001
后边直接IO0SET = wave; 就能够了