STC15F2K60S2单片机函数定义——学习笔记论坛——站长专属——冰糖橙之家

STC15F2K60S2单片机函数定义

一、点亮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

请登录后发表评论

    没有回复内容