晋城市网站建设_网站建设公司_安全防护_seo优化
2025/12/20 16:11:06 网站建设 项目流程

摘 要

随着经济发展,汽车数量急剧增加,城市道路日渐拥挤,交通拥塞已成为一个国际性的问题。因此,设计可靠、安全、便捷的多功能交通灯控制系统有极大的现实必要性。根据交通灯在实际控制中的特点,结合单片机的控制功能,提出了一种用单片机自动控制交通灯的简易方法。设计中包括硬件电路的设计和程序设计两大步骤,对单片机学习中的几个重要内容都有涉足。
单片机的应用正在不断深入,单片机可以用来仿真各个系统。在自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。
十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。交通信号灯控制方式很多。本设计由STC89C52单片机电路+LED灯指示电路+红外避障传感器电路+lcd1602显示+电源电路组成。能够根据公路流量的多少来选择红绿灯的亮灭的时间,使得交通灯更加智能,效率更高。而且,本系统设计周期短、可靠性高、实用性强、操作简单、维护方便、扩展功能强。
关键字:单片机;红外避障模块;交通灯;公路流量

2.方案的设计与论证

2.1 控制方案的确定
方案一
采用可编程逻辑器件CPLD作为控制器,CPLD可以实现各种复杂的功能、规模大、密度高、体积小、稳定性高、I/O资源丰富、易于进行功能扩展。采用并行的输入输出方式,提高了系统的处理速度,适合作为大规模控制系统的控制核心。但本系统不需要复杂的逻辑功能,对数据的处理速度的要求也不是非常高。且从使用及经济的角度考虑,最终放弃了此方案。
方案二
采用ST公司的STC89C52单片机作为主控制器,STC89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程 Flash 存储器。该单片机功耗低、接口丰富,成本低廉,完全能满足本设计要求。
方案三
采用单片机芯片控制MSP430单片机是美国德州仪器(TI)推出的一种16位超低功 耗的混合信号处理器(Mixed Signal Processor),主要是针对实际应用需求,把许多模拟电路、数字电路和微处理器集成在一个芯片上,以提供“单片”混合信号处理的解决方案。MSP430F149是一个16位的、具有精简指令集的、超低功耗的混合型单片机,具有可靠性高、功耗低、扩展灵活、体积小、价格低和使用方便等优点,广泛应用于仪器仪表、专用设备智能化管理及过程控制等领域,有效地提高了控制质量与经济效益,已成为众多单片机系列中一颗耀眼的新星。然而其成本太高,故舍弃。
综上所述,故选择方案二。

3.硬件电路的设计

3.1 系统功能分析和硬件框图
本系统由STC89C52单片机、LED灯指示、红外避障传感器、lcd1602显示及电源组成。
1、道路为东西南北走向的十字路口,东西、南北都有对应的红绿黄灯。
2、系统正常模式下,均为红灯亮10秒,然后黄灯亮3秒,然后绿灯亮10秒,并依次循环。(同一时刻,每套红绿灯系统只有1个灯亮)。
3、在南北方向的马路增加1路红外避障检测,如果南北绿灯情况下,检测到车辆过多以5个位例,5个及以上,绿灯延时10s,对应东西红灯相应延时10s。保证南北绿灯时间延长,通车多,防止堵车。
4、在东西方向的马路增加1路红外避障检测,如果东西绿灯情况下,检测到车辆过多以5个位例,5个及以上,绿灯延时10s,对应南北红灯相应延时10s。保证东西绿灯时间延长,通车多,防止堵车。
4、每次绿灯,人数过多只能延时一次,否则影响另一方向车道行驶。
5、增加1602显示东西南北灯显示参数,以及车流量参数。
图3-1是其系统框图:

图3-1系统框图

4.软件系统设计

4.1 编程语言选择
由于整个程序比较复杂,且计算量较大,用到了较多的浮点数计算,所以程序的编写采用了C语言。
对于大多数的单片机,使用C语言这样的高级语言与使用汇编语言相比具有如下优点:
不需要了解处理器的指令集,也不必了解存储器结构。
寄存器分配和寻址方式由编译器进行管理,编程时不需要考虑存储器的地址和数据类型等细节。
指定操作的变量选择组合提高了程序的可读性。
可使用与人的思维更相近的关键字和操作函数。
与使用汇编语言相比,程序的开发和调试时间大大缩短。
C语言的库文件提供了许多标准的例程。
通过C语言可实现模块化编程技术,从而可将已编制好的程序加到 新程序中。
(8)C语言可移植性好且非常普及,C语言编译器几乎适用于所有的目标系统,己完成的项目可以很容易的转换到其它的处理器或环境中与汇编语言相比,C语言在功能上、结构性、可读性、可移植性、可维护性上有明显的优势,易学易用。
4.2 keil软件设计思想
KEIL软件是单片机开发者广泛使用的开发工具的,简单的单片内形都是使用这种开发软件的,可以降低开发周期,从而减少很多成本,因此广泛受到开发者的欢迎和使用。在使用汇编语言,然后用KEIL软件开发,实现更深刻的。 KEIL软件提供了一个丰富的使用环境和调用的子程序,在全体的打开窗口中。还有一个重要因素就是。我们多看看编程器是如何生存程序序言的,使得使用者可以体会到其中的乐趣的,感觉到此KEIL软件会非常的好用的,越来越受到广大使用者的欢迎的。其中追要由它大多数代码都是集成的,调用很方便的,那些初学者也会感觉很好用的,起点水平不需要太高的。在开发大型软件,以更好地反映高语言的优势。以下的细节KEIL软件开发系统和使用的各个部分的功能。
4.3 主函数程序流程图
本系统设计主要采用keil软件编写与调试程序,程序语言采取易读性和移植性更高的C语言编写。系统运行主程序流程图如下图所示。

主函数流程图

5.系统调试

5.1 电路焊接
手工焊接是常用原始的焊接方法,目前大量工厂焊接的生产基本上不采用原始方法了,但是普通元器件的修理、系统测试中经常使用原始的手工焊接。重要的是如焊接本质上出现问题,则会影响到整个控制系统的,可以这么说,焊接的会导致这个控制系统可不可以用的。手工焊接主要有如下四步组成的:
第一步开始焊接:
需要把需要焊接的地方打扫干净,主要去处油迹和灰尘,然后把需要焊接的元器件的两个角向一定的方向掰一掰,注意不能把元器件的脚相交在一起了,这样会影响焊接的。接下来让电烙铁头碰到需要焊接的元器件脚下,放上焊锡丝。此处需要注意的是,不能让烙铁头碰到其它元器件的脚了,要不然会把两个元器件焊接在一起了。
第二步给焊接升温:
当在完成第一步以后,接下来就是加热焊锡丝了,主要是将烧热的电烙铁放在器件管脚旁边,慢慢融化焊锡丝,需要注意电洛铁的温度和加热时间,若时间过长,很有可能焊坏面包板焊盘的,一般建议电洛铁温度调整在400。C左右,加热2秒钟左右,例外也要根据器件种类作出具体区别的。在焊接过程中,当需要把焊接好的元器件卸下来,则也需要给焊接处进行加热的,主要操作是首先在焊接处补好焊锡丝,使焊点是圆润的,然后用电洛铁在焊接处进行加热,在加热的过程中就可以直接把元器件卸下来了,此时一定要主要时间,要不然也会损坏焊盘的
第三部清理焊接面:
当在完成第二步时,有的时候会观察到焊接的不完美或者担心出现虚焊情况,这时候需要进行修改的。主要是两种情况的,第一种是焊锡不够,焊接点不圆润,这时需要给焊接处补焊锡,此时需要注意的是焊锡量不能补多,要不然容易连接到其它期间的引脚的。第二种是焊锡过多,这时候可以用电洛铁放在焊接处来回的滑动,会把多余的焊锡带走的,若不行,只能使用吸锡器了。
第四部检查焊点:
当完成以上三步了,最后就需要整体观察了,主要是观看焊接点是不是圆满、亮度好、紧固,有没有与其它管脚相连在一起了。
5.2 系统调试
整体系统上电调试前,大概观察下焊接的系统还存在问题,例如还有很显眼的断裂,正负极接反以及相连、虚焊、等问题,然后用万用表检测一下,电源正负极之间是否短路等严重的电源问题,最终保证系统没有问题。
5.2.1 系统程序调试
(1)在Keil软件中先创建一个工程:单击菜单栏中的“工程”,输入新建工程名,并保存。
(2)新建用户源文件:在新建的空白文本中编写程序源代码,编码完成保存文件并文件拓展名“***.c”,新文件创建完成。
(3)程序编译和调试:单击编译按钮,系统会对文件进行运行,在输出窗口中可看到提示信息,如过窗口显示有error信息,则按提示找出错误并改正,直到提示没有错误提示为止。
(4)程序编译无错误后,进入程序调试状态,可查看单片机资源状态,进行断点等方式调试。
5.2.2硬件测试
最后一步就是硬件整体测试了,主要运用万用表、直流电源和示波器对焊接好的板子进行整体调试,主要检查每一个器件是不是都正常工作了,主要分为两个环节动态调试和静态调试。其中静态调试主要分为以下四种:
1、肉眼观察。主要观看焊接点是否饱满,以及相连器件之间是否相连或者器件管脚没有焊接好,出现短路现象。
2、使用万用表调试。首先查看电源是否短路,然后测量管脚是否连接正确,有没有接线错误。
3、上电检查。在完成第一步和第二步都没有问题,接下来就可以上电了,上电以后观看每个器件是否正常工作,然后在逐一测试功能。

6.总 结

对此次课程设计进行一个总结,因为我这次设计采用的是单片机为主的,所以要求硬件和软件相结合,两者必须完整配合,协调一致。在学校学习的单片机知识偏重于理论而不是应用,通过做课程设计的这个机会,我把理论联系到了实际。通过一次的温习了以前学习的专业基础知识,可以使我们可以独立设计和完成一个简单的单片机控制系统,体验了从原理图的设计、电路板的制作和单片机系统的调试的整个过程,给即将走向工作岗位的我又上了一堂精彩的课。
通过这次课程设计,系统的掌握了单片机、电阻、电容等元器件以及各种传感器的工作原理及其应用;熟练的使用万用表、示波器等相关实验仪器和设备,能使用相关软件设计电路图并进行仿真;使我对模拟电子、数字电子技术在实践中的应用有了更深刻的理解;对像Keil、Altium Designer等工程软件有了深入的了解,能独立完成电路图的绘制。在设计电路的过程中,充分了解了各元器件的功能作用,把课本知识变得生动有趣,当实验现象出现的那一刻,心中非常的激动,因为是我们独立完成的课程设计,所以很有成就感,同时这个设计也激发了我们对学习电子方面知识的积极性。
在编程过程中遇到很多麻烦,比如电流可能因为供电不足、液晶不显示等等问题,所以要根据实际的测量值来调试程序。但是都在我们积极地查阅资料与商讨中得到解决。在设计中除了学会许多专业知识外,在遇到困难时,积极的去请教我的指导老师,我通过看现有的教材、视频,去图书馆查阅资料,去网上搜索相关信息这些方式,不仅完成了我的课程设计,而且大大增强了我的自学能力和求知心理,更重要的是我拓展了思路,开阔了视野,活跃了思想。学会了理论联系实际。

文章底部可以获取博主的联系方式,获取源码、查看详细的视频演示,或者了解其他版本的信息。
所有项目都经过了严格的测试和完善。对于本系统,我们提供全方位的支持,包括修改时间和标题,以及完整的安装、部署、运行和调试服务,确保系统能在你的电脑上顺利运行。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询