标题: 51单片机实现两个按钮控制流水灯1、3、5、7循环的开和关Proteus仿真程序 [打印本页]

作者: 渡渡鸟    时间: 2020-4-3 12:29
标题: 51单片机实现两个按钮控制流水灯1、3、5、7循环的开和关Proteus仿真程序
仿真原理图如下(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下载地址:
按钮控制开关.zip (57.14 KB, 下载次数: 10)

作者: 渡渡鸟    时间: 2020-4-3 12:31
新手可以尝试一下,如果喜欢,希望点个支持,谢谢!




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1