找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1663|回复: 4
打印 上一主题 下一主题
收起左侧

找老师帮忙改一下,想改成二个开关

[复制链接]
跳转到指定楼层
楼主
ID:217754 发表于 2017-10-6 12:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
10黑币
本帖最后由 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;  
}


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:232524 发表于 2017-10-6 14:06 | 只看该作者
P0和P2你想要的是什么现象?具体点
回复

使用道具 举报

板凳
ID:217754 发表于 2017-10-6 14:45 | 只看该作者
liut_text 发表于 2017-10-6 14:06
P0和P2你想要的是什么现象?具体点

跟上面P1一样的流水灯就行了
回复

使用道具 举报

地板
ID:217754 发表于 2017-10-7 10:51 来自手机 | 只看该作者
liut_text 发表于 2017-10-6 14:06
P0和P2你想要的是什么现象?具体点

就了有三个开关分别控制 三组流水灯,1键控制第1组,2键控制第2组,3键控制第3组,其中,1如果按二次,刚第一次按下时的流水灯中止,接收到第二次按键信号时从头循环一次,其他二组一样但三组灯彼此不冲突,不造成中断
回复

使用道具 举报

5#
ID:130231 发表于 2017-10-17 17:00 | 只看该作者
我帮你改了下,你可以参考一下

中断实验.zip

22.99 KB, 下载次数: 4

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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