要求:

1、红灯和绿灯相互转换时经过黄灯,黄灯闪烁三次(6秒);

2、主干道方向通行30秒,辅干道方向通行20秒,单独左转信号15秒;先直行信号,后左转信号。

3、设手动、自动、特殊情况三种方式。

4、特殊情况时所有路口红灯都亮,给120、110等通行。

5、自动时显示各种状态倒计时。

获取该 程序+protues 的方式:

1、CSDN下载:

https://download.csdn.net/download/qq_38351824/11286002

2、关注微信公众号下载:

     ① 关注微信公众号:Tech云  

     ②

3、可以关注点赞并在下方评论,我给你邮箱发过去。

                           -------由于明天开始旅游,这一块注释不全、程序也有点小bug,预计7月15日开始更新-------

一、Protues仿真图:

二、程序源码:

因为注释非常的全,这里就不再进行讲解了。

/*******************************************************************************
================================================================================
【平    台】STC89C51_sumjess平台
【编    写】sumjess
【E-mail  】1371129880@qq.com
【软件版本】V2.0
【最后更新】2019年06月10日
【相关信息参考下列地址】
【网    站】https://blog.csdn.net/qq_38351824http://www.51hei.com/bbs/mcu-2-1.html
---------------------------------------------------------------------------------
【dev.env.】MDK4.02及以上版本
【Target  】STC89C51
第一次修订:2019/05/09
第二次修订:2019/05/21
第三次修订:2019/06/10
【problem 】(1)库内补充的不全面;(2)库内解释部分不全面;(3)库内还存在一定的bug;
【direction】下一步的目标就是把库继续集成!
【explain 】为了方便使用,我也自己写了很多的库,和优化了算法和表示方式!
【warning】目前程序中暂无错误 !
---------------------------------------------------------------------------------
没有完美的代码,只有不断的奉献,大家一起努力;
赠人玫瑰手留余香,欢迎大家反馈bug!
================================================================================
********************************************************************************/#include <reg51.h>
#include <stdio.h>
#define uchar     unsigned char
#define uint      unsigned intuchar h;
uint r=0;
uint s;
uchar flag=1;
uchar code  dis[]={0Xc0,0Xf9,0Xa4,0Xb0,0X99,0X92,0X82,0Xf8,0X80,0X90,0Xff,};// 0     1    2    3    4    5    6    7    8    9    -
sbit key = P3^5;void delay(uint c) //延时程序
{uint i,j;for(i=0;i<c;i++)for(j=0;j<100;j++);
}void t0(void) interrupt 0 using 1
{delay(2);if(INT0==0){r++;if(r==2){r=0;}r%=2;if(r==0){P0=0xeb;P1=0x00;P2=0xff;}while(1){if(INT0==0|INT1==0|T0==0){delay(2);if(INT0==0|INT1==0|T0==0)break;}if(key==0) {flag=0;break;}}    }
}void t1(void) interrupt 2 using 1
{delay(2);if(INT1==0){r++;if(r==2){r=0;}r%=2;if(r==0){P0=0xdd;P1=0x00;P2=0xff;}while(1){if(INT1==0|INT0==0|T0==0){delay(2);if(INT1==0|INT0==0|T0==0)break;}if(key==0) {flag=0;break;}}}
}void t2(void) interrupt 1 using 1
{TH0=0xff;TL0=0xff;delay(2);if(T0==0){P0=0xdb;P1=0x00;P2=0xff;}while(1){if(INT0==0|INT1==0){  delay(2);if(INT0==0|INT1==0)break;}if(key==0) {flag=0;break;}}
}void main(void)
{TMOD=0x06;TH0=0xff;TL0=0xff;TR0=1;EA=1;EX0=1;EX1=1;ET0=1;while(1)
{flag=1;if(flag==1){P0=0xeb;for(h=28;h>0;h--){for(s=248;s>0;s--){if(flag==0) break;P1=0x00;P2=0xff;P1=0x01;P2=dis[h/10];delay(1);P1=0x00;P2=0xff;P1=0x02;P2=dis[h%10];delay(1);P1=0x00;P2=0xff;P1=0x04;P2=dis[(h+2)/10];delay(1);P1=0x00;P2=0xff;P1=0x08;P2=dis[(h+2)%10];delay(1);}}if(flag==0) break;delay(248);P0=0xf3;for(h=3;h>0;h--){if(flag==0) break;delay(392);P0=0xf3;delay(1);P1=0x00;P2=0xff;P1=0xaa;P2=dis[(h-1)%10];delay(600);P0=0xfb;}if(flag==0) break;delay(248);P0=0xdd;for(h=38;h>0;h--){if(flag==0) break;for(s=248;s>0;s--){if(flag==0) break;P1=0x00;P2=0xff;P1=0x01;P2=dis[(h+2)/10];delay(1);P1=0x00;P2=0xff;P1=0x02;P2=dis[(h+2)%10];delay(1);P1=0x00;P2=0xff;P1=0x04;P2=dis[h/10];delay(1);P1=0x00;P2=0xff;P1=0x08;P2=dis[h%10];delay(1);}}if(flag==0) break;delay(248); P0=0xde;for(h=3;h>0;h--){if(flag==0) break;delay(392);P0=0xde;delay(1);P1=0x00;P2=0xff;P1=0xaa;P2=dis[(h-1)%10];delay(600);P0=0xdf;}if(flag==0) break;delay(248);} }
}

课程设计题七:交通灯控制器相关推荐

  1. 微型计算机k80,微型计算机原理与接口技术课程设计报告智能交通灯控制系统设计(15页)-原创力文档...

    微型计算机原理与接口技术课程设计报告智能交通灯控制系统设计 摘 要 根据十字路口交通灯的控制要求,采用PLC 设计实现正常交通的时序控制,通过传感器完成对交通异常状况的智能判别及处理.在系统的设计中, ...

  2. 8255交通灯实验的微型计算机,微机原理课程设计——8255,8253交通灯模拟实验.doc...

    文档介绍: 微机原理课程设计 设计任务及要求: 交通信号灯的控制: 通过8255A并口来控制LED发光二极管的亮灭. A口控制红灯,B口控制黄灯,C口控制绿灯. 输出为0则亮,输出为1则灭. 用825 ...

  3. 接口技术课程设计 Lab8000实现交通灯控制系统

    实验仪器Lab8000 1.利用8253定时,8259中断及8255输出实现十字路口交通灯模拟控制. 2.实现能自动控制和手动控制. 3.实现能随时可以调整自动模式的绿灯和红灯时间 4.设计电路并在实 ...

  4. 课程设计2:交通灯仿真设计

    二.实验学时: 三.设计要求:: 设计并实现一个简单的十字路口交通灯控制电路.具体要求:以4个红色指示灯.4个绿色指示灯和4个黄色指示灯模拟路口东西南北4个方向的红绿黄交通灯.控制这些灯,使它们安下列 ...

  5. VHDL交通灯控制器的设计

    主要内容: 设计主干道的交叉路口交通信号灯无人自动管理的控制系统.将路口红绿灯的各种亮灯情况定义不同的状态,路口状况定义为触发条件,组成有限状态机. 1.设计的目的 本次课程设计的目的是通过设计交通灯 ...

  6. eda交通灯控制器波形输入_基于VHDL的交通灯控制器设计

    应用VHDL语言设计数字系统,大部分设计工作可在计算机上完成,从而缩短系统开发时间,提高工作效率.下面介绍基于VHDL设计交通灯控制器的一种方案,并给出源程序和仿真结果. 1 系统功能与要求 交通灯控 ...

  7. 微机原理与接口技术 8255和8253综合应用之交通灯控制器的设计

    交通灯控制器的设计 一.实验要求 通过采用并行口8255A和定时器/计数器8253编写一模仿交通灯程序,在微机原理实验仪上调试,运行后可以看到LED灯在不停的红绿交替亮. 二.实验目的: 熟悉和掌握并 ...

  8. 基于Verilog用状态机设计交通灯控制器

    1.题目:用状态机设计交通灯控制器,设计要求:A路和B路都有红.黄.绿三种灯,持续时间为红灯45s.黄灯5s.绿灯40s.A路和B路交通灯的状态转移为 (1)A红,B绿(持续时间40s): (2)A红 ...

  9. 一位全加器的设计和交通灯控制器EDA

    一.实验内容 1)熟悉quartusll开发环境 2)一位全加器的设计和交通灯控制器. FPGA为核心,设计一个交通灯控制器,每个路口都有红.黄.绿三盏灯.该交通信号灯控制器由一条车道A和一条车道B汇 ...

  10. c语言c51单片机点亮8个灯,单片机课程设计-8个LED灯来回点亮

    <单片机课程设计-8个LED灯来回点亮>由会员分享,可在线阅读,更多相关<单片机课程设计-8个LED灯来回点亮(20页珍藏版)>请在人人文库网上搜索. 1.目录第一章 绪论-3 ...

最新文章

  1. python列表冒泡排序_python – 冒泡排序已排序列表
  2. android avd orientation support,Android AVD-无法旋转风景/人像
  3. Apache Flink 零基础入门(三)编写最简单的helloWorld
  4. DateFormat类的format方法和parse方法
  5. 【网络流24题】餐巾计划问题(最小费用最大流)
  6. 腾讯视频下载位置_腾讯视频怎么下视频到手机
  7. 加速包可能没用!12306屏蔽多个抢票软件
  8. java增删改查代码_低代码开发平台
  9. 微信 for Mac 3.1.0 测试版发布,支持发朋友圈啦!
  10. c语言中文纠错,c语言纠错。。急急急。。
  11. 如何用c语言统计字符个数,C语言统计字符个数代码分享
  12. route -n 详解
  13. 中兴服务器bios启动顺序设置,主板四大品牌BIOS设置开机第一启动项图文教程
  14. 密码学算法——RSA
  15. JVM菜鸟进阶高手之路十(基础知识开场白)
  16. 网页截图怎么截一整张_电脑网页页面太长怎么截图 长网页滚动截图的两种方法...
  17. 学java好还是学挖机好_现在开挖掘机还能月入上万吗,为何年轻人还是热衷于学挖掘机?...
  18. 全加器和半加器的区别
  19. 抽象类可以只实现接口的一部分方法
  20. 设备管理器上不显示集成显卡(核显)问题解决

热门文章

  1. 商誉专题RN及H5项目总结
  2. 模拟简单 LeetCode6070. 计算字符串的数字和
  3. 第145章 SQL函数 TO_NUMBER
  4. 修复计算机之后东西还在吗,硬盘分区表修复后文件还在吗
  5. GNURadio3.9.4创建OOT模块实例
  6. 新一代数据仓库:Snowflake 弹性数仓介绍
  7. windows7系统重装的步骤,电脑重装win7
  8. 【解决】Yandex浏览器Bing搜索遭遇trovi.com劫持
  9. 哈工大计算机系统实验三——二进制炸弹
  10. qt osg 多点触摸