?? main.c
字號:
//-----------------------------------------------------------------
// 名稱: 用ULN2803驅(qū)動步進電機運行
//-----------------------------------------------------------------
// 說明: 本例運行時,按下K1時電機正轉(zhuǎn)3圈,按下K2時反轉(zhuǎn)3圈,
// 按下K3時停止.在進行相應(yīng)操作時,對應(yīng)LED將被點亮.
//
//-----------------------------------------------------------------
#include <pic.h>
#define INT8U unsigned char
#define INT16U unsigned int
#define _XTAL_FREQ 1000000UL
//本例四相步進電機工作于八拍方式
//正轉(zhuǎn)勵磁序列為A->AB->B->BC->C->CD->D->DA
const INT8U FFW[] = {0x01,0x03,0x02,0x06,0x04,0x0C,0x08,0x09};
//反轉(zhuǎn)勵磁序列為A->AD->D->CD->C->BC->B->AB
const INT8U REV[] = {0x01,0x09,0x08,0x0C,0x04,0x06,0x02,0x03};
//按鍵定義
#define K1_DOWN() (RB0 == 0) //K1:正
#define K2_DOWN() (RB3 == 0) //K2:反
#define KX_DOWN() (RB0 == 0 || RB3 == 0 || RB5 == 0) //KX:任意鍵按下
//LED定義
#define LED1 0
#define LED2 3
#define LED3 5
//-----------------------------------------------------------------
// 步進電機正轉(zhuǎn)或反轉(zhuǎn)n圈(本例步進電機在8拍方式下每次步進45度角)
//-----------------------------------------------------------------
void STEP_MOTOR_RUN(INT8U Direction,INT8U n)
{
}
//-----------------------------------------------------------------
// 主程序
//-----------------------------------------------------------------
void main()
{
INT8U r = 3; //轉(zhuǎn)動圈數(shù)
TRISB = 0xFF; RBPU = 0; //RB端口按鍵輸入,內(nèi)部弱上拉
TRISC = 0x00; PORTC = ~(1<<LED3);//LED輸出,初始時停止指示燈LED3點亮
TRISD = 0x00; //PORTD = FFW[0]; //電機控制輸出,電機歸位
while(1)
{
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -