51单片机:外部中断实现流水灯

作业要求:

按照给定的实验板电路图编程实现外部中断控制流水灯,初始上电时,实验板右下侧的流水灯区域只有最右侧LED灯亮,其他灯全都熄灭,每按下一次按键,流水灯从右向左流动一个LED灯,也就是说,第一次按下按键,从右侧数第二个LED灯亮,其他灯灭,第二次按下按键,从右侧数第三个LED灯亮,其他灯灭,以此类推。要求画出对应的电路原理图,不用考虑按键消抖问题。

电路原理图:

代码如下:

(仅供参考)

#include<reg51.h>  //51系列单片机头文件
unsigned char j = 0;
sbit D1 = P1^0;
sbit D2 = P1^1;
sbit D3 = P1^2;
sbit D4 = P1^3;
sbit D5 = P1^4;
sbit D6 = P1^5;
sbit D7 = P1^6;
sbit D8 = P1^7;
sbit sw = P3^2;  //定义开关swvoid main()
{IE = 0X81;IT0 = 1;D1 = 0;while(1)    //开关sw按下,响应中断{P1 = ~(0x01 << j);    //P1左移,下一个灯亮}
}void EX0_INT(void) interrupt 0 // 外部中断0,实现按键按一下流水灯左移
{j++; if(j == 8) //限定循环{j = 0;}
}

仿真结果:

51单片机:外部中断实现流水灯相关推荐

  1. 51单片机用中断实现流水灯,数码管和点阵同时显示

    小白自备笔记··· ···· 数码管1S左移,6位数码管从999999每一秒钟减一倒着计数,点阵9-0倒计时显示. #include<reg52.h> //头文件 #include< ...

  2. 中断控制流水灯c语言程序,51单片机按键中断控制流水灯

    满意答案 levis501523 2018.01.03 采纳率:58%    等级:12 已帮助:8301人 #include #include #define uchar unsigned char ...

  3. 51单片机外部中断的C51编程

    51单片机外部中断的C51编程 相关知识: 1.51单片机的5大中断源:串行口中断.定时中断1.外部中断1.定时中断0.外部中断0: 2.中断源的编号: 串行口中断为4.定时中断1为3.外部中断1为2 ...

  4. 51单片机 | 外部中断实验

    文章目录 一.外部中断介绍 二.外部中断配置 三.硬件设计 四.软件设计 五.实验现象    51 单片机外部中断有 2 个,外部中断 0 和外部中断 1,它们的使用方法是一样的,所以只要学会一个即可 ...

  5. 51单片机-LED模块-来回流水灯

    51单片机-LED模块-来回流水灯 1. 视频 哔哩哔哩视频地址: https://www.bilibili.com/video/av89552821 51单片机-LED模块-来回流水灯 2. 文件 ...

  6. 51单片机 74HC154译码器制作流水灯+Proteus仿真

    51单片机 74HC154译码器制作流水灯+Proteus仿真 Proteus仿真 实例代码 #include <reg52.h> #define uint unsigned int #d ...

  7. 51单片机AT24C02写读流水灯实例+Proteus仿真

    51单片机AT24C02写读流水灯实例+Proteus仿真 Proteus仿真 这个流水灯的状态是通过读取AT24C02地址中的数值来改变的.(有点废AT24C02) 程序代码 #include &l ...

  8. 51单片机通过CD4051实现流水灯效果+Proteus仿真

    51单片机通过CD4051实现流水灯效果+Proteus仿真 Proteus仿真效果 CD4051 CD4051是一款八选一模拟开关电路,内置3个地址选择端(A0-A2),低有效的使能输入端( E), ...

  9. 51单片机学习笔记5 流水灯实现及蜂鸣器控制

    51单片机学习笔记5 流水灯实现及蜂鸣器控制 一.流水灯 1. 硬件电路 2. 代码实现 (1) 点亮一个LED的基本操作 (2) 使用算术左移实现流水灯 (3) 使用库文件左移函数 二.蜂鸣器 1. ...

最新文章

  1. leetcode 198. 打家劫舍 思考分析
  2. 发那科攻丝回退参数_乐享:发那科MF选配功能诊断小结
  3. pythonstdin_Python从Stdin读取参数
  4. tb文件 vivado_Vivado FPGA设计基础操作流程:Vivado的基本使用
  5. STL----nth_element
  6. DOA算法1:MUSIC算法(二)
  7. linux系统下安装搜狗输入法,搜狗拼音输入法 For Linux安装方法全程图解
  8. matlab2016 wavread,DSP MATLAB软件平台下,利用函数wavread对语音信号进行采样,记住 频率和 点数; 2 238万源代码下载- www.pudn.com...
  9. 读书笔记:《巴菲特投资成功的七大秘诀》
  10. 计算机点击管理无效,我的电脑有任务管理器但是点击却没反应是怎么回事
  11. 小蚁智能摄像机无法连接服务器,小米摄像头连接不上
  12. 还在熬夜干论文——Python带你一键起飞!【内附演示视频】
  13. 中国前10名的休闲服品牌企业信息化漫谈--S公司
  14. 云智慧发布电商618网站性能监测报告
  15. mac下idea选中多个相同内容的快捷键
  16. 直接赋值和使用new赋值
  17. Python自定义排序规则:functools.cmp_to_key()
  18. 基于ISCSI共享存储的KVM高可用群集配置
  19. 奇葩算法系列——睡眠排序 (面条排序)
  20. 崩坏3区号+86_科普:手机号码前的“+86”到底什么意思 ?

热门文章

  1. spring的后置处理器(未完结版)
  2. 一个有经验的网络工程师的所谈[工资、认证、就业等问题]
  3. 按类别分类统计符合,不符合个数
  4. 鼠标DPI和液晶显示器分辨率的关系
  5. 让线程按顺序执行 8 种方法
  6. 设计原则与思想:设计原则
  7. a的visited不起作用问题
  8. 百思不得姐 video
  9. 苹果电脑的CPU种类介绍
  10. 7.3 Qt图形程序设计 【C++】