基于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
资源有偿,谢绝白嫖

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • python京东自动签到领金豆_github京东自动签到

    python京东自动签到领金豆_github京东自动签到一.介绍PhantomJS是一个基于WebKit的JavaScriptAPI,它使用QtWebKit作为它核心浏览器的功能,使用WebKit来编译解释执行JavaScript代码,任何你可以在基于WebKit浏览器做的事情,它都能做到。Selenium是一个用于Web应用自动化程序测试的工具,可以让浏览器自动加载页面,获取需要的数据,Selenium自己不带浏览器,所以需要和PhantomJS、…

  • 详解Jvm内存结构

    详解Jvm内存结构近期在学习研究内存,那么Jvm内存结构和Jvm的内存模型即JMM(Javamomerymodel)这两项内容都是学习java虚拟机、java内存知识的基础。为了让自己加深理解,有不至于嵌入到底层细节太深,会通过一段代码片段类比到内存结构图中的真实呈现。一、Jvm体系的内存结构图JVM运行数据区,也就是我们所说的内存结构主要分为两个大区:1、线程共享区**方法区(MethodArea)????*存储运行时的常量池、被虚拟机加载过的类信息、常量、静态变量、即时编译器编译后的代码数据。**堆区(

  • Ubuntu下安装yum和配置yum源

    Ubuntu下安装yum和配置yum源1、简介Yum(全称为YellowdogUpdater,Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装2、安装yum2.1检测是否安装build-essential包sudoapt-getinstallbuild-essential或者apt-getinstallbuil.

  • rtsp、rtmp测试地址

    rtsp、rtmp测试地址有时需要rtsp、rtmp测试地址时,网上搜出来的都是千篇一律的已停用的测试地址,因此在这里维护一个播放列表,随缘更新(发现新的地址可以在评论区留言)【lastupdate】2022/07/01

    2022年10月20日
  • 神经网络——最易懂最清晰的一篇文章「建议收藏」

    神经网络是一门重要的机器学习技术。它是目前最为火热的研究方向–深度学习的基础。学习神经网络不仅可以让你掌握一门强大的机器学习方法,同时也可以更好地帮助你理解深度学习技术。  本文以一种简单的,循序的方式讲解神经网络。适合对神经网络了解不多的同学。本文对阅读没有一定的前提要求,但是懂一些机器学习基础会更好地帮助理解本文。  神经网络是一种模拟人脑的神经网络以期能够实现类人工智能的机器学习技…

  • intellij idea上传项目到码云

    intellij idea上传项目到码云

发表回复

您的电子邮箱地址不会被公开。

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