单片机课程设计报告-基于单片机的交通灯的设计.doc

上传人:李主任 文档编号:3262678 上传时间:2019-08-06 格式:DOC 页数:29 大小:1.45MB
返回 下载 相关 举报
单片机课程设计报告-基于单片机的交通灯的设计.doc_第1页
第1页 / 共29页
单片机课程设计报告-基于单片机的交通灯的设计.doc_第2页
第2页 / 共29页
单片机课程设计报告-基于单片机的交通灯的设计.doc_第3页
第3页 / 共29页
单片机课程设计报告-基于单片机的交通灯的设计.doc_第4页
第4页 / 共29页
单片机课程设计报告-基于单片机的交通灯的设计.doc_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《单片机课程设计报告-基于单片机的交通灯的设计.doc》由会员分享,可在线阅读,更多相关《单片机课程设计报告-基于单片机的交通灯的设计.doc(29页珍藏版)》请在三一文库上搜索。

1、 设计课题: 基于单片机的交通灯的设计 专业名称: 电气自动化 学生班级: 电气0801班 学生姓名: 杜志成 指导老师: 廖代文老师 同组成员: 王巍威 廉基言 李祎 晏银辉任务书1.课题名称:基于单片机的交通灯设计2.设计目的 1. 进一步理解和掌握单片机理论课程知识,加强对专业知识的综合运用。 2学会熟练使用单片机编程工具软件及单片机软件编程;3. 学习单片机小系统的硬件设计及PCB布线。4. 学会如何整理资料,划分模块,提高自己的编程技巧。3.设计要求 运用单片机控制系统设计一交通灯控制器 ,要求有必要的延时,红绿黄灯交替点亮,而且延时的时间有所不同,两段数码管显示延时的剩余时间。目

2、录前言- 2 -第一章 方案论证及比较- 3 -1.1整体方案设计及说明- 4 -1.2 基于单片机实现交通信号灯设计方案比较- 4 -1.2.1 显示界面方案- 4 -1.2.2 电源提供方案- 5 -2.1硬件系统设计- 6 -2.1.1系统框图- 6 -2.2软件系统设计- 7 -2.2.1软件系统主流程- 7 - 程序设计- 8 -第三章 单元电路设计- 9 -3.1硬件系统单元电路设计- 9 -3.1.1 AT89S52最小系统- 9 -3.1.2 电源电路- 10 -3.1.3 LED显示电路- 11 -第四章 软件系统单元设计- 13 -4.1 程序流程说明- 13 -4.2 交

3、通信号灯程序流程图- 13 -4.2.1 交通信号灯主程序流程图,如下图4.1所示:- 13 -4.2.2 交通信号灯中断程序流程图,如下图4.2所示:- 14 -4.2.3 交通信号灯延时流程图,如下图4.3所示:- 14 -4.3 proteus仿真概述- 15 -第五章 PCB制作与调试- 16 -5.1 PCB制作流程说明- 16 -5.2 硬件检测- 16 -5.2.1 静态检测为:- 16 -5.2.2 动态检测为:- 17 -参考文献- 19 -附录一: 原理图- 20 -附录二: PCB图- 22 -附录三: 仿真图- 23 -附录四:元器件清单- 24 -附录五: 部分程序源

4、码- 25 -前 言随着我国社会经济的发展,城市化、城镇化进程的加快,道路交通堵塞问题日趋严重,如何对交通进行合理的管理和调度而尽可能减少堵车现象成为目前我国很多地方尤其是特大城市急需解决的问题,显然交通灯在其中起着不可或缺的作用。因此,一个好的交通灯控制系统,将给道路拥挤、违章控制等方面给予技术革新。随着大规模集成电路及计算机技术的迅速发展,以及人工智能在控制技术方面的广泛运用,智能设备有了很大的发展,是现代科技发展的主流方向。基于51单片机的交通控制系统以AT89S52单片机为路口控制核心、LED作为显示、驱动电路与部分模拟器件构成的一种电子产品。AT89S52单片机为控制核心,能实时的进

5、行控制;由于LED有高节能、安全性高 、寿命长 、快速响应、运行成本低等优点,所以用作显示很合理;驱动电路用于对LED的驱动;此系统可以长时间稳定的运行,可用于各种十字路口,进行自动的交通控制,由于留有其它接口,可以很方便的进行升级扩展。MCS5l系列单片机它可集成在Keil C5l编译器中,具有运行速度快、对硬件要求不高、使用方便灵活等优点,因此越来越广泛地应用到单片机的软件开发中。它可以在单个CPU上管理几个作业(任务),同时可以在没有扩展外部存储器的单片机系统上运行。基于51单片机的交通控制系统以AT89S52单片机为路口控制核心,进行实时控制,可以及时的处理紧急情况并恢复现场,并可以长

6、时间稳定可靠的运行,提高了51单片的总体性能,让此系统更实用高效。 第一章 方案论证及比较1.1整体方案设计及说明方案一:由PC机来实现系统的全部功能个人电脑(PC机)对一些控制问题上的解决是非常容易的,可以通过各种数据采集装置和与其配套的计算机软件,来动态的对整个交通控制系统进行调整。但是要想实现远程控制比较困难,加上PC机的价格和远程传输设备的造价成本太高,所以不采用此方案。方案二:利用单片机实现整套系统由于MCS系列单片机集成了几乎完善的中央处理单元,处理功能强,中央处理单元中集成了方便灵活的专用寄存器,这给我们利用单片机提供了极大的便利。单片机把微型计算机的主要部件都集成在一块心片上,

7、使得数据传送距离大大缩短,运行速度更快,可靠性更高,抗干扰能力更强。方案三:设计PLC路实现整套系统可编程逻辑控制器(PLC)的速度快,控制功能强大、结构灵活,集成度高,易扩展各种功能的特点,完成此交通控制系统只需很少的器件和时间。但是其器件成本贵,费用高,所以此次设计不采用此方案。综合比较以上三种方案,我们采用方案二。1.2 基于单片机实现交通信号灯设计方案比较本系统主由单片机、LED显示、电源、交通灯演示系统组成。系统除基本交通灯功能外,还具有倒计时、时间设置、分时段调整信号灯的点亮时间及根据具体情况手动控制等功能。1.2.1 显示界面方案该系统只要求完成倒计时等基本功能,基于此原因,我们

8、只考虑以下两种方案。方案一:完全采用数码管显示。七段数码管可以显示基本的数字,其优点结构简单,易于设计,且费用低。方案二:完全采用点阵式LED显示。这种方案实现复杂,且须完成大量的软件工作,其功能强大,可方便的显示各种英文字符,汉字,图形等,但此次设计为最基本的交通灯设计。 综合比较,由于此设计要求不高,只要求由两位数码管显示LED灯在各种状态下的剩余时间即可,所以我们采用方案一。1.2.2 电源提供方案为使模块稳定工作,须有可靠电源。我们考虑了两种源方案方案一:采用独立的稳压电源。此方案的优点是稳定可靠,且有各种成熟电路可供选用:缺点是各模块都采用独立电源,可能影响电路电平。方案二:采用单片

9、机控制模块提供电源。改方案的优点是系统简明扼要,节约成本:缺点是输出功率不高。综合比较以上两种方案,我们采用方案一。 第二章 系统设计2.1硬件系统设计2.1.1系统框图复位电路时钟电路51单片机红绿灯显示3位LED数码管显示电路电源电路按键输入电路图2-1 硬件系统框图由51单片机、电源电路、复位电路、晶振电路、紧急情况、驱动电路、显示电路、灯控电路组成。AT89S52单片机具有MCS-51内核,片内有8KB Flash、256字节RAM、6个中断源、1个串行口、最高工作频率可达24MHz,完全可以满足本系统的需要;与其他控制方法相比,所用器件可以说是比较简单经济的。电源电路主要负责对整个系

10、统进行供电,让系统能够正常运行。复位电路为系统提供复位源。晶振电路为AT89S52单片机提供基本时钟。紧急情况机构,为紧急情况发生而设计,主要时行非正常交通管制,处理紧急情况。驱动电路用于对LED显示和红绿灯控制提供足够的电能,让弱电能够线性控制LED显示和红绿灯控制。显示电路主要用于对当前时间的显示,显示倒计时时间。灯控电路主要进行交通规则处理和判断,是整个交通控制系统的重要部分之一。2.2软件系统设计2.2.1软件系统主流程程序设计道口交通控制系统程序主要分为以下几个模块:初始化程序、主程序、键盘显示和延时。(1)初始化程序初始化程序主要完成的是对显示初值以及定时器初值。(2) 主程序主程

11、序要负责总体程序管理功能,实现人机交换设定。由于采用动态扫描方式显示时间,因此主程序大部分时间要调用扫描显示程序。键盘也加在主程序中了。(3) 延时服务程序主要是在整个电路中,在动态显示时间得用延时来保证数码管亮足够的时间。(4)显示主要是对数码管的显示,让人们能更准确的看清时间,可以什么时间通过。在整个程序流程图中,提高了系统的灵活性中断任务主要进行紧急情况处理,并保护当前的现场,以便于恢复。第三章 单元电路设计3.1硬件系统单元电路设计3.1.1 AT89S52最小系统图3-1 AT89S52最小系统AT89S52最小系统由复位电路、晶振电路、51单片机和电源部份组成。单片机的40个引脚大

12、致可分为4类:电源、时钟、控制和I/O引脚。 电源:VCC - 芯片电源,接+5V; VSS - 接地端;时钟:XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端;控制线:控制线共有4根。ALE/PROG:地址锁存允许/片内EPROM编程脉冲,ALE功能:用来锁存P0口送出的低8位地址;PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。PSEN:外ROM读选通信号。RST/VPD:复位/备用电源。 RST(Reset)功能:复位信号输入端;VPD功能:在Vcc掉电情况下,接备用电源。 EA/Vpp:内外ROM选择/片内EPROM编程电源。EA功能:内外RO

13、M选择端。 Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。图3-2 复位电路在本系统中, 单片机使用的是5V电源,其中正极接40管脚,负极(地)接20管脚。振蒎电路:单片机是一种时序电路,必须供给脉冲信号才能正常工作,在单片机内部没有集成振荡器,使用外部晶体振荡器,接18、19脚。51是高电平复位,所以复位电路如图4;EA管脚接到正电源端,选择片内ROM。3.1.2 电源电路图3-3 电源电路接入电路时(如图5),JI为AC9V输入接头,DQ1为整流桥,AC整流为DC,7805为三端稳压IC,C1、C2、C3、C4为滤波电容,f1的发光二极管是电源指示灯。780

14、5的1脚电压高于3脚,2脚为输出位。如对于78XX正压系列,1脚高电位,3脚接地;此外,还应注意,散热片总是和接地脚相连。这样在78XX系列中,散热片和3脚连接。三端稳压器件是最常用的线性降压型 DC/DC 转换器,目前也有大量先进的 DC/DC 转换器层出不穷,例如低压差线性稳压器 LDO等, (例如,NSC 的 LM2940、LM2651、LM5020,MAXIAM 的 MAX1747 等等)。78xx/79 系列简单易用、价格低廉,直到今天还在大多电路中采用。在实际应用中,应在三端集成稳压电路上安装足够大的散热器(当然小功率的条件下不用)。当稳压管温度过高时,稳压性能将变差,甚至损坏。当

15、制作中需要一个能输出1.5A以上电流的稳压电源,通常采用几块三端稳压电路并联起来,使其最大输出电流为N个1.5A,但应用时需注意:并联使用的集成稳压电路应采用同一厂家、同一批 号的产品,以保证参数的一致。另外在输出电流上留有一定的余量,以避免个别集成压电路失效时导致其他电路的连锁烧毁。 图3-4 78XX封装在78XX系列三端稳压器中最常应用的是TO-220 和TO-202 两种封装。这两种封装的图形以及引脚序号、引脚功能如图6所示。3.1.3 LED显示电路由于LED有高节能、安全性高 、寿命长 、快速响应、运行成本低等优点,所以用作显示很合理,特别是室外运作,LED更有优势。图3-5 LE

16、D显示图3-6 LED驱动在本次设计中,选用共阴极的LED,由于P0口有上拉电阻,所以选用IO直接驱动,在共阴极端用NPN型的三极管扩流,简化了电路的复杂度。第四章 软件系统单元设计4.1 程序流程说明系统可以通过本地的键盘输入和远程的串口所传来的数据,更改并保存用户的数据,然后定时器会从存储器中提取有效的数据,把显示设备的显示进行刷新,最后由单片机将用户设定的时间周期性的进行显示。程序可以使用串口通讯来控制主计算机,达到与键盘输入相同的效果实现了远程监控的目的。4.2 交通信号灯程序流程图4.2.1 交通信号灯主程序流程图,如下图4.1所示: 4-1 交通信号灯主程序流程图4.2.2 交通信

17、号灯中断程序流程图,如下图4.2所示:4.2.3 交通信号灯延时流程图,如下图4.3所示: 4-2 交通信号灯中断程序流程图 4-3 交通信号灯延时流程图 4.3 proteus仿真概述在PROTEUS绘制好原理图后,调入已编译好的目标代码文件:*.HEX,可以在PROTEUS的原理图中看到模拟的实物运行状态和过程。PROTEUS的原理图中看到模拟的实物运行状态和过程。 PROTEUS 是单片机课堂教学的先进助手。 PROTEUS不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。 它的元器件、连接

18、线路等却和传统的单片机实验硬件高度对应。这在相当程度上替代了传统的单片机实验教学的功能,例:元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。 由于PROTEUS提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养学生实践精神、创造精神的平台 随着科技的发展,“计算机仿真技术”已成为许多设计部门重要的前期设计手段。它具有设计灵活,结果、过程的统一的特点。可使设计时间大为缩短、耗资大为减少,也可降低工程制造的风险。 使用Proteus 软件进行单片机系统仿真设计, 是虚拟仿真技术和计算机多媒体技术相结

19、合的综合运用;在单片机课程设计中,我们使用 Proteus 开发环境,在不需要硬件投入的条件下,对单片机的学习比单纯学习书本知识更容易接受,更容易提高。实践证明,在使用 Proteus 进行系统仿真开发成功之后再进行实际制作,能极大提高单片机系统设计效率。第五章 PCB制作与调试5.1 PCB制作流程说明(1) 据原理图生成网络表,这部分PROTEL99是自动进行的,只需要用户单击“create Netlist”即可。(2) 网络表有也是原理图与印制电路板的接口(3) 规划电路板的结构,即确定电路板的框架,设置系统参数。(4) 引入第二步生成的网络表和零件封装,让原理图与印制电路板连接起来。(

20、5) 引入网络表后系统将根据规则对零件自动布局进行飞线。这是自动布线的前提。(6) Protel 99自动布线比较完善,它采用最先进的无网络技术。基于形状的对角线自动布线技术。(7) 自动布线后,如果有不满的地方,我们可以进行手工调整。(8) 存盘打印。(9) 结束。5.2 硬件检测硬件检测分为:静态检测和动态检测。5.2.1 静态检测为:第一步:目测,检查外部的各种元件或则电路是否有断点;第二步:用万用表测试。先用万用表复核目测中有疑问的连接点,再检测各种电源线与地线之间是否有短路现象;第三步:加电检测。给板加电,检测所有的插座或是器件的电源端是否符合要求的值; 第四步:是联机检查。因为只有

21、用单片机开发系统才能完成对用户系统的调试。5.2.2 动态检测为:动态检测是在用户系统工作的情况下发现和排除用户系统硬件中存在的器件内部故障、器件连接逻辑错误等的一种硬件检查。动态调试的一般方法是由近及远、由分到合。由分到合是指首先按逻辑功能将用户系统硬件电路分为若干块,当调试电路时,与该元件无关的 器件全部从用户系统中去掉,这样可以将故障范围限定在某个局部的电路上。当各块电路无故障后,将各电路逐块加入系统中,在对各块电路功能及各电路间可能存在的相互联系进行调试。由分到合的调试既告完成。由近及远是将信号流经的各器件按照距离单片机的逻辑距离进行由近及远的分层,然后分层调试。调试时,仍采用去掉无关

22、元件的方法,逐层调试下去,就会定位故障元件了。 第六章 结论 通过这次课程设计我们学到了很多书本上面学不到的知识。第一、加深了我们对电路设计、电路分析的能力,提高了我们单片机技术基础知识的掌握的程度。第二、增强了我们独立思考、主动查阅资料的能力,为了准备这次课程设计我们组查阅了许多的资料。第四、我们的动手能力在这次课程设计中得到了很大的提高,特别是我们的耐心得到了前所未有的锻炼,没有足够的耐心是无法取得成功的。第五、我们更加清楚的认识到实践是检验真理的唯一标准。参考文献 1 姜志海单片机原理及应用M.北京:电子工业出版社,2005.7.27-712 龙脉工作室51单片机C语言应用开发技术大全M

23、.北京:人民邮政出版社,2008.9.240-5003 彭为 黄科 雷道仲单片机典型系统设计M.北京:电子工业出版社,2006.5.246-2734 谢维成单片机原理及应用M.北京:清华大学出版社,2009.2.11-26附录一: 原理图附录二: PCB图附录三: 仿真图附录四:元器件清单序列名称型号数量备注1芯片AT89S521片40引脚2晶振12MHz1只3下载接口10Pin1只4电源接口USB电源接口1只5按键开关1K1个6复位开关1个7发光二极管(红)5只8发光二极管(绿)4只9发光二极管(黄)4只10数码管两位一体1片11R12001只12R21K1只13R34.7K1只14R451

24、01只15C122F1只16C230pF2只17三极管PNP2只附录五: 部分程序源码*#include unsigned char code d1=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;/字形码unsigned char code d2=0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80; /位选码unsigned char tran_flag,d_flag,s,n;/定义两个标志位,tran_flag位变道标志位为1时变道, d_flag为紧急车辆通过标志位,为1时有效void scan();/扫描按

25、键函数void delay(int m) ;void main() tran_flag=0; d_flag=0; s=210; /表示红绿灯循环的周期 n=0; TMOD=0x01;/用T0定时TH0=0x3c ;/给T0定时器的高8为赋初值TL0=0xb0 ;/给T0定时器的低8为赋初值EA=1;/开启中断 ET0=1;/允许T0中断TR0=1;/开启定时器T0 while(1) scan(); if(tran_flag=0&d_flag=0) /没有按下变道按钮和紧急通车按钮 if(s90&s=210) P2=d1(s-90)/100; /送笔段码P1=d20; /送位选码delay(1)

26、; /延时P2=0xff;/消隐P2=d1(s-90)%100)/10; /送笔段码P1=d21; /送位选码delay(1); /延时P2=0xff;/消隐P2=d1(s-90)%10; /送笔段码P1=d22; /送位选码delay(1); /延时P2=0xff;/消隐 if(92s&s=210) P0=0xf5; /A绿,B红 else P0=0xf3; /A黄B红 if(0s&s=90) P2=d1s/10; /送笔段码P1=d20; /送位选码delay(1); /延时P2=0xff;/消隐P2=d1s%10; /送笔段码P1=d21; /送位选码delay(1); /延时P2=0x

27、ff;/消隐 if(2s&s90) s=90; else s=210; if(d_flag=1) /如果紧急通车按钮被按下 P0=0xf6; /A红B红 /void scan() if(P3_0=0) /如果变道按钮被按下 while(P3_0=0); /等待松开 tran_flag=1; /标志位置位 if(P3_1=0) /如果紧急通车按钮被按下 while(P3_1=0); /等待松开 d_flag+; if(d_flag=2) /当第二次被按下时复位 d_flag=0; /void mxhcs() interrupt 1 /中断函数,采用定时器T0中断,每过1秒中断一次,并重赋初值为下次中断做准备TMOD=0x01;TH0=0x3c ;TL0=0xb0 ;EA=1; ET0=1;TR0=1;n+;if(n=20)n=0;s-;if(s=0)s=210;void delay(int m) /延时程序,延时m*0.5毫秒 unsigned int i,j; for (i=0; im; i+) for(j=0; j500;j+) ;- 28 -

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

当前位置:首页 > 研究报告 > 信息产业


经营许可证编号:宁ICP备18001539号-1