c语言 用边沿触发使流水灯暂停,按钮控制,按一下暂停,按一下继续

发布网友 发布时间:2022-04-23 14:37

我来回答

1个回答

热心网友 时间:2023-10-18 21:37

#include<reg52.h>  //引用库文件

void delay()//延时函数

{

  unsigned char i,j;  //定义两个变量,用于空循环

  for(i=0;i<200;i++)

    for(j=0;j<200;j++)

 ;

}

unsigned char flag;

void main()

{

  unsigned char i;

  flag=1;

  EA=1;   //开放总中断

   EX0=1;  //允许使用外中断

   IT0=1;  //选择负跳变来触发外中断

  while(1)   //用于反复循环

  {


for(i=0;i<8;i++)    

    {

 P1=~(1<<i);     

      delay();  //调用延时函数

   while(flag!=1);

    i=0;

  //

  }

}


/**************************************************************

函数功能:外中断T0的中断服务程序

**************************************************************/

void int0(void) interrupt 0 using 0 //外中断0的中断编号为0

{

  flag=~flag;   


 }


仿真图:


楼主的采纳率好低啊(时间久了,估计给你回答的人会变少),不过我还是希望楼主能采纳

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com