交通灯控制系统课程设计.docx

上传人:b****7 文档编号:9386712 上传时间:2023-02-04 格式:DOCX 页数:19 大小:904.88KB
下载 相关 举报
交通灯控制系统课程设计.docx_第1页
第1页 / 共19页
交通灯控制系统课程设计.docx_第2页
第2页 / 共19页
交通灯控制系统课程设计.docx_第3页
第3页 / 共19页
交通灯控制系统课程设计.docx_第4页
第4页 / 共19页
交通灯控制系统课程设计.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

交通灯控制系统课程设计.docx

《交通灯控制系统课程设计.docx》由会员分享,可在线阅读,更多相关《交通灯控制系统课程设计.docx(19页珍藏版)》请在冰豆网上搜索。

交通灯控制系统课程设计.docx

交通灯控制系统课程设计

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】在下拉菜单中找到【Newproject...】选项,如图3所示:

图3.新建工程

2.选择工程要保存的路径,并且输入工程文件名。

Keil的一个工程里通常含有很多小文件,为了方便管理,一般将一个工程放在一个独立的文件夹下,比如保存到课程设计文件夹,工程文件的名字为“交通灯系统”,如图4所示:

图4.保存文件

3.单击保存后会弹出一个对话框,要求选择单片机的型号,可以根据使用的单片机来选择。

KeilC51几乎支持所有的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.回到编辑界面,单击【Target1】前面的“+”号,然后在【SourceGroup1】单击右键,弹出如图所示的菜单然后选择【AddFilestoGroup‘SourceGroup1’】菜单项弹出如图11对话框:

图11.添加到SourceGroup1

11.选中【交通灯系统.C】,单击【Add】按钮,再单击【Close】按钮,然后再单击左侧【SourceGroup1】前面的“+”,屏幕窗口如图12所示,接着是在编辑窗口中编写程序:

图12.编写程序

12.编写好程序就要进行程序的编译,单击工具栏上的

进行编译,在编译过程中如果出现错误,修改程序直到没有错误为止,然后在依次点击

,在此过程中出现错误的,也要修改程序直到没有错误为止,编译过程中出现警告一般可以不必考虑,但特殊时也要通过修改程序消除警告。

13.把文件转化成十六进制文件,点击【Project】在下拉菜单里找到【OptionsforTarget‘target1】’,如图13所示单击【OptionsforTarget‘target1’】会弹出下面的对话框:

图13.转换文件

14.在Eprom和Ram后面的框中填入相应的数据(也可以不进行填写),然后单击Output选项出现如图14所示界面:

图14.更改数据

15.用鼠标左键单击CreatHEXFi:

前面的方框,这时方框里会用一个对号如图15:

图15.输出HEX文件

然后点击确定对话框就会消失,这样刚刚所建立的文件就转化成十六进制的文件。

16.用40针排线把DP-51PRO试验仪(如图16)上的A1区的P1.0-P1.5分别与LED1-LED6连接起来:

图16.DP-51PRO试验仪

17.对DP-51PRO试验仪上电。

打开DPFlash软件出现如图17界面:

图17.打开DPFlash

18.点击栏中的【文件】在下拉菜单里找到【装载】,如图18所示:

图18.装载文件

或者直接点击工具栏里图标

,点击后会弹出图19所示的对话框:

图19.装载HEX文件

19.找到刚刚所建立的文件,点击后按打开按钮对话框就会消失。

然后单击

会弹出图20所示的对话框:

图20.开始编程

20.单击编程后,软件开始把程序烧入试验仪,烧片的过程如图21:

图21.编程过程

当烧片完成后,点击退出就行了。

21.关闭DPFalsh软件。

把DP-51PRO单片机仿真试验仪A1区的工作模式选择开关(MOD_sw1)切换到RUN处,然后按一下复位键(RST),MON51程序即开始运行。

观察实验运行的情况是不是符合设想,实验现象设想为灯L1、L5亮30s后熄灭;接着L3、L6亮,闪烁三次(1秒/次)后熄灭;接着L2、L4亮30s后熄灭;接着L3、L6亮,闪烁三次(1秒/次)后熄灭;接下来又是L1、L5亮30s后熄灭,如此循环,直到停止工作。

但是如果不符合,对程序进行调试直到符合。

九.调试过程中出现的问题及相应解决办法

1.程序调试出错。

原因为程序编写错误,经过多次调试后解决此问题。

2.DPflash烧制过程出错。

原因为出现通信错误,无法烧制进试验箱芯片,可能是机箱老化或连线接触不良。

经过多次更换试验机箱,终于将试验顺利进行到底。

十.设计心得

流溪:

我了解到团队的力量,我意识到了知识的乐趣性,并感觉到当知识运用于实践的时候是一件多么幸福的事情。

从此激发我的学习热情。

此次课程设计使自己又有种投身雨学海中的欲望,自己想在科学的潮流里去争夺属于自己的位置。

钱升:

课程设计使我们进一步熟悉和掌握了单片机的部结构和工作原理,了解了单片机应用系统设计的基本方法和步骤。

此次设计很好的将书本上的理论知识和实践有机的联系了起来,是我们对理论知识有了更进一步的掌握,锻炼了我们的动手能力。

毛运鹏:

更加深刻的体会到理论联系实际的重要性,同时我也发现自己的知识功底还远远不够。

平时不仅要将知识点理解掌握,还得勤动手做实验。

当然团队分工合作也让我们更加自勉、奋进。

十一.源程序

/*********************************************************************/

本程序实现目标:

按照时间控制原则,利用并行接口和定时器,采用时间中断方式设计一套十字路口的交通灯管理系统,通行时间(或禁止时间)30秒,准备时间3秒,在准备时间里黄灯闪烁3次,闪烁频率为0.5秒,周而复始。

/*********************************************************************/

#include

#defineucharunsignedchar

#defineuintunsignedint

ucharnum,num1;//定义变量

sbitL1=P1^0;//L1红灯(东西向)

sbitL2=P1^1;//L2绿灯(东西向)

sbitL3=P1^2;//L3黄灯(东西向)

sbitL4=P1^3;//L4红灯(南北向)

sbitL5=P1^4;//L5绿灯(南北向)

sbitL6=P1^5;//L6黄灯(南北向)

voidmain()

{

TMOD=0x01;//设置定时器0为工作方式1

TH0=(65536-45872)/256;//装初值11.0592M晶振定时50ms数为45872

TL0=(65536-45872)%256;

EA=1;//开总中断

ET0=1;

TR0=1;//开定时器0中断

L1=0;//开始S1状态

L5=0;

while

(1)

{

if(num==10)//num用于定时器0的计数,每50ms计1次,10次为0.5s

{

num=0;//每0.5s清零一次

num1++;//每0.5s加1,即每记一次时间为0.5s

}

if(num1==54)//num1计54次时间为27s,表明27s时间到,进入S2状态

{

L5=1;//L5南北向绿灯亮27s后熄灭

L6=0;//L6南北向黄灯置亮

}

if((num1>54)&&(num1<60))//54

{

if(num1%1==0){L3=~L3;}//每隔0.5s黄灯状态取反,实现黄灯以0.5s频率闪烁

}

if(num1==60)//num1=60对应时间30s到了,进入S3状态

{

L6=1;//黄灯熄灭

L2=0;//L2东西向绿灯置亮

L4=0;//L4南北向红灯置亮

}

if(num1==114)//对应时间57s到了,进入S4状态

{

L3=0;//黄灯置亮

L2=1;//L2东西向绿灯熄灭

}

if((num1>114)&&(num1<120))//对应时间57s到60s之间

{

if(num1%1==0){L6=~L6;}//实现黄灯以0.5s频率闪烁

}

if(num1==120)//60s时间到了,进入S1状态

{

L3=1;//熄灭黄灯,并将东西向红灯和南北向绿灯置亮,num1置0,开始下一个循环

L1=0;

L5=0;

num1=0;

}

}

}

voidT0_time()interrupt1

{

TH0=(65536-45872)/256;

TL0=(65536-45872)%256;

num++;

}

参考文献

1.GB14887-2003,道路交通信号灯[S].1998

2.宴如.模拟电子技术[M].:

高等教育.2004:

121-134

3.广弟.单片机基础[M].:

航空航天.2001:

45-47

4.何立民.单片机应用选编[M].:

电子科技大学.1998:

52-57

5.黄智伟.全国大学生电子设计竞训练教程[M].电子工业.2004.11.

6.蔡伟智.自动调光LED交通信号灯[J].国际光电与显示.2003.33(4):

62-67

7.勋.单片机实用教程[M].:

航空航天大学,2005.05.

8.段晨东.单片机原理及接口技术[M].:

清华大学,2008.07.

9.谢自美.电子线路设计实验测试[M].:

华中理工大学,1992:

62-64.

10.查振亚,叶向阳.智能交通灯控制系统[J].华中理工大学学报,1997,25

(2):

63-65

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

当前位置:首页 > 成人教育 > 专升本

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1