⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 -Ԧ+

📁 外部中断控制多样跑马灯(仿真+程序)
💻
字号:
#include<reg51.h>
#define uchar unsigned char 


bit flag=0;


uchar a;


void delay(uchar k)
{
  uchar i,j;
  for(i=0;i<k;i++)
  for(j=0;j<255;j++);
}


void paomadeng(void)
{
  uchar m,n;


  if(a==0) 
  {
   if(flag==0)
   P0=0x00; 
   delay(200);
   if(flag==1)
   P0=0xff;
   delay(200);
   flag=~flag;
   }

 
 if(a==1) 
  { 
   P0=0x01<<m; 
   delay(100);
   m++;
   if(m==8)
   m=0;
  }
 

  if(a==2) 
  {
   P0=~(0x01<<m);
   delay(200);
   m++;
   if(m==8)
   m=0;
  }


   if(a==3) 
  {
   P0=~(0x01<<2*m);
   delay(200);
   m++;
   if(m==8)
   m=0;
  }


    if(a==4) 
  {
   P0=~(0x01<<(2*m+1));
   delay(200);
   m++;
   if(m==8)
   m=0;
  }

  if(a==5) 
  {
   P0 =(~(0x01<<n)); 
   P0 &=(~(0x80>>n));
   delay(200);
   n++;
   if(n==9)
   n=0;
  }


  if(a==6) 
  {
   if(flag==0)
   P0=0x0f; 
   delay(200);
   if(flag==1)
   P0=0xf0;
   delay(200);
   flag=~flag;
   }


   if(a==7) 
  {
   if(flag==0)
   P0=0xcc; 
   delay(200);
   if(flag==1)
   P0=0x33;
   delay(200);
   flag=~flag;
   }
}
 void main(void)
 {
 P0=0xff;
 EA=1;
 IT0=1;
 EX0=1;
 while(1)
 {
 paomadeng();
 }
 }


 void zhongduan0 (void) interrupt 0 using 1
 {
  a++; if(a==8) a=0;
 }


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -