一般一个端口8个引脚,正好对应一个字节8个bit,比如P5端口可以有P5.0到P5.7这8个IO口,如果你想给P5.3赋低电平,对应二进制为1111 0111,对应十六进制为0xF7,在程序中用十六进制。
比如led灯的引脚为P5.3,低电平触发,在程序中:
#include <stc15.h>
void main()
{
P5 = 0xF7;
}
也可以只对P5端口的P5.7引脚单独操作,比如,在程序中:
#include <stc15.h>
void main()
{
P53 = 0;
}
按键状态读取及板载led控制代码示例(以IAP15W4K61S4为例):
#include <stc15.h>
#include <intrins.h>
void Delay_ms(unsigned int xms) //@22.1184MHz
{
unsigned char data i, j;
while(xms){
_nop_();
_nop_();
i = 22;
j = 128;
do
{
while (--j);
} while (--i);
xms--;
}
}
void main()
{
while(1)
{
// 按键key1 控制 板载led
if(P32 == 0){
// 按键消抖
Delay_ms(20);
while(P32 == 0);
P53 = ~P53; // 取反
}
/*
// 板载led循环闪烁
P53 = 0;
Delay_ms(1000);
P53 = 1;
Delay_ms(1000);
*/
}
}