野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7637|回复: 1

有个开发需求求大神帮忙解决

[复制链接]
发表于 2019-5-2 12:44:23 | 显示全部楼层 |阅读模式

是这样子的,有这样子一个开发需求,我实验了不成功,求大神帮忙解决。。。




开发需求为:一开机就执行中断里面的函数,动作先用电灯代替,执行完中断里面的函数之后,然后再返回main执行剩下的动作,也用点亮LED控制。。


代码如下:


#include "reg51.h"                         
typedef unsigned int u16;
typedef unsigned char u8;

u16 a;
sbit k3=P3^2;  //定义按键K3

sbit led=P3^6;         //定义P36口是led
sbit led1=P3^7;         //定义P37口是led1



void delay(u16 i)

{
       
while(i--);       

}




void Int0Init()


{
               
IT0=1;//跳变沿出发方式(下降沿)
       
EX0=1;//打开INT0的中断允许。       
       
EA=1;//打开总中断       



}




void main()

{

    Int0Init();  //        设置外部中断0

        a=1;
        while(1)
        {
     led=0;
                   
        }
}


void Int0()        interrupt 0                //外部中断0的中断函数

{
   u16 i;       
  if(a==1)
  { a=0;
   for(i=0;i<2;i++)
   {
            led=0;
     delay(10);
         led=1;
         delay(10);

   }

  }
}



现在的问题是没有中断服务函数没有检测的a==1,只执行了主函数while(1) 里面的
led=0;













仿真

仿真

shiyan 1.rar

41.66 KB, 下载次数: 5

程序和仿真

回复

使用道具 举报

发表于 2019-5-2 18:52:32 | 显示全部楼层
C51……   0_0
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-9-21 08:17 , Processed in 0.029482 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表