标题: 找老师帮忙改一下,想改成二个开关 [打印本页]

作者: xymiss    时间: 2017-10-6 12:07
标题: 找老师帮忙改一下,想改成二个开关
本帖最后由 xymiss 于 2017-10-7 14:21 编辑

下面是一组开关的程序,想加多二组,加上二个控制件 并增加P0和P2口二组灯。或只增加一组也行,灯的效果跟P1一样即可。可以吗。
拜托。谢谢大神了
灯的效果就是流水灯,带中断,假设P3-0控制P1口。P3-1控制P0口,按P3-0,P1口流水灯,按二次。则第一次流水中断,开始第二次,二个键都按时,二边都有流水灯效果即可。
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
sbit button = P3^2;//外部中断P3^2
int b=1;
bit press = 1;

uchar luishui = 0xfe;

void Delay(uchar z)
{
    uchar x, y;
    for(x = z; x > 0; x--)  for(y = 255; y > 0; y--);
}
void main()
{
    int i=0;
    IT0 = 1;
    EX0 = 1;
    EA = 1;
    while(press) P1=0xff P0=0xff;
        while(!press)
        {
          b=1;
          luishui=0xfe;
          for(i=0;i<8;i++)
          {
           if(!b)break;
           P1=luishui;
           Delay(150);
           luishui=_crol_(luishui,1);                              
          }         
         if(i==8)press=1;
        }
}
void X0_INT()   interrupt 0
{  
  b=0;
  press=0;  
}



作者: liut_text    时间: 2017-10-6 14:06
P0和P2你想要的是什么现象?具体点
作者: xymiss    时间: 2017-10-6 14:45
liut_text 发表于 2017-10-6 14:06
P0和P2你想要的是什么现象?具体点

跟上面P1一样的流水灯就行了
作者: xymiss    时间: 2017-10-7 10:51
liut_text 发表于 2017-10-6 14:06
P0和P2你想要的是什么现象?具体点

就了有三个开关分别控制 三组流水灯,1键控制第1组,2键控制第2组,3键控制第3组,其中,1如果按二次,刚第一次按下时的流水灯中止,接收到第二次按键信号时从头循环一次,其他二组一样但三组灯彼此不冲突,不造成中断
作者: zqy181818    时间: 2017-10-17 17:00
我帮你改了下,你可以参考一下

中断实验.zip

22.99 KB, 下载次数: 4






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