1、设计要求:

设计一个十字路口交通灯控制器。用单片机控制LED灯模拟指示。模拟东西方向的十字路口交通信号控制情况。东西向通行时间为80s,南北向通行时间为60s,缓冲时间为3s。

2、设计思路:

通过设计要求计算交通路口的总时间,得到一个时间指针。通过这个指针来控制程序的执行顺序。特别注意红灯时间=绿灯通行时间+缓冲时间。首先是南北红灯接通83秒,东西绿灯接通80秒,之后东西黄灯接通3秒。后面东西红灯接通63秒,南北红灯接通60秒,之后南北黄灯接通3秒。第一周期循环结束。后面按着这个周期循环往复。

3、Protues原理图

4、仿真效果图

5、单片机代码

#include<reg51.h>
#define u8 unsigned char
#define u16 unsigned intsbit start = P1^4;                         //开始按钮
sbit northred=P2^0;                            //北面路口红灯
sbit northyellow=P2^1;                     //北面路口黄灯
sbit northgreen=P2^2;                      //北面路口绿灯
sbit southgreen=P2^3;                      //南面路口绿灯
sbit southyellow=P2^4;                     //南面路口黄灯
sbit southred=P2^5;                            //南面路口红灯
sbit westred=P2^6;                         //西面路口红灯
sbit westyellow=P2^7;                      //西面路口黄灯
sbit westgreen=P1^0;                       //西面路口绿灯
sbit eastgreen=P1^1;                       //东面路口绿灯
sbit eastyellow=P1^2;                      //东面路口黄灯
sbit eastred=P1^3;                         //东面路口红灯
sbit highone = P3^0;                       //选择数码管接通标志位
sbit lowone = P3^1;                            //选择数码管接通标志位
sbit hightwo = P3^2;                       //选择数码管接通标志位
sbit lowtwo = P3^3;                            //选择数码管接通标志位u8 code number[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //共阴极
u8 xianshi[]={0x3f,0x3f,0x3f,0x3f};
u8 Tpointer=146;                           //时间指针。
u8 done = 0;                               //开始标志
u16 i;void delay(u16 h)                         //延时函数
{while(h--);
}void xuanze()                              //选择函数函数
{                                           //选择标志位接通对应的数码管u8 k;                                    for(k=0;k<4;k++){switch(k){case(0):                       lowone=1;hightwo=1;lowtwo=1;highone=0;break;        case(1):                        highone=1;hightwo=1;lowtwo=1;lowone=0;break;    case(2):                        highone=1;lowone=1;lowtwo=1;hightwo=0;break;    case(3):                        highone=1;lowone=1;hightwo=1;lowtwo=0;break;    }P0=xianshi[k];delay(500);               }
}void checkstartkey()                       //检测开始按钮函数
{if(start==0)       { delay(1000);                        //消抖if(start==0)   {  done=1;                }                     while(!start){xuanze();    }   }
}void InitTimer0()                          //定时器函数
{TMOD = 0x01;                          //定时器T0为模式1TH0 = 0xd8;                             //设置定时器初值TL0 = 0xef;EA = 1;                                   //总中断允许ET0 = 1;
}由于篇幅有限相应的代码和仿真图已经上传(包括程序和课程设计报告),有需要的自取:
https://download.csdn.net/download/weixin_47675608/76102894

由于篇幅有限相应的代码和仿真图已经上传(包括程序和课程设计报告),压缩包内容包括(Protues仿真,单片机程序)有需要的自取:基于单片机的十字路口交通灯课程设计.zip-C/C++文档类资源-CSDN文库

对您有帮助的话,请点赞评论收藏转发关注您的鼓励才是作者创作的动力,求打赏

基于单片机的十字路口交通灯课程设计相关推荐

  1. 基于单片机的十字路口交通灯设计(带左转、紧急、夜间模式且每个绿灯后都有黄灯二)

    资源文件夹包含:proteus仿真+原理图:keil编写的C语言程序. 资源链接:加我QQ:1271370903 一.设计要求及内容 该控制系统中,主要由AT89C51单片机芯片.时钟电路.复位电路. ...

  2. 52单片机交通灯课程设计

    单片机交通灯课程设计 1. 实验目的和器件 1.1实验目的 (1)通过单片机课程设计,熟练掌握C语言的编写方法,将理论联系到实际中去,提高我们的动手和动脑能力. (2)通过交通信号灯控制系统的设计,掌 ...

  3. 基于51单片机的十字路口交通灯系统

    1 设计名称 基于51单片机的十字路口交通灯系统(C语言.Proteus开发环境) 2 设计要求 1. 基于51系列单片机设计一个十字路口交通灯控制系统,用于模拟道路十字路口交通灯实际运行的场景. 2 ...

  4. C语言红绿灯课程设计,C语言版交通灯课程设计.doc

    C语言版交通灯课程设计 微机控制课程设计报告 课程名称 基于C语言单片机交通灯 学生姓名 张 万 双 学号 51102022004 专业班级 电子信息科学与技术2班 指导老师 2013年12月5日 目 ...

  5. c语言交通灯控制设计和原理图,十字路口交通灯控制设计(附电路图及源代码).doc...

    十字路口交通灯控制设计(附电路图及源代码) <计算机控制技术> 课程设计报告 课题名称 交通灯控制设计 专 业 班 级 学生姓名 学 号 指导教师 201*年 6 月 8日 目录 TOC ...

  6. 【毕业设计】基于PLC的十字路口交通灯控制系统设计【仿真+源码+论文】

    摘 要 本次设计的课题是基于PLC的十字路口交通灯控制系统设计,传统的十字路口交通灯多采用单片机集成电路作为控制系统,单片机系统虽然在功能上能够实现十字路口交通灯的各种控制需求,但是单片机控制系统在设 ...

  7. 80c51流水灯汇编语言,单片机AT89C51可控流水灯课程设计报告(汇编语言).docx

    单片机AT89C51可控流水灯课程设计报告(汇编语言).docx 目录目录1第一章 课题的意义及应用2第二章 系统的总体设计32.1 设计方法32.2 数码管显示方案32.3 键盘输入方案4第三章 硬 ...

  8. J015基于AT89C51的十字路口交通灯紧急+夜间

    基于AT89C51的十字路口交通灯紧急+夜间 仿真图proteus 7.8 程序编译器:keil 4/keil 5 编程语言:C语言 编号J015 目录标题 基于AT89C51的十字路口交通灯紧急+夜 ...

  9. 基于Verilog的十字路口交通灯控制电路设计

    基于Verilog的十字路口交通灯控制电路设计 一.设计要求 二.设计方案 三.电路原理图 四.代码实现 1. Verilog代码: 2. Testbench代码 五.仿真结果 一.设计要求 设计并实 ...

最新文章

  1. 构造函数以及this
  2. MySQL表的key怎么设置为yes_MySQL 修改账号密码方法
  3. 基于jquery的无刷新表格分页
  4. 03系统多界面_【part two】操作说明——系统管理、公司管理、客户管理
  5. Docker安装与镜像,容器命令管理
  6. canvas中strokeRect的渲染问题strokeRect把一像素的边框渲染成两像素
  7. BZOJ 1103 大都市MEG
  8. nginx在linux为何效率高
  9. [消息]C++ Connections 在拉斯维加斯召开年会
  10. 移动端开发touchstart,touchmove,touchend事件详解和项目
  11. python菜单栏添加子菜单_python添加菜单图文讲解
  12. java 继承特点_java 继承特点
  13. IntelliJ IDEA设置鼠标悬浮提示
  14. 北京天通苑二房东、黑中介
  15. python的类,复现assert和eval成功失败原因
  16. JAVA LinkedBlockingQueue详细分析
  17. 多媒体技术计算题、操作题
  18. va_list函数学习
  19. 百分比计算机公式,百分比的计算公式怎么算的(免费教你计算百分比)
  20. 静音计算机方案,如何解决计算机突然静音的问题

热门文章

  1. 编程之美:让CPU占用率曲线听你指挥
  2. Win10更新之后彻底卸载Windows Defender和图标的方法
  3. R可视化24|111个实例(下篇代码分享)
  4. 蓝软服务器文件监控同步系统,文件系统监控同步传输系统
  5. 65寸电视长宽多少厘米
  6. IPRAN--vrrp eth-trunk
  7. android 存储卡 合并,安卓手机合并内存卡到内置存储
  8. 数字游戏 (number)
  9. 【笔记】网易微专业-Web安全工程师-01.WEB基础知识
  10. 嵌入式编程技巧(持续更新)