编码器.c

来自「... .. 单片机接口技术实用子程序」· C语言 代码 · 共 43 行

C
43
字号
//-----------------------函数声明,变量定义--------------------------------------------------------
#include <reg51.h>
sbit INT_0 =P3^2;	             // 将p3.2外部中断0
sbit pulse_A=P1^2;               // P1.2为脉冲A输入


bit real_direction;             //电机实际运行方向
unsigned char pulseB_count;     //脉冲计数
//-----------------------变量声明---------------------------------------------------------------------
//--------------------------------------------------------------------------------------------------
// 函数名称: INT0_init()
// 函数功能: 初始化设置
//            设定INT0的工作方式
//--------------------------------------------------------------------------------------------------
void INT0_init(void )  
             {
              IT0=1;     //选择INT0为沿触发方式
              EX0=1;     //外部中断允许
              EA=1;      //系统中断允许
              }
//--------------------------------------------------------------------------------------------------
// 函数名称: INT0_intrupt
// 函数功能: 外部中断0处理程序
//--------------------------------------------------------------------------------------------------
void INT0_intrupt() interrupt 0 using 1
        {
        if(pulse_A==0)
          {   
          real_direction=1;  //若P1.2为低电平,则电机为正转,计数器N的值加1
          pulseB_count++;
          }
        else                //若为高电平,则电机为反转,计数器N值减l。
           {
            real_direction=1;
            pulseB_count++;
          }
}





⌨️ 快捷键说明

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