• 方案介绍
    • **1.**主要功能
    • 2.仿真
    • 3. 程序
    • 4. 设计报告
    • 5. 资料清单&下载链接
  • 附件下载
  • 相关推荐
申请入驻 产业图谱

基于STM32的简易交通灯proteus仿真设计(仿真+程序+设计报告+讲解视频)

2024/10/11
6197
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

设计资料获取联系方式.doc

共1个文件

基于STM32的简易交通灯proteus仿真设计(仿真+程序+设计报告+讲解视频)

仿真图proteus 8.9

程序编译器:keil 5

编程语言:C语言

设计编号:C0091

**1.**主要功能

功能说明:

以STM32单片机数码管、LED灯设计简易交通灯控制系统

状态1:南北方向绿灯通行12秒,东西红灯禁止通行15秒,分别倒计时;

状态2:南北方向黄灯闪烁提醒3秒,东西继续红灯倒计时;

状态3:东西方向绿灯通行9秒,南北方向禁止通行12秒;

状态4:东西方向黄灯闪烁提醒3秒,南北继续红灯倒计时;

状态5:执行状态1,反复循环。

主要硬件设备:STM32F103系列单片机 数码管

2.仿真

打开仿真工程,双击proteus中的单片机,选择hex文件路径,然后开始仿真。

然后开始仿真。

img

图5.2 交通控制系统运行(东西通行)

img

图5.3 交通控制系统运行(东西等待)

img

图5.4 交通控制系统运行(南北通行)

img

图5.5 交通控制系统运行(南北等待)

3. 程序

程序是用keil5 mdk版本打开的,如果打开有问题,核实下keil的版本。程序是HAL版本编写的,有stm32cubemx配置文件。有注释可以结合讲解视频理解。

img

关键代码

/* USER CODE BEGIN 4 */
void led_sacn(void)
{
	 if(run_mode==0)			 //0 正常运行
	 {
		if(main_road_time==0 || secondary_road_time==0)//当主干道或者次干道倒数到0,切换状态。
		//这一段程序只有倒计时为0才执行一次,执行完一次等下一次倒计时为0才再执行一次
		{

			switch(state)//改变红绿灯的状态
			{
				case 0:
				{
					state=1;//下次切换到下一个模式
					main_road_time=ns_green_cnt;//主干道绿灯通行时间
					secondary_road_time=ns_green_cnt+yellow_cnt; //次干道红灯时间
					 we_red    = ON; 		//次干道红灯亮
					 we_yellow = OFF;		//次干道黄灯亮
					 we_green  = OFF;		//次干道绿灯亮
					 ns_red    = OFF;		//主干道红灯亮
					 ns_yellow = OFF;		//主干道黄灯亮
					 ns_green  = ON;		//主干道绿灯亮
				}break;
				case 1:
				{
					state=2;
					main_road_time = yellow_cnt;//主干道直行黄灯时间
					we_red	  = ON;
					we_yellow = OFF;
					we_green  = OFF;
					ns_red	  = OFF;
					ns_yellow = ON;
					ns_green  = OFF;	
				}break;
				case 2:
				{
					state=3;
					main_road_time=we_green_cnt+yellow_cnt;
					secondary_road_time = we_green_cnt;
					we_red	  = OFF;
					we_yellow = OFF;
					we_green  = ON;
					ns_red	  = ON;
					ns_yellow = OFF;
					ns_green  = OFF;	
				}break;
				case 3:
				{
					state=0;
					secondary_road_time = yellow_cnt;
					we_red	  = OFF;
					we_yellow = ON;
					we_green  = OFF;
					ns_red	  = ON;
					ns_yellow = OFF;
					ns_green  = OFF;	
				}break;
				
				default:break;
			}
		}
		memset(smgbuf, 0, sizeof(smgbuf));
		smgbuf[4]=gsmg_code[main_road_time%10];//主干道时间
		smgbuf[5]=gsmg_code[main_road_time/10];
		smgbuf[6]=gsmg_code[secondary_road_time%10];//次干道时间
		smgbuf[7]=gsmg_code[secondary_road_time/10];
		SMG_Display(smgbuf,1);//数码管更新时间
		

		
	}
}

void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
  if(htim == &htim3)  //定时器2中断50MS一次
  {
		if(++half_sec_flag>10){
			half_sec_flag=0;
			half_flag1s=1;
		}
		if(++one_sec_flag<20){
			return;//提前结束函数
			}
		
		one_sec_flag=0;
		if(run_mode==0){//不是正常运行时,不红绿灯数值不减一 
			flag1s=1;	
		}		
		
  }
}

4. 设计报告

7214字设计报告,内容包括硬件设计软件设计、结论等。

img

随着时代的进步和发展,单片机技术已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟的技术。本模拟交通灯系统利用单片机STM32F103C6作为核心元件,实现了通过信号灯对路面状况的智能控制。从一定程度上解决了交通路口堵塞、车辆停车等待时间不合理、急车强通等问题。系统具有结构简单、可靠性高、成本低、实时性好、安装维护方便等优点,有广泛的应用前景。

本模拟系统由单片机硬/软件系统,四位8段数码管和LED灯显示系统等组成,较好的模拟了交通路面的控制。

5. 资料清单&下载链接

img

0、常见使用问题及解决方法–必读!!!!

1、程序代码

2、Proteus仿真

3、功能要求

4、开题报告

5、设计报告

6、讲解视频

7、框图

Altium Designer 安装破解

KEIL+proteus 单片机仿真设计教程

KEIL安装破解

Proteus元器件查找

Proteus安装

Proteus简易使用教程

单片机学习资料

相关数据手册

答辩技巧

设计报告常用描述

鼠标双击打开查找嘉盛单片机51 STM32单片机课程毕业设计.url

资料下载链接(可点击):

https://docs.qq.com/doc/DS1BVRWJFeVZtSnNN

  • 设计资料获取联系方式.doc
    下载
意法半导体

意法半导体

意法半导体(ST)集团于1987年6月成立,是由意大利的SGS微电子公司和法国Thomson半导体公司合并而成。1998年5月,SGS-THOMSON Microelectronics将公司名称改为意法半导体有限公司。意法半导体是世界最大的半导体公司之一,公司销售收入在半导体工业五大高速增长市场之间分布均衡(五大市场占2007年销售收入的百分比):通信(35%),消费(17%),计算机(16%),汽车(16%),工业(16%)。 据最新的工业统计数据,意法半导体是全球第五大半导体厂商,在很多市场居世界领先水平。例如,意法半导体是世界第一大专用模拟芯片和电源转换芯片制造商,世界第一大工业半导体和机顶盒芯片供应商,而且在分立器件、手机相机模块和车用集成电路领域居世界前列.

意法半导体(ST)集团于1987年6月成立,是由意大利的SGS微电子公司和法国Thomson半导体公司合并而成。1998年5月,SGS-THOMSON Microelectronics将公司名称改为意法半导体有限公司。意法半导体是世界最大的半导体公司之一,公司销售收入在半导体工业五大高速增长市场之间分布均衡(五大市场占2007年销售收入的百分比):通信(35%),消费(17%),计算机(16%),汽车(16%),工业(16%)。 据最新的工业统计数据,意法半导体是全球第五大半导体厂商,在很多市场居世界领先水平。例如,意法半导体是世界第一大专用模拟芯片和电源转换芯片制造商,世界第一大工业半导体和机顶盒芯片供应商,而且在分立器件、手机相机模块和车用集成电路领域居世界前列.收起

查看更多

相关推荐