版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
嵌入式系统课设计报告十字路口交通灯控制统学
院:电子与信息工学院专业班级:
电子1102班摘要随着移动设备的流行和发展嵌入式系统已经成为一个热点它并不是最近出现的新技术只是随着微电子技术和计算机技术的发展微控制芯片功能越来越大而嵌入微控制芯片的设备和系统越来越多从而使得这种技术越来越引人注目。它对软硬件的体积大小、成本、功耗和可靠性都提出了严格的要求。嵌入式系统的功能越来越强大现也越来越复杂之出现的就是可靠性大大降低。最近的一种趋势是一个功能强大的嵌入式系统通常需要一种操作系统来给予支持,这种操作系统是已经成熟并且稳定的,可以是嵌入式的Linux,WINCE等等。本文所要研究的就是基于ARM嵌入式系统的交通灯系统的设计与实现。本设计采用了ARM32的Cortex-M3的内核的为核心处理器。关键词:嵌入式
交通灯AbstractWiththepopularityanddevelopmentofmobiledevices,systemhasbecomeahotspot.Itisatechniquerecently,onlywiththedevelopmentofmicroelectronicsandcomputertechnology,microchipcontrolfunctionsmoreandmore,moreandmoreequipmentandandembeddedmicrocontrolchip,makingthetechnologymoreattractsb.'sattention.Hardwareandsoftwareofitssize,cost,powerconsumptionandreliabilityhavestringentrequirements.Thefunctionsystemismoreandmorepowerful,andmoreandmorecomplicated,thereliabilityappearsisgreatlyreduced.Arecenttrendisapowerfulembeddedsystemsusuallyrequireanoperatingsystemtosupport,theoperatingsystemisalreadymatureandstable,canbeembeddedLinux,WINCEandsoon.ThispaperistostudythedesignandRealizationofthetrafficlightsystembasedonARMembeddedsystem.ThisdesignusestheARM32bitCortex-M3CPUkernelasthecoreprocessor.Keywords:embeddedSTM32f103trafficlightsARM目录引错!定义签相内和理作设要............................................................................................................................作方设............................................................................................................................4.14.24.3五5.15.25.35.45.5
设计思路............................................................2总体设计框图........................................................3总体方案设计参数计算................................................4系硬电设及析4STM32f103芯片介绍及选用............................................单片机电路原理图及分析..............................................4电源电路模块原理图及分析............................................5晶振与复位电路模块原理图............................................5LED交通灯电路原理图及分析...........................................6六系统软设及分.76.16.2
软件设计流程图......................................................8ARM交通灯控制软件设计...............................................8七统软件码97.1软设流程图………………97.2部程代码…………10Keil软的用调………………16实演照……………十作电的
PCB图
…………设心及会………………………参文……………1引言交通信号灯指挥着人和各种车辆的安全运行实现红黄绿灯的自动指挥是城乡交通管理现代化的重要课题在城乡街道的十字交叉路口为了保证交通秩序和行人安全,一般在每条道路上各有一组红、黄、绿交通信号灯,其中红灯亮表示该条道路禁止通行;黄灯亮表示该条道路上未过停车线的车辆停止通行,已过停车线的车辆继续通行;绿灯亮,表示该条道路允许通行。交通灯控制电路自动控制十字路口两组红黄绿交通灯的状态转换指挥各种车辆和行人安全通行,实现十字路口城乡交通管理自动化。本文为了实现交通道路的管理,力求交通管理先进性、科学化。分析应用了单片机实现智能交通灯管制的控制系统以及该系统软硬件设计方法实验证明该系统实现简单、经济,能够有效地疏导交通,提高交通路口的通行能力。2
相关内容原理通过设计,培养自己综合运用所学知识、独立分析和解决实际问题的能力,培养创新意识和创新能力,并获得科学研究的基础训练,加深A芯片的了解;熟悉ARM芯片各个引脚的功能,工作方式,计数定时,I/O口,中断等相关原理,巩固学习嵌入式的相关内容知识。利用ARM片模拟实现交通灯控制,自行选择所需芯片,查阅相关文献资料熟悉所选ARM芯片了解所选ARM片各个引脚功能工作方式,计数/定时,I/O,中断等相关原理,通过软硬件设计实现利用ARM芯片完成交通灯的模拟控制。3
作品设计求要求基于系列单片机设计一具有模拟道路路口交通灯相应功能的交通灯模拟系统。具体要求如下:(1)具有三种颜色显示:红色、绿色和黄色,分别代表路口交通灯的三种1颜色。所设计的系统应至少能够模拟两个路口的功能,具有直行和左转的功能。如果能力和时间允许,可以加入操作系统。适当加入一些其他元素,使其更加具有人性化设计。4品方案计4.1设计思路利用芯片实现单路交通灯的控制:a实现红绿黄灯的循环控制。使用红、黄、绿三种不同颜色的LED实现此功能,主干道正前方方向的LED灯,编号分别123,分别接在单片机PB8PB6PB9引脚上;主干道右方的LED灯编号分别为456分别接在单片机的PA14PA10PA8的引脚上主干道后侧的LED灯编号分别为789分别接在单片机的PD10、PD12、PD14引脚上。主干道左方的LED灯,编号分别为、11、12,分别接在单片机的PE7PE11、PE15引脚上。以此实现四个路口的交通灯模拟系统。用软件控制灯的亮与灭来控制车辆和行人的通行。交通路口示意图如图4.1车遇到红灯停绿灯行的行走情况红绿灯时间均为切换时间为,最后为黄灯闪烁。道路
道路图4.1
交通路口示意图24.2总体设计框图用ARM系列芯片作为系统的主控芯片制交通灯的循环点亮并显示灯亮时(采用倒计时显示当定时时间到的时候通过灯的状态来提醒人们注意红绿灯的状态。
切换状态图4.2交通灯总体设计框图
5硬件电路模块设计及其分析根据设计任务要求,自行选择电子元件,画出电气原理图,并调试。一个完整的系统除了主控芯片以外,还需配上电源系统、时钟电路、复位电路等。独立的芯片是不能工作的。5.1芯介绍STM32F103是基于一个支持实时仿真和嵌入式跟踪的位CPU的微控制器,STM32F1系列属于中低端的32位ARM微控制器,该系列芯片是意法半导体(ST)公司出品,其内核Cortex-M3。该系列芯片按片内Flash的大小可分为三大类:小容量(16K和32K)、中容量(64K128K)、大容量(、384K和512K)。芯片集成定时器,CAN,ADC,SPII2C,USB,UART,等多种功能。具有以下一些特性:
ARM32位的最高72MHz工作频率储器的等待周期访问时可达1.25DMips/MHZ(DhrystONe2.1),从32K到512K字节的闪存程序存储器,最大64K字节SRAM3
2.0-3.6V供电和引脚上电/断电复位()、可编程电压监测器(PVD)4-16MHZ晶振振荡器内嵌经出厂调教的的RC振荡器2个12位模数转换器1us换时(多达16个输入通道转换范围:0至3.6V,双采样和保持功能道
2个DMA控制器,共个DMA通道:DMA1有7个通道,DMA25个通片内晶振频率范围:1~30MHz。通过片内PLL可实现最大为60MHz的CPU操作频率,PLL的稳定时间为100us
支持的外设:定时器、、SPI、USB、IIC和UART多达112个快速端口(仅Z系列有超过100个引脚)3个16位定时器,每个定时器有多达4个用于输入捕获/输出比较/PWM或脉冲计数的通道和增量编码器输入
1个16位带死区控制和紧急刹车用于电机控制的PWM高级控制定时器ECOPACK封装5.2主路原理图为芯片的原理图,多达100个引脚采用3.3V或者电源供电,设计所需外接器件的网络名已经标出
。4图5.1芯片的原理图5.3系统电源电路计本电源运用的流电源(图所示)。通过LM78列芯片将5V电压转换为电压为片供电芯片所能承受的电压范围是2V~3.6V。图5.2
直流电源电路设计55.4晶振与复位电模块系统的晶振电路如图所示STM32f103芯片采用8MHz的晶振作为振荡时钟源外部是倍频72MHz晶振通过对芯片的进行软件设计可以将晶体振荡器的频率分频为所需的频率;系统的复位电路如图所示,STM32F103片的14号引脚连接到主控芯片的复位引脚(nRST)上,按下复位键S2时,系统将会复位到初始的状态。图5.4系统的晶振电路图5.5环显示计
图5.5系的复位电路图由南向北和由北向南车道各用一组红绿黄三色的指示灯左右两侧也是各三个灯,指挥车辆通行。绿灯是通行信号,面对绿灯的车辆可以直行,红灯是禁止通行信号,面对红灯的车辆必须在路口的停车线后停车。黄灯是警告信号,面对黄灯的车辆不能越过停车线车辆已十分接近停车线而不能安全停车时可以继续行进。具体红绿灯时间分配时间如表所示。表5—1:红绿灯时间分配时间表1000ms1000ms1000ms1000ms
1000ms
1000ms主干通道左右道路
绿灯亮红灯亮
黄灯闪红灯亮
红灯亮绿灯亮
黄灯闪绿灯亮
红灯亮红灯亮
黄灯闪红灯亮上表说明主干通道绿灯亮、黄灯闪时人行道都是红灯亮,只有车道红灯(车辆完全停下来时人行道绿灯才亮这样保证了过马路的行人人身安6全,避免了不必要的交通事故。硬件电路连接图如图所示图5.6
硬件电路连接图交通灯LED的发光和熄灭的控制,是通过控制寄存器组来完成的,须先将引脚PA、PBPD、PE通过引脚功能选择寄存器PINSEL1,设置为方式;再设置GPIO方向寄存器1(IO1DIR),对应的引脚设置为输出方向。要点亮LED1~LED12需要使用GPIO清零寄存器(IO1CLR的对应位设置为1即在引脚PA、PB、PD、PE上加逻辑低电平,即可点亮这些灯。与之相反,要熄灭这些灯,则要用GPIO输出置位寄存器1(IO1SET将对应的位置位即可。6系统软件设计及其分析6.1软件设计流程图6.1为ARM模拟交通灯控制程序流程图,主程序主要完成倒计时显示及控制蜂鸣器,中断服务程序主要控制那些灯亮以及亮的时间。7主程序流程图开始定时器0始化初始化中断,开中断
中断服务程序流程图系统保护现场0<=Flag<50N
车道红灯计数变量-150<=flag
Y
车道红灯闪倒计时显示
<55N
烁计数-155<flag<60
Y
黄灯闪烁计数-1N
Y零计数变量
N60<=flag<110N<115
YY
车道绿灯计数-1车道绿灯闪烁计数-1N
N5or115Y
<120N
Y
车道闪烁黄灯计数-1交换状态中断返回图6.1ARM模拟交通灯控制程序流程图6.2ARM交通灯模控制程设计定时器控制原理定时器对外设时钟周期进行计数根据4个匹配寄存器的设定可设置为匹(即达到匹配寄存器指定的定时值时产生中断或执行其他操作。设置P0P1口为输出状态初始化定时器选定定时器0断为向量8IRQ,对VICIntEnable、VICIntSelect、VICvectCntl行设置,初始化接口根据设计要求编写软件程序根据事先画好的程序流程图用语言编写程序在主程序中对需要用到的I/O口进行定义并设置相应的I/O口比如要求P1。18~P1。25引脚为GPIO功能,则通过对引脚功能选择寄存器PINSEL1将对应的引脚设置为GPIO方式并设置GPIO方向方向寄存器里设置之后对定时器0进行初始化并开相应的中断然后进入大循环进行倒计时显示控制蜂鸣器的蜂鸣与否并判断flag是否加到设定值对flag加到设定值后进行清零,让flag重新计数。中断服务程序的设计,每隔一秒钟定时器中断一次,每中断一次flag加1根据LED点亮的先后顺序以及点亮的时间,分别编写相应的程序。7
系统软件码7.1
软件设流程图9开始直行灯亮结束?闪烁
?灯亮
?闪烁?灯亮图7.1
软件设计流程图7.2
系统软代码主序分#include"stm32f10x.h"#include"led.h"#include"timer.h"u32time=0;//Ms级延时变量inti;intmain(void){10LED_GPIO_Configuration();TIM2_Config1();TIM2_NVIC_Config1();TIM_Cmd(TIM2,ENABLE);//启TIM2while(1){i=0;Delay_MS(2000);LED2(ON);LED4(ON);LED7(ON);LED10(ON);//行灯亮Delay_MS(2000);//延时LED2(OFF);//直行灯灭while(i<10){LED3(ON);
//黄灯闪烁Delay_MS(100);LED3(OFF);Delay_MS(100);i++;}LED2(OFF);LED4(OFF);LED7(OFF);LED10(OFF);//行灯结束LED1(ON);LED7(ON);LED10(ON);LED5(ON);//行灯亮Delay_MS(3000);LED5(OFF);//右行灯灭i=0;while(i<10){LED6(ON);Delay_MS(100);LED6(OFF);Delay_MS(100);i++;}11LED5(OFF);LED1(OFF);LED7(OFF);LED10(OFF);//行灯结束LED1(ON);LED7(ON);LED4(ON);LED11(ON);//行灯亮Delay_MS(3000);LED11(OFF);//左行灯灭i=0;while(i<10){LED12(ON);Delay_MS(100);LED12(OFF);Delay_MS(100);i++;}LED11(OFF);LED1(OFF);LED7(OFF);LED4(OFF);//行灯结束LED1(ON);LED4(ON);LED10(ON);LED8(ON);//行灯Delay_MS(3000);LED1(OFF);LED4(OFF);LED10(OFF);LED8(OFF);//行灯灭}}底寄器置分voidLED_GPIO_Configuration(void){GPIO_InitTypeDefGPIO_InitStructure;/*开启GPIOC&GPIOE的时钟*/RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD|RCC_APB2Periph_GPIOE|RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB,ENABLE);/*ConfigurePB.04,PB.06andPB.08*/12GPIO_InitStructure.GPIO_Pin=GPIO_Pin_9|GPIO_Pin_6|GPIO_Pin_8;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;//出上拉GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_Init(GPIOB,&GPIO_InitStructure);/*ConfigurePA.08,PA.10andPA.12*/GPIO_InitStructure.GPIO_Pin=GPIO_Pin_8|GPIO_Pin_10|GPIO_Pin_12;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;//出上拉GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_Init(GPIOA,&GPIO_InitStructure);/*ConfigurePD.10,PD.12andPD.08*/GPIO_InitStructure.GPIO_Pin=GPIO_Pin_10|GPIO_Pin_12|GPIO_Pin_15;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;//出上拉GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_Init(GPIOD,&GPIO_InitStructure);/*ConfigurePE.07,PE.11andPE.15*/GPIO_InitStructure.GPIO_Pin=GPIO_Pin_7|GPIO_Pin_11|GPIO_Pin_15;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;//出上拉GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_Init(GPIOE,&GPIO_InitStructure);LED1(OFF);LED2(OFF);LED3(OFF);LED4(OFF);LED5(OFF);LED6(OFF);LED7(OFF);LED8(OFF);LED9(OFF);LED10(OFF);LED11(OFF);LED12(OFF);内函定LED函数部:13#ifndef_LED_H#define_LED_H#include"stm32f10x.h"#defineON0#defineOFF1/***************内联函数定义LED函数****************/#defineLED1(a)#defineLED4(a)#defineLED7(a)#defineLED10(a)#defineLED2(a)#defineLED5(a)
if(a)\GPIO_SetBits(GPIOB,GPIO_Pin_8);\else\GPIO_ResetBits(GPIOB,GPIO_Pin_8)if(a)\GPIO_SetBits(GPIOA,GPIO_Pin_12);\else\GPIO_ResetBits(GPIOA,GPIO_Pin_12)if(a)\GPIO_SetBits(GPIOD,GPIO_Pin_10);\else\GPIO_ResetBits(GPIOD,GPIO_Pin_10)if(a)\GPIO_SetBits(GPIOE,GPIO_Pin_15);\else\GPIO_ResetBits(GPIOE,GPIO_Pin_15)if(a)\GPIO_SetBits(GPIOB,GPIO_Pin_6);\else\GPIO_ResetBits(GPIOB,GPIO_Pin_6)if(a)\GPIO_SetBits(GPIOA,GPIO_Pin_10);\else\14GPIO_ResetBits(GPIOA,GPIO_Pin_10)#defineLED8(a)if(a)\GPIO_SetBits(GPIOD,GPIO_Pin_12);\else\GPIO_ResetBits(GPIOD,GPIO_Pin_12)#defineLED11(a)if(a)\GPIO_SetBits(GPIOE,GPIO_Pin_11);\else\GPIO_ResetBits(GPIOE,GPIO_Pin_11)#defineLED3(a)if(a)\GPIO_SetBits(GPIOB,GPIO_Pin_9);\else\GPIO_ResetBits(GPIOB,GPIO_Pin_9)#defineLED6(a)if(a)\GPIO_SetBits(GPIOA,GPIO_Pin_8);\else\GPIO_ResetBits(GPIOA,GPIO_Pin_8)#defineLED9(a)if(a)\GPIO_SetBits(GPIOD,GPIO_Pin_15);\else\GPIO_ResetBits(GPIOD,GPIO_Pin_15)#defineLED12(a)if(a)\GPIO_SetBits(GPIOE,GPIO_Pin_7);\else\GPIO_Res
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 汽车零部件检测与分析技术标准与应用指南
- 2026年煤炭企业总工程师工作计划
- 手术部位感染预防与控制的措施试题及答案
- 40.解析几何中的四点共圆-2026版高考数学二轮核心常考56个微专题
- 某光伏厂组件生产流程准则
- 2026及未来5年塑料吹膜袋项目可行性研究报告(市场调查与数据分析)
- 机械行业研究:看好氦气、燃气轮机、光模块设备和农机
- 某麻纺厂员工安全教育培训细则
- 四年级古诗句常见试题及答案呈现
- 商品学考试真题及答案解析模拟
- 黑吉辽蒙2025年高考真题物理试卷【附答案】
- 2026年心理咨询师通关测试卷含完整答案详解(夺冠)
- 2026年浙江公务员考试行测真题及答案解析
- 2026中信证券总部暑期日常实习招聘笔试备考试题及答案解析
- 山东铁投集团招聘笔试真题2025
- 城镇供水长距离输水管(渠)道工程技术规程
- 倒班人员作息健康管理培训
- 【英语】江苏苏州市2025-2026学年度第一学期2026届高三年级期末调研考试(苏州零模)(2.3-2.5)
- 2026年口腔技术员-通关题库附答案详解【培优A卷】
- AI生成式内容赋能智慧文旅:2026沉浸式体验应用案例与趋势
- 药品采购绩效考核制度
评论
0/150
提交评论