STC15F2K60S2(1)- 点亮LED

  • LED-电路图原理

LED原理图

74HC138译码器高三位作为输入端,Y4作为输出口低电平,连接到74HC02或非门,或非门WR口与J13接地口连接,因此,两个输入端都为低电平,(先或后非) 输出高电平(1)。

74HC573锁存器LE口接入高电平,使P0能正常输入命令,控制LED灯的亮灭。

  • 正文:

1.引入头文件

//头文件-已经定义好的函数
#include <STC15F2K60S2.H>  

2.程序框架

  • 主函数
//主函数
void main()
{
    while(1)//while(1)的无限循环。这意味着循环将一直运行,直到程序被终止。
    {
    }
}
  • 定义引脚
sbit HC138_A = P2^5;
sbit HC138_B = P2^6;
sbit HC138_C = P2^7;

//以上代码定义了三个sbit变量:这些变量可以用于控制单个引脚的状态。
  • 嵌套延时函数
void Delay30ms()		//延迟30毫秒
{
	unsigned char i, j, k;
	i = 2;
	j = 95;
	k = 43;
	do
	{
		do
		{
			while (--k);
		} while (--j);
	} while (--i);
}

控制led灯

①检测led灯

void led()
{
    HC138_A = 0;//138译码器
    HC138_B = 0;
    HC138_C = 1;
    
    P0 = 0x00;//打开lED
    Delay30ms();

    P0 = 0xff;//关闭LED
    Delay30ms();
}

②利用for循环实现流水灯

void led()
{
    unsigned char i;
    HC138_A = 0;
    HC138_B = 0;
    HC138_C = 1;
     
    for(i = 1; i < 9; i++)
    {
        P0 = 0xff << i;
        Delay30ms();
    }
    
    for(i = 1; i < 9; i++)
    {
        P0 = ~(0xff << i);
        Delay30ms();
    }
}
//for循环将1移动到每个字节的8个位中,然后将0移动到每个字节的8个位中。创建一个“跑灯”效果。

3.全部程序

//头文件-已经定义好的函数
#include <STC15F2K60S2.H>  

sbit HC138_A = P2^5;
sbit HC138_B = P2^6;
sbit HC138_C = P2^7;

//以上代码定义了三个sbit变量:这些变量可以用于控制单个引脚的状态。


void Delay30ms()		//延迟30毫秒
{
	unsigned char i, j, k;
	i = 2;
	j = 95;
	k = 43;
	do
	{
		do
		{
			while (--k);
		} while (--j);
	} while (--i);
}

void led()
{
    unsigned char i;
    HC138_A = 0;
    HC138_B = 0;
    HC138_C = 1;
     
    for(i = 1; i < 9; i++)
    {
        P0 = 0xff << i;
        Delay30ms();
    }
    
    for(i = 1; i < 9; i++)
    {
        P0 = ~(0xff << i);
        Delay30ms();
    }
}
//for循环将1移动到每个字节的8个位中,然后将0移动到每个字节的8个位中。创建一个“跑灯”效果。

//主函数
void main()
{
    while(1)//while(1)的无限循环。这意味着循环将一直运行,直到程序被终止。
    {
		led();
    }
}




只是做个笔记,作为复习。 

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值