找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4344|回复: 1
收起左侧

51单片机实现两个按钮控制流水灯1、3、5、7循环的开和关Proteus仿真程序

[复制链接]
ID:716490 发表于 2020-4-3 12:29 | 显示全部楼层 |阅读模式
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)

模拟图

模拟图


单片机源程序如下:
#include <reg51.h>
sbit key=P3^4;//对P3.4重命名
sbit key1=P3^7;//对P3.7重命名
#define key_on 0//启动开灯指令
#define key1_off 0//启动关灯指令
void delay(int ms)//延时程序
{
while(ms--)
{
  unsigned int i=109;//局部变量 i。
  while(i--);
}
}
void main()//主函数
{
  if(key==key_on)//判断是否按下P3.4
   {
  delay(20);//防抖
  if(key==key_on)//确定按下P3.4
    {      
         while(1)//第一个死循环
         {
    P1=0xfe;//第1个灯亮
             delay(500);//延时0.5秒
    if(key1==key1_off)//判断是否按下P3.7
            {
          break;//如果是,则跳出循环,进入下一个while(1),如果不是,继续执行。
               }
             P1=0xfb;//第3个灯亮
             delay(500);//延时0.5秒
    if(key1==key1_off)//判断是否按下P3.7
            {
          break;//如果是,则跳出循环,进入下一个while(1),如果不是,继续执行。
               }
             P1=0xef;//第5个灯亮
             delay(500);//延时0.5秒
    if(key1==key1_off)//判断是否按下P3.7
            {
          break;//如果是,则跳出循环,进入下一个while(1),如果不是,继续执行。
               }
             P1=0xbf;//第7个灯亮
             delay(500);//延时0.5秒
        if(key1==key1_off)//判断是否按下P3.7
            {
          break;//如果是,则跳出循环,进入下一个while(1),如果不是,继续执行。
               }
      }
剩下的代码在压缩包里
51hei.png

全部资料51hei下载地址:
按钮控制开关.zip (57.14 KB, 下载次数: 10)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:716490 发表于 2020-4-3 12:31 | 显示全部楼层
新手可以尝试一下,如果喜欢,希望点个支持,谢谢!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表