找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 94631|回复: 79
收起左侧

基于单片机的交通灯显示系统课程设计报告

  [复制链接]
ID:216765 发表于 2017-7-4 11:22 | 显示全部楼层 |阅读模式

唐 山 学 院

单片机与接口技术课 程 设 计

题    目  基于单片机的交通灯显示系统

系   (部) 算机科学与技术系

班    级  

姓    名

学    号

指导教师  

2016 74 日至2016年 710

1

2016年 7 月8

单片机与接口技术课程设计任务书

一、设计题目、内容及要求

题目:基于单片机的篮球计分器设计

内容:

1、设计LCD显示篮球比分牌;
2、通过加分按钮可以给A队或B队加分;
3、设计对调功能,A队和B队分数互换,意味着中场交换场地;
4、显示比赛倒计时功能;
5、创新内容:如显示第几小节。
要求:
1、根据设计内容,设计系统硬件结构,画出系统流程图。
2、应用Keil、Proteus软件开发应用系统并仿真调试。

二、要求的设计成果(课程设计说明书、设计实物、图纸等)

1.课程设计说明书:课程设计说明书1份,不少于2000字。说明书中要包含需求分析、硬件仿真图、程序结构设计等内容。

2. 格式要求:设计说明书报告分系统简介、需求分析、系统硬件设计、主要程序设计、系统的优缺点,以及需要改进部分。

报告于系统验收答辩时交。

三、进程安排

7.4:完成需求分析和系统硬件设计工作。

7.5-7.6:完成程序编写工作。

7.7:程序调试和撰写课程设计说明书初稿。

7.8: 提交课程设计说明书、硬件原理图、程序及答辩。

四、主要参考资料

[1]付家才,《单片机控制工程实践技术》,化学工业出版社,2003年

[2]胡汉才,《单片机原理及接口设计》,清华大学出版社,2002年

[3]康华光,《模拟电子技术》,高等教育出版社,2004年

[4]张毅刚,《单片机原理与应用设计》,电子工业出版社,2008年


指导教师(签名):

教研室主任(签名):

注:可以附页


课程设计成绩评定表
出勤
情况
出勤天数

缺勤天数

出勤情况及设计过程表现(20分)

课设答辩(20分)

设计成果(60分)

总成绩(100分)

提问
(答辩)
问题
情况


                 指导教师签名:
                                  年    月    日

目录

1.设计背景

2.需求分析

3.设计目的

4.设计要求

5.系统总体方案硬件设计

5.1设计思想及总体设计

5.2硬件设计

5.3复位电路

5.4数码管显示

5.5红绿灯显示

5.6键盘:独立键盘+中断

5.7系统原理图

6.软件设计

              6.1总体流程

6.2循环流程控制思路

6.3主要程序设计

7.调试运行

              7.1正常运行状态

              7.2左右行显示

              7.3黄灯闪烁显示

              7.4中断全红灯显示

8.设计心得体会

9. 系统的优缺点

1.设计背景

交通在人们的日常生活中占有重要的地位,随着人们社会活动的日益频繁,这点更是体现的淋漓尽致.交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力、减少交通事故有明显效果.本系统采用单片机AT89C51为中心器件来设计交通控制灯控制器,系统实用性强、操作简单、扩张性强.本设计就是采用单片机模拟十字路口交通灯的各种状态显示以及倒计时时间.
本设计系统由单片机I/O口扩张系统、交通灯状态显示系统、LED数码显示管系统、紧急情况中断系统、复位电路等几大部分组成.系统除基本的交通灯功能外,还具有倒计时、紧急情况处理功能,较好的模拟实现了十字路口可能出现的状况.
软件上采用89C51编程,主要编写了主程序,LED数码显示管程序,中断程序延时程序等.经过整机调试,实现了对十字路口交通灯的模拟.

2.需求分析

近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。 十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。交通信号灯控制方式很多。本系统采用MSC-51系列单片机AT89C51为中心器件来设计交通灯控制器,实现了能根据实际车流量通过51芯片的P1口设置红、绿灯燃亮时间的功能;红绿灯循环点亮,倒计时剩3秒时黄灯闪烁警示;绿灯时间可检测车流量并可通过双位数码管显示。本系统实用性强、操作简单、扩展功能强。

3.设计目的

3.1巩固和加深对单片机原理和接口技术知识的理解;

3.2培养根据课题需要选学参考书籍、查阅手册和文献资料的能力;

3.3学会方案论证的比较方法,拓宽知识,初步掌握工程设计的基本方法;

3.4掌握常用仪器、仪表的正确使用方法,学会软、硬件的设计和调试方法;

3.5能按课程设计的要求编写课程设计报告,能正确反映设计和实验成果,能用计算机绘制电路图和流程图。

4.设计要求

1)东西干道和南北干道的通行分左行、右行、直行,其中左行、右行固定15秒;直行固定30秒;

2)信号灯分绿灯(3种)、红灯、黄灯,每次绿灯换红灯时,黄灯亮3秒钟;

3)东西干道和南北干道交替控制,每次干道绿灯交替时,有3秒钟所有干道的交通灯都是黄灯闪烁3秒钟,提示已经进入路口的车辆迅速通过;

4)其他创新内容。

5.系统总体方案硬件设计

5.1设计思想及总体设计

1)分析目前交通路口的基本控制技术以及各种通行方案,并以此为基础提出自己的交通控制的初步方案

2)确定系统交通控制的总体设计,包括,十字路口具体的通行禁行方案设计以及系统应拥有的各项功能,在这里,本设计除了有信号灯状态控制能实现基本的交通功能,还增加了倒计时显示提示.

3)进行智能传感器的硬件电路、显示电路等的设计和对各器件的选择及连接,大体分配各个器件及模块的基本功能要求。

4)进行软件系统的设计,对于本系统,本人采用单片机c语言编写,对单片机内部结构和工作情况做了充足的研究,了解定时器,中断以及延时原理,总体上完成了软件的编写。


5.2硬件设计

1)单片机选型:AT89C51

AT89S51单片机是美国ATMEL公司生产的低功耗、高性能CMOS 8位单片机,片内含4K bytes的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度,非易失性存储技术生产,兼容标准8051指令系统及引脚。它集Flash程序存储器,既可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器于单片芯片中,ATMEL公司的功能强大,低价AT89S51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。AT89S52是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程 Flash 存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业 80C51 产品指令和引脚完 全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的 8 位 CPU 和在系统 可编程Flash,使得 AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 AT89S52具有以下标准功能: 8k字节Flash,256字节RAM, 32 位 I/O 口线,看门狗定时器,2 个数据指针,三个 16 位 定时器/计数器,一个6向量 2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至 0Hz 静态逻 辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工 作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

P0:P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用。  在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。  在FIash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。

P1:P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,过内部上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。  FIash编程和程序校验期间,P1接收低8位地址。

引脚号第二功能

P1.0 T2(定时器/计数器T2的外部计数输入),时钟输出

P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)

P1.5 MOSI(在系统编程用)

P1.6 MISO(在系统编程用)

P1.7 SCK(在系统编程用)

P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4 个

TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。

在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX @DPTR) 时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用8位地址(如MOVX @RI)访问外部数据存储器时,P2口输出P2锁存器的内容。

在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。

P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p2 输出缓冲器能驱动4 个TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入 口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。

P3口亦作为AT89C51特殊功能(第二功能)使用,如下表所示。

在flash编程和校验时,P3口也接收一些控制信号。

   端口引脚 第二功能

   P3.0 RXD(串行输入口)

   P3.1 TXD(串行输出口)

   P3.2 INTO(外中断0)

   P3.3 INT1(外中断1)

   P3.4 TO(定时/计数器0)

   P3.5 T1(定时/计数器1)

   P3.6 WR(外部数据存储器写选通)

   P3.7 RD(外部数据存储器读选通)

此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。 RST——复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。

ALE/PROG——当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。

对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。

如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。

PSEN——程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。

EA/VPP——外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。

FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。

AT89C51引脚分布图如图1-2

1.011.jpg

5.3复位电路

1.012.jpg

图1-3

当8051的ALE及/PSEN两引脚输出高电平,RST引脚高电平到时,单片机复位。RST/VPD端的高电平,若直接由启动瞬间产生,则为启动复位,若通过按动按钮产生高电平复位称手动复位。如图1-3所示,上电时,接通电源,电容器C相当于瞬间短路,+5V加到了RST/VPD端,该高电平使8051全机复位。若运行过程中,需要程序从头执行,只需按动按钮S,则直接把+5V加到了RST/VPD端,从而复位。显然,该电路即可以上电复位,也可以手动复位,是常用复位电路之一。

5.4数码管显示

1.013.jpg              1.014.jpg

图1-3.1

5.5  红绿灯显示

1.015.jpg

图1-4

每个路口都采用了4个LED灯来显示,分别代表红绿(左绿)黄三种灯,来模拟路口交通的变换。如图1-4

以南北方向举例,正常状况下,从30秒开始倒计时,南北方向可直行,即绿灯亮起,东西方向禁止通行,亮红灯。当显示至15秒时,南北方向可直行和转弯,即两个绿灯亮起,东西方向禁止通行,亮红灯。当显示至3秒时,通知车辆快速通过,南北黄灯闪烁,东西方向禁止通行,亮红灯。

5.6键盘:独立键盘+中断

1.016.jpg 图1-5

采用开关来控制进入中断,可以在路口出现紧急情况时,拉动开关。使红绿灯发生相应的改变,已处理紧急情况下车辆通行。如图1-5所示

中断有三个功能:

  • 全体红灯10s(由于数码管不够了,没有计数显示),防止突发情况比如救护车需要迅速通过。
  • 时间加5s 防止高峰期某个方向路口车流严重负荷,增大通行时间。
  • 时间减5s 防止高峰期某个方向路口车流严重负荷,而另一个路口路况资源浪费,可以合理利用路况资源。

5.7系统原理图

总电路如图1-6所示

1.017.jpg

图1-6

6.软件设计

6.1总体流程


1、东西干道和南北干道的通行分左行、右行、直行,其中左行、右行固定15秒;直行固定30秒;
2、信号灯分绿灯(3种)、红灯、黄灯,每次绿灯换红灯时,黄灯亮3秒钟;
3、东西干道和南北干道交替控制,每次干道绿灯交替时,有3秒钟所有干道的交通灯都是黄灯闪烁3秒钟,提示已经进入路口的车辆迅速通过;

1.018.jpg          

6.2循环流程控制思路


流程控制图

1.019.jpg

6.3主要程序设计

利用段码位码选址的方法,结合查表法调用数码管显示函数

  1. /*********************显示子函数**************************/

  2. void              Display()

  3.               {

  4.                             char h,l;

  5.                             h=Time_EW/10;

  6.                             l=Time_EW%10;

  7.                     P2=table[l];

  8.                             EW_LED2=0;

  9.                             Delay(2);

  10.                             EW_LED2=1;

  11.                   P2=table[h];

  12.                             EW_LED1=0;

  13.                             Delay(2);

  14.                             EW_LED1=1;



  15.                            

  16.                            

  17.                             h=Time_SN/10;

  18.                             l=Time_SN%10;

  19.                   P2=table[l];

  20.                             SN_LED2=0;

  21.                             Delay(2);

  22.                             SN_LED2=1;

  23.                   P2=table[h];

  24.                             SN_LED1=0;

  25.                             Delay(2);

  26.                             SN_LED1=1;

  27.                            



  28. 紧急中断程序,全红灯10s

  29. if(Special_Btton==0)              //紧急情况下,全红灯10S

  30.      {

  31.               uchar i;

  32.               for(i=0;i<50;i++) //循环50次

  33.               {Flag_SN_Yellow=0;

  34.             Flag_EW_Yellow=0;

  35.               P1=0xEE;

  36.               Delay(200);     //延时200ms

  37.             

  38.               }

  39.       }            

  40. }

  41. /**********************外部0中断服务程序************************/



  42. void              EXINT0(void)interrupt 0 using 1

  43. {

  44.    EX0=0; //关中断

  45.    if(Reduces_Button==0) //时间减

  46.        {

  47.          EW1-=5;                  

  48.          SN1-=5;

  49.          if(EW1<=25)

  50.            {

  51.                    EW1=25;

  52.              SN1=15;

  53.            }

  54.         }

  55.    EX0=1;//开中断

  56. }

  57. /**********************外部1中断服务程序************************/



  58. void              EXINT1(void)interrupt 2 using 1

  59. {

  60.    EX1=0; //关中断

  61.    if(Add_Button==0) //时间加

  62.      {

  63.        EW1+=5;                    

  64.        SN1+=5;

  65.        if(EW1>=45)

  66.               {

  67.                 EW1=45;

  68.                 SN1=35;

  69.         }   

  70.      }                    

  71.                     

  72.    EX1=1;//开中断      

  73. }      

  74. /**********************T0中断服务程序*******************/

  75. void timer0(void)interrupt 1 using 1

  76. {

  77.    static uchar count;

  78.    TH0=(65536-50000)/256;

  79.    TL0=(65536-50000)%256;

  80.    count++;

  81.    if(count==10)

  82.      {

  83.        if(Flag_SN_Yellow==1) //测试南北黄灯标志位

  84.         {SN_Yellow=~SN_Yellow;}

  85.        if(Flag_EW_Yellow==1)  //测试东西黄灯标志位

  86.         {EW_Yellow=~EW_Yellow;}

  87.      }



  88.      if(count==20)

  89.      {

  90.        Time_EW--;

  91.        Time_SN--;

  92.        if(Flag_SN_Yellow==1)//测试南北黄灯标志位

  93.         {SN_Yellow=~SN_Yellow;}

  94.        if(Flag_EW_Yellow==1)//测试东西黄灯标志位

  95.         {EW_Yellow=~EW_Yellow;}

  96.        count=0;

  97.      }            

  98. }

  99. 主程序,利用中断调用,将不同的交通灯情况列成s1-s7情况

  100. /*********************主程序开始**********************/

  101. void main(void)

  102. {

  103.   IT0=1;      //INT0负跳变触发

  104.   IT1=1;      //INT1负跳变触发

  105.   TMOD=0x01;  //定时器工作于方式1

  106.   TH0=(65536-50000)/256;//定时器赋初值50ms

  107.   TL0=(65536-50000)%256;

  108.   EA=1; //CPU开中断总允许

  109.   ET0=1;//开定时中断

  110.   EX0=1;//开外部INTO中断

  111.   EX1=1;//开外部INT1中断

  112.   TR0=1;//启动定时                           

  113.   Flag_SN_Yellow=0;                 //SN关黄灯显示信号

  114.   Flag_EW_Yellow=0;                 //EW关黄灯显示信号

  115.   Time_EW=TZ;            

  116.   Time_SN=TZ;

  117.   P1=0xFF;

  118.   while(Time_SN>=0)

  119.    {

  120.      EW_Red=0;              //全红灯3S   0xEE

  121.      SN_Red=0;

  122.      Display();

  123.    }                                         

  124.    while(1)               

  125.     {   /*******S0状态**********/

  126.          Flag_EW_Yellow=0; //EW关黄灯显示信号

  127.               Time_EW=EW1;            

  128.               Time_SN=SN1;



  129.                   while(Time_SN>=0)

  130.                    {P1=S[0];              //SN通行,EW红灯       0xBE

  131.                     Display();}







  132.        /*******S1状态**********/

  133.               /*P1=0xFF;

  134.               while(Time_SN>=0)

  135.                   {Flag_SN_Yellow=1;              //SN开黄灯信号位

  136.                    EW_Red=0;      //SN黄灯亮,等待左拐信号,EW红灯   0xDE

  137.                    Display();}





  138.               /*******S2状态**********/

  139.               Flag_SN_Yellow=0; //SN关黄灯显示信号

  140.               Time_SN=SNL;

  141.               while(Time_SN>=3)

  142.                  {P1=S[2];//SN左拐绿灯和直行绿灯亮,EW红灯       0x3E

  143.                   Display();}







  144.               /*******S3状态**********/

  145.               P1=0xFF;

  146.               while(Time_SN>=0)

  147.                  {Flag_SN_Yellow=1;//SN开黄灯信号位

  148.                   EW_Red=0;        //SN黄灯亮,等待停止信号,EW红灯    0xDE

  149.                   Display();}





  150.               /***********赋值**********/

  151.               EW=EW1;

  152.               SN=SN1;

  153.               EWL=EWL1;

  154.               SNL=SNL1;





  155.               /*******S4状态**********/

  156.               Flag_SN_Yellow=0;  //SN关黄灯显示信号

  157.               Time_EW=SN;

  158.               Time_SN=EW;

  159.                 while(Time_EW>=0)

  160.             {P1=S[4];              //EW通行,SN红灯    0xEB

  161.                    Display();}

  162.                                                       

  163.               /*******S5状态**********/

  164.               /*P1=0XFF;

  165.               while(Time_EW>=0)

  166.                 {Flag_EW_Yellow=1;//EW开黄灯信号位

  167.                  SN_Red=0;//EW黄灯亮,等待左拐信号,SN红灯    0xED

  168.                  Display();}

  169.                                              

  170.               /*******S6状态**********/

  171.               Flag_EW_Yellow=0;//EW关黄灯显示信号           0xE3

  172.               Time_EW=EWL;

  173.               while(Time_EW>=3)

  174.                  {P1=S[6];//EW左拐绿灯亮,SN红灯

  175.                   Display();}

  176.                                                       



  177.               /*******S7状态**********/

  178.               P1=0xFF;

  179.               while(Time_EW>=0)

  180.                 {Flag_EW_Yellow=1; //EN开黄灯信号位

  181.                  SN_Red=0;//EW黄灯亮,等待停止信号,SN红灯    0xE7            

  182.                  Display();}

  183.                                          

  184.               /***********赋值**********/

  185.               EW=EW1;

  186.               SN=SN1;

  187.               EWL=EWL1;

  188.               SNL=SNL1;

  189.    }

  190. }
复制代码

            

7.调试运行

7.1正常运行状态

1.020.jpg

7.2左右行显示

1.021.jpg







7.3黄灯闪烁显示

1.022.jpg

7.4中断全红灯显示

1.023.jpg

8.设计心得体会

一周的单片机课程设计很快就结束了,在这一周当中,虽然开始有点困难,但是经过一次次的失败,合理地进行设计安排,再加上老师的耐心指导,终于顺利地完成了本次单片机课程设计,同时也学到了很多东西。在本次课程设计中,通过动手实践操作,进一步学习和掌握了单片机原理的有关知识,特别是程序的编程方面,加深了对单片机原理及应用技术的认识,进一步巩固了对单片机知识的理解,掌握简单单片机应用系统的设计、制作、调试的方法。在设计时根据课题要求,复习相关的知识,查询相关的资料。根据实验条件,找到适合的方案,找到需要的元器件及工具,进行实验。

这次的单片机课程设计重点是通过实践操作和理论相结合,提高动手实践能力,提高科学的思维能力,更在一周的时间了解了更多的有关单片机的知识,使知识更加丰富,使自己更加充实。学会静下心来自己学习,相信这对以后在社会上工作和学习会有很多帮助,让我们能更好的进入工作状态。最重要的是,这次课程设计也增加了我们对问题的研究和探讨,对以后的学习中会有更多的帮助。

单片机为我们的主要专业课之一,但要做好一个课程设计,就必须做到:在设计程序之前,对所用单片机的内部结构有一个系统的了解,知道该单片机内有哪些资源;要有一个清晰的思路和一个完整的的软件流程图;在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也为资料的保存和交流提供了方便;在设计课程过程中遇到问题是很正常德,但我们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题的课程设计结束了,但是从中学到的知识会让我们受益终身。

在完成单片机课程设计后,我发现我还有许多不足,所学到的知识还远远不够,以至于还有一些功能不能被动完成。但通过学习这一次实践,增强了动手能力,提高和巩固了单片机方面的知识,特别是软件方面。让我们认识到把理论应用到实践中去是多么重要。

9.系统的优缺点

系统功能:1、程序初始化,所有灯都是红灯的,3S

2、先南北通,东西不通,时间30S,其中30S是直行(27S绿+3S黄),15S左转(12S绿+3秒黄)

          3、时间加减按钮一次是5S,紧急情况是10S(数码管不足,没显示)

系统优点:1、系统能够比较准确的实现十字路口交通灯的基本功能,并且拥有一种紧急情况处理系统(由中断系统实现),当南北方向绿灯亮时,南北方向车辆通行,同时倒计时30秒;当倒计时到15秒时,指示转向的路灯同时点亮;当倒计时即将结束时,黄灯闪烁3秒,之后东西方向绿灯点亮,与南北方向运行方式相同。紧急情况是考虑到路口发生车祸或有紧急车辆通行时,按下按钮后东西南北方向红灯全部亮起,保持10秒后恢复正常运行。能够基本符合老师给出的题目要求。

系统缺点:1、系统实用性较差,与实际情况相关性教差。首先,指示转向的红绿灯应用相应箭头表示,可以用点阵实现。              其次,紧急情况不符合实际要求,当车祸或紧急车辆通行时,应先疏通当时路口车辆,之后设置路障或恢复通行,灵活性应较强,目前只通过交通灯的不容易实现。在之后的学习中应将该题目中的缺点逐渐完善并创新,使其更加人性化。

改进:     1、针对应急情况,要实际考虑应急情况,把紧急转换通行车道,变换成一红一绿,不能全红。

              2、添加指示箭头



完整论文下载(word格式 可编辑):

实训报告模板.doc (475 KB, 下载次数: 477)

评分

参与人数 3黑币 +60 收起 理由
阿玲玲玲 + 5 绝世好帖!
137435504 + 5 nice
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:1 发表于 2017-7-4 23:32 | 显示全部楼层
好资料,51黑有你更精彩!!!
回复

使用道具 举报

ID:200039 发表于 2017-7-5 13:41 | 显示全部楼层
不错啊!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!真的挺好的
回复

使用道具 举报

ID:258074 发表于 2017-12-6 10:41 | 显示全部楼层
412.C(13): error C202: 'Time_EW': undefined identifier
412.C(15): error C202: 'Time_EW': undefined identifier
412.C(19): error C202: 'EW_LED2': undefined identifier
请问一下按照上面的的程序这个怎么解决?谢谢
回复

使用道具 举报

ID:87193 发表于 2017-12-6 15:29 | 显示全部楼层
很详细啊,下载了看看怎么样
回复

使用道具 举报

ID:259701 发表于 2017-12-13 13:18 | 显示全部楼层
楼主能不能把原代码发上来,在你这个基础上改不好啊!
回复

使用道具 举报

ID:259701 发表于 2017-12-13 13:25 | 显示全部楼层
楼主可不可以把源程序共享上来,我是小白,这个程序有点驾驭不了
回复

使用道具 举报

ID:276690 发表于 2018-1-16 18:13 | 显示全部楼层
把图纸也文件也发上来就好了
回复

使用道具 举报

ID:276932 发表于 2018-1-17 12:17 | 显示全部楼层
厉害了,我的天
回复

使用道具 举报

ID:286111 发表于 2018-3-3 13:41 | 显示全部楼层
好资料
回复

使用道具 举报

ID:288294 发表于 2018-3-7 08:40 | 显示全部楼层
hj1120 发表于 2017-12-6 10:41
412.C(13): error C202: 'Time_EW': undefined identifier
412.C(15): error C202: 'Time_EW': undefined  ...

请问解决了吗
回复

使用道具 举报

ID:308262 发表于 2018-5-4 09:41 | 显示全部楼层
HELLO.C(5): error C202: 'Time_EW': undefined identifier
HELLO.C(6): error C202: 'Time_EW': undefined identifier
HELLO.C(7): error C202: 'P2': undefined identifier
HELLO.C(8): error C202: 'EW_LED2': undefined identifier
HELLO.C - 4 Error(s), 0 Warning(s).
求解决啊 大神们
回复

使用道具 举报

ID:333595 发表于 2018-5-19 12:47 | 显示全部楼层
nice 很给力
回复

使用道具 举报

ID:336010 发表于 2018-5-22 20:47 | 显示全部楼层

兄弟,帮帮忙呗,搞出来程序没
回复

使用道具 举报

ID:336281 发表于 2018-5-23 14:19 | 显示全部楼层
很详细,对我很有用
回复

使用道具 举报

ID:338103 发表于 2018-5-28 10:02 | 显示全部楼层
不错不错
回复

使用道具 举报

ID:339851 发表于 2018-6-1 01:00 来自手机 | 显示全部楼层
你好,有事找你
回复

使用道具 举报

ID:345806 发表于 2018-6-5 22:43 | 显示全部楼层
111.C(8): error C202: 'table': undefined identifier
回复

使用道具 举报

ID:349163 发表于 2018-6-11 09:13 | 显示全部楼层
交通灯.C(8): error C202: 'Time_EW': undefined identifier 交通灯.C(10): error C202: 'Time_EW': undefined identifier 交通灯.C(12): error C202: 'P2': undefined identifier 交通灯.C(14): error C202: 'EW_LED2': undefined identifier
回复

使用道具 举报

ID:352837 发表于 2018-6-16 13:03 | 显示全部楼层
hi
你真棒
回复

使用道具 举报

ID:353719 发表于 2018-6-18 16:19 | 显示全部楼层
怎么下载不了
回复

使用道具 举报

ID:353746 发表于 2018-6-19 00:31 | 显示全部楼层
Build target 'Target 1'
compiling 交通信号灯.c...
交通信号灯.C(9): error C202: 'Time_EW': undefined identifier
交通信号灯.C(11): error C202: 'Time_EW': undefined identifier
交通信号灯.C(13): error C202: 'P2': undefined identifier
交通信号灯.C(15): error C202: 'EW_LED2': undefined identifier
Target not created

大神有在吗?求解
回复

使用道具 举报

ID:340020 发表于 2018-6-20 22:04 | 显示全部楼层
不错不错!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
回复

使用道具 举报

ID:358220 发表于 2018-6-25 09:48 | 显示全部楼层
大神求助!
回复

使用道具 举报

ID:358220 发表于 2018-6-25 09:49 | 显示全部楼层
厉害厉害!
回复

使用道具 举报

ID:358220 发表于 2018-6-26 15:48 | 显示全部楼层
Warrior10 发表于 2018-5-4 09:41
HELLO.C(5): error C202: 'Time_EW': undefined identifier
HELLO.C(6): error C202: 'Time_EW': undefine ...

请问这个问题解决了吗?我也遇到了,非常着急,可以回复一下怎么解决的吗?
回复

使用道具 举报

ID:368258 发表于 2018-7-9 21:16 | 显示全部楼层
很棒啊
回复

使用道具 举报

ID:369970 发表于 2018-7-12 12:31 | 显示全部楼层
LED1.c(9): error C202: 'table': undefined identifier
LED1.c(10): error C202: 'EW_LED2': undefined identifier
请问怎么解决
回复

使用道具 举报

ID:369970 发表于 2018-7-12 12:34 | 显示全部楼层
Nanjolno 发表于 2018-6-26 15:48
请问这个问题解决了吗?我也遇到了,非常着急,可以回复一下怎么解决的吗?

请问你解决了没有?
回复

使用道具 举报

ID:369970 发表于 2018-7-12 15:34 | 显示全部楼层

你能运行?
回复

使用道具 举报

ID:385228 发表于 2018-8-11 14:20 | 显示全部楼层
你好,我想下载这文件,谢谢了
回复

使用道具 举报

ID:205392 发表于 2018-8-25 17:09 | 显示全部楼层
好资料,51黑有你更精彩!!!
回复

使用道具 举报

ID:391085 发表于 2018-8-30 20:43 | 显示全部楼层
666非常好
回复

使用道具 举报

ID:399095 发表于 2018-9-20 19:38 | 显示全部楼层
很有参考价值 谢谢
回复

使用道具 举报

ID:400057 发表于 2018-10-9 16:28 | 显示全部楼层
这个里面有源程序和仿真图吗
回复

使用道具 举报

ID:407214 发表于 2018-10-9 20:20 | 显示全部楼层
好贴顶起
回复

使用道具 举报

ID:407265 发表于 2018-10-9 21:32 | 显示全部楼层
顶起...
回复

使用道具 举报

ID:406775 发表于 2018-10-9 21:53 来自手机 | 显示全部楼层
强,解决了我们初学者很多问题
回复

使用道具 举报

ID:411961 发表于 2018-10-19 16:55 | 显示全部楼层
兄弟,帮帮忙呗,搞出来程序没
回复

使用道具 举报

ID:413618 发表于 2018-10-22 18:21 | 显示全部楼层
nice  找了了好久
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表