📄 interrupt.c
字号:
//========================================================
//========================================================
#define interrupt_c
#include "io.h"
#include "main.h"
#include "key.h"
#include "interrupt.h"
#include"ifr_ir.h"
void Init_Uart(void)
{
LME_RESET = 1;
serial_rece_count = 0;
serial_tran_count = 0;
Tran_Busy = 0;
Rece_Buf_Empt = 0;
memset(serial_rece_buf,0x00,20);
}
//****************************************************
//function:
//input :无
//output :无
//modify :2007-8-24
//****************************************************
//void freqence() interrupt 0 using 2
void RI_TI(void) interrupt 4 using 1
{
if(RI)
{
RI=0;
Rece_Buf_Empt = 1;
serial_rece_buf[serial_rece_count] = SBUF;
serial_rece_count++;
}
else if(TI)
{
TI=0;
if (Tran_Busy == 0)
return;
serial_tran++;
serial_tran_count--;
if (serial_tran_count == 0)
Tran_Busy = 0;
else
SBUF = *serial_tran;
}
}
//****************************************************
//function:定时功能
//input :无
//output :无
//modify :2007-8-24
//****************************************************
void time2(void) interrupt 5 using 1
{
TF2=0;
RCAP2L=TL2=0X78;RCAP2H=TH2=0XEC;
Timer0_Over = 1;
second0++;
if(second0>200)
{
second0=0;
second1++;
second2++;
if(Key1_flag)
{
if(second1>=2)
{
b_key_2second=1;
Key1_flag=0;
second1=0;
}
}
if(Key2_flag)
{
if(second1>=2)
{
b_key_2second1=1;
Key2_flag=0;
second1=0;
}
}
if(Key3_flag)
{
if(!b_password)
{
if(second1>=5)
{
b_key_5second=1;
Key3_flag=0;
second1=0;
}
}
else if(b_password)
{
if(second1>=2)
{
b_key_2second2=1;
Key3_flag=0;
second1=0;
}
}
}
}
}
//****************************************************
//function:
//input :无
//output :无
//modify :2007-8-27
//****************************************************
uchar Rece_Data(uchar *buf)
{
uchar i;
if (serial_rece_count == 0)
return 0;
Rece_Buf_Empt = 0;
memcpy(buf,serial_rece_buf,serial_rece_count);
memset(serial_rece_buf,0x00,20);
i = serial_rece_count;
serial_rece_count = 0;
serial_rece_count = 0;
return i;
}
//****************************************************
//function:
//input :无
//output :无
//modify :2007-8-24
//****************************************************
void Tran_Data(uchar *buf,uchar len)
{
serial_tran = buf;
serial_tran_count = len;
Tran_Busy = 1;
SBUF = *serial_tran;
while(Tran_Busy);
}
////////////////////////////////////////////////////////////////
////////// ****** ** ** ***** /////////////////////////
////////// ** *** ** ** ** /////////////////////////
////////// ****** ** * ** ** ** /////////////////////////
////////// ** ** *** ** ** /////////////////////////
////////// ****** ** ** ***** /////////////////////////
////////////////////////////////////////////////////////////////
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -