stm32实现节日彩灯的硬件protues仿真图
时间: 2023-12-05 11:08:28 浏览: 97
stm32的LED闪烁试验protues仿真
5星 · 资源好评率100%
很抱歉,我是一个纯文本的AI语言模型,无法提供Protues仿真图。但我可以为您提供STM32实现节日彩灯的硬件连接图和简单的程序代码。
硬件连接图如下:
![STM32实现节日彩灯的硬件连接图](https://img-blog.csdnimg.cn/20210504161714272.png)
程序代码如下:
```
#include "stm32f10x.h"
#define LED_GPIO_RCC RCC_APB2Periph_GPIOB
#define LED_GPIO GPIOB
#define LED_Pin GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_10 | GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15
void delay_ms(uint32_t n)
{
uint32_t i,j;
for(i=0;i<n;i++)
for(j=0;j<1000;j++);
}
int main(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(LED_GPIO_RCC, ENABLE);
GPIO_InitStructure.GPIO_Pin = LED_Pin;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(LED_GPIO, &GPIO_InitStructure);
while(1)
{
GPIO_ResetBits(LED_GPIO, LED_Pin); //灯全灭
//彩灯1:红色
GPIO_SetBits(LED_GPIO, GPIO_Pin_11);
delay_ms(300);
GPIO_ResetBits(LED_GPIO, GPIO_Pin_11);
//彩灯2:绿色
GPIO_SetBits(LED_GPIO, GPIO_Pin_13);
delay_ms(300);
GPIO_ResetBits(LED_GPIO, GPIO_Pin_13);
//彩灯3:蓝色
GPIO_SetBits(LED_GPIO, GPIO_Pin_15);
delay_ms(300);
GPIO_ResetBits(LED_GPIO, GPIO_Pin_15);
//彩灯4:黄色
GPIO_SetBits(LED_GPIO, GPIO_Pin_10 | GPIO_Pin_13);
delay_ms(300);
GPIO_ResetBits(LED_GPIO, GPIO_Pin_10 | GPIO_Pin_13);
//彩灯5:青色
GPIO_SetBits(LED_GPIO, GPIO_Pin_13 | GPIO_Pin_15);
delay_ms(300);
GPIO_ResetBits(LED_GPIO, GPIO_Pin_13 | GPIO_Pin_15);
//彩灯6:紫色
GPIO_SetBits(LED_GPIO, GPIO_Pin_11 | GPIO_Pin_15);
delay_ms(300);
GPIO_ResetBits(LED_GPIO, GPIO_Pin_11 | GPIO_Pin_15);
//彩灯7:白色
GPIO_SetBits(LED_GPIO, GPIO_Pin_10 | GPIO_Pin_11 | GPIO_Pin_13 | GPIO_Pin_15);
delay_ms(300);
GPIO_ResetBits(LED_GPIO, GPIO_Pin_10 | GPIO_Pin_11 | GPIO_Pin_13 | GPIO_Pin_15);
}
}
```
这个程序会循环控制彩灯的颜色变换,每个彩灯持续显示300毫秒。如果需要实现其他的节日彩灯效果,可以根据需求修改程序代码。
阅读全文