智能交通灯单片机课程设计报告

更新时间:2024-06-07 10:24:01 阅读量: 综合文库 文档下载

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

单片机课程设计报告

题 目:专 业:班 级:姓 名:学 号:指导老师:成 绩:

交通灯控制系统

1

目录

前言 ··················································································································· 3 一,任务和要求 ································································································ 3 1.1设计任务 ····································································································· 3 1.2设计要求 ····································································································· 4 1.3设计思路 ····································································································· 4 二,硬件设计 ··································································································· 5 2.1 AT89SC21单片机的概述 ·········································································· 5 2.2 89C51单片机的时钟 ·················································································· 7 2.3 89C51单片机的封装和引脚 ······································································ 8 三,电路模块设计 ·························································································· 10 3.1系统的整体方案设计 ················································································ 10 四,单元电路模块设计 ·················································································· 12 4.1复位电路 ···································································································· 12 4.2晶振电路 ···································································································· 13 4.3倒计时显示电路 ························································································ 14 4.4交通灯电路 ································································································ 15 4.5紧急通行电路 ···························································································· 16 五,系统程序设计 ·························································································· 17 5.1主程序流程图 ···························································································· 17 5.2紧急中断程序流程图 ················································································ 18 5.3程序清单 ···································································································· 18 心得体会 ·········································································································· 22 参考文献

2

前言

近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。单片机的特点控制功能强抗干扰性强,可靠性高,工作温度范围宽开发周期短,性价比高,易于产品化。交通在人们的日常生活中占有重要的地位,随着人们社会活动的日益频繁,这点更是体现的淋漓尽致。交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。本系统采用单片机AT89C51为中心器件来设计交通灯控制器,系统实用性强、操作简单、扩展性强。本设计就是采用单片机模拟十字路口交通灯的各种状态显示以及倒计时时间。

本设计系统由单片机I/O口扩展系统、交通灯状态显示系统、LED数码显示系统、紧急情况中断系统、复位电路等几大部分组成。系统除基本的交通灯功能外,还具有倒计时、紧急情况处理等功能,较好的模拟实现了十字路口可能出现的状况。

一,任务和要求

1.1设计任务

本设计要求用单片机设计一个智能交通灯控制系统,使其能模仿城市“十字”路口交通灯的功能,并能满足特殊的控制要求(如按键K1、K2、K3的使用),该系统的具体功能如下:

(1) 该控制系统能控制东、西、南、北四个路口的红、黄、绿信号灯正常工作。 (2) 当东西方向准行,南北方向禁行时,东西方向亮绿灯,南北方向亮红灯。 (3) 当南北方向准行,东西方向禁行时,南北方向亮绿灯,东西方向亮红灯。 (4) 两垂直方向的准行时间均为15s。

(5) 准行方向亮绿灯与禁行方向亮红灯10s后,四个道口同时加亮一盏黄灯进

行闪烁,以警告车辆及行人,准行方向与禁行方向即将改变(即准行变为禁行,禁行变为准行)。

(6) 四个道口只用一组由十位和个位组成的数码管显示准行(或禁行)的剩余

时间。

(7) 在交通情况比较特殊的情况下,可以通过K1、K2、K3三个按键对交通灯

3

进行控制,具体要实现的功能如下:

当有紧急情况发生,如消防车、救护车等紧急车辆通过时,按下K1键,四个路口同时加亮黄色灯进行闪烁(闪烁时间为5S),并且倒计时显示装置关闭,黄色灯5S闪烁完成后,四个路口的信号灯全部变成红灯,这样四个路口的普通车辆禁行,只允许紧急车辆通过,待紧急车辆通过后。松开K1键,表示紧急状态消除,交通灯控制系统恢复正常工作。 当东西方向车辆过多时,按下K2键,四个路口同时加亮黄灯进行闪烁(闪烁时间为5s),并且倒计时显示装置关闭,黄灯5s闪烁完成后,只允许东西方向车辆通过,南北方向车辆禁行,从而有效地调节东西方向车辆过多的情况,松开K2键,交通灯又开始正常工作。

当南北方向车辆过多时,按下K3键,四个路口同时加亮黄灯进行闪烁(闪烁时间为5s),并且倒计时显示装置关闭,黄灯5s闪烁完成后,只允许南北方向车辆通过,东西方向车辆禁行,从而有效地调节南北方向车辆过多的情况,松开

K3键,交通灯又开始正常工作。 1.2设计要求

(1)十字路口的4个路口都有双色LED(红光,绿光,叠加为黄色光)显示各路口的各条通道的的状态;

(2)每个路口都有两位数码管显示当前红灯的倒计时;

(3)有三种工作状态:正常工作状态,紧急工作状态,设置状态; (4)可利用按键进行改变工作状态; 1.3 设计思路

利用单片机实现交通灯的控制,该任务分以下几个方面:

a 实现红、绿、黄灯的循环控制。要实现此功能需要表示三种不同颜色的LED灯分别接在P1个管脚,用软件实现。

b 用数码管显示倒计时。可以利用动态显示或静态显示,串行并出或者并行并出实现。

C 实现急通车。这需要人工实现,编程时利用到中断才能带到目的,只要有按钮按下,那么四个方向全部显示红灯,禁止以诶车辆通行。当情况解除,让时间回到只能隔断处继续进行。

4

总体设计框图

交通灯循环倒最小系统 计时显示 2.1 AT89SC51单片机概述:

AT89SC51是MCS-51系列单片机的典型产品,我们以这一代表性的机型进行系统的讲解。下图是89SC51的基本结构:

定时/计数器、并行接口、串行接口和中断系统等极大单元及数据总线、地址总

5

强通车控制 图1-1

二,硬件设计

图2-1 89SC51的基本结构

89SC51单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、

线和控制总线等三大总线,现在分别加以说明。 中央处理器:

8位CPU,含布尔处理器;时钟电路;总线控制逻辑。中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统的工作,完成运算和控制输入输出等操控。

数据存储器(RAM):

128KB数据存储器(RAM,可再扩64KB);特殊功能寄存器SFR。 89CS51内部有128个8位用户数及存储单元和128个寄存器单元,他们是统一编址的,专营寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户自定义的字型表。 程序存储器(ROM):

4KB的程序存储器(ROM/EPROM/Flash,可扩至64KB); 89CS51共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。 定时/计数器(ROM):

89CS51有两个16位的可编程定时/计数器,一时想定时或计数产生中断用于控制程序转向。 并行输入输出(I/O)口:

9CS51共有4组8位I/O口(P0、P1、P2或P3),用于对外数据传输。 中断系统:

89CS51具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,客满著不同的控制要求,并具有2级优先级别选择。 时钟电路:

89CS51内置最高频率高达12Hz的时钟电路,用于产生整个单片机运行的脉冲时序,但89CS51单片继续外置震荡电容。

单片机的结构有两种类型,一种是程序存储器和数据存储器分开的形式,即哈佛(Harvard)结构,另一种是采用通用计算机广泛使用的程序存储器与数据

6

存储器合二为一的结构,即普林斯顿(Princeton)结构。 2.2 89SC51单片机的时钟 (1)振荡器和时钟电路

89SC51内部有一个高增益反相放大器,用于构成振荡器,但要形成时钟脉冲,外部还需附加电路。89SC51的时钟产生方法有以下两种。 a 内部时钟方式

利用芯片内部的振荡器,然后在引脚XTALl和XTAL2两端跨接晶体振荡器(简称晶振),就构成了稳定的自激振荡器,发出的脉冲直接送入内部时钟电路。外接晶振时,Cl和C2的值通常选择为30pF左右;Cl、C2对频率有微调作用,晶振或陶瓷谐振器的频率范围可在1.2MHz~12MHz之间选择。为了减小寄生电容,更好地保证振荡器稳定、可靠地工作,振荡器和电容应尽可能安装得与单片机引脚XTALl和XTAL2靠近。

图2-2 89SC51时钟电路接线方法

b 外部时钟方式

此方式是利用外部振荡脉冲接入XTALl或XTAL2。HMOS和CHMOS单片机外时钟信号接入方式不同。

表2-1 80C51单片机外部时钟接入方法

芯片类型 HMOS CHMOS

XTAL1 接地 接片外时接线方法 XTAL2 接片外时钟脉输入端(引脚需接上拉电阻) 悬空 7

钟脉冲输入端 2.3 89SC51单片机的的封装和引脚

80SC51系列单片机采用双列直插式(DIP).QFP44(Quad Flat Pack)和LCC(Leaded Chip Caiier)形式封装。这里仅介绍常用的总线型DIP40封装。如图3-4所示。

40个引脚按引脚功能大致可分为4个种类:电源、时钟、控制和I/O引脚 (1) 电源:

VCC - 芯片电源,接+5V; VSS - 接地端;

图2-3 80C51单片机的的封装和引脚

(2)时钟:XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。 (3) 控制线:控制线共有4根,

ALE/PROG:地址锁存允许/片内EPROM编程脉冲 ALE功能:用来锁存P0口送出的低8位地址

PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。 PSEN:外ROM读选通信号。 RST/VPD:复位/备用电源。

RST(Reset)功能:复位信号输入端。 VPD功能:在Vcc掉电情况下,接备用电源。 EA/Vpp:内外ROM选择/片内EPROM编程电源。 EA功能:内外ROM选择端。

8

Vpp功能:片内EPROM的芯片,在EPROM编程期间,施加编程电源 Vpp。 (4) I/O线

80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。 P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。

三,电路模块设计

3.1系统的整体方案设计

本系统拟采用AT89C51单片机作为智能交通灯系统的控制核心。从设计所要完成的任务来看,单一路口显示倒计时时间的数码必须用两位,对于七段数码管,考虑到AT89C51单片机所能提供I/O接口的数量,倒计时显示装置中的数码管在本系统中采用的是静态显示;设置了3个按键用来处理交通灯在实际应用中可能出现的特殊情况,共使用3个I/O端口,其中P3.0接K1键,P3.2接K2键,P3.3接K3键;十字路口共需4组红绿灯,加上转换黄灯,一共是12只灯,须用6个端口进行控制,具体I/O接口分配为:P1.0~P1.2分别接东西方向的红、绿、黄共6盏信号灯,P1.3~P1.5分别接南北方向的红、绿、黄共6盏信号灯;AT89C51单片机的I/O口作为输出时,具有较大的吸收电流能力,因此我们可以选用共阳极数码管,这样由单片机的I/O口就可以驱动,从而简化硬件电路的设计;此外专门设计了监控电路对控制系统进行实时监控,保证系统工作的稳定性和持续性。

系统的整体方案设计如图3-1所示

复位电路 时钟电路 红绿灯装置 单片机 AT89C51 倒计时显示装置

9

四,单元电路模块设计

4.1 复位电路

图4-1上电自动复位电路

为了确保控制系统能够稳定可靠的工作,复位电路是必不可少的一部分。它可以保证程序从指保证程序从指定处开始执行,即从程序存储器的0000H地址单元开始执行程序。另外当程序运行出错或操作错误使系统处于死机状态时需复位以重新启动。

上电自动复位是通过外部复位电路的电容充电实现的。通电时,电容两端相当于短路,于是RST引脚上为高电平,然后电源通过电阻对电容进行麅,RST端电压慢慢降下来,降到一定程度时变为低电平,单片机正常工作。上电自动复位电路如图4-1所示

10

4.2 晶振电路

图4-2 晶振电路

单片机必须在时钟的驱动下才能进行工作。AT89C51单片机内部具有一个时钟振荡电路,只需要外接振荡器,即可为各部分提供时钟信号。

使用晶振电路时,只要在引脚XTAL1和XTAL2上外接定时反馈回路,振荡器OSC就能自激振荡,产生矩形时钟脉冲序列。定时反馈回路常由石英晶振和微调电容组成,其中石英晶振的频率是单片机的重要性能指标之一,时钟频率越高,单片机控制器的控制节拍就越快,运算速度也就越快。该电路是用12MHz的石英晶振和两个30p的电容器。石英晶振的频率选为典型值12MHz,这样有得于得到没有误差的波特率。电容器C2和C3是起稳定振荡频率、快速起振的作用。

11

4.3倒计时显示电路

图4-3 倒计时显示电路图

该交通灯控制系统在正常工作情况下,每15s循环变换一次,为方便提示路上的行人及车辆交通灯转换的剩余时间,专门为控制系统设计了一个倒计时显示装置。该显示装置选用七段数码管来显示交通灯的剩余时间。本来根据控制要求,每个路口需要两个数码管,这样四个路口就需要八个数码管,但由于四组显示的倒计时时间都是一样所以只需使用一组数码管即可。由于AT89C51单片机的I/O作为输出时,具有较大的吸收电流能力,因此我们可以选用共阳型数码管,这样由单片机的I/O就可以直接驱动,从而简化硬件电路的设计。而在电路中是用阻值为4.7k的排电路作为上位电路,限流电阻却用阻值为200的电阻。如图3-3所示。

12

4.4 交通灯电路

东西方向 单片机的I/O接口直接和交通灯(LED)连接。在十字路口的四组红、黄、绿

三色交通灯中,东西方向道路上的两组同色灯连接在一起,南北方向道路上的两组同色灯连接在一起,受单片机P1.0~P1.5控制。12个发光二极管采用了共阳极的连接方式,因此I/O口输出低电平时,与之相连的LED会亮,I/O口输出高电平时,与之相连的LED会灭。交通灯电路如图4-4所示。

南北方向

图4-4 交通灯电路图

13

4.5 紧急通行电路

图3-5 紧急通行电路

该系统的K1、K2、K3三个键分别与单片机的P3.0、P3.1、P3.6相接,它们

可以在特殊的交通情况下使用。例如,当有紧急情况发生时:

按下K1键,四个路口同时加亮黄灯进行闪烁5s后,并且关闭倒计装置,四个路口信号灯同时转为红灯,从而保证紧急车辆通过。松开K1键,交通灯系统恢复正常工作状态;

按下K2键,四个路口同时加亮黄灯进行闪烁5s后,并且关闭倒计装置,只允许东西方向车辆通行,南北方向禁行。松开K2键,交通灯系统恢复正常工作状态;

按下K3键,四个路口同时加亮黄灯进行闪烁5s后,并且关闭倒计装置,只允许南北方向车辆通行,东西方向禁行。松开K3键,交通灯系统恢复正常工作状态

14

五,系统程序设计

5.1 主程序流程图

该智能交通灯控制系统的软件设计采用的是顺序执行并反复循环的方法。智能交通灯控制系统在正常的情况下,每15s循环变化一次。每个循环周期在还剩余5s时,四个路口的黄灯同时点亮并开始闪烁,以提醒行人及车辆,交通灯将发生转换。要程序中定时扫描P3口,若有键按下,则调用键盘子程序进行相应也处理;若无,则程序继续执行。主程序流程图如图5-1所示。

开 始

初始化 是 纵向通行 显示状态 否 5s到?

15s到? 黄灯闪显 示子程序 是 黄灯闪显 示子程序 15s到? 是 否 否 5s到? 是 横向通行 显示状态 主程序流程图5-1

15

关总中断 保存数据 开启相应信号灯 纵向通行 显示状态 延时到? 是 恢复数据 RET

紧急中断程序流程图5-2

5.3程序清单 程序如下:

ORG 0000H

LJMP MAIN ORG 001BH ;定时器T1中断入口 LJMP KK

ORG 0100H ;主程序入口 MAIN:

MOV SP,#60H

MOV TMOD,#10H ;定时器T1工作在方式1 MOV TH1,#9EH ;给定时器T1赋初值 MOV TL1,#58H SETB EA ;开中断系统总开关 SETB ET1 ;开定时器T1中断开关 SETB TR1 ;启动定时器T1 HERE:

16

MOV 88H,#15H ;设置中断循环次数 MOV 33H,#10H ;设置倒计时显示数值 MOV P1,#0F3H ;使交通灯东西绿,南北红 MOV R7,#0AH MM:

LCALL DISP MOV A,P3 ;键盘扫描 CJNE A,#0FFH, READKEY DJNZ R7, MM MOV P1,#0E1H ;交通灯东西绿,南北红同时加亮黄灯 MOV 20H,#02H NN:

MOV A,P3

CJNE A,#0FFH,READKEY SETB P1.1 ;黄灯进行闪烁5s SETB P1.4 LCALL DISP CLR P1.1 CLR P1.4 LCALL DISP ;调显示子程序 DJNZ 20H,NN SETB P1.1 SETB P1.4 LCALL DISP MOV P1,#0DEH ;交通灯南北绿,东西红 MOV R7,#0AH PP:

LCALL DISP MOV A,P3

CJNE A,#0FFH,READKEY DJNZ R7,PP

MOV P1,#0CCH ;交通灯南北绿,东西红同时加亮黄灯 MOV 20H,#02H QQ:

MOV A,P3 ;扫描P3口 CJNE A,#0FFH,READKEY SETB P1.1 SETB P1.4 LCALL DISP CLR P1.1 CLR P1.4 LCALL DISP CLR P1.1 CLR P1.4

17

LCALL DISP DJNZ 20H,QQ SETB P1.1 SETB P1.4 LCALL QW QW:

SJMP HERE RET

DELAY:MOV R1, #0AH DELAY0:MOV R2, #0C8H DELAY1:MOV R3, #0F8H NOP

DELAY2:DJNZ R3, DELAY2 DJNZ R2, DELAY1 DJNZ R1, DELAY0 RET

READKEY:

MOV A,#0FFH MOV P3,A MOV A,P3

JNB ACC.0, K1 ;判断K1键是否按下 JNB ACC.1, K2 ;判断K2键是否按下 JNB ACC.6, K3 ;判断K3键是否按下 RET K1:

MOV P0,#0FFH ;判断倒计时显示装置 MOV P2,#0FFH LCALL XX LCALL YY

SJMP READKEY K2:

MOV P0,#0FFH ;关断倒计时显示装置 MOV P2,#0FFH LCALL XX LCALL YY1

SJMP READKEY K3:

MOV P0,#0FFH ;关断倒计时显示装置 MOV P2,#0FFH LCALL XX LCALL YY2

SJMP READKEY XX:

18

MOV 20H,#05H LCALL BB RET BB:

SETB P1.1 SETB P1.4

LCALL DELAY CLR P1.1 CLR P1.4

LCALL DELAY DJNZ 20H,BB RET YY:

MOV P1,#0F6H ;四个路口均变为红灯 MOV A,#0FFH MOV P3,A MOV A,P3 JNB ACC.0,YY ;判断K2键是否仍然按下 LCALL QW YY1:

MOV P1,#0F3H ;东西方向亮绿灯,南北方向亮红灯 MOV A,#0FFH MOV P3,A MOV A,P3

JNB ACC.1,YY1 ;判断K2键是否仍然按下 LCALL QW YY2:

MOV P1,#0DEH ;南北方向亮绿灯,东西方向亮红灯 MOV A,#0FFH MOV P3,A MOV A,P3

JNB ACC.6,YY2 ;判断K3键是否仍然按下 LCALL QW RET

KK:

DEC 88H

MOV A, 88H CJNE A, #01H,BN MOV 88H, #15H LCALL DISP BN:

MOV TH1,#9EH ;重新给定时器T1赋初值 MOV TL1,#58H

19

RETI

DISP:

DEC 33H MOV A,33H

CJNE A,#01H,DIR1 MOV 33H,#10H DIR1:

MOV B,#0AH DIV AB ;提取出倒计时数值的十位和个位数 MOV DPTR,#TAB ;字形表的入口地址

MOVC A,@A+DPTR ;查表获取十位数的字型码 MOV 30H,A MOV A,B

MOVC A,@A+DPTR ;查表获取个位数的字型码 MOV 31H,A MOV A,30H MOV P0,A ;将十位数字型码送到P0口 MOV A, 31H MOV P2,A ;将十位数字型码送到P2口 LCALL DELAY RET

TAB: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H END

20

心得体会

在这次课程设计中,我有很深刻的体会,我学习到的知识有很多,在此提高了我获取知识的能力和解决问题的能力,同时也提高了自己群体意识和团队精神。选取了题目后和同学一起从图书馆借阅一些参考资料,和同学一起认真地挑选每一个方案以及讨论方案的可行性,确定好方案。接下来到塞格电子城购买作品所需的元件,画电路草图,这都是一个非常有必要的过程,因为后面电路板的排线安装以及焊接才能更好的进行,因为在电路板上布线不像在protel软件上一样,实物焊接时会出现较多的跳线问题。其实在这里的每一步都得一步一步的进行,如果是不够认真处理,也有可能导致作品的失败,而最后会难以检查。编程调试,在整个程序的编写过程中,研究每个子程序是否好使,我是通过Keil C和proteus两个软件来实现的。接下来就是硬件连接调试。在调试的时候虽然有一些问题,但在老师和同学的帮助下,都基本上得到了解决。在讨论每个问题的我们都是非常的投入。这整一系列的制作过程都充实了我。在这个课题中也了解到了很多不同电路的工作原理,同时也可提高自己对实物制作的水平,在制作的过程中有很多容易被忽略或被忽视的问题,都是成功与否的关键,需要我们细心去品味,只有自己亲身尝试过才会有更加深刻的了解,了解那一些方法,收获从这一过程中产生的经验和感触,将学到的知识应用到实践中去后。还有,感谢老师及所有本专业同学们给我的指导和分析,谢谢你们的建议。谢谢!

实验参考文献:

江力主编《单片机原理与应用技术》清华大学出版社2006年第1版 李萍主编《AT89C51单片机原理开发与实例应用》中国电力出版社2008年第1版

林高主编《单片机应用实例开发》西安电子科技大学出版社 2009年第1版

黄智伟主编《单片机课程设计指导》北京航空航天大学出版社2007年第1版

21

心得体会

在这次课程设计中,我有很深刻的体会,我学习到的知识有很多,在此提高了我获取知识的能力和解决问题的能力,同时也提高了自己群体意识和团队精神。选取了题目后和同学一起从图书馆借阅一些参考资料,和同学一起认真地挑选每一个方案以及讨论方案的可行性,确定好方案。接下来到塞格电子城购买作品所需的元件,画电路草图,这都是一个非常有必要的过程,因为后面电路板的排线安装以及焊接才能更好的进行,因为在电路板上布线不像在protel软件上一样,实物焊接时会出现较多的跳线问题。其实在这里的每一步都得一步一步的进行,如果是不够认真处理,也有可能导致作品的失败,而最后会难以检查。编程调试,在整个程序的编写过程中,研究每个子程序是否好使,我是通过Keil C和proteus两个软件来实现的。接下来就是硬件连接调试。在调试的时候虽然有一些问题,但在老师和同学的帮助下,都基本上得到了解决。在讨论每个问题的我们都是非常的投入。这整一系列的制作过程都充实了我。在这个课题中也了解到了很多不同电路的工作原理,同时也可提高自己对实物制作的水平,在制作的过程中有很多容易被忽略或被忽视的问题,都是成功与否的关键,需要我们细心去品味,只有自己亲身尝试过才会有更加深刻的了解,了解那一些方法,收获从这一过程中产生的经验和感触,将学到的知识应用到实践中去后。还有,感谢老师及所有本专业同学们给我的指导和分析,谢谢你们的建议。谢谢!

实验参考文献:

江力主编《单片机原理与应用技术》清华大学出版社2006年第1版 李萍主编《AT89C51单片机原理开发与实例应用》中国电力出版社2008年第1版

林高主编《单片机应用实例开发》西安电子科技大学出版社 2009年第1版

黄智伟主编《单片机课程设计指导》北京航空航天大学出版社2007年第1版

21

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

Top