基于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)


相关推荐

  • getcomponent_getsocketopt

    getcomponent_getsocketoptGetMessage函数功能GetMessage是计算机编程中的一个函数,从调用线程的消息队列里取得一个消息并把其放于指定的结构。GetMessage函数可取得与指定窗口联系的消息和由PostThreadMesssge寄送的线程消息,接收一定范围的消息值,不接收属于其他线程或应用程序的消息。GetMessage获取消息成功后,线程把从消息队列中删除该消息,函数会一直等待直到有消息到来才有返回值。函数声明WINUSERAPIBOOLWINAPIGetMessage(_Out_LPMS

  • python将字符串类型转换为数字_把字符串转化为数字

    python将字符串类型转换为数字_把字符串转化为数字MD5工具类,提供字符串MD5加密、文件MD5值获取(校验)功能MD5工具类,提供字符串MD5加密(校验).文件MD5值获取(校验)功能:packagecom.yzu.utils;importjava.io.File;importjava.io.Fi…GUI开发者桌面搜索文件工具#-*-coding:utf-8-*-fromTkint…

    2022年10月12日
  • python输出unicode编码_Python以utf8编码读取文件

    python输出unicode编码_Python以utf8编码读取文件withopen(self.path,’r’)astest:forlineintest:pass代码如上,出现错误:UnicodeDecodeError:’gbk’codeccan’tdecodebyte0x80inposition…UnicodeDecodeError:’gbk’codeccan’tdecodebyte0x80inposition9:…或者是UnicodeDecodeErr..

  • 如何把origin的柱状图每个设计不同颜色_柱状图一柱两种颜色

    如何把origin的柱状图每个设计不同颜色_柱状图一柱两种颜色按住Ctrl键,双击你想改变的柱子,OK。​

  • win10安装vs2008失败1935_LTE切换失败的解决方案

    win10安装vs2008失败1935_LTE切换失败的解决方案今天刚升级了WIN10系统,重新安装VS2008(项目需要),但是点击安装程序后,出现此应用程序需要.NET3.5(包括.NET2.0和3.0),如图:如果你选择“下载并安装此功能。Windows将从Windows更新中获取所需的文件并完成安装”,那么你就耐心等吧,下载的速度奇慢。现在讲解一下一种无需在线下载,只需要有Win10ISO文件即可本地安装.NETFramework3.5的方…

  • Mysql decimal详解

    Mysql decimal详解Mysqldecimal如何定义特点特点一详解如何定义decimal(totalCount,afterCount)参数说明totalCount:数字数量总和afterCount:小数点后数字数量总和特点每4字节存储9位数字,不足9位试具体位数决定占用空间最多存储65位数字,其中小数点前最多占35个,小数点后最多占30小数点占一字节最大空间占用为31字节特点一详解12(9+3)位数字,占6(4+2)位,3位数字最大值为999,1字节(28,256)<999

发表回复

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

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