版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于单片机交通红绿灯控制系统设计单片机作为电子产品的开发平台已应用到众多领域。用单片机控制交通红绿灯有很高的性价比。本设计要求:1)熟悉MCS-51单片机的结构及编程方法。2)了解继电器的工作原理。3)设计并实现交通红绿灯控制系统。用8255作为输出口,接继电器,控制12个信号灯的燃灭,模拟交通等管理。4) 控制算法自定并可设置。目 录一、引言二、单片机概述三、80C51引脚说明四、8255A芯片简介五、系统硬件设计5.1、原理说明5.2、元件选择5.3、电路原理图六、系统软件设计6.1、程序流程图6.2、程序清单七、仿真结果八、心得体会九、参考文献一、引言 2005年最新统计数据表明,在中国
2、每5分钟就有一人丧身车轮,每一分钟都会有一人因为交通事故儿伤残。每年因交通事故所造成的的经济损失达数百亿元。为了减少交通事故,如今交通红绿灯已经安装在各个交通路口上,已经成为疏导交通车辆最常见和最有效的手段。但这一技术在19世纪就已出现了。 1858年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿两以旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。1869年1月2日,煤气灯爆炸,使警察受伤,遂被取消。
3、电气启动的红绿灯出现在美国,这种红绿灯由红绿黄三色圆形的投光器组成,1914年始安装于纽约市5号大街的一座高塔上。红灯亮表示“停止”,绿灯亮表示“通行”。 1918年,又出现了带控制的红绿灯和红外线红绿灯。带控制的红绿灯,一种是把压力探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下嗽叭,就使红灯变为绿灯。红外线红绿灯当行人踏上对压力敏感的路面时,它就能察觉到有人要过马路。红外光束能把信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故。 信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。1968年,联合国
4、道路交通和道路标志信号协定对各种信号灯的含义作了规定。绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。二、单片机概述 单片微型计算机(Single-Chip Microcomputer),简称单片机。就是将微处理器(CPU)、存储器(存放程序或数据的ROM和RAM)、总线、定时器/计数器、输入/输出接口(I/O口)和其他多种
5、功能器件集成在一块芯片上的微型计算机。本次课程设计选用的是MCS-51系列单片机中的80C51。MCS-51单片机包含中央处理器(CPU)、程序存储器(ROM)、数据存储器(RAM)、定时器/计数器、并行I/O接口、串行I/O接口和中断系统等几大单元。2.1、中央处理器组成:运算器、控制器。8051的CPU包含以下功能部件:(1)8位CPU。(2)布尔代数处理器,具有位寻址能力。(3)128B内部RAM数据存储器,21个专用寄存器。(4)4KB内部掩膜ROM程序存储器。(5)2个16位可编程定时器/计数器。(6)32位(4×8位)双向可独立寻址的I/O口。(7)1个全双工UART(异
6、步串行通信口)。(8)5个中断源、两级中断优先级的中断控制器。(9)时钟电路,外接晶振和电容可产生1.2MHz12 MHz的时钟频率。(10)外部程序/数据存储器寻址空间均为64KB。(11)111条指令,大部分为单字节指令。(12)单一+5V电源供电,双列直插40引脚DIP封装。2.2、存储器MCS-51的存储器可分为程序存储器和数据存储器,又有片内和片外之分。(1)程序存储器 一般将只读存储器(ROM)用做程序存储器。可寻址空间为64KB,用于存放用户程序、数据和表格等信息。MCS-51单片机按程序存储器可分为内部无ROM型(如8031)和内部有ROM型(如8051)两种,连接时 引脚有区
7、别。(2)数据存储寄存器 一般将随机存储器(RAM)用做数据存储器。可寻址空间为64KB。MCS-51数据存储器可分为片内和片外两部分。MCS-51内部有128或256字节的RAM用做数据存储器,他们均可读写,部分单元还可位寻址。8051内部RAM共有256字节,分为两部分。地址为00H7FH单元作为用户数据RAM。地址为80HFFH单元作为特殊功能寄存器(SFR)。用户数据RAM又可分为工作寄存器区、位寻址区、堆栈及数据缓冲区。3、定时器/计数器(TL0, TH0, TL1和TH1) MCS-51单片机中有两个16位的定时器/计数器T0和T1,它们由4个8位寄存器(TL0, TH0, TL1
8、和TH1)组成,2个16位定时器/计数器是完全独立的。可以单独对这4个寄存器进行寻址,但不能把T0和T1当做16位寄存器来使用。三、80C51引脚说明 MCS-51系列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。现在我们对这些引脚的功能加以说明: MCS-51的引脚说明: MCS-51系列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英
9、振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。现在我们对这些引脚的功能加以说明。 Pin9:RESET/Vpd复位信号复用脚,当80C51通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统即初始复位。初始化后,程序计数器PC指向0000H,P0-P3输出口全部为高电平,堆栈指针写入07H,其它专用寄存器被清“0”。RESET由高电平下降为低电平后,系统即从0000H地址开始执行程序。然而,初始复位不改变RAM(包括工作寄存器R0-R7)的状态,80C51的初始态。80C51的复位方式可以是自动复位,也可以是手动复位,见下图4。此外,RESET
10、/Vpd还是一复用脚,Vcc掉电其间,此脚可接上备用电源,以保证单片机内部RAM的数据不丢失。 Pin30:ALE/ 当访问外部程序器时,ALE(地址锁存)的输出用于锁存地址的低位字节。而访问内部程序存储器时,ALE端将有一个1/6时钟频率的正脉冲信号,这个信号可以用于识别单片机是否工作,也可以当作一个时钟向外输出。更有一个特点,当访问外部程序存储器,ALE会跳过一个脉冲。如果单片机是EPROM,在编程其间, 将用于输入编程脉冲。 Pin29: 当访问外部程序存储器时,此脚输出负脉冲选通信号,PC的16位地址数据将出现在P0和P2口上,外部程序存储器则把指令数据放到P0口上,由CPU读入并执行
11、。 Pin31:EA/Vpp程序存储器的内外部选通线,8051和8751单片机,内置有4kB的程序存储器,当EA为高电平并且程序地址小于4kB时,读取内部程序存储器指令数据,而超过4kB地址则读取外部指令数据。如EA为低电平,则不管地址大小,一律读取外部程序存储器指令。显然,对内部无程序存储器的8031,EA端必须接地。四、8255芯片简介 8255可编程并行接口芯片有三个输入输出端口,即A口、B口和C口,对应于引脚PA7PA0、PB7PB0和PC7PC0。其内部还有一个控制寄存器,即控制口。通常A口、B口作为输入输出的数据端口。C口作为控制或状态信息的端口,它在方式字的控制下,可以分成4位的
12、端口,每个端口包含一个4位锁存器。它们分别与端口A配合使用,可以用作控制信号输出或作为状态信号输入。8255可编程并行接口芯片方式控制字格式说明:8255有两种控制命令字;一个是方式选择控制字,如表1所示;另一个是C口按位置位复位控制字。其中C口按位置位复位控制字方式使用较为繁难,说明也较冗长,故在此不作叙述,需要时用户可自行查找有关资料。D7D6D5D4D3D2D1D0D7:设定工作方式标志,1有效。D6、D5:A口方式选择 0 0 方式0 0 1 方式1 1 ×方式2D4:A口功能 (1=输入,0=输出)D3:C口高4位功能 (1=输入,0=输出)D2:B口方式选择 (0=方式0
13、,1=方式1)D1:B口功能 (1=输入,0=输出)D0:C口低4位功能(1=输入,0=输出) 8255可编程并行接口芯片工作方式说明: 方式0:基本输入输出方式。适用于三个端口中的任何一个。每一个端口都可以用作输入或输出。输出可被锁存,输入不能锁存。 方式1:选通输入输出方式。这时A口或B口的8位外设线用作输入或输出,C口的4条线中三条用作数据传输的联络信号和中断请求信号。 方式2 :双向总线方式。只有A口具备双向总线方式,8位外设线用作输入或输出,此时C口的5条线用作通讯联络信号和中断请求信号。五、系统硬件设计5.1原理说明东西、南北两干道交于一个十字路口,各干道有一组红、黄、绿三色的指示
14、灯,指挥车辆和行人安全通行。红灯亮禁止通行,绿灯亮允许通行。黄灯亮提示人们注意红、绿灯的状态即将切换,且黄灯燃亮时间为东西、南北两干道的公共停车时间。60S5S60S5S东西道红灯亮黄灯亮绿灯亮黄灯亮南北道绿灯亮黄灯亮红灯亮黄灯亮 (1)当东西方向为红灯,此道车辆禁止通行,东西道行人可通过;南北道为绿灯,此道车辆通过,行人禁止通行。时间为60秒。(2)黄灯闪烁5秒,警示车辆和行人红、绿灯的状态即将切换。 (3)当东西方向为绿灯,此道车辆通行;南北方向为红灯,南北道车辆禁止通过,行人通行。时间为60秒。 东西方向车流大 通行时间长。(4)这样如上表的时间和红、绿、黄出现的顺序依次出现这样行人和车
15、辆就能安全畅通的通行。5.2、元件选择 80C51单片机一片、并行接口电路芯片8255A一片、红黄绿LED各4只、12M晶振1只、电阻若干、电源若干。 5.3、电路原理图六、系统软件设计6.1、程序流程图6.2、程序清单ORG 0000H AJMP MAIN ORG 0100HMAIN: MOV DPTR,#7FFFH ;初始化8255A MOV A,#80H MOVX DPTR,A MOV DPTR,#7CFFH ;初始状态所有LED都点亮 MOV A,#3FH MOVX DPTR,A MOV R1, #5 ;延时5秒LOOP1: ;延时1秒子程序 LCALL DELAY DJNZ R1,L
16、OOPST1: MOV DPTR,#7CFFH ;东西方向绿灯,南北方向红灯 MOV A,#0CH MOVX DPTR,A MOV R3, #5LOOP2: LCALL DELAY DJNZ R1,LOOP2ST2: MOV DPTR,#7CFFH ;东西方向黄灯,南北方向红灯 MOV A,#0AH MOVX DPTR,A MOV R1, #2LOOP3: LCALL DELAY DJNZ R1,LOOP3ST3: MOV DPTR,#7CFFH ;南北方向绿灯,东西方向红灯 MOV A,#21H MOVX DPTR,A MOV R3, #5LOOP4: LCALL DELAY DJNZ R1
17、,LOOP4ST4: MOV DPTR,#7CFFH ;南北方向黄灯,东西方向红灯 MOV A,#11H MOVX DPTR,A MOV R3, #2LOOP5: LCALL DELAY DJNZ R1,LOOP5 AJMP ST1DELAY:MOV R7,#14 ;延时1S子程序 D1:MOV R6,#200 D2:MOV R5,#124 DJNZ R5,$ DJNZ R6,D2 DJNZ R7,D1 RET END七、仿真结果 初始化状态 东西方向绿灯,南北方向红灯 东西方向黄灯,南北方向红灯 南北方向绿灯,东西方向红灯 南北方向黄灯,东西方向红八、心得体会 本次设计的过程和结果都给了我很
18、多感触。刚刚拿到专业课程设计的题目时候就觉得比较简单。对于交通灯的设计本人认为比较简单。按照要求我们需要设计出十字路口的交通灯,利用12个LED分别显示红绿灯的不同状态。 本系统就是充分利用了8051和8255芯片的I/O引脚。系统统采用MSC-51系列单片机Intel8051和可编程并行I/O接口芯片8255A为中心器件来设计交通灯控制器,实现了交通灯的红、黄、绿3个不同的状态之间的转换。绿灯转换成红灯过程中,绿灯亮60S后转换为黄灯亮5S ,之后才转换为红灯。通过PA口输出,将数据传送到LED上的输入端得以实现本设计交通灯的功能。 本设计对于设计原理和硬件软件的设计没有遇到打的问题,期间只是碰到了一些小问题,例如,程序中对于8255A的端口A的地址分配错误导致结果无法显示。同时对于硬件设计中在8255A上没有驱动,没有接电源,结果仿真出错。后来多次尝试后将错误改正过来。 课程设计的硬件和软件设计很快完成。但是在用PROTEUS画电路原理图的时候遇到了一些麻烦。由于以前没有
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论