int.c

来自「该程序是用单片机C51语言编写的关于步进电机控制的程序」· C语言 代码 · 共 67 行

C
67
字号
#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 + =
减小字号Ctrl + -
显示快捷键?