一、点亮LED灯的基础逻辑
1、单个点亮LED灯
在程序中P0x分别指向LED(x+1)
PS:因在实际使用单片机时,本单片机所提供的仅有4颗LED灯,故此处x范围为0-3之间
P00->LED1; P01->LED2; P02->LED3; P03->LED4
如要使LED1点亮可使 P00=0
(在单片机的定义中,高电平“1”为熄灭,低电平“0”为点亮)
2、使用16进制指令控制LED灯
单片机中仅用二进制中的后四位来判断是否点亮LED灯,前四位可忽略
如需初始化所有LED为熄灭状态,且不改变SWx按键原有状态可使用此代码P0|=0x0f;
0x01=0000 0001; 0x02=0000 0010; 0x04=0000 0100; 0x08=0000 1000
PS:由于在单片机中1为高电平代表熄灭,故在使用中注意使用取反函数 Px=~ucled
(这边只做实例,具体需参考实际程序)
0x01->LED1; 0x02->LED2; 0x04->LED3; 0x08->LED4
二、判断按键是否按下基础逻辑
1、在程序中P0x分别指向SW(4-7)
PS:因在实际使用单片机时,本单片机所提供的仅有4颗SW按键,故此处x范围为4-7之间
P04->SW1; P05->SW2; P06->SW3; P07->SW4
如需判断SW1按下可使 P04=0(在单片机的定义中,高电平“1”为未按下,低电平“0”为按下)
2、使用16进制指令判断是否按下按键
单片机中仅用二进制中的前四位来判断是否按下SW按键,后四位可忽略
如需初始化所有SW按键为未按下状态,且不改变LED灯原有状态可使用此代码P0|=0xf0;
0x01=0000 0001; 0x02=0000 0010; 0x04=0000 0100; 0x08=0000 1000
PS: 由于在单片机中1为高电平代表未按下,故在使用中注意使用取反函数 Px=~uckey
(这边只做实例,具体需参考实际程序)
0x10->SW1; 0x20->SW2; 0x40->SW3; 0x80->SW4
没有回复内容