步进电机驱动程序
采用热转印制作 PCB ,电路采用2相推挽全桥驱动,单片机采用 STC54C12C5404
学生的设计要求:具体的模式如下:五种模式选择
一:停止。
二:顺时针转2分钟,停6分钟,循环;
三:逆时针转2分钟,停6分钟,循环;
四:顺指针转2分钟停6分钟,逆时针转2分钟停6分钟,循环;
五:顺指针转5分钟,逆时针转5分钟持续3小时,停9小時,循环。
请将模式四和五放在首选。用数字码显示模式
步进电机39BYG250
品牌: 北斗型号: 39BYG 技术参数
步距角: 电流: A 电阻: 27 Ω
重量: kg 驱动电压: 12 V
相电流: 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_ADDR
步进电机驱动程序 来自淘豆网m.daumloan.com转载请标明出处.