⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 单片机c语言程序设计100例--基于PIC+PROTEUS
💻 C
字号:
//-----------------------------------------------------------------
//  名称: 用ULN2803驱动步进电机运行
//-----------------------------------------------------------------
//  说明: 本例运行时,按下K1时电机正转3圈,按下K2时反转3圈,
//        按下K3时停止.在进行相应操作时,对应LED将被点亮.
//               
//-----------------------------------------------------------------
#include <pic.h>
#define INT8U   unsigned char
#define INT16U  unsigned int
#define _XTAL_FREQ 1000000UL

//本例四相步进电机工作于八拍方式
//正转励磁序列为A->AB->B->BC->C->CD->D->DA
const INT8U FFW[] = {0x01,0x03,0x02,0x06,0x04,0x0C,0x08,0x09};
//反转励磁序列为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
//-----------------------------------------------------------------
// 步进电机正转或反转n圈(本例步进电机在8拍方式下每次步进45度角)
//-----------------------------------------------------------------
void STEP_MOTOR_RUN(INT8U Direction,INT8U n)
{ 


}
 
//-----------------------------------------------------------------
// 主程序 
//-----------------------------------------------------------------
void main()
{ 
    INT8U r = 3;                     //转动圈数
    TRISB = 0xFF; RBPU = 0;          //RB端口按键输入,内部弱上拉 
    TRISC = 0x00; PORTC = ~(1<<LED3);//LED输出,初始时停止指示灯LED3点亮
    TRISD = 0x00; //PORTD = FFW[0];  //电机控制输出,电机归位
    while(1)
    {  


    }
}

⌨️ 快捷键说明

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