交通灯控制系统课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2011年至2012年第1学期《单片机原理与应用》课程设计
班级1006402
指导教师涂立旎
学生人数___ _3__ ___
设计份数 1
2011年12月23日
城市交通灯控制系统设计报告
1006402-42 流溪 1006402-24钱升 1006402-06毛运鹏
一.设计时间
2012年12月19日——2011年12月23日
二.设计地点
一实验楼401机房
三.设计小组及成员分工
1006402-42 流溪(组长,编写及调试程序)
1006402-24 钱升(负责设计报告的书写及资料整理)
1006402-06 毛运鹏(原理图、流程图设计)
四.指导老师
涂立老师,旎老师
五.设计题目
基于51型单片机的城市交通灯控制系统
六.设计容及目标
1.该交通灯系统的设计容
本设计是基于AT89S51单片机的十字路口交通灯控制系统,利用6个发光二极管模拟交通灯。按照时间控制原则,利用并行接口和定时器,采用时间中断方式设计一套十字路口的交通灯管理系统,通行时间(或禁止时间)30秒,准备时间3秒,在准备时间里黄灯闪烁3次,闪烁频率为0.5秒,周而复始。
2.该交通灯系统的设计目标
本系统结构简单,操作方便;可实现自动控制,具有一定的智能性;对优化城市交通具有一定的意义。本设计将各任务进行细分包装,使各任务保持相对独立;能有效改善程序结构,便于模块化处理,使程序的可读性、可维护性和可移植性都得到进一步的提高。
七.流程图与原理图及部分说明
1.程序流程图如图1所示:
图1. 程序流程图
2.主程序流程图步骤说明:
(1)东西方向车道红灯亮,南北方向车道绿灯亮。表示东西方向车道上的车辆禁止通行,南北方向车道允许通行。绿灯亮足规定的时间隔时,控制器发出状态信号,转到下一工作状态。
(2)东西方向车道红灯亮,南北方向车道黄灯闪亮。表示南北方向车道上未过停车线的车辆停止通行,已过停车线的车辆继续通行,东西方向车道禁止通行。黄灯闪亮足规定时间间隔时,控制器发出状态转换信号,转到下一工作状态。
(3)东西方向车道绿灯亮,南北方向车道红灯亮。表示东西方向车道允许通行,南北方向车道上的车辆禁止通行,绿灯亮足规定的时间间隔时,控制器发出状态转换信号,转到下一工作状态。
(4)东西方向车道黄灯闪亮,南北方向车道红灯亮。表示南北方向车道禁止通行,东西方向车道上位过限停车线的车辆停止通行,已过停车线的车辆继续通行。黄灯闪亮足规定的时间间隔时,控制器发出状态转换信号,系统又转换到第(1)种工作状态。
表1. 元件清单表
器件名称型号大小数量单片机AT89C52 1
晶振11.0592MHz 1
电解电容22uF 1
瓷片电容30pF 2
排阻470Ω 1
电阻470Ω 1
发光二极管
红 4
黄 4
绿 4 3.交通灯系统原理图如图2所示:
图2. 电路原理图
4.实验原理图说明:
用12个二极管分别表示东西南北四方向的红、蓝、黄交通灯,12个二极管均由P1口控制。
八.实验过程
1.开打keil软件,建立一个新工程单击【Project】在下拉菜单中找到【New project...】选项,如图3所示:
图3. 新建工程
2.选择工程要保存的路径,并且输入工程文件名。Keil的一个工程里通常含有很多小文件,为了方便管理,一般将一个工程放在一个独立的文件夹下,比如保存到课程设计文件夹,工程文件的名字为“交通灯系统”,如图4所示:
图4. 保存文件
3.单击保存后会弹出一个对话框,要求选择单片机的型号,可以根据使用的单片机来选择。Keil C51几乎支持所有的51核的单片机,在这里选择Atmel的AT89C52 ,如图5所示,选择后单击保存。
图5. 选择Atmel
4.完成上一步骤后,窗口界面如图6所示:
图6. 完成新建AT89C52文件
5.到此为止,还没有建立好一个完整的工程,虽然工程名有了,但工程当中还没有任何文件及代码,接下来的就是添加文件及代码。
6.单击【File】菜单中的【new】菜单项,或单击界面上的快捷键图标。如图7:
图7. 添加新文件
7.新建文件后的窗口界面如图8所示:
图8. 新建文件
8.此时光标在编辑窗口中闪烁,可以输入用户的应用程序,但此时这个新建文件与刚刚建立的工程还没有直接的联系,单击图标,窗口界面如图9所示:
图9. 建立联系
9.输入要保存的文件名,同时必须输入正确的扩展名(如果用C语言编写的程序,则扩展名必须是.c;如果用汇编语言编写的程序,则扩展名必须是.asm).这里的文件名不一定要和工程名相同,可以随意填写文件名,然后单击【保存】按钮。如图10:
图10. 保存文件名
10.回到编辑界面,单击【Target 1】前面的“+”号,然后在【Source Group 1】单击右键,弹出如图所示的菜单然后选择【Add Files to Group ‘Source Group 1’】菜单项弹出如图11对话框:
图11. 添加到Source Group 1
11.选中【交通灯系统.C】,单击【Add】按钮,再单击【Close】按钮,然后再单击左侧【Source Group 1】前面的“+”,屏幕窗口如图12所示,接着是在编辑窗口中编写程序:
图12. 编写程序
12.编写好程序就要进行程序的编译,单击工具栏上的进行编译,在编译过程中如果出现错误,修改程序直到没有错误为止,然后在依次点击和,在此过程中出现错误的,也要修改程序直到没有错误为止,编译过程中出现警告一般可以不必考虑,但特殊时也要通过修改程序消除警告。
13.把文件转化成十六进制文件,点击【Project】在下拉菜单里找到【Options for Target ‘target1】’,如图13所示单击【Options for Target ‘target1’】会弹出下面的对话框:
图13. 转换文件