?? 編碼器.c
字號:
//-----------------------函數聲明,變量定義--------------------------------------------------------
#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 + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -