基于51单片机控制交通灯Word文件下载.docx

上传人:b****1 文档编号:3491633 上传时间:2023-05-01 格式:DOCX 页数:20 大小:1.34MB
下载 相关 举报
基于51单片机控制交通灯Word文件下载.docx_第1页
第1页 / 共20页
基于51单片机控制交通灯Word文件下载.docx_第2页
第2页 / 共20页
基于51单片机控制交通灯Word文件下载.docx_第3页
第3页 / 共20页
基于51单片机控制交通灯Word文件下载.docx_第4页
第4页 / 共20页
基于51单片机控制交通灯Word文件下载.docx_第5页
第5页 / 共20页
基于51单片机控制交通灯Word文件下载.docx_第6页
第6页 / 共20页
基于51单片机控制交通灯Word文件下载.docx_第7页
第7页 / 共20页
基于51单片机控制交通灯Word文件下载.docx_第8页
第8页 / 共20页
基于51单片机控制交通灯Word文件下载.docx_第9页
第9页 / 共20页
基于51单片机控制交通灯Word文件下载.docx_第10页
第10页 / 共20页
基于51单片机控制交通灯Word文件下载.docx_第11页
第11页 / 共20页
基于51单片机控制交通灯Word文件下载.docx_第12页
第12页 / 共20页
基于51单片机控制交通灯Word文件下载.docx_第13页
第13页 / 共20页
基于51单片机控制交通灯Word文件下载.docx_第14页
第14页 / 共20页
基于51单片机控制交通灯Word文件下载.docx_第15页
第15页 / 共20页
基于51单片机控制交通灯Word文件下载.docx_第16页
第16页 / 共20页
基于51单片机控制交通灯Word文件下载.docx_第17页
第17页 / 共20页
基于51单片机控制交通灯Word文件下载.docx_第18页
第18页 / 共20页
基于51单片机控制交通灯Word文件下载.docx_第19页
第19页 / 共20页
基于51单片机控制交通灯Word文件下载.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

基于51单片机控制交通灯Word文件下载.docx

《基于51单片机控制交通灯Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于51单片机控制交通灯Word文件下载.docx(20页珍藏版)》请在冰点文库上搜索。

基于51单片机控制交通灯Word文件下载.docx

我国交通信号灯大都是在车辆比较多的路口进行安装,全部设计有红,绿,黄三种颜色的交通灯指示,搭配有交通灯倒数计时显示,便于车辆去判断交通灯的运行状态。

此方案的开发很好的解决很多的道路交通拥堵的情况,让交通次序得到了很好的管理,然而由于交通情况非常多变,交通灯的变化和很多原因都有关系,所以此方案的设计还是有很多的缺点,比如无法按照道路的车流量去变换交通灯的运行状态,不能很好的控制交通车流量。

现在,很多地区的十字路口交通灯的操作大都还是选取时间不可变的时间间隔的操作方案。

因为十字路口在不同时间车辆的数量比较复杂、无规律、多变的,选择不可变时间的开发方案,这种设备不能很好的解决高峰期交通拥堵情况,无法疏通交通拥堵。

所以,选择不按照数学模型的通过车流量操作的方案开发交通灯操作设备,可以很好地处理当前交通情况。

还有就是由于很多高科技方案在很多领域得到使用,整个环境里会存在很多的电磁干扰,因此设计开发出来的交通操作设备要非常的可靠、安全,因此选取了单片机,单片机的抗干扰能力非常强,运行稳定、可靠,完全可以满足开发要求。

由于科学方案每天都在不断的更新,自使得产品的智能化也逐渐加强,之前的交通控制设备根本无法达到要求。

能够编程操作设备交通灯操作设备选取了自动控制方案、电子技术、检测相关方案、编程方案技术进行设计开发完成的设备;

有效的选取电子方案技术管理了很多制作流程。

1.3本文的主要工作

本设计是基于51单片机控制交通灯,需要完成交通灯的功能设计。

项目选取STC89C51单片机作为主控制器。

第一章对选题背景以及项目进行阐述。

第一阶段构建系统的框架,绘制系统的所有部分架构图,第二章按照功能论证每个部分的方案,最终论证出所有部分选择的方案。

第三章对设计所有部分的详细硬件电路,画出相应部分各自的原理图。

第四章对开发的所有部分进行软件开发,选取编程环境进行程序的编写,通过以上的开发就完成了系统的整个软件部分的开发内容。

第五章对整个项目做仿真,仿真不断优化软硬件的设计,完善所有功能设计,优化源代码的设计,最后整个项目设计完成。

2系统方案设计

2.1总体方案设计与分析

此项目涵盖硬件和软件设计两个方面。

内容有显示、按键操作、交通灯电路、主控制器以及电源。

显示包括东南西北四个方向的时间显示、交通灯指示,还有时间设置显示,可以设置交通灯变换的时间。

按键用于设计时间、控制系统进行繁忙状态运行。

总体框图如图2-1所示。

图2-1总体框图

2.2主控制器方案

方案一:

采用STC89C51集成芯片。

STC89C51集成芯片应用了集成度很高的很难丢失存储设备开发方案生产,和工业要求的MCS-51命令系统以及输出引脚能够搭配。

芯片的能耗非常的小,功能强大的CMOS8位处理器,芯片里包括8KBytes的能够多次进行擦写10万多次的Flash,Flash是仅仅可以进行读操作的代码存储模块。

AT系列的处理器在生产完成的时候就进行了加密处理,根本不能进行解密。

STC89C51处理器工作频率很高,频率可以达到90MHZ,稳定性强,计算快,最重要的是这种器件成本很低,很容易可以买到,开发者都很喜欢。

方案二:

采用MSP430系列集成芯片。

此集成芯片为一类16位的处理器,搭配了简单的命令系统(RISC)结构,设计了很多的寻址操作(7类执行方法、4种目的执行方法)、简易的28条内部命令还有很多的模拟命令;

很多的寄存器还有内部数据存储设备全能够进行很多的计算;

快速的查表执行命令。

所有的优势都确保了能够写出非常高质量的源代码。

再有由于还它在很低的供电电压能力以及可变的还能够操作的执行时钟领域都有它非常独到的地方,因此MSP430单片机有着非常低的能耗的优势。

方案三:

选取STM32集成芯片,内核选取ARM32位的M3CPU,产品具有高效、费用小、能耗小的32位处理器,此产品在很多的电子设备中进行使用,就像工业操作行业、航空航天领域,智能硬件等方面。

他的运行速度超过72MHz,搭配了高速存储设备,I/O引脚的数量很大。

拥有2个12位逐次逼近方式ADC处理模块,可以接18模拟信号,所有通道的A/D处理能够单次、多次、扫描方式运行,计算速度达到1MHz,通道的采样间隔能够进行控制。

此产品具有非常明显的特点,在2个方面,首先为很好的计算能力,再有就是产品的反应时间非常短,因此在很多的地方都有使用此产品。

方案选择:

项目需要实现低费用的开发要求,MSP430系列单片机虽然是一个功能强大、功耗超低的单片机,但是STC89C51单片机能够完成所有的功能,主要是费用很小,代码编写简单,综合考虑优势更大,所以选择了STC89C51单片机作为本系统的主要控制芯片。

2.3显示方案

选取数码管显示。

数码管显示内容清楚、控制容易而且费用很小,在很多产品中有所使用,在显示内容要求不高的设计中非常合适。

数码管本身为半导体发光材料,他大部分设计元素为发光二极管。

数码管内部一共有7个可发光能够独立开展的发光体,有的数码管内部是8个独立的发光体。

独立就是可以进行单独的控制哪一个亮。

具有8个独立发光体的数码管比7个的多一个点,即为小数点;

数码管有1位、2位、4位的数码管:

由于发光二极管是否正负的,也就是说阴极和阳极,所以数码管设计的时候就有两种方案,一种的多个发光二极管的阴极连接在一起,一种是阳极连接在一起。

选取LCD1602液晶显示设计内容。

LCD1602可以显示处数字以外的很多字符,包括英文字符以及很多特殊字符。

LCD1602与单片机的物理连接简单,硬件设计方便。

单片机通过程序控制LCD1602也较容易。

对液晶进行字符位置设置,在给定显示字符数据,即可完成显示内容操作,此产品的电源可以和系统匹配,无需进行转换设计。

由于设计不单单要显示数字字符,数码管显示内容太过单一,不能很好的满足项目要求,所以选取方案二。

3系统电路设计

3.1主控制器电路

3.1.1单片机电路

本系统设计当中我们主要选用的是51系列单片机,将单片机STC89C52作为系统主控核心处理器,这是使整个系统工作的基础器件。

这款单片机在实际运用当中非常广泛且能够满足本系统的设计需要,因此设计时我们在硬件电路当中用该型号单片机来作为主控,下面我们将对STC89C52系列单片机的构成进行详细介绍,通过对内部结构的了解,来分析其中所存在的规律。

在进行系统设计之前,必须要对整个系统有着全面而透彻的了解,只有具体分析了系统的每一个结构,才能更好地完成设计。

在设计过程中,我们用EPROM来作为对系统程序的存储装置,将设定好的程序存放到系统当中,通过这样的方式可以简化外界的存储,让系统电路变得更加简洁。

STC89C52单片机是Intel公司生产的众多单片机中的一款,该单片机的引脚有40个之多,都是标准直插式电路,系统设计中我们选用这款51系列单片机来设计数字时钟。

STC89C52处理器还搭配8K能够进行读写的Flash存储部分,让它在很多地方都得到了使用,还有就是性能以及可靠程度较以前的产品有很大的增强。

因为此类型的处理器它相当强性能以及非常小的费用还有它开发非常容易,使得它很快就抢占了很大的用户群,IO引脚就有4组,512字节的能进行读写的存储设备以及多个16位定时计数器。

这4组32位IO引脚都是双工串行引脚,这种类型的设计非常符合工程师对处理器的要求。

这4组32位IO引脚都是双工串行引脚,这种类型的设计非常符合工程师对处理器的设计。

所有的引脚里仅仅P0口的引脚无搭配上拉。

还有STC89C52单片机其他的引脚,这里面时钟源是18以及19这两个IO,词项目选择外设的时钟源是12M晶振;

复位电路需要和如图3.1中RST进行外接,要想实现复位动作,给处理器的信号时间必须大于两个时钟时间,必须是高电平;

STC89C52的时钟器件为12M晶振,设计的时钟时间有12分频的六大状态构成,因此系统的时间就是1μs,复位过程第九引脚可以设计后备电源确保RAM的存储信息无法丢失;

处理器的ALE也就是三十脚使用第一功能情况下,如果在此引脚出现下降沿的情况下,把8位地址数据存储在器件里,去操作器件里的情况下,ALE还是1/6时钟输出,也就是双倍系统时间就会有一次ALE数据,编程数据的操作引脚为30引脚;

还可以设置处理器是使用外面程序代码还是内部的程序,用过EA引脚处理器的31引脚,此引脚是高的情况下就是内部程序,倘若内部存储太小就去外部,但是低的情况下就会只获取外部。

如图3-1所示。

图3-1单片机引脚说明

3.1.2晶振电路

晶振电路是单片机系统必不可少的设计,他好比是单片机系统的心脏,必须时时刻刻运行才可以保证单片机的工作持续进行。

晶振电路会输出一定频率的脉冲信号,单片机按照脉冲信号执行设计好的代码,没接收到一个脉冲,单片机就会执行一条代码,所以你在设计好代码后是可以大概计算出整个程序运行一次所需的时间。

单片机的代码都存放在只读存储器中,所以运行的时候需要获取代码。

单片机运行一条语句的时间就是一个时钟的时间。

有了晶体,才有时钟周期,有了时钟周期,代码才能进行运行。

单片机系统可以没有显示电路,可以没有按键电路,但是不能没有晶振电路。

此项目选取的晶振频率是12MHz。

晶振电路通畅包括内部时钟设计以及外设时钟设计。

此项目选取内置时钟设计的晶振电路。

如图3-2所示。

晶振为单片机输入的运行信号脉冲,此脉冲为单片机的运行速度,如果12M晶振单片机运行速度会为一秒12M,但是单片机的运行速度是存在限制的,不可能是无限制的大,极限值是24M,太大的话单片机就没有办法工作了不。

图3-2晶振电路

3.1.3复位电路

单片机重置就像电脑重启,在所有一个单一的工作之前复位。

作为处理器,复位是处理器在程序运行前需要完成的准备内容。

通常的处理器的复位时间是5毫秒。

复位电路是处理器系统的所必须的外部设计,通常复位电路都是选取上电复位。

此项目开发选取按键复位电路,简单,能够把单片机运行状态进行立刻重启。

如图3-3所示。

图3-3复位电路

3.2显示电路

此项目里显示部分选取数码管显示器,能够达到显示时间内容,电路图如图3-4所示。

共阳极的数码管,说明阳极为高电平,则表示所有的发光二极管都可以进行点亮操作,相反如果是低电平,则不管阴极为高还是低都是亮不了。

电路图为四个路口中一个路口的显示电路。

图3-4显示电路

3.3按键电路

系统按键用于设置交通灯运行时间、繁忙状态控制。

设计按键完成用户信号输入。

分别为繁忙状态按键,时间加按键,时间减按键,正常运行按键。

图3-5按键电路

3.4交通灯电路

交通灯电路为3个发光二极管,分别代表直行红灯、黄灯、绿灯。

图3-6交通灯电路

4系统硬件设计

此项目选取C语言完成代码的开发。

C语言开发使用快,开发很容易,设计自由,很多指令,代码设计方式多样,数据结构非常丰富,包括结构化的操作代码,代码编写自定义,代码的移植率很高等特点。

但是汇编语言不好去理解,别人也很难读,所以根本不是很容易上手。

此项目选取了Keil去完成代码设计,Keil编译后的代码执行效率很高,非常好读懂。

4.1主程序软件设计

系统硬件设计完成之后需要对主程序进行设计,通常我们会以模块化的方式来对单片机的程序代码进行设计,这样的设计方式其最大的好处就是可以让每一个模块变得更加简洁,模块程序设计完成后,对任务的执行、程序的编写以及调试和修改都会变得更加容易。

此外模块化设计能够让系统对数据的读写性能变得更强,即便需要对其中一些代码进行修改也无需改写全部程序,所以对于程序设计而言,这样的设计当时将更加高效,不同模块之间的调用速度也会极大提高。

此项目所有代码开发涵盖:

软件初始化、急车信号检测、按键扫描、交通灯控制等。

首先按下启动按钮,程序开始执行。

南北绿灯亮起,并且维持12秒时间,此时东西红灯同时亮起,维持18秒时间。

当南北绿灯亮12秒时间到达,南北绿灯闪烁,持续时间是3秒,此时时间进行了15秒钟。

这是南北黄灯亮起3秒。

18秒过后,此时南北红灯亮起,东西红灯灭,东西绿灯亮起,持续12秒。

12秒过后,东西绿灯闪烁3秒,然后东西黄灯亮3秒,此动作循环进行。

见图4-1所示。

图4-1软件设计流程图

4.2子程序软件设计

4.2.1显示软件设计

显示数码管选择的是2位一体数码管,需要对其的位选信号进行扫描,在选择对应的位信号的输出对应的数据信号。

LED数码管动态显示是一位一位地轮流点亮各位数码管的,因此要考虑每一位点亮的保持时间和间隔时间。

保持时间太短,则发光太弱而人眼无法看清;

时间太长,则间隔时间也将太长(假设N位,则间隔时间=保持时间X(N-1)),使人眼看到的数字闪烁。

在程序中要合理的选择合适的保持时间和间隔时间。

而循环次数则正比于显示的变化速度。

图4-2数码管软件设计流程图

4.2.2按键扫描软件设计

系统设计的按键是独立按键,所以需要进行按键扫描控制,首先判断按键信号,判断是否有按键按下,此时需要进行按键消抖,因为有时检测到的按键信号是干扰信号,干扰信号的时间远远小于按键按下的信号,所以在按键消抖后,如果按键信号仍然有效,则表示按键确实按下。

图4-3键软件设计流程图

5系统测试

5.1系统调试

针对系统程序设计的相关功能性要求,我们首先要确定整个的设计方案是否有效,也就是要根据所需要的功能来对整个的程序设计进行检验,并按照不同的功能需求设置相应的模块,同时对这些模块划分不同的任务。

在对各模块进行功能划分时并没有统一的标准,但这并不表示能够进行随意地划分。

通常在模块任务划分时需要遵循以下几方面的原则:

首先是从模块功能上来看要做到各自的功能相对独立,避免重复或交叉,模块功能只有在独立的环境下才能进行有效地运行,最终达到所需要的标准。

对系统模块的控制参数要进行最大限度的简化。

通过控制模块能够让每一个模块在系统运行过程中顺利地进行接入和推出,而对于模块参与或退出系统运行的控制则要设置相应的简化参数,让模块与模块之间能够顺利地进行数据信息的交互。

而一旦在数据交互中出现比较繁杂的参数,或者数据信息的交换过于频繁,会给整个系统的运行带来负担。

除此之外,模块参数设置的时候还要考虑其长度的大小,要将其控制在一定的范围之内,通常保持在20-100之间比较适中,如果过长,在系统调试的时候会增加难度,分析起来也会更加复杂。

当模块参数设置偏短的时候,系统信息交互就需要增加次数,此时数据交换会变得过于频繁,频率过高同样不适合系统的稳定运行。

通过Keil编完成的程序,完成设计后,烧录在单片机。

烧录后会有两种运行状态:

其中一个是运行正常,单片机会按照我们开发的思路运行;

另一个是运行异常,单片机的运行状态完全没有展现出来。

失败的原因是什么,需要进行一步一步找错,单片机是怎么样运行的没办法在实际运行时进行观察、语句是怎么样执行下去的、函数之间是怎么进行调用的等等。

Keil工具配备了可以进行线上调试的方案。

首先:

设计好的代码必须要编译成功。

再去选择“Debug”→"

Start/StopDebugSession"

启动验证界面。

如图所示:

第二步:

调出观察窗口;

点击“View”→"

WatchWindow"

第三步:

会出现“Watch“界面,如下图所示:

第四步:

在出现的”Watch“界面里输入需要监控的参数,选择”Watch#1“→双击"

typeF2toedit"

→写进需要监控的参数,如图所示:

第五步:

选择”单步调试“方式,按下一次,监控”Watch“窗口参数的变化状态。

第六步:

继续选择”单步调试“方案。

不断监控”Watch“界面参数状态。

通过观察变量的变化情况,将软件调试成功,最终达到系统设计要求。

5.2故障检查

在做开发的时候一般是完成项目设计,然后对所有功能进行方案设计,硬件和软件的设计需要先进行硬件开发吗,硬件设计没有一点问题,才可以开始软件开发,单片机系统无误后,进行为他外围设计的开发,可以借助单片机系统调试外围设备,可以设计简单的电路帮助我们进行开发,比如按键、指示灯最为开发指示作用。

如果系统不工作了,首先要测量系统电源是否正常,在确认这个信息的情况下检查其他电路数据才是有意义的。

如果电源正常,则就需要检测系统的核心部件,单片机的电源是否正常,检测电源需要在所以测量器件本身的电源处,越近越好,排除其他因素的干扰。

如果单片机的电源正常,则需要测量他的核心电路,也就是晶振电路,晶振电路有问题,单片机也是无法工作的。

晶振的测量除检测电源外,还可以使用示波器,观察晶振输出的脉冲信号是否有效。

6硬件组装与调试

6.1系统组装

上电前调试,首先需要完成实物的焊接,组装,需要有详细的器件清单。

系统调试完成后,购买器件,器件清单如下所示:

准备烙铁、焊锡、吸抢、高温棉、镊子等常用工具。

进行实物焊接组装,按照设计的电路图连接关系,对实物进行焊接,首先完成最小系统的焊接,焊接完成每一部分功能电路都要对该部分的电路进行短路检测,防止在焊接过程中有短路出现,等所有电路焊接完成,检测短路就比较困难。

组装完成后不可立即上电,首先需要用万用板测量电源正负是否短路,防止在焊接过程中有虚焊,造成电源短路,上电是烧坏电路板。

电源不短路后。

首先需要对电路板整机调试。

系统所使用的电路板是一个单面的,焊接起来也十分简单,只要我们按照由低向高的顺序进行即可,这样不但可以让焊接工作变得简易,同时还可以保持美观。

此外还有元器件焊接时,将部分线路焊接联在一起,导致电路板故障等等问题。

本次焊接调试主要是未上电之前的调试。

本次硬件调试主要为上电之后的调试,上电功能测试,观察电路板是否有异常,经过上电,电路板无异常。

实物如图5-1所示。

图6-1实物组装

6.2上电后调试

电源正负和电源之间是否短路需要特别关注,如图5-4系统避障小车上电后调试图所示,需对整个系统进行仔细的检查。

接通电源后,需要对单片机中的主芯片进行确认,同时对连接元器件的每一个管脚进行电位的检查,确保主芯片没有出现过热现象,且各个点位上的点位正常。

尤其要留心的是插座上的单片机,要确保每个点上的点位都在正常范围内,电压不能过高,否则就会对仿真器造成损坏,此外,电压也不能过低,不然将会失去负载的能力。

图6-2上电测试

总结

本论文设计出了基于51单片机控制交通灯,通过系统方案设计,系统硬件以及软件的设计开发,完啦系统的设计要求,实现最初方案设计功能。

本设计选取STC89C51单片机作为主控制器。

系统涵盖显示、按键控制、交通灯电路、主控制器以及电源。

显示包括东南西北四个方向的倒计时显示、交通灯指示,还有时间设置显示,可以设置交通灯变换的时间。

按键用于设计时间、控制系统在交通情况拥堵的情况下,进行繁忙状态运行。

系统设计有盲人提示功能,为方便盲人过马路,设计了声音提示。

还设计了急车通行功能,便于救护车快速通过路口。

系统显示选取数码管。

盲人提示选取蜂鸣器。

设计过程应用C语言完成代码的开发,选取Keil工具进行代码编译调试。

调试完成选取Proteus仿真工具对项目软硬件做最后的仿真。

本设计也有一定的缺陷,比如没有闯红灯检测设计、超速检测设计等。

在后期会进步一完善设计功能。

让系统设计更加全面。

寻找相关领域的技术方案、设计方案,结合各个学科和行业的知识,综合技术方案去解决交通灯设计的不足之处。

这样设计出完整的、功能齐全的系统。

参考文献

[1]周立功主编《项目驱动—单片机应用设计基础》北京航空航天出版社,2011

[2]孙鑫余安萍编著《VC++深入详解》北京:

电子工业出版社,2006

[3]周立功等编著《ARM嵌入式系统基础教程》北京:

北京航空航天大学出版社,2005

[4]王晓明,《电动机单片机控制》中国:

北京航空航天出版社,2004

[5]王学文.传感器原理及应用[M].北京:

航空航天大学出版社,2008

[6]谭浩强.C程序设计[M].北京:

清华大学出版社,2005

[7]胡汉才.单片机原理及其接口技术[M].北京:

清华大学出版社,2011

[8]LindaJ,Engelman.InteractingontheInternet.IrwinBookTeam.U.S.A,1996(06)66-68

[9]黄家升.基于51的单片机软件远程升级[J].舰船电子对抗,2007(03):

22-25

[10]杨美仙.单片机的发展及其应用[J].科技信息(学术研究),2007(35):

46-47

[11]陈寿元.单片机多机

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2