基于小蜜蜂蓝桥杯单片机应用LED

2.1 【基础 01】LED 指示灯的基本控制 新建工程,以 I/O 模式编写代码,在 CT107D 单片机综合训练平台上,实现以下功能: 1、系统上电后,关闭 8 个 LED 灯。 2、循环实现 LED 跑马灯控制,控制要求为: 首先,8 个 LED 灯同时闪烁 3 次; 然后,从 L1 灯至 L8 灯依次点亮; 接着,从 L1 灯至 L8 灯依次熄灭。 【训练要点】:掌握在 Keil 环境下,进行单片机开发的基本流程。 初步了解 74HC138 译码器、74HC573 锁存器、74HC02 或非门的知识。 LED 指示灯的简单控制。 【参考资源】: B 站视频教程【基础技能 02】LED

限于个人水平,难于做到尽善尽美,且本专栏主要起练习笔记作用。如有前辈发现代码错误或可以优化的地方,还请不吝赐教,学生感激不尽。

#include<STC15F2K60S2.h>

void SelectHc573(unsigned char n)
{
    switch(n)
    {
        case 4:
            P2=(P2&0x1f)|0x80;
        break;
        case 5:
            P2=(P2&0x1f)|0xa0;
        break;
        case 6:
            P2=(P2&0x1f)|0xc0;
        break;
        case 7:
            P2=(P2&0x1f)|0xe0;
        break;
    }
}

void Delay(unsigned int t)
{
    while(t--);
}

unsigned char i=0;
void DisplayLED()
{
    SelectHc573(4);
    for(i=0;i<3;i++)
    {
      P0=0x00;
      Delay(50000);
      Delay(50000);
      P0=0xff;
      Delay(50000);
      Delay(50000);
    }  
    for(i=0;i<8;i++)
    {
     P0=~(0x01<<i);
      Delay(50000);
      Delay(50000);
    }
    for(i=0;i<8;i++)
    {
     P0=~(0x80>>i);
      Delay(50000);
      Delay(50000);
    } 
}




void main()
{
    while(1)
    {
     DisplayLED();
    }

}

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值