基于51单片机的红绿灯设计

基于51单片机的红绿灯设计寒假项目最后一个,基于STC/AT89C51的红路灯设计实现十效果具体为:南北通行42秒,南北闪烁3秒,南北黄灯4秒,禁止通行1秒,东西黄灯4秒,东西通行27秒,东西闪烁3秒,东西黄灯4秒。同时具备特殊放行模式:南北自由通行;东西自由通行;全部禁行。所有时间可以修改。貌似和平时的红路灯不一样,但是由于想凑齐八个状态,就整了这神奇的控制步骤。黄灯多,安全第一!!原理图:本来是想设计一个蓝牙或者……

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

寒假项目最后一个,基于STC/AT89C51的红路灯设计

实现十效果具体为:南北通行42秒,南北闪烁3秒,南北黄灯4秒,禁止通行1秒,东西黄灯4秒,东西通行27秒,东西闪烁3秒,东西黄灯4秒。同时具备特殊放行模式:南北自由通行;东西自由通行;全部禁行。所有时间可以修改。貌似和平时的红路灯不一样,但是由于想凑齐八个状态,就整了这神奇的控制步骤。黄灯多,安全第一!!

原理图:原理图
本来是想设计一个蓝牙或者WiFi模块,然后弄一个手持控制器,但是由于技术原因没实现,就只能把控制按键用IO口直接接出来了。数码管采用了七段四联共阳数码管,分成两段使用,分别显示南北方向和东西方向的倒计时。

原理图则侧重于模拟红绿灯控制,因而画到了一块板子上。

在这里插入图片描述
在这里插入图片描述

主函数如下所示:

void main()//主函数
{ 
   
 P0=0xff;
 P1=0xff;
 P2=0xff;
 P3=0xff;
 while(1)
 { 
   
  uchar flag1=0,flag2=0;
  if(key1==0)
  { 
   
   delay(10);
   if(key1==0)
   { 
   
    stop();
    P1=0xff;
    while(!key1);
   }
  }
  if(key2==0)
  { 
   
   delay(10);
   if(key2==0)
   { 
   
    nanbei();
    P1=0xff;
    while(!key2);
   }
  }
  if(key3==0)
  { 
   
   delay(10);
   if(key3==0)
   { 
   
    dongxi();
    P1=0xff;
    while(!key3);
   }
  }
  if(key1==1&&key2==1&&key3==1)
  { 
   
   state1();
   state2();
   state3();
   state4();
   state5();
   state6();
   state7();
   state8();
  }
 }
}

Jetbrains全家桶1年46,售后保障稳定

资源包含:proteus仿真+原理图;keil编写的C语言程序;ad原理图+PCB;产品说明书。
资源链接:
加我QQ:2430687381
资源有偿,谢绝白嫖

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/234870.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • printf的题目

    以前学习于渊老师的《自己动手写操作系统》一书的时候,也自己实现过printf,不过那是比较简单的版本。最近看《程序员面试宝典》,做到这么一道题目:#include<stdio.h>int

    2021年12月25日
    38
  • 基于Java (spring-boot)和微信小程序的校园闲置二手小程序交易商城(毕业设计优秀论文)「建议收藏」

    基于Java (spring-boot)和微信小程序的校园闲置二手小程序交易商城(毕业设计优秀论文)「建议收藏」1.总体功能图1用户端(1)用户信息模块用户注册登录、个人信息维护(2)闲置信息模块闲置信息的发布、查询(3)留言模块实时留言功能(4)关注用户实时了解关注用户动态2管理端(1)用户端功能(2)用户信息管理用户信息管理(3)发布信息管理发布信息管理(4)数据统计模块统计系统信息及交易信…

    2022年5月22日
    39
  • jenkins自定义构建参数_git查看仓库地址

    jenkins自定义构建参数_git查看仓库地址前言当我们的自动化项目越来越多的时候,在代码仓库会提交不同的分支来管理,在用jenkins来构建的时候,我们希望能通过参数化构建git仓库的分支。下载安装GitParameter插件系统管理-

    2022年7月30日
    18
  • C/C++ 最常见50道面试题

    C/C++ 最常见50道面试题C/C++经典面试题面试题1:变量的声明和定义有什么区别为变量分配地址和存储空间的称为定义,不分配地址的称为声明。一个变量可以在多个地方声明,但是只在一个地方定义。加入extern修饰的是变量的声明,说明此变量将在文件以外或在文件后面部分定义。说明:很多时候一个变量,只是声明不分配内存空间,直到具体使用时才初始化,分配内存空间,如外部变量。面试题2:写出bool、int、……

    2022年6月25日
    33
  • Springboot之poi导出

    Springboot之poi导出Springboot之poi导出

    2022年4月23日
    44
  • CMD命令行杀进程[通俗易懂]

    CMD命令行杀进程[通俗易懂]1、打开CMD,输入tasklist2、根据进程名杀进程taskkill/f/t/imGoogleCrashHandler.exe

    2022年10月25日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号