交通红绿灯模拟系统设计.doc

上传人:飞*** 文档编号:30651427 上传时间:2018-01-31 格式:DOC 页数:18 大小:411.50KB
返回 下载 相关 举报
交通红绿灯模拟系统设计.doc_第1页
第1页 / 共18页
交通红绿灯模拟系统设计.doc_第2页
第2页 / 共18页
交通红绿灯模拟系统设计.doc_第3页
第3页 / 共18页
交通红绿灯模拟系统设计.doc_第4页
第4页 / 共18页
交通红绿灯模拟系统设计.doc_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《交通红绿灯模拟系统设计.doc》由会员分享,可在线阅读,更多相关《交通红绿灯模拟系统设计.doc(18页珍藏版)》请在金锄头文库上搜索。

1、1东莞理工学院城市学院单片机课程设计报告题目: 交通红绿灯模拟系统设计 班级: 08 级电子信息工程 学生姓名: 学号: 指导老师: 日期: 2摘 要近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。交通信号灯控制方式很多。本系统采用可编程并行 I/O 接口芯片 89C51 为中心器件来设计交通灯控

2、制器,红绿灯循环点亮,倒计时剩 5 秒时黄灯闪烁警示(交通灯信号通过 PA 口输出,显示时间直接通过 8255 的 PC 口输出至双位数码管) ;遇到紧急情况需要转换交通灯状态的可以通过强制将交通灯进行状态切换!本系统实用性强、操作简单、扩展功能强。 关键词:单片机 交通灯 紧急通行 3目 录一、设计的任务与要求 41.1 设计任务 41.2 设计要求 41.3 设计方案 4二、硬件电路设计 62.1 单片机最小系统 62.2 电源电路设计 62.3 数码管显示电路 62.4 元件清单列表 7三、软件设计流程及描述 83.1 主程序设计 8四、设计调试过程 84.1 Keil 编程仿真84.2

3、 软件调试 94.3 系统功能调试 9五、源程序代码 10六、收获体会 16七、参考文献 174 一、设计任务与要求1.1 设计任务个十字路口交通灯控制器。用单片机控制LED灯模拟指示。模拟东西方向的十字路口交通信号控制情况。东西向通行时间为25s,南北向通行时间为30s,缓冲时间为5s。 ,模拟交通灯管理。在一个交通十字路口有一条主干道(南北方向) ,一条从干道(东西方向) ,主干道的通行时间比从干道通行时间长,四个路口安装红,黄,绿,灯各一盏;南北东西图1-11.2 设计要求1、设计一个十字路口的交通灯控制电路,要求东西方向(主干道)车道和南北方向(从干道)车道两条交叉道路上的车辆交替运行

4、,时间可设置修改。2、在绿灯转为红灯时,要求黄灯闪烁,才能变换运行车道3、黄灯亮时,要求每秒闪亮一次。1.3 设计方案本课程设计是基于AT89C51设计的红绿交通灯。用AT89C51与电阻、电容、开关等组成单片机的最小系统,AT89C51单片机的P1口驱动其中三个作为驱动端口驱动红绿交通灯亮与灭。P1口是单纯的通用 8位准双向I/O端口,每位可驱动4个TTL负载。作为通用I/O端口,与 P0端口的区别在于内部具有上拉电阻,所以输出时不用外接上拉电阻。5根据设计的要求可知,系统的硬件原理框图如下图1-2所示。单片机键 盘L E D 显 示三 色 指 示 灯图 1-2系统硬件框图单片机可选用AT8

5、9C51,它与8051系列单片机全兼容,但其内部带有4KB的FLASH ROM,设计时无需外接程序存储器,为设计和调试带来极大的方便。南北向和东西向各采用2个数码管计时,同时需要对该方向的指示灯的点亮时间进行倒计时。键盘系统可以根据系统的需要设置不同的键的个数,可以选择线式键盘或矩阵式键盘,若单片机的IO口不够用时,可以考虑扩展8255或8155满足系统的要求。2. 软件方案 根据设计要求,程序框图如图1所示。软件可由汇编语言完成,也可由C语言完成。软件设计可以分为以下几个功能模块:主程序:初始化及键盘监控。计时程序模块:为定时器的中断服务子程序,完成0.1秒(或其他时间)和1秒的时间定时。

6、显示程序模块:完成12个发光二极管和2个LED数码管的显示驱动。图1-3程序流程图开始初始化判断当前状态调用正常运行子程序调用紧急状态子程序6 二、硬件电路设计2.1 单片机的最小系统ATMEL 公司生产的 AT89C51 单片机它是硬件电路的核心部分,时钟电路晶振使用 12MHz,复位电路采取按键复位方式。具体连接图 2.1 和图 2.2图 2-1 单片机系统的时钟电路2.2 电源电路设计电源用 5V 直流变压器直接供电。图 2-22.3 数码管显示电路显示电路采用 2 个共阴数码管,P1 口作为数码管的输入。 图 2-3 数码管显示电路72.4 元件清单列表本次实验用 preteus 仿真

7、,生成的原件清单如下表 2-1Bill Of Materials For .DSN Design Title : .DSNAuthor : Revision : Design Created : 20081211Design Last Modified : 2011620Total Parts In Design : 162 CapacitorsQuantity: References Value Order Code2 C1, C2 33pF Farnell 498-5551 Integrated CircuitsQuantity: References Value Order Code1

8、U1 AT89C51 12 DiodesQuantity: References Value Order Code4 D1, D4, D7, D10LED-RED 4 D2, D5, D8, D11LED-YELLOW 4 D3, D6, D9, D12LED-GREEN 1 MiscellaneousQuantity: References Value Order Code1 X1 CRYSTAL 8 三、软件设计流程及描述 3.1 主程序设计3-1 系统程序流程图 四、设计调试过程4.1 Keil 编程仿真根据设计系统流程图,用 C 语言把程序所要达到的功能描述出来,经过编译无误后再和 P

9、reteus 联调。开始参数初始化显示子程序中断处理紧急中断子程序94-1 Keil 编译仿真图4.2 软件调试软件调试主要是利用 proteus 仿真软件完成电路的搭建,运行以发现设计中的错误及时改正。把电路图画完以后双击芯片 89C51,在弹出的对话框(如图 4-2所示)中,点击 ,然后选择刚刚用 Keil 编译时产生的 HEX 文件,最后单击运行就可以看到系统的运行情况了(如下图 4-2)。图 4-2系统模拟仿真图如下:图 4-34.3 系统功能调试通过软件仿真显示,系统基本能完成要求,由于设计思路出现问题,键盘没有10正确的做出来,没有键盘电路,紧急情况也可以通过一个按钮来采取相关的动

10、作。下图是摁下南北紧急通行按钮后电路显示情况:图 4-4可以看出此时电路处于紧急状态,只允许南北通行! 五、源程序代码 *第一个状态:主干道、支干道均亮红灯 5S *第二个状态:主干道亮绿灯 27S、支干道亮红灯 *第三个状态:主干道黄灯闪烁、支干道红灯闪烁 *第四个状态:主干道亮红灯、支干道亮绿灯 22S *第五个状态:主干道红灯闪烁、支干道黄灯闪烁 *返回到第二个状态 *其中外部中断 INTO、INT1 分别控制主、支干道亮绿灯 */* 11.0592MHz 晶振*/#include/头文件#include/头文件#define uchar unsigned char/宏定义#define

11、 uint unsigned int/宏定义sbit RED_ZHU = P10;sbit YELLOW_ZHU = P11;sbit GREEN_ZHU = P12;sbit RED_ZHI = P13;sbit YELLOW_ZHI = P14;sbit GREEN_ZHI = P15; uint aa, bai,shi,ge,bb;/*数码管显示 0-9*/uint code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/*子函数声明*/void delay(uint z);void delay0(uint z);11v

12、oid display(uint ge,uint shi);void xtimer0();void check();void init1();void init2();void init3();void init4();void init5();void xint0();void xint1();void GREEN_ZHU_ON();void GREEN_ZHI_ON();/*主函数*/void main()EA=1;/开中断EX0=1;/允许外部中断 INT0 中断IT0=0;/定义 INT0 触发方式PX0=1;/中断优先级高EX1=1;/允许外部中断 INT1 中断IT1=0;/定义

13、INT1 触发方式PX1=1;/中断优先级高check();/开机自检init1();/第 1 个状态while(1)init2();/第 2 个状态init3();/第 3 个状态init4();/第 4 个状态init5();/第 5 个状态void init1()/第一个状态:主干道、支干道均亮红灯 5S int temp;temp=6;/变量赋初值TMOD=0x01;/定时器 T0 工作于方式 1TH0=0x4c;TL0=0x00;/定时器赋初值EA=1;/开中断ET0=1;/开定时中断TR0=1;/开定时器 T012while(1)RED_ZHU=0; RED_ZHI=0;GREEN_ZHU=1;GREEN_

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号