红绿灯c语言程序及仿真图,AT89C51单片机十字路口交通灯设计(仿真、keil源代码以及实物图)...
/*****************************************************
* 王瑾毕设-交通灯
*
*
*
*****************************************************/
#include
sbit NS_GRE = P2^5;
sbit NS_YEL = P2^4;
sbit NS_RED = P2^3;
sbit EW_GRE = P2^2;
sbit EW_YEL = P2^1;
sbit EW_RED = P2^0;
uint8 EW_Timer = unused8; //东西方向红灯定时器
uint8 NS_Timer = unused8; //南北方向红灯定时器
uint8 YEL_Timer = unused8; //黄灯 5s定时器
int main(void)
{
Timer_Init(); //定时器初始化
INT0_Init(); //外部中断初始化
EA=1; //打开全局中断
NS_GRE = OFF; //所有的灯都灭
NS_YEL = OFF;
NS_RED = OFF;
EW_GRE = OFF;
EW_YEL = OFF;
EW_RED = OFF;
P3 = 0xFF; //所有显示灭
//先让东西方向红灯亮 南北方向通行
EW_Timer = EWTime_Count;//东西方向开始计时
while(1)
{
if((EW_Timer != unused8) && (EW_Timer != 0)){ //东西方向做红灯倒计时
display1(EW_Timer/10, EW_Timer%10); //东西方向显示时间 南北方向不显示
EW_RED_ON(); //东西方向保持红灯
NS_GRE_ON(); //南北方向保持绿灯
}
else if((EW_Timer != unused8) && (EW_Timer == 0) && (YEL_Timer == unused8)){//东西方向红灯计时到 东西方向保持红灯 南北方向变黄灯 开始黄灯5s计时
EW_RED_ON(); //东西方向红灯
NS_YEL_ON(); //南北方向黄灯
YEL_Timer = YELTime_Count; //5s计时
}
if((EW_Timer != unused8) && (YEL_Timer != unused8) && (YEL_Timer != 0)){
display1(YEL_Timer/10, YEL_Timer%10); //东西方向显示时间 南北方向不显示
}
if((EW_Timer != unused8) && (YEL_Timer == 0)){ //东西方向红-南北方向黄灯5s计时到 东西红灯定时器关 黄灯定时器关 南北红灯 东西绿灯 南北计时器开
EW_Timer = unused8; //东西红灯定时器关
YEL_Timer = unused8; //黄灯定时器关
NS_RED_ON(); //南北变红灯
EW_GRE_ON(); //东西变绿灯
NS_Timer = NSTime_Count; //南北红灯定时器开
}
if((NS_Timer != unused8) && (NS_Timer != 0)){ //南北红灯定时器正在计时
display2(NS_Timer/10, NS_Timer%10); //南北方向显示时间 东西方向不显示
EW_GRE_ON(); //东西保持绿灯
NS_RED_ON(); //南北保持红灯
}
else if((NS_Timer != unused8) && (NS_Timer == 0) && (YEL_Timer == unused8)){ //南北方向红灯计时到 南北方向保持红灯 东西方向变黄灯 开始黄灯5s计时
NS_RED_ON(); //南北方向保持红灯
EW_YEL_ON(); //东西方向变黄灯
YEL_Timer = YELTime_Count; //5s计时
}
if((NS_Timer != unused8) && (YEL_Timer != unused8) && (YEL_Timer != 0)){
display2(YEL_Timer/10, YEL_Timer%10); //南北方向显示时间 东西方向不显示
}
if((NS_Timer != unused8) && (YEL_Timer == 0)){ //南北方向红-东西方向黄灯5s计时到 南北方向定时器关 黄灯定时器关 东西方向变红灯 南北方向变绿灯 东西方向红灯计时器开始计时
NS_Timer = unused8;
YEL_Timer = unused8;
EW_RED_ON(); //东西方向变红灯
NS_GRE_ON(); //南北方向变绿灯
EW_Timer = EWTime_Count; //东西方向开始计时
}
if(Flag_Key == 1){ //如果急停按键按下 则全红灯 显示灭
P3 = 0xFF; //所有显示灭
EW_RED_ON(); //东西方向红灯
NS_RED_ON(); //南北方向红灯
EW_Timer = unused8; //关闭所有定时器
NS_Timer = unused8;
YEL_Timer = unused8;
……………………
…………限于本文篇幅 余下代码请从51黑下载附件…………
红绿灯c语言程序及仿真图,AT89C51单片机十字路口交通灯设计(仿真、keil源代码以及实物图)...相关推荐
- J015基于AT89C51的十字路口交通灯紧急+夜间
基于AT89C51的十字路口交通灯紧急+夜间 仿真图proteus 7.8 程序编译器:keil 4/keil 5 编程语言:C语言 编号J015 目录标题 基于AT89C51的十字路口交通灯紧急+夜 ...
- 【交通灯】51单片机的交通灯Proteus仿真_带紧急开关+黄灯倒计时+可调时间
功能说明: 设计下载链接 1.四路交通灯,带有红绿灯倒计时,绿灯倒计时结束后转黄灯5秒,再转红灯. 2.紧急情况下按键紧急按钮,四路黄灯快闪. 3.可以动态设置红绿灯时间. 涉及知识点:按键扫描,定时 ...
- 基于AT89C51单片机的交通灯控制系统的设计
一.前言 本文中交通灯系统采用MSC-51单片机AT89C51核心来设计交通灯控制器,利用单片机的外围扩展,显示电路构成基本硬件,编程实现对定时.控制.显示电路的控制,调试仿真,完成设计.本系统实现了 ...
- 【019】基于51单片机的交通灯Proteus仿真设计
一.资料内容 (1).基于51单片机的交通灯proteus仿真设计一份: (2).基于51单片机的交通灯proteus仿真设计keli源代码一份: (3).基于51单片机的交通灯proteus仿真设计 ...
- 基于单片机的交通灯设计c语言程序,基于单片机AT89C51控制的十字路口交通灯系统设计...
摘要:本文设计一个单片机AT89C51控制的十字路口交通灯,通过硬件电路设计.元器件使用.软件设计.仿真等环节,实现主干道和支干道的分时控制,保证正常的交通秩序. 关键词:单片机 系统设计 交通灯 1 ...
- 基于at89c51单片机的交通灯控制设计
** 单片机自主学习项目*设计分析 -模拟LED交通灯 ** 一.开发背景与需求 1 开发背景 交通事业蓬勃发展,交通流量年年增长,道路交通繁忙,经常有严重堵车现象,特别是在交叉口,为了在叉口的各条干 ...
- 单片机c语言程序开发洗衣机,基于51单片机洗衣机控制器的设计(附程序)☆
基于51单片机洗衣机控制器的设计(附程序)☆(任务书,开题报告,中期检查表,毕业论文21000字,程序) 摘 要 洗衣机是人们日常生活中常见的一种家电,已经成为人们生活中不可缺少的家用电器.在工业生 ...
- 51单片机STM32交通灯红绿灯十字路口信号灯类设计功能要求汇总
51单片机STM32交通灯红绿灯十字路口信号灯类设计功能要求汇总 浏览必读: 使用关键词搜索可以达到事半功倍的效果. 电脑浏览器CTRL+F可以使用搜索查找 设计编号J000 功能说明: 1.四路交通 ...
- 8255A红绿灯c语言程序,微机原理十字路口红绿灯闪烁实验
课程名称: 实验项目: 实验地点: 专业班级: 学 号: 学生姓名:指导教师: 本科实验报告 微机原理及接口技术 十字路口红绿灯闪烁实验 微机原理实验室 电子信息1001 2010001211 张 恒 ...
最新文章
- UA MATH566 统计理论7 还有一个例子:推导卡方检验
- mysql group by 别名_[转]为什么group by后面不能使用别名(除MySQL)
- 轻松看懂机器学习十大常用算法 - 基础知识
- java解析shell命令_Android中执行java命令的方法及java代码执行并解析shell命令
- linux系统声卡安装教程,Linux系统下如何安装声卡驱动?
- 【电路】简易的桥式整流电路---选取滤波电容
- python 批量查询网页导出结果_李亚涛:python批量查询网页收录情况并计算收录率...
- md5算法不可逆,为啥网上很多网站声称可以解密md5
- 不到 10 行代码完成抖音热门视频的爬取!
- 南京师范计算机科学研究生分数线,2020南京师范大学考研复试分数线已公布
- oracle datamodeler,查看您的 Oracle SQL Developer Data Modeler 设计
- 使用certbot自动续签ssl证书
- 一个08届毕业的学长写给即将毕业的09届的学弟学妹们
- 插板法、插空法、捆绑法
- 魔兽时间 一键宏 输出的原理与笔记
- 【宋红康 MySQL数据库】【基础版】【15】存储过程与存储函数
- 苹果cms V10添加修改播放器教程
- 深入计算机组成原理(十五)浮点数和定点数(上):怎么用有限的bit标识尽可能多的信息?
- Isolating Individual Trees in a Savanna Woodland Using Small Footprint Lidar Data
- 2021年美容师(中级)考试试卷及美容师(中级)模拟考试题
热门文章
- Databuscanal对比
- tzset()与localtime()
- Paper Writting4 - 礼貌用语
- MTKCam3流程学习 - openCamera
- css零到一基础教程042:CSS 谷歌字体
- Andriod TV 5555端口攻击方法
- 总结python中列表、元组、字典、集合的共同点和不同点
- 转载一份诚恳的互联网找工作总结和感想(附:怎样花两年时间去面试一个人)
- 【图像修复】基于matlab GUI FMM+Criminisi算法彩色图像修复【含Matlab源码 1507期】
- Windows命令行连接远程数据库