📄 int.c
字号:
#include<reg52.h>
#include<Waking_machine.h>
extern char XPulseTemp,YPulseTemp;
extern char XPulse, YPulse ;
extern bit EvRcv; //接收中断(串口)标志位
extern bit EvTimer; //定时时间满标志位
extern uchar rcvdata;
uchar counter10ms=0; //累加十次,10ms*10=100ms
void Rcv_INT(void) interrupt 4 //串口中断,接受中断
{
LampComm=TRUE; //接受指示灯亮
if(RI)
{
ACC=SBUF;
if(P==RB8)
{
rcvdata=ACC;
EvRcv= TRUE;
}
RI=0;
}
LampComm=FAULT;
}
void XPulse_INT(void ) interrupt 0
{
EX0=0; //禁止外部中断0
if(PinXClockWise) XPulseTemp++;
else XPulseTemp--;
EX0=1;
}
void YPulse_INT(void ) interrupt 2
{
EX1=0; //禁止外部中断0
if(PinYClockWise) YPulseTemp++;
else YPulseTemp--;
EX1=1;
}
void timer0(void ) interrupt 1
{
TH0=0xb1;
TL0=0xe0;
counter10ms++;
if(counter10ms==10)
{
counter10ms=0;
EvTimer=TRUE;
XPulse=XPulseTemp;
YPulse=YPulseTemp;
XPulseTemp=0;
YPulseTemp=0;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -