2.初学点灯

点亮LED灯

由8位寄存器发出控制电平,来控制LED灯的开关。因LED灯的正极已经接通,只要将另一端接通负极,形成电势差,就能将LED灯点亮,所以,寄存器发出低电平就能将相对于的LED灯点亮。

对应的,是八位寄存器,所以1111 1111为全高电平,但是二进制不利于编写,所以将其转化成两位十六进制来进行编译,且对LED灯进行控制的变量为P2,如P2=0xFE,则是对第一个LED灯进行点亮

#include <REGX52.H>
void main()
{
		P2=0xFE;
}

LED灯闪烁

可以通过开关LED灯来实现,但是因为开关频率过快,人眼无法识别出来,这时在开关的间隙,需要加一个延时器,就能实现LED的闪烁

#include <REGX52.H>
#include <INTRINS.H>

void Delay500ms()		//@12.000MHz
{
	unsigned char i, j, k;

	_nop_();
	i = 4;
	j = 205;
	k = 187;
	do
	{
		do
		{
			while (--k);
		} while (--j);
	} while (--i);
}

void main()
{
	while(1){
	P2=0xFE;
		Delay500ms();
	P2=0xFF;
		Delay500ms();
	}
}

LED流水灯基础代码

#include <REGX52.H>
#include <INTRINS.H>


void Delay500ms() //@12.000MHz
{
unsigned char i, j, k;

_nop_();
i = 4;
j = 205;
k = 187;
do
{
do
{
while (–k);
} while (–j);
} while (–i);
}

void main()
{
while(1){
P2=0xFE;//1111 1110
Delay500ms();
P2=0xFD;//1111 1101
Delay500ms();
P2=0xFB;//1111 1011
Delay500ms();
P2=0xF7;//1111 0111
Delay500ms();
P2=0xEF;//1110 1111
Delay500ms();
P2=0xDF;//1101 1111
Delay500ms();
P2=0xBF;
Delay500ms();
P2=0x7F;
Delay500ms();
}
}

LED流水灯Plus版

下面代码可以输入数值来控制流水灯的快慢,当输入数值越大,误差则越大,所以仍有改进空间

#include <REGX52.H>
#include <INTRINS.H>


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

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


void main()
{
	while(1){
	P2=0xFE;//1111 1110
	Delay1ms(1000);
	P2=0xFD;//1111 1101
	Delay1ms(1000);
	P2=0xFB;//1111 1011
	Delay1ms(1000);
	P2=0xF7;//1111 0111
	Delay1ms(400);
	P2=0xEF;//1110 1111
	Delay1ms(400);
	P2=0xDF;//1101 1111
	Delay1ms(400);
	P2=0xBF;
	Delay1ms(400);
	P2=0x7F;
	Delay1ms(400);
	}
}
暂无评论

发送评论 编辑评论


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