单片机课程设计 交通灯.doc
《单片机课程设计 交通灯.doc》由会员分享,可在线阅读,更多相关《单片机课程设计 交通灯.doc(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、课程设计说明书(2010 /2011 学年第 一 学期)课程名称 : 单片机原理及应用 题 目 : 交通灯系统 专业班级 : 07应物一班 学生姓名 : 王轲 学 号: 指导教师 : 崔继馨 设计周数 : 两周 设计成绩 : 2010年12月17日 一、课程设计目的:(1)掌握单片机的接口技术及相关外围芯片的外特性,控制方法。(2)通过课程设计,掌握以单片机核心的电路设计的基本方法和技术。(3)通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。(4)与模拟电子技术,数字电子技术等课程相结合,进一步熟悉和掌握单片机的结构及工作原理,为以后所学的后续课程打下良好的基础。(5)通过完成一
2、个包括电路设计和程序开发的完整过程,使学生了解开发一单片机应用系统的全过程,为今后从事相应打下基础。二原始数据及主要任务:按照单片机原理及应用课程设计大纲的要求,在熟练掌握89C52RC处理器开发基础上进行交通灯系统硬件电路的设计、仿真、焊接和测试;并能熟练运用KeilC开发环境完成软件程序设计,制作一套完整的交通灯系统。三、技术要求:本系统模拟真实的交通环境,实现交通控制,用数码管显示红绿灯时间,用发光二极管模拟红绿灯,同时设置按键使红绿灯时间可动态调整;另外,系统外扩接口,用于输入输出新技术带来的更加智能的交通信息,实现交通信息智能化控制。具体要求如下:(1)可以在数码管上显示红绿灯等待时
3、间。(2)每一秒钟,等待时间自动减1;时间归零后,红绿灯颜色自动切换。(3)通过键盘可动态修改红绿灯时间。(4)应用Proteus7进行硬件电路方案设计及仿真;最终完成硬件焊接和测试。(5)利用Keil C开发环境完成软件设计,下载后调试运行。四 课程设计正文交通灯系统近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时也带动着传统控制的日新月异更新。在自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这
4、井然秩序呢?靠的是交通信号灯的自动指挥系统。交通信号灯控制方式很多。本系统采用MSC-51系列单片机AT89C51为中心器件来设计交通灯控制器,实现了能根据实际车流量通过单片机芯片的P1口设置红、绿灯燃亮时间的功能;显示时间直接通过单片机的P0、P2口输出,系统实用性强、操作简单、扩展性强。软件方面系统分析 本设计的主要任务为设计一个以AT89C51单片机为核心的最小应用系统,实现有时间显示的定时交通信号灯控制。要求:(1) A道放行:绿灯放行40秒,同时B道红灯亮60秒。(2) 左转:A道左转绿灯20秒,同时B道红灯继续亮20秒。(3) B道放行:B道绿灯亮40秒,同时A道红灯亮60秒。(4
5、) 左转:B道左转绿灯20秒,同时A道红灯继续亮20秒。十字路口的两组红绿交通灯受MCS-51单片机I/O口的控制,试验时皆由发光二极管替代,紧急车请求通过的信号由人工控制,以中断方式输入单片机,即正常模式转入到正常、繁忙或特殊模式。正常模式:系统工作时,按照任务分析的状态循环进行,同时进行倒计时显示作为时间提示,使人们能够直观地把握时间。繁忙模式:当车辆较多,通过人工控制开关发出信号使交通灯处于繁忙模式,当交通信号灯处于繁忙模式下时,调整红绿灯循环时间为45秒,汽车快速通过。特殊模式:当车辆较少,通过人工控制开关发出信号使交通灯处于特殊模式,当交通信号灯处于特殊模式下时,调整红绿灯循环时间为
6、75秒,汽车依次通行。也可以在4099秒之间自定义红绿灯的循环时间。系统设计开始系统初始化设置时间初值初值送缓冲单元初值减到“0”?返回图1 主程序流程调用显示子程序初值自减拆分程序YN系统实施及程序/* 十字路口交通灯控制 C 程序/*主程序开始*/voidmain(void) Busy_LED=0;Special_LED=0;IT0=1;/INT0负跳变触发 TMOD=0x01;/定时器工作于方式1TH0=0x3c;/定时器赋初值TL0=0x0b0;EA=1; /CPU开中断总允许ET0=1;/开定时中断EX0=1;/开外部INTO中断 TR0=1;/启动定时 while(1)/*S0状态
7、*/EW_ManGreen=0;/EW人行道禁止 SN_ManGreen=1;/SN人行道通行 Flag_EW_Yellow=0; /EW关黄灯显示信号Time_EW=EW;Time_SN=SN;while(Time_SN=5) P1=S0; /SN通行,EW红灯 Display(); SN_ManGreen=!SN_ManGreen;/SN人行道禁止/*S1状态*/ P1=0x00;while(Time_SN=0) Flag_SN_Yellow=1; /SN开黄灯信号位 P1=S1; Display();/*S2状态*/ Flag_SN_Yellow=0; /SN关黄灯显示信号Time_SN
8、=SNL; while(Time_SN=5)P1=S2;/SN左拐绿灯亮,EW红灯 Display(); /*S3状态*/P1=0x00;while(Time_SN=0) Flag_SN_Yellow=1;/SN开黄灯信号位P1=S3; Display(); /*赋值*/EW=EW1;SN=SN1;EWL=EWL1;SNL=SNL1;/*S4状态*/ Flag_SN_Yellow=0; /SN关黄灯显示信号Time_EW=SN;Time_SN=EW; EW_ManGreen=!EW_ManGreen;/EW人行道通行 while(Time_EW=5) P1=S4; /EW通行,SN红灯 Dis
9、play();EW_ManGreen=!EW_ManGreen;/EW人行道通行/*S5状态*/P1=0X00;while(Time_EW=0) Flag_EW_Yellow=1;/EW开黄灯信号位P1=S5; Display();/*S6状态*/Flag_EW_Yellow=0; /EW关黄灯显示信号Time_EW=EWL;while(Time_EW=5)P1=S6;/EW左拐绿灯亮,SN红灯 Display();/*S7状态*/P1=0X00;while(Time_EW=0) Flag_EW_Yellow=1; /EN开黄灯信号位 P1=S7; Display(); Flag_EW_Yel
10、low=0; /EW关黄灯显示信号 EW_ManGreen=!EW_ManGreen;/EW人行道通行 /*赋值*/ EW=EW1;SN=SN1;EWL=EWL1;SNL=SNL1;硬件方面系统方框图控制部分电 源 AT89C51 信号灯时间显示部分震 荡部 分复 位电 路信号灯图2 系统方框图80C51简介80C51单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:中央处理器:中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数
11、据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。数据存储器(RAM):8051内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。程序存储器(ROM):8051共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。定时/计数器(ROM):8051有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。并行输入输出(I/O)口:80C
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机课程设计 交通灯 单片机 课程设计
限制150内