资源描述
.
<<单片机原理及应用 >>
课程设计报告
题 目:_交通灯控制系统的设计
专 业:_ 电气工程及其自动化_
班 级:____ ________
学 号:_________
学生姓名:______ __ __
完成日期: 2016 年 12 月 29
目录
摘 要 - 1 -
1 设计要求及方案选择 - 2 -
1.1设计要求 - 2 -
1.2方案选择 - 2 -
2 理论分析与设计 - 3 -
2.1基本电路的分析及设计 - 3 -
2.2 LED显示电路的分析及设计 - 3 -
3 电路设计 - 4 -
3.1 硬件电路的设计 - 4 -
3.2 软件的设计 - 4 -
4 系统测试 - 8 -
4.1调试所用的基本仪器清单 - 8 -
4.2调试结果 - 8 -
4.3 测试结果分析 - 11 -
5 总结 - 12 -
参考文献 - 13 -
- 13 -
摘 要
交通灯是各个国家管理交通的重要工具,是城市交通最重要的组成部分,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。
本设计利用单片机系统、LED显示,制作简易十字路口交通灯,实现自动切换通行。经测试,系统达到通行定时切换的要求,具有自动切换的优点。
关键词:AT89C51;交通灯;动态显示
1 设计要求及方案选择
1.1设计要求
(1)完成交通灯的基本功能。
要求交通信号灯控制逻辑如下:假设一个十字路口为东西南北走向。开始为四个路口的红灯全部亮之后,
东西路口的绿灯亮,南北路口的红灯亮,东西路口方向通车,延时一段时间后 (50秒) ,
东西路口的绿灯,闪烁若干次后(3 秒),
东西路口的绿灯熄灭,同时东西路口的黄灯亮,延时一段时间后(2 秒),
东西路口的红灯亮,南北路口的绿灯亮,南北路口方向通车,延时一段时间后(30 秒),
南北路口的绿灯闪烁若干次后(3 秒),
南北路口的绿灯熄灭,同时南北路口的黄灯亮,延时一段时间后(2秒),
再切换到东西路口的绿灯亮,南北路口的红灯亮,之后重复以上过程。
若有急救车到达时,两向交通信号为全红,以便让急救车通过。假定急救车通过路口时间为10秒,急救车通过后,交通灯恢复中断前状态。以按键为中断申请,表示有急救车通过 。
(2)设计电路
(3)在KEIL中编辑、编译、调试程序,并在protuse中仿真。
1.2方案选择
选用单片机AT89C51作为主控芯片,并控制LED的显示与切换。本设计采用动态显示控制LED显示,并设有一个外部中断用以完成设计要求,应急模式下的急救车优先通过。
2 理论分析与设计
2.1基本电路的分析及设计
图1为AT89C51的引脚图。
图1 AT89C51的引脚图
单片机的最小系统须有复位、时钟信号。这些需从引脚RET、XTAL1和XTAL2接入。
2.2 LED显示电路的分析及设计
本设计采用动态显示方式,即直接从单片机引脚引出LED显示。本设计为十字路口服务,仅控制车辆通行交通灯,这四组显示中有相面对的两组相同,即只需引出两组不同信号。
本设计采用AT89C51的P1作为输出LED亮灭信号。
引脚
P1.0
P1.1
P1.2
P.13
P1.4
P1.5
P1.6
P1.7
控制信号
南北红
南北黄
南北绿
东西红
东西黄
东西绿
3 电路设计
3.1 硬件电路的设计
图2所示为硬件设计框图
图2 硬件设计框图
图3所示为该系统总电路图。
图3 总系统电路图
3.2 软件的设计
图4所示为主流程图。
图4 主流程图
图5所示为中断服务流程图。
图5 中断服务流程图
完整程序:
ORG 0000H
AJMP MAIN
ORG 0003H
AJMP EXINT0
ORG 0080H
MAIN:MOV SP,#0030H
MOV P1,#11H // 所有红灯亮
ACALL DEL_500MS
SETB IT0 //脉冲触发
MOV IE,#81H // 等中断
MOV R0,#40
MOV P1,#41H // 东西绿灯亮 南北红灯亮
LOOPO:ACALL DEL_500MS
DJNZ R0,LOOPO //20s
LOOPM:MOV P1,#41H // 东西绿灯亮 南北红灯亮
MOV R0,#60
LOOPA:ACALL DEL_500MS
DJNZ R0,LOOPA //30s
MOV R0,#3
LOOPB:MOV P1,#01H //东西绿灯闪烁
ACALL DEL_500MS
MOV P1,#41H
ACALL DEL_500MS
DJNZ R0,LOOPB //3s 0.5s一次变化 三次闪烁
MOV P1,#21H //东西黄灯亮
MOV R0,#4
LOOPE:ACALL DEL_500MS
DJNZ R0,LOOPE //2s
MOV R0,#60
LOOPC:MOV P1,#14H //东西红灯亮 南北绿灯亮
ACALL DEL_500MS
DJNZ R0,LOOPC //30s
MOV R0,#3
LOOPD:MOV P1,#10H //南北绿灯闪烁
ACALL DEL_500MS
MOV P1,#14H
ACALL DEL_500MS
DJNZ R0,LOOPD //3s 3次
MOV P1,#12H //南北黄灯亮
MOV R0,#4
LOOPF:ACALL DEL_500MS
DJNZ R0,LOOPF //2s
AJMP LOOPM //循环
EXINT0:CLR EA
PUSH P1
SETB EA
MOV P1,#11H //中断 4个红灯全亮 10s
MOV R1,#20
LOOPG: ACALL DEL_500MS
DJNZ R1,LOOPG
CLR EA
POP P1
SETB EA
RETI
DEL_500MS:
MOV R7,#2
LOOP4: MOV R6,#250
LOOP5: MOV R5,#250
LOOP6: NOP ;1
NOP ;1
DJNZ R5,LOOP6 ;2T
DJNZ R6,LOOP5
DJNZ R7,LOOP4
RET
END
4 系统测试
4.1调试所用的基本仪器清单
电脑一台(装有protues)。
4.2调试结果
载入HEX文件,开始调试:
首先是红灯全亮。
然后是东西红灯亮,南北红灯亮,50秒。
接下来是绿灯闪烁,3秒。
然后是东西黄灯亮起,2秒。
然后是东西红灯亮,南北绿灯亮:
然后循环…..
下面是中断程序仿真:
当按下按键时全部红灯亮起
该按键为中断触发按键:
全部红灯亮起:
复位按键与时钟脉冲:
当按下复位按键时,程序重头开始。
4.3 测试结果分析
本设计以AT89C51单片机为核心,程序开发软件为KEIL,在protues上进行仿真,解决了实机测试所带来的硬件困扰,加快了设计的进度。
5 总结
本次交通灯模型课程设计的制作及相应的论文完成,让我从动手实践学到了很多有用的东西。归纳起来,主要有以下几点:
(1)通过完成本次交通灯的课程设计,将我们以前所学到的硬件与软件的专业知识与本次实际设计制作相联系,将以前专业课和实验课上所学到的知识充分运用到本次设计中。同时,我也深刻地认识到自己在某些专业知识上不足的地方,体会到了理论知识对于实践操作的重要性,掌握的知识越多,设计的就更完善、产品实现的功能就更稳定。
(2)加强了对单片机的知识的学习。通过本次设计,我对单片机发展历史,以及其在生活中的广泛应用和能实现的功能都有了更深刻的认识。
参考文献
[1] 江思敏、姚鹏翼.PADS电路原理图和PCB设计[M].机械工业出版社,2007.
[2] 陈忠孝.单片机原理与应用.西北大学出版社.2011.
[3] 潘新民.微型计算机控制技术.第二版.电子工业出版社.2014.
[4] 冯博琴、吴宁.微型计算机与接口技术.清华大学出版社.2015.
[5] 宋雪松、李冬明.手把手教你学51单片机.清华大学出版社.2016.
展开阅读全文