编码器.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 + -
显示快捷键?