大学课程设计报告——单片机交通灯设计.doc
《大学课程设计报告——单片机交通灯设计.doc》由会员分享,可在线阅读,更多相关《大学课程设计报告——单片机交通灯设计.doc(38页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Xxxx大学单片机课程设计报告交通灯控制系统姓 名: 学 号: 专业班级: 指导老师: 所在学院:电气工程与自动化学院2007年6月30日摘要本设计是在熟练掌握单片机及其仿真系统使用方法根底上,综合应用单片机原理、微机原理等课程方面的知识,设计一个采用AT89C51单片机控制的交通灯控制电路。该设计结合实际情况给出了一种简单低本钱城市交通灯控制系统的硬件及软件设计方案、各个路口交通灯的状态循环显示,并对程序流程图进行详细讲解分析。硬件的设计采用89ATC51单片机为核心器件。并辅助复位电路,驱动电路,数码管及晶体管显示局部。通过中断扩展实现交通灯系统特殊情况的转换。软件设计局部分为一个主程序和
2、两个中断子程序,一个用于有紧急车辆通过时,系统要能禁止普通车辆通行,实行中断可使A东西道、B南北道两道均亮红灯;另一个用于一道有车而另一道无车时,通过控制交通灯系统能立即让有车道放行,假设A道有车B道无车,长按K0可以控制交通灯系统能立即让东西道放行;假设南北道有车东西道无车,长按K1可以控制交通灯系统能立即南北道放行。十字路口的交通灯在工作时应具有如下特点:红灯表示该条道路禁止通行;黄灯表示该条道路上未过停车线的车辆禁止通行,已过停车线的车辆继续通行;绿灯亮表示该条道路允许通行。本设计利用单片机控制可以实现以下功能:(1)A道和B道上均有车辆要求通过时,A,B道轮流放行。A道放行5分钟调试时
3、改为5秒钟,B道放行4分钟调试时改为4秒钟。(2)一道有车而另一道无车实验时用开关K0和K1控制,交通灯控制系统能立即让有车道放行。(3)有紧急车辆要求通过时,系统要能禁止普通车辆通行,A,B道均为红灯,紧急车由K2开关模拟。(4)绿灯转换为红灯时黄灯亮1秒钟目录1 概述31.1 设计任务书31.2 设计思路32 系统总体方案及硬件设计42.1 系统总体方案42.2 硬件设计43 软件设计93.1 程序流程图93.2 软件系统设计124 Proteus软件仿真224.1 初始状态0仿真图224.2 状态1224.3 状态2234.4 状态3234.5 状态4244.6 状态5244.7 状态6
4、255 课程设计体会26参考文献26附1: 源程序代码27附2: 系统原理图371 概述1.1 设计任务书设计个单片机控制的交通灯控制系统,可以实现以下功能:(1)A道和B道上均有车辆要求通过时,A,B道轮流放行。A道放行5分钟调试时改为5秒钟,B道放行4分钟调试时改为4秒钟。(2)一道有车而另一道无车实验时用开关K0和K1控制,交通灯控制系统能立即让有车道放行。(3)有紧急车辆要求通过时,系统要能禁止普通车辆通行,A,B道均为红灯,紧急车由K2开关模拟。(4)绿灯转换为红灯时黄灯亮1秒钟。1.2 设计思路硬件设计局部,为实现所要求的功能,首先参考多种参考资料,选用89ATC51单片机为硬件设
5、计的核心器件。它具有128*8位内部RAM,有32根可编程I/O线、两个16位定时器/计数器、5个中断源、可编程串行通道、低功耗的闲置和掉电模式、片内振荡器和时钟电路。其次采用74LS245驱动电路驱动LED晶体管显示局部,用数码管显示黄、红、绿灯。通过中断扩展实现交通灯系统特殊情况的转换。软件设计局部,分为一个主程序和两个中断子程序,一个用于有紧急车辆通过时,系统要能禁止普通车辆通行,实行中断可使A、B两道均亮红灯;另一个用于一道有车而另一道无车时,通过控制交通灯系统能立即让有车道放行,假设A道有车B道无车,长按K0可以控制交通灯系统能立即A道放行,假设B道有车A道无车,长按K1可以控制交通
6、灯系统能立即B道放行。2 系统总体方案及硬件设计2.1 系统总体方案1硬件设计局部为实现所要求的功能,首先参考多种参考资料,选用89ATC51单片机为硬件设计的核心器件。它具有128*8位内部RAM,有32根可编程I/O线、两个16位定时器/计数器、5个中断源、可编程串行通道、低功耗的闲置和掉电模式、片内振荡器和时钟电路。其次采用74LS245驱动电路驱动LED晶体管显示局部, 由89ATC51的P2.1口控制北边和东边剩余时间的十位数的显示,P2.0控制北边和东边剩余时间的个位数的显示。用P1端口作为输出端口,用P1.2到P1.7端口分别控制东和北两组灯的状态,低电平点亮,用数码管显示黄、红
7、、绿灯。通过中断扩展实现交通灯系统特殊情况的转换。2软件设计局部软件设计局部,分为一个主程序和两个中断子程序,一个用于有紧急车辆通过时,系统要能禁止普通车辆通行,实行中断可使A、B两道均亮红灯;另一个用于一道有车而另一道无车时,通过控制交通灯系统能立即让有车道放行,假设A道有车B道无车,长按K0可以控制交通灯系统能立即A道放行,假设B道有车A道无车,长按K1可以控制交通灯系统能立即B道放行。2.2 硬件设计1AT89C51简介 功能:AT89C51是一种带4K字节闪烁可编程可擦除只读存储器FPEROMFalsh Programmable and Erasable Read Only Memor
8、y的低电压、高性能CMOS8位微处理器,俗称单片机。具有128*8位内部RAM,有32根可编程I/O线、两个16位定时器/计数器5个中断源、可编程串行通道、低功耗的闲置和掉电模式、片内振荡器和时钟电路。 管脚说明:VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓
9、冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输
10、出其特殊功能存放器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流ILL这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚 备选功能P3.0 RXD串行输入口P3.1 TXD串行输出口P3.2 /INT0外部中断0P3.3 /INT1外部中断1P3.4 T0记时器0外部输入P3.5 T1记时器1外部输入P3.6 /WR外部数据存储器写选通P3.7 /RD外
11、部数据存储器读选通P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节PSEN:外部程序存储器的选通信号。EA/VPP:当/EA保持低电平时,那么在此期间外部程序存储器0000H-FFFFH,不管是否有内部程序存储器。当/EA端保持高电平时,此间内部程序存储器。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件
12、,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的上下电平要求的宽度。芯片擦除:整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个
13、硬件复位为止。2复位局部:采用上电+按钮电平复位,复位电容采用,电阻,连接如图:3显示局部:数码管显示局部采用四位一体共阴数码管,分别显示西和北的剩余时间,A到G为码段控制端口,1到4为片选端口。数码段显示局部通过74LS245接单片机管脚的P0口,片选局部由P2.0到P2.1提供,具体的共阴数码管见图。其中P2.1控制北边和西边剩余时间的十位数的显示;P2.0控制北边和西边剩余时间的个位数的显示。 晶体管显示局部由于对称性,设计时只设计了西北两个方向。由红黄绿按要求显示。用P1端口作为输出端口,用P1.2到P1.7端口分别控制西和北两组灯的状态,低电平点亮,具体端口功能如下:P1.2控制北边
14、红灯的亮灭;P1.3控制北边黄灯的亮灭;P1.4控制北边绿灯的亮灭;P1.5控制东边红灯的亮灭;P1.6控制东边黄灯的亮灭;P1.7 控制东边绿灯的亮灭。(4) 驱动局部:74LS245 3 软件设计3.1 程序流程图1 T0中断效劳程序2外部中断零效劳程序3主程序3.2 软件系统设计1主程序P0口作为字形码输出口P2口输出为选信号用P1口控制交通灯的亮灭23H为标示位,当23H为0时南北红灯亮东西绿灯亮,并进入计时;当23H为1时东西南北黄灯亮,并进入计时;当32H为2时南北绿灯亮东西红灯亮,并进入计时;当23H为1时东西南北黄灯亮,并进入计时。27H为特殊情况标示位,当27H为0时南北红灯
15、东西绿灯亮。当27H为2时南北绿灯东西红灯亮。还有通过标示位2FH.0来判断是否进入东西南北都红的紧急状态。ORG0100HMAIN:MOV SP,#50HMOV TCON,#05H ;定义中断方式MOV 20H,#05H ;时间计数单元,A道放行时间MOV21H,#02H ;黄灯亮时间 MOV22H,#05H ;B道放行时间 MOV 23H,#00H ;交通灯转换标示位 MOV 24H,#05H ;时间欲存区,A道放行时间 MOV 25H,#02H ;黄灯亮时间 MOV 26H,#05H ;B道放行时间MOV 27H,#0FFH ;特殊情况下转换标示位 MOV 28H,#01H ; MOV
16、30H,#05H ;显示缓存区 MOV 31H,#00H MOV TMOD,#01H ;16位计数器MOV TH0,#03CHMOV TL0,#0B0HMOV IE,#10000111BSETBTR0 ;T0启动计数 MOV R2,#13HMOV P2,#0FFHML1: ACALL DISP MOV A,23H CJNE A,#00H,X1 SETB P1.2 CLR P1.3 CLR P1.4 CLR P1.5 CLR P1.6 SETB P1.7X1: CJNE A,#01H,X2 CLR P1.2 SETB P1.3 CLR P1.4 CLR P1.5 SETB P1.6 CLR P1
17、.7X2: CJNE A,#02H,X3 CLR P1.2 CLR P1.3 SETB P1.4 SETB P1.5 CLR P1.6 CLR P1.7X3: CJNE A,#03H,X4 CLR P1.2 SETB P1.3 CLR P1.4 CLR P1.5 SETB P1.6 CLR P1.7X4: JNB 2FH.0,ML2 SETB P1.2 CLR P1.3 CLR P1.4 SETB P1.5 CLR P1.6 CLR P1.7 AJMP X4ML2: JB TR0,ML1 ACALL DISP MOV A,27H CJNE A,#00H,X11 SETB P1.2 CLR P1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大学 课程设计 报告 单片机 交通灯 设计
限制150内