单片机实验:外部中断系统实验 如何1357,2468灯交替亮

简介: 单片机实验:外部中断系统实验 如何1357,2468灯交替亮

由于上课的PPT不好上传,详细笔记请看我的Notion

       https://www.notion.so/7259b6dac1ff4e878fd1cb12ea360b92

e09450d0e6554aff917653d13390f00f.png

#include "reg51.h"
#include<intrins.h>  //可以使用_nop_函数的头文件
#define uchar unsigned char
const tab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f} ; //正向流水灯
uchar flag;
void delay(int x){   //延时程序
   unsigned i,j,k;
   while(x--){
    for(i=0;i<0x01;i++)
      for(j=0;j<0xff;j++)
        for(k=0;k<0xff;k++);
   }
}
//延时1s:
void Delay1000ms()    //@11.0592MHz
{
  unsigned char i, j, k;
  _nop_();
  _nop_();
  i = 43;
  j = 6;
  k = 203;
  do
  {
    do
    {
      while (--k);
    } while (--j);
  } while (--i);
}
void int1()interrupt 0 //外部中断0的中断服务函数
{
    flag=0x01;
}
void int2()interrupt 2 //外部中断1的中断服务函数
{
    flag=0x02;
}
void main(){
  uchar i;
  EA=1;
          //总中断允许
  EX0=1;
          //允许外部中断0中断
  EX1=1;
          //允许外部中断1中断
  IT0=1;
          //选择外部中断0为跳沿触发方式
  IT1=1;
          //选择外部中断1为跳沿触发方式
  P2=0xff;
  while(1)
  {
    switch(flag){
      case 1:
      for(i=0;i<8;i++){
        if(flag==0x02) break;
          P2=tab[i];
          delay(1);
          }
        if(flag==0x02) break;
        P2=0x00;
        delay(1);
          break;
    case 2:
    //功能:要让1357灯亮,2468灯灭
      P2 = 0xaa;
      Delay1000ms();
      P2 = 0x55;
      Delay1000ms();
      break;      
    //test:  success!
    //拓展:所有灯全亮,过1s,全灭
    /*
      P2=0x00;
      delay(1);
      P2=0xff;
      delay(1);
      break;
    */
      }
  }
  }
相关文章
|
6月前
|
存储
单片机的指令系统
单片机的指令系统
45 1
|
6月前
|
监控
单片机的时钟系统
单片机的时钟系统
72 1
|
6月前
|
物联网
STC51单片机-实验开发装置仿真-物联网应用系统设计
STC51单片机-实验开发装置仿真-物联网应用系统设计
133 0
|
15天前
|
传感器 编解码 人机交互
基于51单片机的温室大棚环境检测系统
基于51单片机的温室大棚环境检测系统
36 0
|
6月前
|
传感器 数据采集 监控
LabVIEW单片机的废气再循环EGR检测系统
LabVIEW单片机的废气再循环EGR检测系统
44 0
|
6月前
关于使用51单片机实现两个及以上外部中断
关于使用51单片机实现两个及以上外部中断
162 0
|
6月前
|
传感器 存储 安全
基于单片机的定时温控系统的设计_kaic
基于单片机的定时温控系统的设计_kaic
|
6月前
|
传感器
基于51单片机的车辆倒车雷达报警系统
该文描述了一个基于51单片机的超声波倒车雷达系统设计,要求包括:2cm至4m的测量范围,3mm精度,集成DS18B20温度传感器以校准声速,使用LCD1602显示距离和温度,具备按键设置预警距离及蜂鸣器报警功能。系统由AT89C51单片机、HC-SR04超声波模块、DS18B20温度模块、报警电路和LCD显示电路组成。文中还展示了Proteus仿真电路图和部分仿真结果分析,包括LCD显示示例和预警距离设置操作。
82 4
【期末不挂科-单片机考前速过系列P5】(第五章:11题速过中断系统和中断系统结构)经典例题盘点(带图解析)
【期末不挂科-单片机考前速过系列P5】(第五章:11题速过中断系统和中断系统结构)经典例题盘点(带图解析)
|
6月前
|
传感器 安全 物联网
单片机在智能家居系统中的应用研究
单片机在智能家居系统中的应用研究
179 1