c语言控制51单片机完成交通信号灯(红绿灯)
完成目标:
模拟十字路口(东南西北走向)交通灯:通过单片机的P1口控制实验箱上6个LED灯(两红两绿两黄),按照自定义规则控制交通灯。
要求有如下过程:某种颜色灯转另一种颜色的灯之前,要闪烁六次。
我的程序自定义规则如下:
每隔7秒开始改变信号灯,
一个方向红灯亮,一个方向绿灯亮,绿灯变红灯时要先闪烁6次,变黄灯,再变红灯。
红灯直接变绿灯。
流程图如下
电路图如下
本实验主要通过定时器来完成闪烁和计时功能,主函数用来设置和启动定时器
void main()
{TMOD=0x01; //开启定时器TH0=0x00; TL0=0x00;EA=1; //允许中断ET0=1; //to中断TR0=1; //启动T0P1=0x3c; //A路口红灯亮,B路口绿灯亮while(1); //等待中断
}
下面是定时器部分,用于完成信号灯的转换任务
void timer0() interrupt 1
{TH0=0x00;TL0=0x00;i--;if(i<=0){i=100;if(P1==0x3c) //判断路口灯亮情况{for(x=6;x>0;x--) //B路口绿灯闪烁{P1=0x7c;delay1(1);P1=0x3c;delay1(1);}P1=0x5c; //B路口黄灯亮。绿灯灭delay1(4);P1=0x66; //A路口绿灯亮,B路口红灯亮}else{for(x=6;x>0;x--)//A路口绿灯闪烁{P1=0x6e; delay1(1);P1=0x66;delay1(1);} P1=0x6a; //A路口黄灯亮,绿灯灭delay1(4);P1=0x3c; //A路口红灯亮,B路口绿灯亮}}
}
完整Proteus电路和c语言程序都可以下载,本人使用keil编程,将工程文件中的.hex文件按调入proteus电路的单片机中,运行程序即可看到实验效果。
c语言控制51单片机完成交通信号灯(红绿灯)相关推荐
- 51单片机模拟交通信号灯控制系统设计
51单片机模拟交通信号灯控制系统设计 设计要求: 1.用LED灯模拟十字路口交通灯控制 2.正常情况下双方向轮流通行 3.特殊情况时,A方向通行 4.紧急情况时,A和B方向都不通行 本任务涉及定时控制 ...
- 基于51单片机十字路口交通信号灯(启动按键+绿灯同亮报警)
基于51单片机十字路口交通信号灯(启动按键+绿灯同亮报警) 仿真:proteus 7.8 程序编译器:keil 4/keil 5 编程语言:C语言 设计编号:J013 目录标题 基于51单片机十字路口 ...
- 51单片机STM32交通灯红绿灯十字路口信号灯类设计功能要求汇总
51单片机STM32交通灯红绿灯十字路口信号灯类设计功能要求汇总 浏览必读: 使用关键词搜索可以达到事半功倍的效果. 电脑浏览器CTRL+F可以使用搜索查找 设计编号J000 功能说明: 1.四路交通 ...
- 51单片机实现交通信号灯
51单片机实现交通信号灯 文章目录 51单片机实现交通信号灯 实验环境 仿真图 实验原理 代码实现 成果图 资源下载 实验环境 软件: Keil5+Proteus7 元件(主要): AT89C51 * ...
- 单片机c语言交通信号灯设计,基于51单片机的交通信号灯设计毕业设计.pdf
摘 要 在现代城市中,随着人口和汽车的急剧增长,市区交通日益拥挤,要是没有红绿灯 作为指挥工具,恐怕川流不息的汽车就会由于混乱而造成严重阻塞.因此,交通灯是交 管部门管理城市交通的重要工具之一.随着电 ...
- 河北大学计算机科学与技术专业硬件实训——C语言控制51单片机实现LED小灯的控制
文章目录 作业2 代码 作业3 作业3.1 代码 作业 3.2 代码 作业3.3 代码 作业4 代码 作业2 原理比较简单,看代码就能理解,不过多解释了. 代码 /**Created By RainS ...
- 8255A红绿灯c语言程序,51单片机外接8255A做成的交通灯程序及PROTEUS仿真结果(附对应C语言程序).doc...
51单片机外接8255A做成的交通灯程序及PROTEUS仿真结果(附对应C语言程序) 51单片机外接8255A做成的交通灯程序及PROTEUS仿真结果(附对应C语言程序)2010-04-21 22:0 ...
- 基于51单片机十字路口交通灯_5s黄灯闪烁
基于51单片机十字路口交通灯_5s黄灯闪烁 目录标题 基于51单片机十字路口交通灯_5s黄灯闪烁 功能要求 仿真图 程序 主要程序代码 程序讲解 倒计时的产生 红黄绿灯状态处理 倒计时显示处理 资料清 ...
- 基于51单片机十字路口交通灯_只显示绿灯时间+黄灯5s
基于51单片机十字路口交通灯_只显示绿灯时间+黄灯5s (程序+仿真+参考报告) 仿真:proteus 7.8 程序编译器:keil 4/keil 5 编程语言:C语言 编号J011 目录标题 基于5 ...
最新文章
- MPO文件类型解码(四)3D图像整体结构
- 什么时候用抽象?什么时候用接口?
- mysql创建数据库1064_Mysql创建表过程中报1064错误
- 使用ML.NET预测纽约出租车费
- 十一、CSS初始化详解
- 为什么数据结构不用java_泛谈Java中的不可变数据结构
- 如何使柱状图左右展示_关于微生物门类堆叠柱状图,你知道的并不够
- [Jetty] jetty 内存调优
- 达内java晨讲案例_达内java飞机大战(完成版)
- xpdf 打开 chinapub中文pdf
- 预备篇:一.元器件选型及飞控电路设计
- 工地物资出入库管理软件系统
- matlab指派问题求法,matlab指派问题
- 华为存储IE证书挂靠
- 介绍几个免费的英文ASP.NET的CMS程序
- 每日一词: 战略 2022.3.30
- 【VBScript】MsgBox()函数
- V-REP笔记:重力加速度的修改
- [安卓]实现苹果实现的效果之 流光溢彩背景
- 形容等待时间长的句子_形容等待时间长的诗句