交通灯模拟控制系统

更新时间:2023-11-09 22:55:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

课程设计说明书

课程设计名称: 专业课程设计

课程设计题目: 交通灯模拟控制系统

学 院 名 称: 信息工程学院

专业: 电子信息工程 班级: 110413

学号: 11041327 姓名: 王争盛

评分: 教师: 陶秋香

20 14 年 6 月 27 日

电子信息工程专业 课程设计任务书

20 13 -20 14学年第 2 学期分散1周 第 17 周- 19 周集中

题目 交通灯模拟控制系统 内容及要求 1.用单片机扩展一片8255,用12个发光二极管模拟一个十字交叉路口的红、绿、黄灯,并设置二个紧急放行按键; 2.正常行驶时,东西或南北方向的灯按绿灯亮10秒,黄灯闪烁3秒,红灯亮12秒控制; 3.当东西或南北方向的紧急放行按键按下时,如果禁行方向为红灯,则红灯继续维持12秒;如果禁行方向为绿灯,则立即变为黄灯闪烁3秒;如果禁行方向为黄灯,则黄灯继续维持。 进度安排 1. 分散1周:布置任务、查阅资料、选择方案。 注意:学生的设计方案需经指导老师检查通过后方可进实验室进行制作。 2. 第17周:模块训练,软件设计及调试。 3. 第18周-第19周:领元器件、制作、焊接、硬件调试、软硬件调试调试、验收及测试并上交报告。 学生姓名:王争盛,徐淑艳 指导时间 分散1周,集中指导:2014.6.9-6.27 任务下达 考核方式 指导教师 2014 年 5 月 21日 任务完成 指导地点:E 楼 505室 2014 年 6 月 27日 1.评阅 □ 2.答辩 □ 3.实际操作□ 4.其它□ 陶秋香 系(部)主任 贾杰 注:1、此表一组一表二份,课程设计小组组长一份;任课教师授课时自带一份备查。

2、课程设计结束后与“课程设计小结”、“学生成绩单”一并交院教务存档。

摘要

随着计算机科学技术的不断发展,单片微型机得到了广泛的应用,是人们利用计算机设计和开发各种应用系统的基础。同时单片机接口技术也是一门实践性

制的设计目的。

交通灯是交通安全的关键,已广泛应用于城乡的十字路口,它的有无作为交通安全检查的重要依据,是交通秩序正常进行的有力保障。

本次的交通灯控制系统主要由单片机结合8255A并行口等芯片组成。整个课程设计使用单片机的P1口和P0口扩张端口至8255

8255的PA口和PB口实现交通灯的并由开关K1、K2实现东西、南北方向的紧急放行。这个系统看上去比较简单,但它运用了单片机的定时功能、IO口的扩展功能以及对8255A的熟悉运用。

8255A、紧急情况、定时

目录

第一章 设计内容及要求.................................... 1 第二章 系统组成及工作原理 ............................... 2

2.1 AT89C52的工作原理.......................................... 2 2.2 8255的工作原理............................................. 4

2.2.1 8255特性 ............................................. 4 2.2.2 8255A的工作方式 ...................................... 4 2.2.3 引脚信号.............................................. 4 2.3 发光二极管 .................................................. 6 2.4 紧急放行按键 ............................................... 6 2.5 74ALS573 ................................................... 6

第三章 硬件电路方案设计 .................................. 7

3.1 方案选择 ................................................... 7 3.2 交通灯各部分功能分析及各逻辑器件描述 ....................... 8

3.2.1 单片机输入输出引脚.................................... 8 3.2.2 时钟定时控制部件...................................... 9 3.2.3 LED数字显示电路 ..................................... 10 3.2.4 复位电路............................................. 11 3.2.5 红黄绿灯显示电路..................................... 12 3.2.6 扩展并行I/O口8255 .................................. 12 3.2.7 74ALS573芯片简介 .................................... 13 3.2.8 紧急情况............................................. 14 3.3 电路参数分析 .............................................. 15

第四章 软件设计 ....................................... 16

4.1 主程序流程图 ............................................... 16 4.2子程序流程图................................................ 17 4.3 程序详细设计 ............................................... 21

4.3.1 初始化定时器程序...................................... 21 4.3.2 中断程序.............................................. 21 4.3.3 红绿灯控制程序....................................... 21 4.3.4 延时程序.............................................. 23

第五章 调试与测试结果分析 .............................. 24

5.1 硬件和软件的测试 .......................................... 24 5.2 调试过程中遇到的问题 ...................................... 24 5.3 实验结果分析 .............................................. 24

结论 ................................................... 25 参考文献 ............................................... 26 附录 ................................................... 27

附录一 ......................................................... 27 附录二 ......................................................... 33 附录三 ......................................................... 34

第一章 设计内容及要求

(1)用单片机扩展一片8255,用12 个发光二极管模拟一个十字交叉路红、绿、黄灯,并设置二个紧急放行按键。

(2)正常行驶时,东西或南北方向的灯按绿灯亮10 秒,黄灯闪烁3 秒,红灯亮12秒控制。

(3)当东西或南北方向的紧急放行按键按下时,如果禁行方向为红灯,则红灯继续维持12 秒;如果禁行方向为绿灯,则立即变为黄灯闪烁3 秒;如果禁行方向为黄灯,则黄灯继续维持。

1

第二章 系统组成及工作原理

2.1 AT89C52的工作原理

89C52是INTEL公司MCS-51系列单片机中基本的产品,它采用INTEL公司可靠的CHMOS工艺技术制造的高性能8位单片机,基于标准的MCS-51单片机体系结构和指令系统,集成了时钟输出和向上或向下计数器等更多的功能。89C52内置8位中央处理单元、256字节内部数据存储器RAM、8K片内程序存储器(ROM)32个双向输入/输出(I/O)口、3个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。此外,89C52还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。在空闲模式下冻结CPU而RAM定时器、串行口和中断系统维持其功能。掉电模式下,保存RAM数据,时钟振荡停止,同时停止芯片内其它功能。

下面介绍89C52各管脚图及各引脚的功能与连接方法:

89C52各管脚图

VCC:供电电压。 GND:接地。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,

2

它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口作为AT89C51的一些特殊功能口,管脚备选功能

P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)

P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通) RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。

/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA / VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

3

XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。

2.2 8255的工作原理

2.2.1 8255特性

(1)一个并行输入/输出的LSI芯片,多功能的I/O器件,可作为CPU总线与外围的接口。

2)具有24个可编程设置的I/O口,即使3组8位的I/O口为PA口,PB口和PC口.它们又可分为两组12位的I/O口,A组包括A口及C口(高4位,PC4~PC7),B组包括B口及C口(低4位,PC0~PC3).A组可设置为基本的I/O口,闪控(STROBE)的I/O闪控式,双向I/O3种模式;B组只能设置为基本I/O或闪控式I/O两种模式,而这些操作模式完全由控制寄存器的控制字决定。 2.2.2 8255A的工作方式

方式0---基本输入输出方式; 方式1---选通输入输出方式; 方式2---双向选通输入输出方式。 2.2.3 引脚信号

8255A的引脚如图2.1所示,分为数据线、地址线、读/写控制线、输入/输出端口线和电源线。

4

图2.1 8255管脚图

RESET:复位输入线,当该输入端外于高电平时,所有内部寄存器均被清除,所有I/O口均被置成输入方式。

CS:芯片选择信号线,当这个输入引脚为低电平时,即/CS=0时,表示芯片被选中,允许8255与CPU进行通讯;/CS=1时,8255无法与CPU做数据传输.

RD:读信号线,当这个输入引脚为低电平时,即/RD=0且/CS=0时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。

WR:写入信号,当这个输入引脚为低电平时,即/WR=0且/CS=0时,允许CPU将数据或控制字写入8255。

D0~D7:三态双向数据总线,8255与CPU数据传送的通道,当CPU 执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。

PA0~PA7:端口A输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入锁存器。

PB0~PB7:端口B输入输出线,一个8位的I/O锁存器, 一个8位的输入输出缓冲器。

PC0~PC7:端口C输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入缓冲器。端口C可以通过工作方式设定而分成2个4位的端口, 每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。

A0,A1:地址选择线,用来选择8255的PA口,PB口,PC口和控制寄存器。 当A0=0,A1=0时,PA口被选择; 当A0=0,A1=1时,PB口被选择;

5

第四章 软件设计

软件在硬件平台上构筑,完成各部分硬件的控制和协调。系统功能是由硬件和软件共同实现的,由于软件的可伸缩性,最终实现的系统功能可强可弱,差别可能很大。因此,软件是本系统的灵魂。软件采用模块化设计方法,不仅易于编程和调试,也可减小软件故障率和提高软件的可靠性。同时,对软件进行全面测试也是检验错误排除故障的重要手段。

4.1 主程序流程图

软件总体设计主要完成各部分的软件控制和协调。本系统主程序模块主要完成的工作是对系统的初始化,等待外部中断,发送显示数据,以及根据所需要的功能进行相应的操作。其主流程图如图4-1所示。

开始

调用LP2子程序 调用LP1子程序 查表计数器R0置为0 8255初始化 查表计数器R0置为0 图4-1 程序主流程图

16

4.2子程序流程图

主程序中共调用了两个子程序,分别为LP1和LP2,其中LP1子程序为东西方向绿灯亮9s+黄灯闪烁3s,南北方向红灯亮12s禁止通行,LP2子程序则恰好和LP1子程序功能相反,为南北方向绿灯亮9s+黄灯闪烁3s,东西方向红灯亮12s禁止通行。下面结合LP1和LP2画出两个子程序的流程图,如图4-2和图4-3所示。

17

开始 是 K1键是否按下 调用K1子程序 R2=0 否 K2键是否按下 调用K2子程序 R2=0 是 是 否 R0内容送入A 标志A 查表TAB1 否,转至标志B处 查表结果代表东西方向亮灯状态,送入P1口 南北方向置为红灯状态 否 调用XS显示子程序 数码管显示倒计时 R0自加1 R0=12 是 返回

图4-2 子程序LP1流程图

18

开始 是 K1键是否按下 调用K1子程序 R2=0 否 K2键是否按下 调用K2子程序 R2=0 否 否 否 R0内容送入A 标志B 查表TAB1 是,转至标志A处 查表结果代表南北方向亮灯状态,送入P1口 东西方向置为红灯状态 否 调用XS显示子程序 数码管显示倒计时 R0自加1 R0=12 是 返回

图4-3 子程序LP2流程图

19

图4-2和图4-3两个流程图中都调用了K1和K2子程序,这个两个程序为紧急放行事件处理程序,用于判断急行键按下后禁行方向的交通等状态;XS显示子程序为数码管显示倒计时程序,动态显示。其流程图如图4-4所示。 否 是 否 结 束 R4减1=0 延时1.5ms 显示倒计时个位 选中南北方向倒计时 显示个位的数码管 R1=0 延时1.5ms 显示倒计时十位 R4赋值为250 开始 是 R1=0 选中南北方向倒计时 显示十位的数码管 选中东西方向倒计时 显示十位的数码管 选中东西方向倒计时 显示个位的数码管

图4-4 XS显示子程序流程图

20

本文来源:https://www.bwwdw.com/article/dj9v.html

Top