3.独立按键模块

LED点亮:首先通过原理图可知,8个LED灯已全接阳极,只要将需要点亮的LED灯在接阴极,则可点亮LED灯(也就是P2接口输出低电平)

独立按键控制原理:通过原理图可知,当独立按键按下时,如K1,K1所接单片机RXD接口则会接负极,也就是单片机中的P3.1接口,故可用判断语句来判断P3.1接口是否为负(P3_1==0),来控制P2电平输出,来控制LED灯的亮灭方式

独立按键控制LED亮灭

#include <REGX52.H>
void main()
{
	while(1){
	if(P3_1==0)
		P2_0=0;
	else
		P2_0=1;
	}
}

独立按键控制LED状态

#include <REGX52.H>

void Delay(unsigned int xms)		//@12.000MHz
{
	unsigned char i, j;
	while(xms)
	{
		i = 2;
		j = 239;
		do
		{
			while (--j);
		} while (--i);
		xms--;
}
	
}

void main()
{
	while(1){
	if(P3_1==0){
		Delay(20);
		while(P3_1==0);
		Delay(20);
		P2_0=~P2_0;
	}
}
}

独立按键控制LED显示二进制

#include <REGX52.H>

void Delay(unsigned int xms)		//@12.000MHz
{
	unsigned char i, j;

	while(xms--)
{
	i = 2;
	j = 239;
	do
	{
		while (--j);
	} while (--i);
}

}


void main()
{
	unsigned char LEDnum=0;
	while(1)
	{
		if(P3_1==0){
			Delay(20);
			while(P3_1==0);
			Delay(20);
			
			LEDnum++;
			P2=~LEDnum;
		}
	}
}

独立按键控制LED移位

#include <REGX52.H>

void Delay(unsigned int xms)
{
	unsigned char i, j;

	while(xms--)
{
	i = 2;
	j = 239;
	do
	{
		while (--j);
	} while (--i);
}

}

void main()
{
	unsigned char LEDnum=0;
	P2=~0x01;
	while(1)
	{
		if(P3_1==0)
		{
			Delay(20);
			while(P3_1==0);
			Delay(20);
			
			LEDnum++;
			if(LEDnum>=8)
				LEDnum=0;
			P2=~(0x01<<LEDnum);
		}
		if(P3_0==0)
		{
			Delay(20);
			while(P3_0==0);
			Delay(20);
			if(LEDnum==0)
				LEDnum=7;
			else
				LEDnum--;
			P2=~(0x01<<LEDnum);
		}
	}
}
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇