基于stm32的流水灯Protues仿真设计

目录

一、设计概述

二、设计背景

三、设计方案

3.1 方案设计

3.2 硬件选型和设计 

四、 软件设计

4.1 按键模块设计

4.2 LED灯显示模块设计

五、设计结果验证


一、设计概述

       商店灯光系统设计是为了商店外的灯光显示。本设计是采用STM32F103C4作为核心元件,利用三个按键作为输入元件和八个二极管LED作为显示元件。其中三个按键分别用于启动、关闭和切换操作,LED显示四种花样作为商店的灯光展示。

二、设计背景

       随着物联网技术的发展,商店灯光设计越来越多地采用智能控制系统。这些系统可以调节灯光的亮度、颜色和开关状态,实现节能和提升顾客体验的双重目的。此外,智能系统还能与商店的其他管理系统集成,比如根据客流量、时间或特定事件自动调整照明场景。其核心目的在于革新传统商业照明模式,通过智能化、高效化的设计理念,融合现代科技与美学,同时为企业带来节能减排、管理优化等多重效益,进一步提升品牌形象与市场竞争力。这一系统的设计与实施,不仅是对现有技术的一次重要探索,也是对商店空间未来发展的前瞻性布局。

       消费者对购物环境的个性化需求日益增长,促使商店灯光设计趋向定制化。设计师根据商店的品牌形象、商品展示需求以及顾客的心理感受,创造独特且吸引人的照明场景。LED具有高效节能和长寿命的特点,在商店照明中得到广泛应用。结合智能控制系统,通过精确的光量控制进一步减少能源消耗,也成为灯光设计的重要考量。

       同时考虑到商店需要频繁调整布局,灯光设计倾向于采用模块化、可选展示效果,便于根据需要快速调整照明布局。商店灯光的设计朝着更加智能、节能、个性化和数据驱动的方向发展,旨在创造既美观又实用,同时符合可持续发展目标的环境[2]。

        随着人工智能、物联网等技术的发展,商业空间正朝着更加智慧的方向演进。商店灯光系统设计,是一个集技术创新、用户体验优化、环境友好、管理智能化于一体的综合性解决方案,深刻影响商店环境的多个层面,带来了实质性的经济与社会效益,是商业照明领域一次具有前瞻性和示范效应的实践探索。

三、设计方案

3.1 方案设计

       本设计选择STM32单片机作为核心控制元件,按键输入模块为灯光系统的启动、关闭、切换功能,LED灯显示模块有八个LED,用来显示四种不同效果。系统框图如图3.1所示。

3.2 硬件选型和设计 

       本设计选择STM32单片机,相比于51单片机具有高性能内核,丰富的外设资源,STM32集成了更多的外设,能够满足更复杂的应用需求。更大容量的存储,可以存储更多的程序代码和数据,支持更复杂的软件功能。

       型号选择STM32F103C4,一款由意法半导体(STMicroelectronics)生产的基于ARM Cortex-M3内核的32位微控制器,属于STM32F103系列,具有高性能、低功耗、丰富的外设集和灵活性。内置高性能的ARM Cortex-M3处理器,支持单周期乘法和硬件除法,最高运行频率通常可达72MHz。设计有多种低功耗模式,适合电池供电设备或对功耗敏感的应用。有丰富的外设,包括通用I/O引脚、定时器、USART/UART (串行通信接口)、SPI (串行外设接口)、I²C (两线接口)、ADC (模数转换器)、DMA控制器等。实时时钟和计时器功能有助于系统的时间管理和定时任务执行。通过串口通信等协议,单片机可以连接各种外部设备,实现数据传输和通信。中断处理机制使得系统能够在需要即时响应的情况下进行中断触发。具有64KB Flash存储器和20KB SRAM,支持宽范围的工作电压,通常为2V至3.6V。

        在本设计中,选择发光二极管(LED)作为显示模块的核心组件,其在节能和环保方面具有显著优势。与传统的白炽灯、荧光灯等光源相比,LED灯在转换电能为光能的过程中效率高,能够节省超过80%的电能,并且响应速度快没有延迟。在长时间运行商店的灯光展示,采用LED灯能够大幅度减少电力消耗,降低了运营成本中的电费支出,还符合当前全球节能减排的趋势。   

四、 软件设计

4.1 按键模块设计

       选择PB0、PB1、PB2作为三个按键的输入IO口,start_stop作为启停变量,当按下KEY1启动按钮时,start_stop置1,LED灯亮;当按下KEY2关闭按钮,start_stop置0,LED灯熄灭。cnt作为模式变量,其数值0、1、2、3分别对应四个不同显示效果。当按下KEY3切换按钮,cnt加1,到4时又变为0,即为四种显示效果。按键部分代码如下:

    if(KEY_1 == 1)//开始
    {
	    start_stop = 1;
    }
    if(KEY_2 == 1)//停止
    {
	    start_stop = 0;
    }
    if(KEY_3 == 1)//切换
    {
	    delay_ms(50);//消抖
	    cnt++;
	    if(cnt > 3)
	    {
		    cnt = 0;
	    }
    }

4.2 LED灯显示模块设计

       选择PA1到PA8为8个LED灯输出IO口,共阳极接法,当IO口为低电平时,二极管导通,LED灯亮。GPIO_ResetBits函数对IO口置0,GPIO_SetBits函数对IO口置1。当start_stop为1时,LED灯亮,cnt0、1,2,3对应四种显示效果;当start_stop为0时,LED灯熄灭。显示模块代码如下:

    	if(start_stop==1&&cnt==0)
		{
			 GPIO_ResetBits(GPIOA,GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8);//显示1
		}
		else if(start_stop==1&&cnt==1)
		{
			GPIO_ResetBits(GPIOA,GPIO_Pin_1|GPIO_Pin_3|GPIO_Pin_5|GPIO_Pin_7);//显示2
			GPIO_SetBits(GPIOA,GPIO_Pin_2|GPIO_Pin_4|GPIO_Pin_6|GPIO_Pin_8);
		}
		else if(start_stop==1&&cnt==2)
		{
			GPIO_ResetBits(GPIOA,GPIO_Pin_2|GPIO_Pin_4|GPIO_Pin_6|GPIO_Pin_8);//显示3
			GPIO_SetBits(GPIOA,GPIO_Pin_1|GPIO_Pin_3|GPIO_Pin_5|GPIO_Pin_7);
		}
		else if(start_stop==1&&cnt==3)
		{
			GPIO_ResetBits(GPIOA,GPIO_Pin_2|GPIO_Pin_4|GPIO_Pin_6|GPIO_Pin_8);//显示4
			GPIO_SetBits(GPIOA,GPIO_Pin_1|GPIO_Pin_3|GPIO_Pin_5|GPIO_Pin_7);
			delay_ms(50);
			GPIO_ResetBits(GPIOA,GPIO_Pin_1|GPIO_Pin_3|GPIO_Pin_5|GPIO_Pin_7);
			GPIO_SetBits(GPIOA,GPIO_Pin_2|GPIO_Pin_4|GPIO_Pin_6|GPIO_Pin_8);
			delay_ms(50);
		}
		else if(start_stop==0)
		{
			GPIO_SetBits(GPIOA, GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8);//熄灭	
			cnt=0;
		}

五、设计结果验证

       选用Proteus进行仿真电路设计。Proteus是一款功能强大的电子设计自动化工具,提供了丰富的电子元器件库和强大的仿真功能,可以对设计的硬件电路和软件程序进行测试和调试。集成了仿真、分析、以及印刷电路板(PCB)设计于一体的全方位软件。

       可以在该软件中绘制电路原理图,软件提供了一个包含大量元器件库的环境,覆盖了从基本的电阻、电容到复杂的微控制器、传感器等各种电子元器件。具有多种类型的单片机,包括本设计选择的STM32F103C4单片机,能够在软件内部编写、调试代码并观察单片机及其外设的工作情况。不仅可以仿真单片机,还能与之相连的外围电路一同进行仿真,如按键、LED等,为用户提供了一个接近真实的系统级仿真环境。并支持多种编译器,可以直接在Keil软件中编译和调试代码,无缝集成开发流程。

       运行程序,按下启动按钮,LED灯按效果1显示,如图5.1所示。

       按下切换按钮。LED灯显示效果2,如图5.2所示。

     再次按下切换按钮。LED灯显示效果3,如图5.3所示。

     继续按下切换按钮。LED灯显示效果4,效果为灯效2和灯效3来回切换。 按下关闭按钮,LED灯全部熄灭,停止显示,如图5.4所示。

演示视频:基于STM32的灯光系统设计演示视频-优快云直播

仿真源文件、源程序及设计报告百度网盘链接:  
https://pan.baidu.com/s/1m0NGGNtpOOzxz4qDS2GboA?pwd=mpsx 提取码: mpsx 
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

薄情书生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值