找回密码
 立即注册

QQ登录

只需一步,快速开始

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

按键控制渐快的流水灯,最慢为1s的间隔,最快为100ms的间隔,每按一次加快100ms

[复制链接]
跳转到指定楼层
楼主
ID:243557 发表于 2018-4-10 14:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<reg51.h>                //定义特殊功能寄存器的头文件
#include<intrins.h>                                          //包括移位函数的头文件
#define NOP _nop_()       
#ifndef _Dly_nms_h__
#define _Dly_nms_h__
sbit K1=P3^2;                                                                                                        //K1位变量定义
typedef unsigned char Uchar;                                        //数据类型重命名
unsigned int a=0;
void Dly_nms(unsigned int time)         //延时函数
{unsigned char i;
for(;time>0;time--)
  {for(i=0;i<247;i++)
                {NOP;}
  }
}
#endif   
void INT0sev() interrupt 0                                //外中断0的函数                                       
{                while(K1==0);                        //等待按键释放
                if(a<900)
                        a=a+100;
                IE0=0;                                                //清中断标志
}
void main()                                                //主函数
{
        unsigned char C,b=0;
        C=0xFE;
        EA=1;EX0=1;IT0=1;                //外中断0初始化
        for(;;)                                                        //循环函数
        {
                P1=C;                                                //数据输出
                C=_crol_(C,1);                //循环左移
                Dly_nms(1000-a);        //调用延时函数
        }
}

评分

参与人数 1黑币 +5 收起 理由
15005858438 + 5 很给力!

查看全部评分

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

使用道具 举报

沙发
ID:88606 发表于 2018-4-10 16:24 | 只看该作者
没看到按键部分的程序哟!
回复

使用道具 举报

板凳
ID:243557 发表于 2018-5-8 22:47 | 只看该作者
tt98 发表于 2018-4-10 16:24
没看到按键部分的程序哟!

P3^2
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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