【基于STM32的智能红绿灯控制系统设计8500字(论文)】_第1页
【基于STM32的智能红绿灯控制系统设计8500字(论文)】_第2页
【基于STM32的智能红绿灯控制系统设计8500字(论文)】_第3页
【基于STM32的智能红绿灯控制系统设计8500字(论文)】_第4页
【基于STM32的智能红绿灯控制系统设计8500字(论文)】_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

[9]。STM32单片机在使用库函数开发时,不需要去配置寄存器,直接在库函数中去调用相关函数。在stm32f10x_usart.c和stm32f10x_usart.h这两个文件中包含了串口相关的函数。本设计中和串口相关的函数主要在bsp_usart.c和bsp_usart.h这两个文件中。在C文件下主要包含了两个函数,一个是串口初始化函数voidbsp_USART2_Init(u32bound);另一个是串口中断服务函数voidbsp_USART2_IRQHandler(void);串口初始化函数,在上面已经做了基本的概述,主要是配置对引脚的输入输出模式,端口的分时复用和串口模式和基本参数的设置,函数如下:NVIC_InitTypeDefNVIC_InitStructure;GPIO_InitTypeDefGPIO_InitStructure;USART_InitTypeDefUSART_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//GPIOA时钟RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2,ENABLE);USART_DeInit(USART2);//复位串口1//USART2_TXPA.2GPIO_InitStructure.GPIO_Pin=GPIO_Pin_2;//PA.2GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP; //复用推挽输出GPIO_Init(GPIOA,&GPIO_InitStructure);//初始化PA2//USART2_RX PA.3GPIO_InitStructure.GPIO_Pin=GPIO_Pin_3;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING;//浮空输入GPIO_Init(GPIOA,&GPIO_InitStructure);//初始化通过蓝牙远程控制交通灯,主要是在串口二的中断服务函数里面实现的,当单片机接收到数据进入中断,根据接收到的命令执行相应的函数,函数如下:Voidbsp_USART2_IRQHandler(void){charRes;if(USART_GetFlagStatus(USART2,USART_FLAG_ORE)!=RESET){ USART_ReceiveData(USART2);} if(USART_GetITStatus(USART2,USART_IT_RXNE)!=RESET) { USART_ClearITPendingBit(USART2,USART_IT_RXNE); Res=USART_ReceiveData(USART2); //赋值 switch(Res) { case0X01:Action1();break;//夜间,全黄 case0X02:Action2();break; //禁止,全红 case0X03:Action3();break;//南北通行,南北绿,东西禁止,东西红 case0X04:Action4();break; //南北禁止,南北红,东西通行,东西绿 case0X05:Action5();break; //复位 default:break; }}}由上述程序可知,当蓝牙收到0X01—0X05指令时,分别执行函数Action1()—Action5()。其中Action1()函数是夜间模式的函数,主要内容倒计时显示0秒,同时所有路口只有黄色灯亮,当第二次接收到0X01指令时,退出该模式。Action2()函数是禁止通行,当单片机收到0X02指令时,所有路口都是红灯,同时倒计时显示99秒,当第二次接收到该指令时退出该模式。Action3()和Action4()两个函数分别显示的是南北通行和东西通行。当接收到0X03命令时,南北方向的LED显示绿灯,东西方向的LED显示红灯,同时数码管显示99。当接收到0X04命令时,东西方向的LED显示绿灯,南北方向的LED显示红灯,同时数码管显示99。同样当第二次接收到该指令时退出模式。Action5()是复位函数,主要目的是防止程序在运行过程中出错,让函数重新回到主函数中去执行正常操作。具体函数见附录二。7实物调试根据设计好的PCB图(见附录一)进行PCB打版。之后将各个模块的元器件焊好,并测试上电。测试过程具体如下:观察电路板是否焊接完好,有无虚焊。用万用表测量电路板是否短路。用直流电源从0V开始上电,逐渐增大电压至工作电压,观察电流大小判断有无短路。待一切正常,烧录程序并在手机蓝牙串口设置按键指令,如下图18所示。图SEQ图\*ARABIC18手机APP指令通电后的电路板工作正常,如下图19所示:图SEQ图\*ARABIC19实物图用手机配对好蓝牙输入密码,根据各个指令分别远程控制交通灯,结果达到设计要求,如下图20所示:图SEQ图\*ARABIC20a禁止通行图20b夜间模式图20c南北通行图20d东西通行参考文献李学勤王岩峰.信号灯的由来[D].交通与运输,2002.王琦宏.冰芯直流固体电导率测定仪研制[D].杭州电子科技大学,2017.袁先圣.制造装备的嵌入式智能监控与维护单元的研制[D].南京理工大学,2014.郝永龙.基于DALI协议的LED智能照明控制系统[D].杭州电子科技大学,2014.李步骖.基于ARM的智能家居控制系统的设计与实现[D].浙江大学,2016.金雪.基于质量质心测量的称重仪数据采集及处理系统研制[D].哈尔滨工业大学,2010.陈俊彦张红梅.基于LPC1114的电阻式触摸屏与步进电机控制系统开发[D].桂林电子科技大学学报,2012.张小玲康铁鑫张宽宏姚文宇.智能衣柜控制系统设计[D].信息系统工程,2018.江中玉何振鹏胡锦.基于STM32F103的智能导航避障小车的设计与实现[D].实验科学与技术,2019.姚琪琛.基于流量监测的智能交通灯控系统[D].湖南大学,2015.王亚辉.农产品冷链物流状态监控信息系统[D].吉林大学,2013.结论本设计主要用STM32F103C8T6单片机设计了一个可以用蓝牙远程控制的十字路口状态的智能交通灯,在设定的正常状态的情况下,增加了在紧急状态下可以用手机蓝牙远程控制的模式。通过手机蓝牙APP向单片机发送命令,可以随意切换交通灯在不同状态下的模式,通过这种方法可以远程解决十字路口的交通问题。在程序调式和硬件焊接过程中,也遇到了很多的问题,在硬件方面由于数码管封装画错,导致倒计时过程中

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论