心型灯(实训助力、附代码)

此文旨在帮助大学生实训期间快速完成实训任务,分别实现了心型灯的6种闪烁形态(全亮、间隔一个、间隔两个、间隔三个、间隔四个、间隔五个)

连接实物图

 采用的单片机是STC89C52RC

代码

#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar i;							  
sbit led=P2^0;
void Delay(uint t);
void action0(uchar speed); //全亮
void action1(uchar speed);//隔一个
void action2(uchar speed);//隔两个
void action3(uchar speed);//隔三个
void action4(uchar speed);//隔四个
void action5(uchar speed);//隔五个
void main()
{  
    while(1)
	{
		 action0(250);//全亮
		 //action1(250);//隔一个
		 //action2(250);//隔两个
		 //action3(250);//隔三个
		 //action4(250);//隔四个
		 //action5(250);//隔五个
	} 	
}
void action0(uchar speed)	//全亮
{
P0=0x00;P1=0x00;P2=0x00;P3=0x00;
}
void action1(uchar speed)	 //隔一个
{
	for(i=1;i<17;i++)
	{ 
		P0=0xaa;
		P1=0x55;
		P3=0x55;
		P2=0x55;
		Delay(speed);
	} 
	P0=0xff;P1=0xff;P2=0xff;P3=0xff;
}
void action2(uchar speed)	 //隔两个
{
	 P0=0xDB;
	 P1=0xB6;
	 P2=0x6D;
	 P3=0x6D;
}
void action3(uchar speed)	  //隔三个
{
	 P0=0xEE;
	 P1=0x77;
	 P2=0x77;
	 P3=0x77;
}
void action4(uchar speed)	//隔四个
{
	 P0=0xBD;
	 P1=0xDE;
	 P2=0xEF;
	 P3=0x7B;
}
void action5(uchar speed)	//隔五个
{
	 P0=0xDF;
	 P1=0xBE;
	 P2=0xEF;
	 P3=0xAF;
}
void Delay(uint t)
{
	uint k;
	while(t--)
	{
		for(k=0; k<80; k++)
		{ }
	}
}

代码默认为使灯全亮,需更改需要删除对应功能前的注释符号“//”

效果图

全亮

隔一个

隔两隔两个

隔三个隔四个

隔五个

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值