步进电机驱动程序采用热转印制作 PCB ,电路采用 2相推挽全桥驱动,单片机采用 STC54C12C5404 学生的设计要求:具体的模式如下:五种模式选择一:停止。二:顺时针转 2分钟,停 6分钟,循环; 三:逆时针转 2分钟,停 6分钟,循环; 四:顺指针转 2分钟停 6分钟,逆时针转 2分钟停 6分钟,循环; 五:顺指针转 5分钟,逆时针转 5分钟持续 3小时,停 9小時,循环。请将模式四和五放在首选。用数字码显示模式步进电机 39BYG250 品牌: 北斗型号: 39BYG 技术参数步距角: 电流: A电阻: 27Ω重量: kg驱动电压: 12V 相电流: A相数: 2环境温度: 130 ℃ 1代表程式 1,2代表程式 2。。。。。 1位数码管, 1个按钮 8圈/分, 每圈要分 4步跳// /************************************************** 具体的模式如下:五种模式选择 0:停止。 1:顺时针转 2分钟,停 6分钟,循环; 2:逆时针转 2分钟,停 6分钟,循环; 3:顺指针转 2分钟停 6分钟,逆时针转 2分钟停 6分钟,循环; 4:顺指针转 5分钟,逆时针转 5分钟持续 3小时,停 9小時,循环。模式四和五放在首选。用数字码显示模式 1代表程式 1,2代表程式 2。。。。。 1位数码管, 1个按钮 8圈/分, 68 每圈要分 4步跳;***************************************************************/ #include ""// 头文件#include ""// 头文件#define uchar unsigned char// 宏定义#define uint unsigned int// 宏定义#define DPDR P2// 并行数据接口定义 sbit key=P3^2;// 按键 sbit AB=P3^5; sbit CP=P3^3; //sbit HHH=P1^6; sbit CLL=P3^4; bit Forward_Inversion_bit;// 正转,// 反转,标志 bit bit_bit; //1 :正转//0 :反转 bit Start_Stop_bit;// 启动,停止,标志//1 :启动//0 :停止//uchar count_2; uint counter_3; uchar counter_4; uchar Forward_Tolerance_Counter;// 正转容错记数器,保持步进电机不跳步 uchar Inversion_Tolerance_Counter;// 反转容错记数器,保持步进电机不跳步 uchar Mode_Selection;// 模式选择//// 数码管显示值//0: 停止。//1: 顺时针转 2分钟,停 6分钟,循环; //2: 逆时针转 2分钟,停 6分钟,循环; //3: 顺指针转 2分钟停 6分钟,逆时针转 2分钟停 6分钟,循环; //4: 顺指针转 5分钟,逆时针转 5分钟持续 3小时,停 9小時,循环。 uchar Time_Counter_5;// 时间计数器:200*5=1 秒 uchar Time_Counter_60;// 时间计数器:1秒*60=1 分钟 uchar Time_Counter_x;// 时间计数器:1分钟*x=x 分钟 uchar Time_3_by_3;// 时间计数器:3小时*3=9 小时 uchar Time_30_by_30;// 时间计数器:3小时*3=9 小时#define ISP_IAP_BYTE_READ 0x01// 读#define ISP_IAP_BYTE_PROGRAM 0x02// 编程#define ISP_IAP_SECTOR_ERASE 0x03// 扇区擦除#define ENABLE_ISP 0x85// 等待时间,和对 ISP_CONTR 设置初值#define EEPROM_ADDRESS_1 0x2800// 第一扇区地址 2800-29FF #define EEPROM_ADDRESS_2 0x2A00// 第二扇区地址 2A00-2BFF #define EEPROM_ADDRESS_3 0x2A01// 第二扇区地址 2A00-2BFF //#define EEPROM_ADDRESS_3 0x2C00// 第三扇区地址 2C00-2DFF //#define EEPROM_ADDRESS_4 0x2E00// 第四扇区地址 2E00-2FFF uchar DATA_H
步进电机驱动程序 来自淘豆网m.daumloan.com转载请标明出处.