模拟交通灯设计报告毕业设计Word格式文档下载.docx

上传人:b****4 文档编号:17389553 上传时间:2022-12-01 格式:DOCX 页数:18 大小:325.17KB
下载 相关 举报
模拟交通灯设计报告毕业设计Word格式文档下载.docx_第1页
第1页 / 共18页
模拟交通灯设计报告毕业设计Word格式文档下载.docx_第2页
第2页 / 共18页
模拟交通灯设计报告毕业设计Word格式文档下载.docx_第3页
第3页 / 共18页
模拟交通灯设计报告毕业设计Word格式文档下载.docx_第4页
第4页 / 共18页
模拟交通灯设计报告毕业设计Word格式文档下载.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

模拟交通灯设计报告毕业设计Word格式文档下载.docx

《模拟交通灯设计报告毕业设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《模拟交通灯设计报告毕业设计Word格式文档下载.docx(18页珍藏版)》请在冰豆网上搜索。

模拟交通灯设计报告毕业设计Word格式文档下载.docx

再按一次解除东西紧急通行状态。

按压“南北紧急键”,则南北方向绿灯,东西方向红灯;

再按一次后解除南北紧急通状态。

c)按压“东西转向键”,则东西转向灯开;

按压“南北转向键”,则南北转向灯开。

3)交通灯显示状态

东西方向(简称A方向)

南北方向(简称B方向)

状态说明

红灯

黄灯

绿灯

转向

A方向通行,B方向禁行

闪烁

A方向警告,B方向禁行

A方向左转

A方向禁行,B方向通行

A方向禁行,B方向警告

B方向左转

3.总体设计方案框图

二、方案原理

采用单片机STC89C52的I/O口P1口通过锁存器控制共阴极数码管,,在十字路口的四组红、黄、绿交通灯及转向灯中,由单片机P0口管脚分别控制,由于交通灯为发光二极管且阳极通过限流电阻和电源正极连接,因此I/O口输出低电平时,与之相连的灯会亮,并通过数码管显示时间倒计时。

紧急情况的工作模式转换由人工控制

计时是利用单片机内部的一个T0定时器/计数器来实现,它的处理过程如下:

首先设定单片机内部的一个定时器/计数器工作于定时方式,先对它的定时进行校准,校准为50ms,之后以20个定时溢出为标准为1s进行计时同时根据条件语句与循环语句对数码管的计时及LED的燃亮进行调控。

本系统共用4个两位数码管,数码管显示的信息用8个内存单元存放,这8个内存单元称为显示缓冲区。

在本系统中数码管显示采用软件译码动态显示。

在存储器中首先建立一张显示信息的字段码表,显示时,先从显示缓冲区中取出显示的信息,然后通过查表程序在字段码表中查出所显示的信息的字段码,从P1口输出,同时在P2口将对应的位选码输出选中显示的数码管,就能在相应的数码管上显示显示缓冲区的内容。

三、硬件设计

1.单片机最小系统

89C52单片机是硬件电路最核心的部分,时钟电路晶振使用11.0592HZ

2.电源电路设计

电源使用自制+5V直流稳压电源

3.数码管显示电路

数码管采用两位共阴极数码管,东西南北各一个

4.LED交通灯电路

东西南北各三个红黄绿LED模拟交通灯,外加一个转向灯

四、软件设计

1.程序流程图

2.程序清单

#include<

reg52.h>

sbitkey1=P2^0;

sbitkey2=P2^1;

sbitkey3=P2^2;

sbitkey4=P2^3;

sbitkey5=P2^4;

unsignedcharcodetable[]={

0x3f,0x0c,0x76,

0x5e,0x4d,0x5b,

0x7b,0x0e,0x7f,0x5f};

voiddelayms(unsignedintx);

voiddisplay(unsignedcharx,unsignedchary,unsignedchara,unsignedcharb);

voidkeyscan();

unsignedcharkeycts,num1,num11,num22,ge1,shi1,ge2,shi2;

charnum60=60;

voidmain()

{

TMOD=0x01;

TH0=(65536-45872)/256;

TL0=(65536-45872)%256;

EA=1;

ET0=1;

TR0=1;

while

(1)

{

if(TR0==0)

{

if(keycts==1)

P0=0xbe;

elseif(keycts==2)

P0=0xee;

elseif(keycts==3)

P0=0xbb;

elseif(keycts==4)

P0=0x3e;

else

P0=0xb6;

}

else

{

if(num60-40>

0)

{

num11=num60-30;

num22=num60-35;

}

elseif(num60-35>

{

num11=num60-30;

num22=num60-35;

if(num1<

=10)

P0=0xde;

else

P0=0xfe;

}

elseif(num60-30>

{

num22=num60-30;

P0=0x3e;

}

elseif(num60-10>

{

num11=num60-5;

num22=num60;

P0=0xbb;

}

elseif(num60-5>

{

num11=num60-5;

num22=num60;

if(num1<

P0=0xbd;

else

P0=0xbf;

}

else

num11=num60;

P0=0xb6;

}

shi1=num11/10;

ge1=num11%10;

shi2=num22/10;

ge2=num22%10;

display(shi1,ge1,shi2,ge2);

keyscan();

}

}

voiddisplay(unsignedcharx,unsignedchary,unsignedchara,unsignedcharb)

P1=table[x];

P3=0xfe;

delayms

(1);

P1=table[y];

P3=0xfd;

P1=table[a];

P3=0xfb;

P1=table[b];

P3=0xf7;

voiddelayms(unsignedintx)

unsignedinti,j;

for(i=x;

i>

0;

i--)

for(j=110;

j>

j--);

voidT0_time()interrupt1

num1++;

if(num1==20)

{

num1=0;

num60--;

if(num60==0)

num60=60;

voidkeyscan()

if(key1==0)

delayms(10);

if(key1==0)

while(!

key1);

TR0=~TR0;

keycts=1;

if(key2==0)

if(key2==0)

key2);

keycts=2;

if(key3==0)

delayms(10);

if(key3==0)

key3);

keycts=3;

if(key4==0)

if(key4==0)

key4);

keycts=4;

if(key5==0)

if(key5==0)

key5);

keycts=5;

五、总结

我们对本次制作的作品还是比较满意的,经过两周的设计、分析和焊接,我们做出了所需要的东西,终于圆满地完成此次比赛的作品。

虽然在这个过程中也遇到一些困难,但通过与同学的交流和自己查资料,我们对电子设计有了更深的体会。

通过本次比赛我们感觉到自己对各种元器件的功能特性不是很熟悉,在用到所需元件时都要进行查阅,在今后不仅要增加自己的理论学习,还要进一步提高自己的动手能力,全面地提高自己的电子设计的能力。

在这次比赛中,我们要感谢芯空科协给我们提供的机会,在此期间,我们不仅学到了许多新的知识,而且也开阔了视野,提高了自己的动手能力。

最后,我还要感谢帮助过我的学长,他们也为我们解决了不少我们不太明白的设计上的难题。

六、参考文献

【1】郭天祥《新概念51单片机C语言教程》电子工业出版社,2011

【2】杨欣,莱·

诺克斯,王玉凤,刘湘黔《电子设计从零开始(第二版)》清华大学出版社,2010

【3】谭浩强《C程序设计(第三版)》清华大学出版社,2005

附件:

模拟交通灯器件清单

名称

规格

数量

单片机

STC89C52

1

单片机插座

40引脚

锁存器

74HC573

锁存器插座

20引脚

晶振

11.0592MHZ

按键

6

数码管

两位共阴极

4

发光二极管

红、黄、绿

16

变压器

220V~6V

杜邦线

若干

二极管

1N4007

电解电容

1000μF

2

瓷介电容

0.1μF

3

30pF

电阻

10k

4.7k

1k

350Ω

9

排阻

焊锡丝

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

当前位置:首页 > IT计算机 > 计算机软件及应用

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

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