大学生C51单片机红绿灯开发流程思路:

观察十字路口红绿灯工作流程,设计交通灯。

1、初始时:南北向、东西向直行左转均为红灯

2、南北向直行:

①南北向直行绿灯亮,延时若干秒

②启动南北向左转数码管显示:倒计时6秒;同时南北向直行绿灯闪烁3下,灭亮灭亮灭亮共3秒,然后南北向直行绿灯灭,南北向直行黄灯亮,延时3秒

③南北向左转数码管倒计时显示结束,关闭;同时南北向直行黄灯灭,南北向直行红灯亮

3、南北向左转:

①南北向左转绿灯亮,延时若干秒

②启动东西向直行数码管显示:倒计时6秒;同时南北向左转绿灯闪烁3下,灭亮灭亮灭亮共3秒,然后南北向左转绿灯灭,南北向左转黄灯亮,延时3秒

③东西向直行数码管倒计时显示结束,关闭;同时南北向左转黄灯灭,南北向左转红灯亮

4、东西向直行:

①东西向直行绿灯亮,延时若干秒

②启动东西向左转数码管显示:倒计时6秒;同时东西向直行绿灯闪烁3下,灭亮灭亮灭亮共3秒,然后东西向直行绿灯灭,东西向直行黄灯亮,延时3秒

③东西向左转数码管倒计时显示结束,关闭;同时东西向直行黄灯灭,东西向直行红灯亮

5、东西向左转:

①东西向左转绿灯亮,延时若干秒

②启动南北向直行数码管显示:倒计时6秒;同时东西向左转绿灯闪烁3下,灭亮灭亮灭亮共3秒,然后东西向左转绿灯灭,东西向左转黄灯亮,延时3秒

③南北向直行数码管倒计时显示结束,关闭;同时东西向左转黄灯灭,东西向左转红灯亮

观察十字路口红绿灯工作流程,设计交通灯。

1、初始时:南北向、东西向直行左转均为红灯

2、南北向直行:

①南北向直行绿灯亮,延时若干秒

②启动南北向左转数码管显示:倒计时6秒;同时南北向直行绿灯闪烁3下,灭亮灭亮灭亮共3秒,然后南北向直行绿灯灭,南北向直行黄灯亮,延时3秒

③南北向左转数码管倒计时显示结束,关闭;同时南北向直行黄灯灭,南北向直行红灯亮

3、南北向左转:

①南北向左转绿灯亮,延时若干秒

②启动东西向直行数码管显示:倒计时6秒;同时南北向左转绿灯闪烁3下,灭亮灭亮灭亮共3秒,然后南北向左转绿灯灭,南北向左转黄灯亮,延时3秒

③东西向直行数码管倒计时显示结束,关闭;同时南北向左转黄灯灭,南北向左转红灯亮

4、东西向直行:

①东西向直行绿灯亮,延时若干秒

②启动东西向左转数码管显示:倒计时6秒;同时东西向直行绿灯闪烁3下,灭亮灭亮灭亮共3秒,然后东西向直行绿灯灭,东西向直行黄灯亮,延时3秒

③东西向左转数码管倒计时显示结束,关闭;同时东西向直行黄灯灭,东西向直行红灯亮

5、东西向左转:

①东西向左转绿灯亮,延时若干秒

②启动南北向直行数码管显示:倒计时6秒;同时东西向左转绿灯闪烁3下,灭亮灭亮灭亮共3秒,然后东西向左转绿灯灭,东西向左转黄灯亮,延时3秒

③南北向直行数码管倒计时显示结束,关闭;同时东西向左转黄灯灭,东西向左转红灯亮

proteus主要图片

51单片机主要核心参考代码

#include <reg51.h>
unsigned char code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f};
void delay(int t)
{int i,j;for(i=0;i<=t;i++)for(j=0;j<=110;j++);
}
sbit NB=P2^0;//南北,低4位控制直行,高四位控制左转向
sbit DX=P2^1;//东西,低4位控制直行,高四位控制左转向
int i;
void main()
{NB=1;P1=0X88;NB=0;DX=1;P1=0X88;DX=0;P0=0X00;/*1、南北向、东西向直行左转均为红灯*/NB=1;P1=0X99;NB=0;//南北直、左红灯亮DX=1;P1=0X99;DX=0;//东西直、左红灯亮delay(3000);NB=1;P1=0X88;NB=0;//南北直、左红灯灭DX=1;P1=0X88;DX=0;//东西直、左红灯灭 /*2、南北向直行(NB)*/NB=1;P1=0X84;NB=0;//南北直绿灯亮delay(3000);//南北向左转数码管显示:倒计时6秒for(i=6;i>=4;i--) //南北向直行绿灯闪烁3下{NB=1;P1=0X0C;NB=0;//南北直绿灯亮   P0=table[i];delay(500);NB=1;P1=0X08;NB=0;//南北直绿灯灭delay(500);}NB=1;P1=0X0C;NB=0;//南北直绿灯亮for(i=3;i>=0;i--){P0=table[i];delay(1000);}NB=1;P1=0X8A;NB=0;//南北直黄灯亮delay(3000);NB=1;P1=0X88;NB=0;//南北直黄灯灭,左转数码管倒计时显示结束/*3、南北向左转(NB)*/NB=1;P1=0X48;NB=0;//南北左绿灯亮delay(3000);//南北向直行数码管显示:倒计时6秒for(i=6;i>=4;i--) //南北向左转绿灯闪烁3下{NB=1;P1=0XC0;NB=0;//南北左转绿灯亮  P0=table[i];delay(500);NB=1;P1=0X80;NB=0;//南北左转绿灯灭delay(500);}NB=1;P1=0XC0;NB=0;//南北左转绿灯亮for(i=3;i>=0;i--){P0=table[i];delay(1000);}NB=1;P1=0XA8;NB=0;//南北左转黄灯亮delay(3000);NB=1;P1=0X88;NB=0;//南北左转黄灯灭,直行数码管倒计时显示结束delay(1000);NB=1;P1=0X99;NB=0;/*4、东西向直行(NB)*/DX=1;P1=0X84;DX=0;//东西北直绿灯亮delay(3000);//东西向左转数码管显示:倒计时6秒for(i=6;i>=4;i--) //东西向直行绿灯闪烁3下{DX=1;P1=0X0C;DX=0;//东西直绿灯亮 P0=table[i];delay(500);DX=1;P1=0X08;DX=0;//东西直绿灯灭delay(500);}DX=1;P1=0X0C;DX=0;//东西直绿灯亮for(i=3;i>=0;i--){P0=table[i];delay(1000);}DX=1;P1=0X8A;DX=0;//东西直黄灯亮delay(3000);DX=1;P1=0X88;DX=0;//东西直黄灯灭,左转数码管倒计时显示结束/*5、东西向左转(NB)*/DX=1;P1=0X48;DX=0;//南北左绿灯亮delay(3000);//东西向直行数码管显示:倒计时6秒for(i=6;i>=4;i--) //东西向左转绿灯闪烁3下{DX=1;P1=0XC0;DX=0;//东西左转绿灯亮  P0=table[i];delay(500);DX=1;P1=0X80;DX=0;//东西左转绿灯灭delay(500);}DX=1;P1=0XC0;DX=0;//东西左转绿灯亮for(i=3;i>=0;i--){P0=table[i];delay(1000);}DX=1;P1=0XA8;DX=0;//东西左转黄灯亮delay(3000);DX=1;P1=0X88;DX=0;//东西左转黄灯灭,直行数码管倒计时显示结束delay(1000);DX=1;P1=0X99;DX=0;
}

C51单片机设计红绿灯五种通行方式相关推荐

  1. 5个流水灯c语言程序,五种编程方式实现流水灯的单片机C程序

    <五种编程方式实现流水灯的单片机C程序>由会员分享,可在线阅读,更多相关<五种编程方式实现流水灯的单片机C程序(5页珍藏版)>请在人人文库网上搜索. 1.五种编程方式实现流水灯 ...

  2. 谈表达式树的缓存(7):五种缓存方式的总体分析及改进方案

    终于到了这个系列的最后一篇文章了,这个系列的文章本是许多话题的基础,却拖了那么长时间还没有完结.这篇文章主要讨论五种缓存方式各自的优劣,以及他们的性能关键在什么地方,如果要进行改进又有什么可选方案.在 ...

  3. 后端技术:Java定时任务的五种创建方式

    Quartz表达式生成地址:http://cron.qqe2.com/ 支持生成定时任务表达式和反解析,使用Quartz表达式的定时任务如下 xxl-job springboot 的 @Schedul ...

  4. lfu算法实现java_LFU五种实现方式,从简单到复杂

    前言 最近刷力扣题,对于我这种 0 基础来说,真的是脑壳疼啊.这个月我估计都是中等和困难题,没有简单题了. 幸好,力扣上有各种大牛给写题解.看着他们行云流水的代码,真的是羡慕不已.让我印象最深刻的就是 ...

  5. 单例对象会被jvm的gc时回收吗_设计模式专题02-单例五种创建方式

    单例五种创建方式(下一篇:工厂模式) 什么是单例 保证一个类只有一个实例,并且提供一个访问该全局访问点 单例应用场景 1. Windows的Task Manager(任务管理器)就是很典型的单例模式( ...

  6. 谈表达式树的缓存(6):五种缓存方式的性能比较

    开始还债,因为还有至少两个可写的重要话题依赖在这个系列上,不解决就难以前进. 目前我们已经涉及了五种不同的缓存实现,它们分别是: SimpleKeyCache:构造字符串作为Key,使用字典作为存储. ...

  7. lfu实现 java_LFU五种实现方式,从简单到复杂

    前言 最近刷力扣题,对于我这种 0 基础来说,真的是脑壳疼啊.这个月我估计都是中等和困难题,没有简单题了. 幸好,力扣上有各种大牛给写题解.看着他们行云流水的代码,真的是羡慕不已.让我印象最深刻的就是 ...

  8. JS 跨域问题常见的五种解决方式

    JS 跨域问题常见的五种解决方式 一.什么是跨域? 要理解跨域问题,就先理解好概念.跨域问题是由于javascript语言安全限制中的同源策略造成的. 简单来说,同源策略是指一段脚本只能读取来自同一来 ...

  9. 前端百题斩【024】——我从浏览器控制台看到了五种存储方式

    写该系列文章的初衷是"让每位前端工程师掌握高频知识点,为工作助力".这是前端百题斩的第24斩,希望朋友们关注公众号"执鸢者",用知识武装自己的头脑. 打开浏览器 ...

最新文章

  1. eclipse注释模板设置(未整理)
  2. Ubuntu12.04LTS添加broadcom 802.11g无线网卡驱动
  3. 计算机应用基础作业北语,北语计算机应用基础作业.doc
  4. Bytom的链式交易和花费未确认的交易
  5. 32位系统安装oracle11g,windows系统下 32位 安装Oracle 11g R2(11.2.0.1.0)图文安装教程
  6. Android 几种解析XML文件方式的区别
  7. 由SELECT ... FROM ... FOR UPDATE想到的
  8. C# Winform关于控件TabControl闪烁的问题
  9. maven 加入第三方库_项目pom里引入第三方库的四个方法
  10. 启动Delphi2010就出现‘displayNotification: 堆栈溢出’
  11. NFine框架踩过的坑
  12. Android Studio安装教程
  13. C语言之编程规范及细节知识(学C必看)
  14. OSChina 周六乱弹 —— 成功的解决了发现问题的人
  15. (附源码)php积极心理学交流网站 毕业设计 100623
  16. 拍频和混频 PD拍频
  17. android studio报错Error occurred during initialization of VM Could not reserve enough space
  18. 使用Google Colab对PUBG的玩家死亡数据集进行可视化分析
  19. php ubound,VBA UBound()函数
  20. 批量处理 | 起点和终点交叉配对进行路线查询

热门文章

  1. Bridge模式(桥接模式)
  2. GPT-JT 是训练 AI 的新开源方法,GPT-JT 是开源的,因此与 GPT-3 直接竞争
  3. 神雕侠侣手游服务器维护,神雕侠侣手游7月30日更新维护内容
  4. tightvnc,tightvnc软件介绍,详细介绍
  5. 【Kubernetes】 多云管理策略解析
  6. Reabble – 出色的 Kindle RSS 在线阅读器
  7. java除法_java精确除法运算(BigDecimal)
  8. Transactional 注解
  9. Android 远程调试工具STF——开源项目
  10. 实战派:大数据架构师现场答疑实录20210429