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

📄 isr.c

📁 这是一个学习芯片的事例,AD9958 一个DDS芯片,里面是芯片控制程序
💻 C
字号:
/*
   ISR.C file
   
*/

#include "ISR.h"
#include <aduc841.h>
#include "ad9958.h"

unsigned char receive_count;
unsigned char receive_buffer[9];
unsigned char receive_end;


void Exterior_0_interrupt(void) interrupt 0
{

}

void Count_0_interrupt(void) interrupt 1
{

}

void Exterior_1_interrupt(void) interrupt 2
{

}

void Count_1_interrup(void) interrupt 3
{

}

//*******************************   串口中断处理        ***********************************
unsigned char sending;

void serial_port(void) interrupt 4
{
 EA=0;
 if(RI)                    //表示接收到数据
  {
   if(SBUF==0xee)
    {
     receive_count=0;
     RI=0;
     EA=1;
     return;
    }
   if(SBUF==0xdd)
    {
     receive_end=1;
     RI=0;
     EA=1;
     return;
    }
   receive_buffer[receive_count]=SBUF;
   receive_count++;
   RI=0;
   EA=1;
   return;
  }
 else
  {
   TI=0;
   sending=0;               //清正在发送标志
  }
 EA=1;
}
//*****************************************************************************************


/*--------------------------------------------------------------------------
                     定时-计数器2中断
               采用定时方式,10ms中断一次
---------------------------------------------------------------------------*/

extern unsigned char code_sequence;

void Count_2_interrupt(void) interrupt 5
{ 
 TF2=0;
 DIN_P3=!(0x80 & code_sequence);
 if((code_sequence & 0x80)==0x80)
  {
   code_sequence<<=1;
   code_sequence++;
  }
 else
  {
   code_sequence<<=1;
  }
}


⌨️ 快捷键说明

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