交通灯课程设计说明书Word文件下载.docx

上传人:b****5 文档编号:20544489 上传时间:2023-01-23 格式:DOCX 页数:26 大小:383.52KB
下载 相关 举报
交通灯课程设计说明书Word文件下载.docx_第1页
第1页 / 共26页
交通灯课程设计说明书Word文件下载.docx_第2页
第2页 / 共26页
交通灯课程设计说明书Word文件下载.docx_第3页
第3页 / 共26页
交通灯课程设计说明书Word文件下载.docx_第4页
第4页 / 共26页
交通灯课程设计说明书Word文件下载.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

交通灯课程设计说明书Word文件下载.docx

《交通灯课程设计说明书Word文件下载.docx》由会员分享,可在线阅读,更多相关《交通灯课程设计说明书Word文件下载.docx(26页珍藏版)》请在冰豆网上搜索。

交通灯课程设计说明书Word文件下载.docx

红绿灯控制系统主要实现功能分为自动控制四个阶段如下:

阶段一:

东西红灯与南北绿灯亮5S。

阶段二:

东西红灯亮南北黄灯亮3S。

阶段三:

南北红灯与东西绿灯亮5S。

阶段四:

南北红灯亮东西灯亮3S。

一个完整周期为16S,不断循环。

手动部分:

黄灯与2S周期不断闪烁。

东南西北红灯全亮(紧急控制)。

整个控制系统通过数码管显示时间。

关键字:

红绿灯交通灯控制系统数码管89c51

前言

设计任务:

1、设计一交通灯控制系统,控制东西方向的红黄绿灯及南北的红绿灯。

2、可以实现手动及自动控制p10=0自动控制p10=1手动控制手动控制时设置一开关(p11)当p11=0时各方向均为红灯。

当p11=1时各方向均为黄灯闪烁(周期为2s)

3、自动控制时实现东西红灯与南北绿灯亮5S。

南北红灯亮东西灯亮3S,不断循环。

意义:

红绿灯的实现可以解决当今交通拥堵的城市病。

手动控制可以给警车、救护车等特种车辆让路。

3设计方案论证

3.1方案选择

1、显示模块

方案一:

采用4个1位数码管显示。

方案二:

用液晶屏显示。

方案三:

用点阵屏显示。

2、指示模块

用四组红绿灯在四个路口显示。

用4个可变彩灯在四个路口,控制其显示颜色进行显示。

用字体显示

3、控制模块

选用at89s51或者stc89s51

4、时间控制

用软件延时。

用单片机内部定时器定时50ms计数20次为1s

3.2方案确立

由于只显示0-8,所以选用4个1位数码管,液晶屏价格比较高编程复杂,点阵屏占用io资源比较多,为了更加明显显示我们采用了每个路口3个灯,分别为红绿黄,方便控制,三色彩灯价格比较高,控制不方便,字体显示比较复杂,价格比较贵。

软件延时误差比较大,用单片机定时器精度高方便控制。

最终选型为,用3个单色灯在每个路口显示,用数码管显示倒计时。

采用静态显示,采用单片机定时器计数。

4系统软件设计

4.1、设计软件

Keilc51、

4.2.1、程序设计原理

交通灯控制系统软件主要分为主程序、定时器中断服务子程序、特种车中断服务子程序,数码管显示、led显示五部分。

其中led显示在中断服务函数中。

4.2.1、主函数

N

Y

设在十字路口,分为东西向和南北向,在任一时刻只有一个方向通行,另一方向禁行,持续一定时间,经过短暂的过渡时间,将通行禁行方向对换。

其具体状态如下图所示。

说明:

黑色表示亮,白色表示灭。

交通状态从状态1开始变换,直至状态6然后循环至状1,周而复始,即如图(图2-1)所示:

直至状态6然后循环至状态1,通过具体的路口交通灯状态的演示分析我们可以把这四个状态归纳如下:

阶段一东西红灯南北绿灯亮,阶段二东西黄灯南北绿灯亮,阶段三东西绿灯南北红灯亮,阶段四,东西红黄南北红灯亮。

阶段一阶段二

阶段三阶段四

函数如下:

/*****************************************************************

文件名:

hongludeng.asm

*描述:

红绿灯的显示,通过数码管显示时间

*作者:

李波,2013年12月10日

***********************************************************************/

LED8EQUP0;

//定义数码管

MUNEQU50H

DAB0BITP3.0

KEY1BITp1.0//用于控制程序选择

KEY2BITp1.1//控制红黄灯

P22BITP2.2//控制南北绿灯

P23BITP2.3//控制南北黄灯

P24BITP2.4//控制南北红灯

P25BITP2.7//控制东西红灯

P26BITP2.6//控制东西黄灯

P27BITP2.5//控制东西绿灯

ORG0000H

LJMPSTART//主函数

ORG000BH

LJMPINT_T0//定时器入口

START:

MOVDPTR,#TABLE

MOVLED8,#00H//数码管清空

MOVTMOD,#01H//模式一

MOVTH0,#4CH

MOVTL0,#00H//50ms初值

MOVIE,#82H//开中断

SETBTR0

MOVR2,#00H//计数初始化

MOVR1,#00H//数码管显示初始化

MOVP2,#00H//led清零

MAIN:

MOVA,R1//循环显示

MOVDPTR,#TABLE//数码管地址归零

MOVCA,@A+DPTR//数码管地址

MOVLED8,A//数码管显示

SJMPMAIN//while循环

4.2.2定时器初值计算

定时周期为50ms,定时20次达到1s,晶振11.0592

采用定时器0工作方式1

50ms初值计算

初值高位T0H=(65535-50000)/256

初值低位位T0L=(65535-50000)%256

也可以采用软件取值

4.2.3定时器中断服务子程序

在中断函数中进行计数赋值、数码管显示赋值、指示灯显示等判断其函数如下

N10:

MOVP2,#00H//led清零

JNBKEY2,N15//判断key2是否按下(没有按下p11=1执行n15红灯亮)

CJNER1,#01H,N11

SETBP23//key1按下执行手动控制

SETBP26//黄灯亮

SJMPLOOP//结束中断

N11:

CLRP23//黄灯灭

CLRP26

N15:

MOVP2,#00H//led全灭

MOVR1,#00H//显示清零

SETBP24//红灯亮

SETBP27//红灯亮

JNBKEY2,LOOP

/*****************自动控制***********************/

N20:

JBDAB0,N25

MOVP2,#00H//自动控制

CJNER1,#03H,N21//判断是否到达3秒

N21:

JCN22//<

3跳到n21

SETBP24//控制南北红灯//南北绿灯亮

SETBP25//控制东西绿灯//东西红灯亮

SJMPLOOP

N22:

MOVP2,#00H

SETBP24//红灯继续亮

CLRP25//绿灯灭

N25:

MOVP2,#00H//自动控制

CJNER1,#03H,N31//判断是否到达3秒

N31:

JCN32//<

SETBP22//南北绿灯亮

SETBP27//东西红灯亮

N32:

SETBP23//黄灯亮

SETBP27//红灯继续亮

CLRP22//绿灯灭

/***************定时函数******************/

INT_T0:

MOVTL0,#00H//50ms初值

MOVTH0,#4CH//

INCR2//计数++

CJNER2,#14H,LOOP1//不到时间不执行

MOVR2,#00H//计数清零

DECR1//R1--

CJNER1,#0FFH,LOOP1//判断-1

JBKEY1,IN1//判断key1=1执行in1

MOVR1,#08H//按下直接赋值8

CPLDAB0//取反

SJMPLOOP1//判断key

IN1:

JBKEY2,IN2//判断是否按下key2

SJMPLOOP1

IN2:

MOVR1,#01H

SJMPLOOP1

LOOP1:

JBKEY1,N10//判断按键1没有按下手动控制

SJMPN20//判断按键1按下自动控制

LOOP:

RETI

4.2.4数码管显示函数

数码管段显示取值数组

TABLE:

DB0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f////0123456789

5系统硬件设计

5.1控制模块

5.1.1控制芯片介绍

我们采用的是stc85c51单片机,AT89S52的晶振及复位电路按典型电路设计,元器件参数如图中所示,晶振频率选为11.0592MHz。

P0口用于控制数码管显示,P2口用于控制东西南北通行灯。

P10P11控制手动及自动控制由交警手动按切换按键实现全路口车辆禁行而行人通行状态。

stc85c51使用片内的8KB的Flash程序存储器,所以片内外程序存储器选择引脚

/VPP接+5V电源。

控制线共有4根:

(1)ALE/PROG:

地址锁存允许/片内EPROM编程脉冲;

ALE功能:

用来锁存P0口送出的低8位地址;

PROG功能:

片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。

(2)PSEN:

外ROM读选通信号。

(3)RST/VPD:

复位/备用电源;

RST(Reset)功能:

复位信号输入端;

VPD功能:

在VCC掉电情况下,接备用电源。

(4)EA/VPP:

内外ROM选择/片内EPROM编程电源;

EA功能:

内外ROM选择端;

VPP功能:

片内有EPROM的芯片,在EPROM编程期间,施加编程电源VPP。

4.I/O引脚部分

(1)stc85c51共有4个8位并行I/O端口:

P0、P1、P2、P3口,共32个引脚。

P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。

(2)P3口第二功能:

P30RXD串行输入口;

P31TXD串行输出口;

P32INT0外部中断0;

P33INT1外部中断1;

P34T0定时计数器0;

P35T1定时计数器1;

P36WR外部数据存储器写选通(低电平有效);

P37RD外部数据存储器读选通(低电平有效)。

单片机内部结构如图3-3所示:

图3-38051单片机内部结构

stc85c51单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:

1.中央处理器

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

2.数据存储器(RAM)

stc85c51内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。

3.程序存储器(ROM)

stc85c51共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。

4.定时/计数器(ROM)

8051有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。

5.并行输入输出(I/O)口

8051共有4组8位I/O口(P0、P1、P2或P3),用于对外部数据的传输。

5.1.2时钟电路

在设计之前,让我们先了解下

51单片机上的时钟管脚:

XTAL1(19脚):

芯片内部振荡电路输入端。

XTAL2(18脚):

芯片内部振荡电路输出端。

XTAL1和XTAL2是独立的输入和输出反相放大器,它们可以被配置为使用石英晶振的片内振荡器,或者是器件直接由外部时钟驱动。

图2中采用的是内时钟模式,即采用利用芯片内部的振荡电路,在XTAL1、XTAL2的引脚上外接定时元件(一个石英晶体和两个电容),内部振荡器便能产生自激振荡。

一般来说晶振可以在1.2~12MHz之间任选,甚至可以达到24MHz或者更高,但是频率越高功耗也就越大。

在控制板中采用的11.0592M

的石英晶振。

和晶振并联的两个电容的大小对振荡频率有微小影响,可以起到频率微调作用。

当采用石英晶振时,电容可以在20~40pF之间选择(本实验套件使用30pF);

当采用陶瓷谐振器件时,电容要适当地增大一些,在30~50pF之间。

通常选取33pF的陶瓷电容就可以了。

另外值得一提的是如果读者自己在设计单片机系统的印刷电路板

(PCB)时,晶体和电容应尽可能与单片机芯片靠近,以减少引线的寄生电容,保证振荡器可靠工作。

检测晶振是否起振的方法可以用示波器

可以观察到XTAL2输出的十分漂亮的正弦波,也可以使用万用表测量(把挡位打到直流挡,这个时候测得的是有效值)XTAL2和地之间的电压时,可以看到2V左右一点的电压。

5.1.3复位电路

在单片机系统中,复位电路是非常关键的,当程序跑飞(运行不正常)或死机(停止运行)时,就需要进行复位。

MCS-5l系列单片机的复位引脚

RST(第9管脚)出现2个机器周期以上的高电平时,单片机就执行复位操作。

如果RST持续为高电平,单片机就处于循环复位状态。

复位操作通常有两种基本形式:

上电自动复位和开关复位。

图2中所示的复位电路就包括了这两种复位方式。

上电瞬间,电容两端电压不能突变,此时电容的负极和RESET相连,电压全部加在了电阻上,

5.2制作工具及步骤

5.2.1画原理图及pcb图

转印到铜板

打印pcb

5.2.2制版主要工具及流程

腐蚀液

铜板转印机

打孔机及老铁

5.2通行灯显示模块

通行灯显示模块如图所示。

二极管每个路口三个,用102排阻驱动,用P2控制,

5.3时间显示模块

通行剩余时间显示模块如图所示

路口通行剩余时间采用高亮红色7段共阴LED发光数码管显示。

也是用排阻驱动电路图如下

数码管的使用方法与发光二极管没什么区别,只是把七或八只发光二极管组合在一个模件上组成了个8字和小数点,用以显示数字。

为了减少管脚,把各个发光管的其中同一个极接在一起作为共用点,因此就产生了共阳极和共阴极数码之说。

共阳管就是把各个发光管的正极接在一起,而共阴管就刚好相反。

见下图:

一般来说大部分的逻辑IC的吸收电流要强于输出电流。

因此,大家都爱使用共阴极的数码管,因为可选的iC多些

5.4原件清单

序号

原件

数量

1

stc51单片机

2

晶振11.05926

3

极性电容10uf

4

按键双引脚

5

自锁开关

6

usb母座接口

7

103排阻9引脚

8

10k电阻

9

电容22pf

10

40pic插座

11

led红色

12

红色led(5mm)

13

绿色led(5mm)

14

黄色led(5mm)

15

共阴数码管1位

6、仿真调试

仿真软件protues

调试程序:

/********************************************************************

*文件名:

hongludeng.c

#include<

reg52.h>

//51头文件

#defineucharunsignedchar//定义初始化

#defineuintunsignedint//无符号整形

sbitKEY1=P1^0;

//用于控制程序选择

sbitKEY2=P1^1;

//控制红黄灯

sbitP22=P2^2;

//控制南北绿灯

sbitP23=P2^3;

//控制南北黄灯

sbitP24=P2^4;

//控制南北红灯

sbitP25=P2^5;

//控制东西红灯

sbitP26=P2^6;

//控制东西黄灯

sbitP27=P2^7;

//控制东西绿灯

bitfly;

//标志位

ucharcodetable[11]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

//123456789

ucharmun=0,n,m;

/**********************

名称;

delya10ms()

功能:

延时函数

************************/

voiddelay10ms(uintdel)

{

uinti,j;

for(i=0;

i<

del;

i++)

for(j=0;

j<

1827;

j++)//这个是通过软件仿真得出的数

;

}

/******************************

名称:

show()

功能:

显示函数

输入:

要显示的数值

*****************************/

voidshow(ucharx)

{

P0=table[x];

}

/********************

T0_init()

定时器初始化

********************/

voidT0_init()

TMOD=0x01;

TH0=0x4c;

//50ms赋初值

TL0=0x00;

IE=0x82;

//开中断

TR0=1;

//开定时器0

*名称:

T0_int()

*功能:

定时器中断子函数50ms

voidT0_int()interrupt1

m++;

if(m==20)//达到一秒

m=0;

mun--;

//秒增加

if(mun==-1)

if(KEY1)

mun=8;

if(~KEY1)

mun=0;

}

delay10ms

(1);

fly=~fly;

P2=0x00;

//全部关闭

}

/***************

主函数

***************/

voidmain(void)//主函数

//uchari;

T0_init();

P0=0x00;

while

(1)

{

while(KEY1)//主循环

{

P2=0X00;

while(~fly)

show(mun);

if(mun>

3&

&

mun<

9)

P22=1;

//南北绿灯亮

P25=1;

//东西红灯亮

if(mun<

=3)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1