- 5
- 0
- 约5.28千字
- 约 7页
- 2016-09-19 发布于重庆
- 举报
51驱动四相步进电机
#include reg51.h
#define uint unsigned int;
#define uchar unsigned char
//以下定义LED片选信号
sbit LED_1 = P3^0;
sbit LED_2 = P3^1;
sbit LED_3 = P1^6;
sbit LED_4 = P1^7;
//以下定义M1驱动信号
sbit M1_1 = P2^0;
sbit M1_2 = P2^1;
sbit M1_3 = P2^2;
sbit M1_4 = P2^3;
//以下定义M2驱动信号
sbit M2_1 = P2^4;
sbit M2_2 = P2^5;
sbit M2_3 = P2^6;
sbit M2_4 = P2^7;
//以下定义M3驱动信号
sbit M3_1 = P3^4;
sbit M3_2 = P3^5;
sbit M3_3 = P3^6;
sbit M3_4 = P3^7;
//定义输入按键的序号
sbit K_1 = P1^0;
sbit K_2 = P1^1;
sbit K_3 = P1^2;
sbit K_4 = P1^3;
sbit K_5 = P1^4;
sbit K_6 = P1^5;
//以下定义共阴极LED的显示代码,0~9
uchar code tab[10] =
{ 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f };
//以下定义电机正转代码
uchar code zheng[9] =
{ 0x00,0x03,0x02,0x06,0x04,0x0c,0x08,0x09,0x01 };
//以下定义电机反转代码
uchar code fan[9] =
{ 0x01,0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x00 };
//下面定义全局变量
uchar m1_zheng = 0;//主轴正转,用1表示,停止用0表示
uchar m1_zheng_val = 0;//正转的步进
uchar m1_fan = 0;//主轴反转,用2表示,停止用0表示
uchar m1_fan_val = 0;//反转步进
uchar m2_mode = 0;//m2状态 X轴增加时用0,递减时用1
uchar m2_zheng_val = 0;//m2 X轴递增时的位置
uchar m2_fan_val = 0;//m2 X轴递减时的位置
uchar m2_pre_mode = 0;//存储m2前一次的状态,递增为0,递减为1
uchar m3_mode = 0;//m3状态 Y轴增加时用0,递减时用1
uchar m3_zheng_val = 0;//m3 Y轴递增时的位置
uchar m3_fan_val = 0;//m3 Y轴递减时的位置
uchar m3_pre_mode = 0;//存储m3前一次的状态,递增为0,递减为1
uchar inc_dec = 0;//递增为0,递减为1
uchar choose_motor = 0;//电机驱动选择,1为驱动M1,2为驱动M2,3为驱动M3
//下面是 函数声明
extern void delay(uchar time);//延时程序
void init_cpu(void);//初始化51单片机
void led_show(void);//LED显示程序
void int0_isr();//中断处理程序
void motor_driver();//电机控制程序
void key_1();//KEY_1处理程序,既主轴正转程序
void key_2();//主轴反转程序
void key_3();//M2处理程序,既X轴电机
void key_4();//M3处理程序,既Y轴电机
void key_5();//设置X轴或Y轴位置递增或递减程序
void key_6();//未定义,留待功能扩展
//主函数开始
void main()
{
init_cpu();//初始化单片机
while(1)
{
led_show(); //显示当前电机状态
}
}
void init_cpu()
{
EA = 0;//关所有中断
IT0 = 0;//下降沿触发
EX0 = 1;//允许INT0中断
EA = 1;//开所有中断
}
void led_show()
{
uchar i;
LED_1 = 0;//显示第一个LED,既M1的
您可能关注的文档
最近下载
- Unit 1 Animal friends Hit it big(课件)外研版(三起)(2024)英语三年级下册.pptx VIP
- 《英语修辞学》第七章.ppt VIP
- 公路工程分包合同(标准版).docx VIP
- 《英语修辞学》第六章.ppt VIP
- 虚拟电厂整合.pptx VIP
- 2025北京东城五年级(上)期末英语(含答案).pdf VIP
- 2025年东营科技职业学院单招考试文化素质数学试题及完整答案详解(夺冠系列).docx
- 深度解析(2026)《GBT 23588-2020钕铁硼生产加工回收料》(2026年)深度解析.pptx VIP
- 2025年澳门高一英语试卷及答案.doc VIP
- 2026 年中考数学基础夯实专项试卷(附答案可下载).docx VIP
原创力文档

文档评论(0)