完成目标:
模拟十字路口(东南西北走向)交通灯:通过单片机的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单片机完成交通信号灯(红绿灯)相关推荐

  1. 51单片机模拟交通信号灯控制系统设计

    51单片机模拟交通信号灯控制系统设计 设计要求: 1.用LED灯模拟十字路口交通灯控制 2.正常情况下双方向轮流通行 3.特殊情况时,A方向通行 4.紧急情况时,A和B方向都不通行 本任务涉及定时控制 ...

  2. 基于51单片机十字路口交通信号灯(启动按键+绿灯同亮报警)

    基于51单片机十字路口交通信号灯(启动按键+绿灯同亮报警) 仿真:proteus 7.8 程序编译器:keil 4/keil 5 编程语言:C语言 设计编号:J013 目录标题 基于51单片机十字路口 ...

  3. 51单片机STM32交通灯红绿灯十字路口信号灯类设计功能要求汇总

    51单片机STM32交通灯红绿灯十字路口信号灯类设计功能要求汇总 浏览必读: 使用关键词搜索可以达到事半功倍的效果. 电脑浏览器CTRL+F可以使用搜索查找 设计编号J000 功能说明: 1.四路交通 ...

  4. 51单片机实现交通信号灯

    51单片机实现交通信号灯 文章目录 51单片机实现交通信号灯 实验环境 仿真图 实验原理 代码实现 成果图 资源下载 实验环境 软件: Keil5+Proteus7 元件(主要): AT89C51 * ...

  5. 单片机c语言交通信号灯设计,基于51单片机的交通信号灯设计毕业设计.pdf

    摘 要 在现代城市中,随着人口和汽车的急剧增长,市区交通日益拥挤,要是没有红绿灯 作为指挥工具,恐怕川流不息的汽车就会由于混乱而造成严重阻塞.因此,交通灯是交 管部门管理城市交通的重要工具之一.随着电 ...

  6. 河北大学计算机科学与技术专业硬件实训——C语言控制51单片机实现LED小灯的控制

    文章目录 作业2 代码 作业3 作业3.1 代码 作业 3.2 代码 作业3.3 代码 作业4 代码 作业2 原理比较简单,看代码就能理解,不过多解释了. 代码 /**Created By RainS ...

  7. 8255A红绿灯c语言程序,51单片机外接8255A做成的交通灯程序及PROTEUS仿真结果(附对应C语言程序).doc...

    51单片机外接8255A做成的交通灯程序及PROTEUS仿真结果(附对应C语言程序) 51单片机外接8255A做成的交通灯程序及PROTEUS仿真结果(附对应C语言程序)2010-04-21 22:0 ...

  8. 基于51单片机十字路口交通灯_5s黄灯闪烁

    基于51单片机十字路口交通灯_5s黄灯闪烁 目录标题 基于51单片机十字路口交通灯_5s黄灯闪烁 功能要求 仿真图 程序 主要程序代码 程序讲解 倒计时的产生 红黄绿灯状态处理 倒计时显示处理 资料清 ...

  9. 基于51单片机十字路口交通灯_只显示绿灯时间+黄灯5s

    基于51单片机十字路口交通灯_只显示绿灯时间+黄灯5s (程序+仿真+参考报告) 仿真:proteus 7.8 程序编译器:keil 4/keil 5 编程语言:C语言 编号J011 目录标题 基于5 ...

最新文章

  1. MPO文件类型解码(四)3D图像整体结构
  2. 什么时候用抽象?什么时候用接口?
  3. mysql创建数据库1064_Mysql创建表过程中报1064错误
  4. 使用ML.NET预测纽约出租车费
  5. 十一、CSS初始化详解
  6. 为什么数据结构不用java_泛谈Java中的不可变数据结构
  7. 如何使柱状图左右展示_关于微生物门类堆叠柱状图,你知道的并不够
  8. [Jetty] jetty 内存调优
  9. 达内java晨讲案例_达内java飞机大战(完成版)
  10. xpdf 打开 chinapub中文pdf
  11. 预备篇:一.元器件选型及飞控电路设计
  12. 工地物资出入库管理软件系统
  13. matlab指派问题求法,matlab指派问题
  14. 华为存储IE证书挂靠
  15. 介绍几个免费的英文ASP.NET的CMS程序
  16. 每日一词: 战略 2022.3.30
  17. 【VBScript】MsgBox()函数
  18. V-REP笔记:重力加速度的修改
  19. [安卓]实现苹果实现的效果之 流光溢彩背景
  20. 形容等待时间长的句子_形容等待时间长的诗句

热门文章

  1. 基于卷积神经网络进行图像分类
  2. SpringBoot 接口数据加解密实战
  3. linux net子系统-系统调用层
  4. 心肺运动试验----各类参数分析笔记
  5. 常见的NLP处理手段和相应的spaCy库使用
  6. 搜索引擎营销的基本概念和特点是什么?
  7. 亚马逊抄作业,股票打折安排上
  8. php表格弄成隔两行变色,Excel表格实现隔行填充背景颜色的三种方法
  9. Python中文分词及词频统计
  10. 视频图像数据处理八:将rgb视频图像转换为yuv420格式视频图像