|
按鍵控制三色按鍵1點亮順序LED2->LED3->LED1,按鍵2LED3->LED2->LED1,按鍵3全點亮,適合初學者學習,適合學習格式化工程,LED程序封裝好,稍微修改就三彩RGB,仿真proteus8.13版本,KEIL編寫,程序C語言。
51hei截圖_20230106221719.png (117.24 KB, 下載次數: 40)
下載附件
2023-1-6 22:23 上傳
#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
2023-1-6 22:23 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
2.28 MB, 下載次數: 19, 下載積分: 黑幣 -5
|