|
按键控制三色按键1点亮顺序LED2->LED3->LED1,按键2LED3->LED2->LED1,按键3全点亮,适合初学者学习,适合学习格式化工程,LED程序封装好,稍微修改就三彩RGB,仿真proteus8.13版本,KEIL编写,程序C语言。
#include "led.h"
#include "stm32f10x.h" // Device header
#include "key.h"
void LED_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); //使能PA端口时钟
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3|GPIO_Pin_1|GPIO_Pin_5; //LED-->PA 端口配置
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO口速度为50MHz
GPIO_Init(GPIOA, &GPIO_InitStructure); //根据设定参数初始化GPIOA
GPIO_SetBits(GPIOA,GPIO_Pin_3|GPIO_Pin_1|GPIO_Pin_5); //PA 012 输出高
}
void LED_location(u8 x,u8 y)
{
if(x==1&&y==0)//LED1亮
{
LED1(1);
LED2(1);
LED0(0);
Delay(80);
}
if(x==1&&y==1)//灭
{
LED0(1);
Delay(80);
}
if(x==2&&y==0)//LED2亮
{
LED0(1);
LED2(1);
LED1(0);
Delay(80);
}
if(x==2&&y==1)//灭
{
LED1(1);
Delay(80);
}
if(x==3&&y==0)//LED3亮
{
LED0(1);
LED1(1);
LED2(0);
Delay(80);
}
if(x==3&&y==1)//灭
{
LED2(1);
Delay(80);
}
if(x==0&&y==1)//全量
{
LED2(0);
LED0(0);
LED1(0);
}
}
|
-
-
程序仿真.7z
2.28 MB, 下载次数: 19, 下载积分: 黑币 -5
|