按下K3按键,触发外中断,启动灯效; 按下K4按键,触发外中断,停止灯效

#include "reg52.h" //此文件中定义了单片机的一些特殊功能寄存器
#include<intrins.h>   //因为要用到左右移函数,所以加入这个头文件typedef unsigned int u16; //对数据类型进行声明定义
typedef unsigned char u8;sbit k3=P3^2; //定义按键 K3
sbit k4=P3^3; //定义按键 K4
sbit led=P2^0; //定义P20口是ledvoid delay(u16 i)
{while(i--);//延时函数,i=1 时,大约延时10us
}void Int0Init()
{//设置INT0
IT0=1;//跳变沿出发方式(下降沿)
EX0=1;//打开INT0的中断允许
EA=1;//打开总中断
}void Int1Init()
{//设置 INT1
IT1=1;//跳变沿出发方式(下降沿)
EX1=1;//打开INT1的中断允许
EA=1;//打开总中断
}unsigned char ledState = 0;void main()
{   unsigned int i = 0;  Int0Init(); // 设置外部中断 0Int1Init(); // 设置外部中断 1 while(1){   if(ledState == 1){P2 =~ (0x01<<i); //将1右移i位,然后将结果赋值到P2口i++;delay(50000); //大约延时450msif(i >= 8)i = 0;                                                            /* P2=~0x01;for(i=0;i<7;i++)     //将led循环左移一位{P2=_crol_(P2,1);//_crol_:循环左移delay(50000); //大约延时450ms    }for(i=0;i<7;i++) //将led循环右移一位{P2=_cror_(P2,1);//_cror_:循环右移delay(50000); //大约延时450ms }                                                                 */}/* else if(ledState == 0)P2 = 0xff; //0x是16进制的前缀,0xff是二进制的11111111//P2=0xff,就是将P2.0~P2.7全部设为1,也就是P2=11111111         */}
}void Int0() interrupt 0 //外部中断0的中断函数
{delay(1000); //延时消抖if(k3 == 0){if(ledState == 0)ledState = 1;}
}void Int1() interrupt 2 //外部中断1的中断函数
{delay(1000); //延时消抖if(k4 == 0){  if(ledState == 1)ledState =0;}
}

51单片机外中断流水灯相关推荐

  1. 基于51单片机的花样流水灯设计(源码+仿真+设计报告)

    资料编号:113 采用51单片机的IO控制多个LED灯,实现多种模式的流水风,全套资料齐全:具体功能请看下方演示视频 113-基于51单片机的花样流水灯设计(源码+仿真+设计报告) 单片机最小系统介绍 ...

  2. 【DIY】多模式51单片机心形流水灯+呼吸灯+蜂鸣器音乐

    目录: 总体设计 1.基础硬件DIY设计 1)整体原理图 2)PCB电路 3)3D_PCB 2.单片机程序设计 1)呼吸灯[简易模拟PWM] 2)蜂鸣器音乐 3)几种简易流水灯方式 3.效果展示 1) ...

  3. 基于51单片机的花样流水灯设计

    文章目录 一.前言 二.模块介绍及原理说明 三.硬件连接 四.程序说明 五.效果演示 六.代码链接 一.前言 花样流水灯就是让LED灯按照一定规律进行各种变化,流水灯在生活中也随处可见,例如在建筑物的 ...

  4. 用51单片机点亮流水灯

    用51单片机点亮流水灯的几种方法 1. 直接按位操作一个一个点亮 #include<reg51.h>//头文件 sbit LED0=P2^0; //位定义单片机接LED灯的端口 sbit ...

  5. 51单片机点亮流水灯

    51单片机点亮流水灯 51单片机点亮流水灯 首先介绍开发板easyboard上的LED灯 P1端口通过74HC573连接到LED灯,查询74HC573芯片手册,内部由8个D锁存器构成,当OE为低电平, ...

  6. 51单片机制作花式流水灯的三种方式总结与仿真运行

    制作流水灯,一共有三种方式,分别是左右移位,延时,与定时器(计数器)方式 其中移位方式较为简便,常与简单的延时一同使用在各类工程中.除此之外,也可以直接操作寄存器改变灯的亮度. 延时方式通过改变占空比 ...

  7. 基于51单片机的八位流水灯(三种形式)

    写一下寒假做的51小项目. 基本项目 基于AT89C51的流水灯:流水灯共八个,可以实现交替闪烁,一起闪烁,左右流水灯等效果. 模式一:按动key1,实现1,3,5,7和2,4,6,8交替闪烁: 模式 ...

  8. 【51单片机】花式流水灯

    目录 任务要求: 1.按键 1.2.3.4 按下,使 8 个 LED 实现下面对应的模式 1. 2.        3.4,上电默认每种模式流水灯的流转时间间隔为 500ms. 1)模式1:按照L1. ...

  9. 简单51单片机c语言编程流水灯,51单片机如何实现流水灯?51单片机实现流水灯的三种方法详细分析...

    描述 首先,介绍下原理.下图为主控芯片和流水灯模块的原理图.流水灯模块接在单片机的P1口,由原理图可以知道,在P1口给一个低电平即可点亮LED灯.相反,如果要LED灯熄灭,就要把P1口的电平变为高电平 ...

最新文章

  1. 公路图和地铁图有什么区别?
  2. Python编程基础:第六十节 多进程Multiprocessing
  3. Redis基础知识点总结
  4. linux运维必备,100道常见面试题
  5. 2019年, VQA论文汇总
  6. 汇编基础知识之输入输出
  7. shell多行匹配如何实现
  8. Extjs中给同一个GridPanel中的事件添加参数的方法
  9. linux查看帮助文档的命令,Linux如何使用查看一个命令的帮助文档呢?
  10. BookStack在线文档管理系统 v2.9
  11. Cent OS home下中文目录改成英文目录
  12. 深入浅出计算机组成原理03:处理器
  13. 《码出高效:Java开发手册
  14. 计算机考研408每日一题 day19
  15. 魅族自动化测试架构之路
  16. word2013在论文中添加已有的封面
  17. Hive3第五章:函数
  18. python 抓取猫眼电影评分
  19. js定时换图片(图片路径可变)
  20. c#自学二之KTV点歌系统

热门文章

  1. 仿真通过AXI_lite接口读写寄存器时axi_awready信号无法拉高的一种原因
  2. 项目管理100问 | NO.6 如何为项目制定里程碑?
  3. 今日头条自媒体怎么提高推荐量
  4. 今日头条SEO优化如何解决品牌推广难题
  5. 网络协议 一 MAC地址、IP地址、子网掩码
  6. 如何创建XS Job来完成定时任务
  7. python实现视频ai换脸_python 实现 AI 换脸
  8. linux强制关机会出问题吗,强制关机原来危害这么大!以后千万别犯了
  9. 麒麟处理器排行天梯图2022 麒麟处理器各型号排行2022
  10. 使用Requests库进行网页爬取