📄 isr.c
字号:
#define LSR_FILE
#include "include.h"
//extern XXGFLAGS bdata bXXGFlags;
//extern UART_CMD_BLOCK xdata inblock;
//extern unsigned char xdata UartInBuffer[2112];
//extern UART_CMD_BLOCK xdata UartCmdBlock;
//extern unsigned char xdata UARTBUF[UARTBUF_LENGTH];
//extern uchar data time;
//extern uint data r_in,r_out,t_in,t_out; /*队列指针*/
//extern bit r_full,t_empty,t_done; /*缓冲区状态标志(满,空,发送完成)*/
//extern uchar xdata t_buf[]; /* 串行发送缓冲 */
//extern uchar xdata r_buf[]; /* 串行接收缓冲 */
void ISR_COMM(void) interrupt 4
{
if(RI)
{
RI=0;
if(!r_full)
{
r_buf[r_in]=SBUF;
r_in=++r_in&0x3ff;
if(r_in+1==r_out) r_full=1;
}
}
if(TI)
{
TI=0;
if(!t_done)
{
SBUF=t_buf[t_out];
t_out=++t_out&0x3ff;
if(t_out==t_in) t_done=1; //正在发送最后一字节标志
}
else
{
t_empty=0; //发送完成
t_done=0;
}
}
}
void ISR_Timer0(void) interrupt 1
{
DISABLE_INTERRUPTS;
//lClockTicks ++;
bXXGFlags.bits.bTimer = 1;
if(time) time--;
//if(bZBoardFlags.bits.bLED == LED_FLASH)
// IO_LED ^= 1;
TL0 = 0xf0; /* value set by user *//*定时器0时间,5ms*/
TH0 = 0xd8; /* value set by user */
ENABLE_INTERRUPTS;
}
//void ISR_Timer1(void) interrupt 3
//{
//}
//void ISR_Timer2(void) interrupt 5
//{
//}
//void ISR_INT1(void) interrupt 2
//{
//}
void ISR_INT0(void) interrupt 0
{
//unsigned char intr;
DISABLE_INTERRUPTS;
//ISRx_FN_USB();
//intr=SL811Read(IntStatus);
SL811Write(IntStatus,INT_CLEAR);
ENABLE_INTERRUPTS;
}
//void Reset_Timer0(void)
//{
// TR0=0;
// TF0=0;
// TL0 = 0x0; /* value set by user */
// TH0 = 0x0; /* value set by user */
// //ET0 = 1; /* IE.1*/
// TR0 = 1; /* TCON.4 start timer */
//}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -