基于51单片机的交通信号灯模拟控制系统设计.docx
- 文档编号:29142436
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:38
- 大小:560.55KB
基于51单片机的交通信号灯模拟控制系统设计.docx
《基于51单片机的交通信号灯模拟控制系统设计.docx》由会员分享,可在线阅读,更多相关《基于51单片机的交通信号灯模拟控制系统设计.docx(38页珍藏版)》请在冰豆网上搜索。
基于51单片机的交通信号灯模拟控制系统设计
XXXX学院
毕业设计(论文)
课题名称交通信号灯模拟控制系统
学生姓名XXX
学号XXXXXXXXXXXXX
系别自动化工程系
专业班级机电一体化X班
指导教师XX
技术职务讲师
XXXXXX学院教务处制
XXXXX学院毕业设计(论文)任务书
学生姓名
XXX
学号
XXXXXXXXXXX
指导教师
XXX
技术职务
讲师
课题名称
基于51单片机设计交通信号灯模拟控制系统
课
题
内
容
用51单片机设计一个十字路口的红、绿、黄交通信号灯控制系统,要求如下:
1、用红、绿、黄三色发光二极管作信号灯。
只考虑一条道路相对的两个方向,每个方向有红、绿、黄三个灯。
红灯亮禁止通行,绿灯亮允许通行,每隔30秒红绿灯交替变化。
在每次由绿灯亮变成红灯亮或者由红灯亮变成绿灯亮的交替变化转换时要求黄灯闪烁5秒,给行驶中的车辆有时间停靠到禁行线之外;
2、能实现正常的计时显示功能。
用倒计时方法显示红灯、绿灯、黄灯还需亮的时间;
3、能实现控制器总清零功能。
按下某个键后,系统实现总清零,计数器由初始状态开始计数,对应状态的指示灯亮。
相
关
要
求
1)有完整的硬件检测电路
2)有必要的程序流程图与单片机系统设计
3)上位机程序的编写或规划
4)要求格式正确,模块完整
进
度
安
排
第五学期
第2周
学生完成设计开题报告
第五学期
第3-5周
学生完成毕业设计初稿,指导教师给予修改建议。
第五学期
第6--16周
学生全部完成毕业设计,并上交给指导教师。
第六学期
第4周指导教师完成毕业设计(论文)评阅,
指导教师完成毕业设计评阅,
第六学期
7-11周
各系对毕业设计进行抽答辩和评定成绩。
并将最后评定的成绩登录上网。
指导教师:
XXX2016年9月5日
XXXXX学院毕业设计(论文)开题报告
学生姓名
XXX
学号
XXXXXXXXXXX
系别
自动化工程系
专业班级
机电一体化技术X班
指导教师
XXX
技术职务
讲师
课题名称
基于51单片机设计交通信号灯模拟控制系统
阅读中外文献资料情况
[1]李亚伯等编著,数字电路与系统,北京:
电子工业出版社,2001年6月出版130-150
[2]李双庆等编著,常用半导体器件简明手册,北京:
电子工业出版社,1989年6月出版53-84
[3]徐建仁主编,数字集成电路应用与实验,长沙:
国防科技大学出版社,1990年2月出版,66-123
[4]郝鸿安编著,常用数字集成电路应用手册,北京:
中国计量出版社,1987年10月出版,153-197
立题依据及主要内容
在当今电子信息发达的时代,在各界领域都能发现各种单片机控制系统的应用,如:
工厂、火车站、医院......可想而知单片机控制系统的实用性、广泛性,单片机控制系统不仅成本低、体积小、应用简便等优点,而且便于更换。
基于AT89C51单片机的性能参数和工作原理,应用Keil单片机编译软件的C语言编程以及使用该软件开发单片机程序,说明设计的交通信号灯模拟控制系统的工作原理、程序流程和硬件结构等相关技术,指出该系统的特点。
设计方案或论文提纲
设计一种基于AT89C51超低功耗单片机的交通信号灯模拟控制系统,详细阐明交通信号灯模拟控制系统的工作原理,实现了一般交通信号灯控制系统的主要功能及要求,具有实用性。
而以一般情况下的交叉十字路口的交通情况为背景,设计并介绍一种通用性很强的交通信号灯模拟控制系统,最终完成系统的仿真达到了设计目标。
毕业设计(论文)工作计划
2016年9月份确定选题、9月20号完成初稿、9月30号交给指导老师进行考核修正、10月下旬再将修改设计交给指导老师评定
指导教师审核意见
指导教师签字:
年月日
用51单片机设计交通信号灯模拟控制系统
机电一体化X班XXX指导老师:
XXX
摘要:
城市交通信号灯模拟控制系统模拟了能够对信号灯进行远程投时的城市十字路口控制系统功能。
借助于单片机开发板上的已有资源,构建了模拟实际系统功能的单片机扩N82C55控制LED灯模块、8位七段数码管显示控制模块和板上扩展接线模块。
在分析实际系统工作流程的基础上,给出了针对单片机开发板的模拟系统C51控制程序流程。
用于实际系统时,只需要将代码移植到现场设备并进行具体设置和适当修改即可,可以在满足客户需求的前提下最小化系统开发成本。
交通信号灯模拟控制系统模拟了能够对信号灯进行远程授时的城市十字路口控制系统功能。
基于AT89C51单片机的性能参数和工作原理,应用Keil单片机编译软件的C语言编程以及使用该软件开发单片机程序,说明设计的交通信号灯模拟控制系统的工作原理、程序流程和硬件结构等相关技术,指出该系统的特点。
设计一种基于AT89C51超低功耗单片机的交通信号灯模拟控制系统,详细阐明了交通信号灯模拟控制系统的工作原理,实现了一般交通信号灯控制系统的主要功能及要求,具有实用性。
该系统充分利用了AT89C51单片机的特点,使用现今单片机广泛采用的C语言编制了系统程序,并利用KeiluVision3软件进行编译运行,最终通过Proteus完成了模拟控制系统的仿真。
关键词:
AT89C51单片机Keil单片机编译软件仿真软件Proteus6C语言交通灯
XXXXX学院毕业设计(论文)指导记录表
学生姓名
XXX
学号
XXXXXXXXXXX
系别
自动化工程工程系
专业班级
2014级机电一体化X班
指导教师
XXX
技术职务
讲师
课题名称
基于51单片机设计交通信号灯模拟控制系统
第一次
指导情况
指导教师签字:
年月日
第二次
指导情况
指导教师签字:
年月日
注:
指导情况须填明学生在毕业设计(论文)撰写过程中存在的问题,指导教师要求修改的内容或改进措施。
指导情况填写不包括下达任务书和开题报告意见。
XXXXX学院毕业设计(论文)初评成绩表
学生姓名
XXX
学号
XXXXXXXXXXX
系别
自动化工程系
专业班级
2014级机电一体化X班
指导教师
XXX
技术职务
讲师
课题名称
基于51单片机设计交通信号灯模拟控制系统
指导教
师意见
评语:
指导教师签字:
年月日
初评成绩:
指导教师签字:
年月日
XXXXX学院毕业设计(论文)成绩评定表
学生姓名
XXX
学号
XXXXXXXXXXX
系别
自动化工程系
专业班级
2014级机电一体化X班
指导教师
XXX
技术职务
讲师
课题名称
基于51单片机设计交通信号灯模拟控制系统
评阅
教师
意见
评阅评语:
评阅成绩:
评阅教师签字:
年月日
答辩
小组
意见
答辩评语:
答辩成绩:
答辩小组成员签字:
年月日
系毕业设
计(论文)评审委员会意见
评定成绩
系毕业设计(论文)评审委员会主任签字:
年月日
引言
2005年最新统计数据表明,在中国每5分钟就有一人丧身车轮,每一分钟都会有一人因为交通事故儿伤残。
每年因交通事故所造成的的经济损失达数百亿元。
为了减少交通事故,如今交通红绿灯已经安装在各个交通路口上,已经成为疏导交通车辆最常见和最有效的手段。
但这一技术在19世纪就已出现了。
1858年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。
这是世界上最早的交通信号灯。
1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。
它由红绿两以旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。
1869年1月2日,煤气灯爆炸,使警察受伤,遂被取消。
电气启动的红绿灯出现在美国,这种红绿灯由红绿黄三色圆形的投光器组成,1914年始安装于纽约市5号大街的一座高塔上。
红灯亮表示“停止”,绿灯亮表示“通行”。
1918年,又出现了带控制的红绿灯和红外线红绿灯。
带控制的红绿灯,一种是把压力探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下嗽叭,就使红灯变为绿灯。
红外线红绿灯当行人踏上对压力敏感的路面时,它就能察觉到有人要过马路。
红外光束能把信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故
本文以一般情况下的交叉十字路口的交通情况为背景,设计并介绍一种通用性很强的交通信号灯模拟控制系统,最终完成系统的仿真达到了设计目标。
系统的核心是AT89C51超低功耗单片机,利用Keil软件进行控制程序的开发来对交通信号灯模拟控制系统的模拟及控制。
文中详细阐述了AT89C51单片机的性能参数和工作原理,并介绍了基于Keil单片机编译软件的C语言编程以及使用该软件开发单片机程序的方法,说明了设计的交通信号灯模拟控制系统的工作原理、程序流程和硬件结构等相关技术,指出了该系统的特点。
另外,文中还简单介绍了电子仿真软件Proteus6的特点及使用方法。
1AT89C51单片机的性能参数和工作原理
1.1AT89C51单片机的简要介绍
微控制器是交通信号灯模拟控制系统的核心,它完成对模拟信号的输入接受处理和控制信号的输出控制外部设备的功能。
AT89系列单片机是通用性强、功耗小、使用广泛、性能优良的微处理芯片。
考虑本设计的具体设计要求,选择AT89C51单片机作为控制核心,它是高性能8位微处理芯片,兼容MCS-51,具有4KB的FLASH存储空间,32个全双工可编程I/O口,两个16位的定时器/计数器以及6个中断源等特点,大大的简化了系统设计。
1.1.18051单片机的基本结构
在介绍单片机的内部结构之前,我们先了解下我们现在正在使用的计算机五个组成部分:
运算器:
用于实现算术和逻辑运算。
计算机的运算和处理都在这里进行;
控制器:
是计算机的控制指挥部件,使计算机各部份能自动协调的工作;
存储器:
用于存放程序和数据;(又分为内存储器和外存储器,内存储器就如我们电脑的硬盘,外存储器就如我们的U盘)
输入设备:
用于将程序和数据输入到计算机(例如我们电脑的键盘、扫描仪);
输出设备:
输出设备用于把计算机数据计算或加工的结果以用户需要的形式显示或保存(例如我们的打印机)。
注:
1、通常把运算器和控制器合在一起称为中央处理器(CentralProcessingUnit),简称CPU。
2、通常把外存储器、输入设备和输出设备合在一起称之为计算机的外部设备。
典型系列单片机是由下图所示的器件组成的:
1中央处理器(CPU):
刚刚讲过,需要提醒的是MCS-51的CPU能处理8位二进制数或代码;
2内部数据存储器(RAM):
8051芯片共有256个RAM单元,其中后128单元被专用寄存器占用(稍后我们详解),能作为寄存器供用户使用的只是前128单元,用于存放可读写的数据。
因此通常所说的内部数据存储器就是指前128单元,简称内部RAM。
地址范围为00H~FFH(256B)。
是一个多用多功能数据存储器,有数据存储、通用工作寄存器、堆栈、位地址等空间。
3内部程序存储器(ROM):
在前面也已讲过,8051内部有4KB的ROM,用于存放程序、原始数据或表格。
因此称之为程序存储器,简称内部RAM。
地址范围为0000H~FFFFH(64KB)。
4定时器/计数器
8051共有2个16位的定时器/计数器,以实现定时或计数功能,并以其定时或计数结果对计算机进行控制。
定时时靠内部分频时钟频率计数实现,做计数器时,对P3.4(T0)或P3.5(T1)端口的低电平脉冲计数。
5并行I/O口
MCS-51共有4个8位的I/O口(P0、P1、P2、P3)以实现数据的输入输出。
6串行口
MCS-51有一个全双工的串行口,以实现单片机和其它设备之间的串行数据传送。
该串行口功能较强,既可作为全双工异步通信收发器使用,也可作为移位器使用。
RXD(P3.0)脚为接收端口,TXD(P3.1)脚为发送端口。
7中断控制系统
MCS-51单片机的中断功能较强,以满足不同控制应用的需要。
共有5个中断源,即外中断2个,定时中断2个,串行中断1个,全部中断分为高级和低级共二个优先级别。
8时钟电路
MCS-51芯片的内部有时钟电路,但石英晶体和微调电容需外接。
时钟电路为单片机产生时钟脉冲序列。
系统允许的晶振频率为12MHZ。
1.1.251单片机管脚说明
MCS-51是标准的40引脚双列直插式集成电路芯片,引脚分布请参照----单片机引脚图:
lP0.0~P0.7P0口8位双向口线(在引脚的39~32号端子)。
lP1.0~P1.7P1口8位双向口线(在引脚的1~8号端子)。
lP2.0~P2.7P2口8位双向口线(在引脚的21~28号端子)。
lP3.0~P3.7P2口8位双向口线(在引脚的10~17号端子)。
这4个I/O口具有不完全相同的功能,需要不同等待。
P0口有三个功能:
1、外部扩展存储器时,当做数据总线(如图1中的D0~D7为数据总线接口)
2、外部扩展存储器时,当作地址总线(如图1中的A0~A7为地址总线接口)
3、不扩展时,可做一般的I/O使用,但内部无上拉电阻,作为输入或输出时应在外部接上拉电阻。
P1口只做I/O口使用:
其内部有上拉电阻。
P2口有两个功能:
1、扩展外部存储器时,当作地址总线使用
2、做一般I/O口使用,其内部有上拉电阻;
P3口有两个功能:
除了作为I/O使用外(其内部有上拉电阻),还有一些特殊功能,由特殊寄存器来设置,具体功能请参考我们后面的引脚说明。
有内部EPROM的单片机芯片(例如8751),为写入程序需提供专门的编程脉冲和编程电源,这些信号也是由信号引脚的形式提供的,
即:
编程脉冲:
30脚(ALE/PROG)
编程电压(25V):
31脚(EA/Vpp)。
ALE地址锁存控制信号:
在系统扩展时,ALE用于控制把P0口的输出低8位地址送锁存器锁存起来,以实现低位地址和数据的隔离。
参见图2(8051扩展2KBEEPROM电路,在图中ALE与4LS373锁存器的G相连接,当CPU对外部进行存取时,用以锁住地址的低位地址,即P0口输出。
由于ALE是以晶振六分之一的固定频率输出的正脉冲,当系统中未使用外部存储器时,ALE脚也会有六分之一的固定频率输出,因此可作为外部时钟或外部定时脉冲使用
PSEN外部程序存储器读选通信号:
在读外部ROM时PSEN低电平有效,以实现外部ROM单元的读操作。
1、内部ROM读取时,PSEN不动作;
2、外部ROM读取时,在每个机器周期会动作两次;
3、外部RAM读取时,两个PSEN脉冲被跳过不会输出;
4、外接ROM时,与ROM的OE脚相接。
EA/VPP访问和序存储器控制信号
1、接高电平时:
CPU读取内部程序存储器(ROM)
扩展外部ROM:
当读取内部程序存储器超过0FFFH(8051)1FFFH(8052)时自动读取外部ROM。
2、接低电平时:
CPU读取外部程序存储器(ROM)。
3、8751烧写内部EPROM时,利用此脚输入21V的烧写电压。
RST复位信号:
当输入的信号连续2个机器周期以上高电平时即为有效,用以完成单片机的复位初始化操作。
XTAL1和XTAL2外接晶振引脚。
当使用芯片内部时钟时,此二引脚用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。
VCC:
电源+5V输入
VSS:
GND接地。
1.1.3各端口工作原理讲解
P0端口:
总线I/O端口,双向,三态,数据地址分时复用,该端口除用于数据的输入/输出外,在8031单片机外接程序存储器时,还分时地输出/输入地址/指令。
由Po端口输出的信号无锁存,输入的信息有读端口引脚和读端口锁存器之分。
P0端口8位中的一位结构图见下图:
PO口的结构及工作原理
由上图可见,P0端口由锁存器、输入缓冲器、切换开关与相应控制电路、场效应管驱动电路构成。
在输出状态下,当切换开关MUX向下时,从内部总线来的数据经锁存器反相和场效应管T2反相,输出到端口引脚线上。
此时,场效应管T1关断,因而这种输出方式应为外接上拉电阻的漏极开路式。
当切换开关MUX向上时,一位地址/数据信号分时地输出到端口线上。
此外,由T1、T2的通断组合,形成高电平、低电平与高阻浮动三态的输出。
在输入状态下,从锁存器和从引脚上读来的信号一般是一致的,但也有例外。
例如,当从内部总线输出低电平后,锁存器Q=0,Q=1,场效应管T2开通,端口线呈低电平状态。
此时无论端口线上外接的信号是低电乎还是高电平,从引脚读入单片机的信号都是低电平,因而不能正确地读入端口引脚上的信号。
又如,当从内部总线输出高电平后,锁存器Q=1,Q=0,场效应管T2截止。
如外接引脚信号为低电平,从引脚上读入的信号就与从锁存器读入的信号不同。
为此,8031单片机在对端口P0一P3的输入操作上,有如下约定:
为此,8051单片机在对端口P0一P3的输入操作上,有如下约定:
凡属于读-修改-写方式的指令,从锁存器读入信号,其它指令则从端口引脚线上读入信号。
P1端口:
通用I/0端口,准双向静态口。
输出的信息有锁存,输入有读引脚和读锁存器之分。
P1端口的一位结构见下图.由图可见,P1端口与P0端口的主要差别在于,P1端口用内部上拉电阻R代替了P0端口的场效应管T1,并且输出的信息仅来自内部总线。
由内部总线输出的数据经锁存器反相和场效应管反相后,锁存在端口线上,所以,P1端口是具有输出锁存的静态口。
由下图可见,要正确地从引脚上读入外部信息,必须先使场效应管关断,以便由外部输入的信息确定引脚的状态。
为此,在作引脚读入前,必须先对该端口写入l。
具有这种操作特点的输入/输出端口,称为准双向I/O口。
8031单片机的P1、P2、P3都是准双向口。
P0端口由于输出有三态功能,输入前,端口线已处于高阻态,无需先写入l后再作读操作。
P1口功能结构图
单片机复位后,各个端口已自动地被写入了1,此时,可直接作输入操作。
如果在应用端口的过程中,已向P1一P3端口线输出过0,则再要输入时,必须先写1后再读引脚,才能得到正确的信息。
此外,随输入指令的不同,H端口也有读锁存器与读引脚之分。
Pl端口是803l单片机中唯一仅有的单功能I/O端口,并且没有特定的专用功能,输出信号锁存在引脚上,故又称为通用静态口。
P2端口:
P2端口的一位结构见下图:
P2端口功能结构图
由图可见,P2端口在片内既有上拉电阻,又有切换开关MUX,所以P2端口在功能上兼有P0端口和P1端口的特点。
这主要表现在输出功能上,当切换开关MUX向左时,从内部总线输出的一位数据经反相器和场效应管反相后,输出在端口引脚线上;当MUX向右时,输出的一位地址信号也经反相器和场效应管反相后,输出在端口引脚线上。
由于8031单片机必须外接程序存储器才能构成应用电路,而P2端口就是用来周期性地输出从外存中取指令的地址(高8位地址),因此,P2端口的切换开关MUX总是在进行切换,分时地输出从内部总线来的数据和从地址信号线上来的地址。
因此P2端口是动态的I/O端口。
输出数据虽被锁存,但不是稳定地出现在端口线上。
其实,这里输出的数据往往也是一种地址,只不过是外部RAM的高8位址。
在输入功能方面,P2端口与P0和H端口相同,有读引脚和读锁存器之分,并P2端口也是准双向口。
P3端口:
双功能静态I/O口P3端口的一位结构见下图:
P3口功能结构图
由上图可见,P3端口和Pl端口的结构相似,区别仅在于P3端口的各端口线有两种功能选择。
当处于第一功能时,第二输出功能线为1,此时,内部总线信号经锁存器和场效应管输入/输出,其作用与P1端口作用相同,也是静态准双向I/O端口。
当处于第二功能时,锁存器输出1,通过第二输出功能线输出特定的内含信号,在输入方面,即可以通过缓冲器读入引脚信号,还可以通过替代输入功能读入片内的特定第二功能信号。
由于输出信号锁存并且有双重功能,故P3端口为静态双功能端口。
P3口的特殊功能(即第二功能):
口线
第二功能
信号名称
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
外部RAM写选通
P3.7
RD
外部RAM读选通
使P3端品各线处于第二功能的条件是:
1\串行I/O处于运行状态(RXD,TXD);
2\打开了处部中断(INT0,INT1);
3\定时器/计数器处于外部计数状态(T0,T1)
4\执行读写外部RAM的指令(RD,WR)
在应用中,如不设定P3端口各位的第二功能(WR,RD信叼的产生不用设置),则P3端口线自动处于第一功能状态,也就是静态I/O端口的工作状态。
在更多的场合是根据应用的需要,把几条端口线设置为第二功能,而另外几条端口线处于第一功能运行状态。
在这种情况下,不宜对P3端口作字节操作,需采用位操作的形式。
1.1.451单片机的时钟及复位
单片机的时钟信号用来提供单片机片内各种微操作的时间基准,复位操作则使单片机的片内电路初始化,使单片机从一种确定的初态开始运行。
时钟电路:
8051单片机的时钟信号通常用两种电路形式得到:
内部振荡方式和外部振荡方式。
在引脚XTAL1和XTAL2外接晶体振荡器(简称晶振)或陶瓷谐振器,就构成了内部振荡方式。
由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。
内部振荡方式的外部电路如下图所示。
图中,电容器Col,C02起稳定振荡频率、快速起振的作用,其电容值一般在5-30pF。
晶振频率的典型值为12MH2,采用6MHz的情况也比较多。
内部振荡方式所得的时钟情号比较稳定,实用电路中使用较多。
外部振荡方式是把外部已有的时钟信号引入单片机内。
这种方式适宜用来使单片机的时钟与外部信号保持同步。
外部振荡方式的外部电路如下图所示。
内部振荡方式外部振荡方式
由上图可见,外部振荡信号由XTAL2引入,XTAL1接地。
为了提高输入电路的驱劝能力,通常使外部信号经过一个带有上拉电阻的TTL反相门后接入XTAL2。
基本时序单位:
单片机以晶体振荡器的振荡周期(或外部引入的时钟周期)为最小的时序单位,片内的各种微操作都以此周期为时序基准。
振荡频率二分频后形成状态周期或称s周期,所以,1个状态周期包含有2个振荡周期。
振荡频率foscl2分频后形成机器周期MC。
所以,1个机器周期包含有6个状态周期或12个振荡周期。
1个到4个机器周期确定一条指令的执行时间,这个时间就是指令周期。
8031单片机指令系统中,各条指令的执行时间都在1个到4个机器周期之间。
4种时序单位中,振荡周期和机器周期是单片机内计算其它时间值(例如,波特率、定时器的定时时间等)的基本时序单位。
下面是单片机外接晶振频率12MHZ时的各种时序单位的大小:
振荡周期=1/fosc=1/12MHZ=0.0833us
复位电路:
当MCS-5l系列单片机的复位引脚RST(全称RESET)出现2个机器周期
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 51 单片机 交通 信号灯 模拟 控制系统 设计