标题:
步进电机精准定位、转向、转速的源程序 51单片机比赛资料
[打印本页]
作者:
知丶
时间:
2017-11-6 22:32
标题:
步进电机精准定位、转向、转速的源程序 51单片机比赛资料
这是作者个人参加51单片机比赛的资料,欢迎参考
0.png
(42.28 KB, 下载次数: 61)
下载附件
2017-11-7 03:29 上传
单片机源程序如下:
//=======================================================
//工程名称:步进电机精准定位、转向、转速
//工程作者:冯奇
//工程硬件:STC89C52RC
//======================包含文件=================================
#include<reg52.h> //包含头文件
#include"LCD1602.H" //包含文件---LCD1602显示屏
#include"Stepmotor.H" //包含文件---两相五线步进电机
#include"DELAY.H" //包含文件---延时
#include"KEYx3.H" //包含文件---三个按键
//======================定义变量=================================
unsigned int count=256; //角度初始值
float t;
unsigned char mode=0; //按键1设置模式
extern unsigned int speed;//速度值
bit stop,zf; //stop=1 步进电机启动
//stop=0 步进电机暂停
//zf=1 右转
//zf=0 左转
//======================主函数=================================
void main()
{
// KEYx3_Init();//初始化按键
Step_Init();//步进电机复位
Step_R();
// speed=3; //初始化转速
// delay_ms(100);
//zf=1;
//Init_LCD1602(); //LCD1602初始化
// LCD1602_ShowStr(6,1,"R");
// while(1)
// {
// if(KEYx3_1_Gets())
// {
// mode++; //模式切换
// delay_ms(10);
// }
// switch(mode)
// {
// case 1: //模式1控制转动角度
// {
// if(KEYx3_2_Gets())
// {
// count=count+2; //加步进电机角度的度数
// delay_ms(10);
// if(count>512)
// {
// count=0;
// }
// }
// if(KEYx3_3_Gets())
// {
// count=count-2; //加步进电机角度的度数
// delay_ms(10);
// if(count<0)
// {
// count=512;
// }
// }
// break;
// }
// case 2: //模式2控制转动方向
// {
// if(KEYx3_2_Gets())
// {
// zf=1;
// LCD1602_ShowStr(6,1,"R");//LCD1602显示方向--右
// }
// if(KEYx3_3_Gets())
// {
// zf=0;
// LCD1602_ShowStr(6,1,"L");//LCD1602显示方向--左
// }
// break;
// }
// case 3: //模式3控制转动速度
// {
// if(KEYx3_2_Gets())
// {
// speed++; //加速度
// delay_ms(5);
// if(speed>6)
// {
// speed=1;
// }
// }
// if(KEYx3_3_Gets())
// {
// speed--; //减速度
// delay_ms(5);
// if(speed<1)
// {
// speed=6;
// }
// }
// break;
// }
// case 4: //模式4控制启动/暂停
// {
// if(KEYx3_3_Gets())
// {
// stop=~stop;
// }
// break;
// }
// default:
// {
// mode=0;
// break;
// }
// }
// LCD1602_ShowStr(0,0,"Angle:");//LCD1602显示名词
// LCD1602_ShowStr(0,1,"Direc:");
// LCD1602_ShowStr(10,0,"mode:");
// LCD1602_ShowStr(9,1,"speed:");
// LCD1602_SetsArea(0,0);
// LCD1602_Show_1_Numb(15,1,speed);//LCD1602显示速度
// LCD1602_Show_1_Numb(15,0,mode);//LCD1602显示模式
// Step_An(count);//转动角度
// t=count*0.703125+0.05;//角度转换
// LCD1602_Show_3_Numb(6,0,t); //LCD1602显示角度
// }
}
……………………
…………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
Desktop.7z
(346.04 KB, 下载次数: 100)
2017-11-6 22:30 上传
点击文件名下载附件
51单片机个人比赛资料
下载积分: 黑币 -5
作者:
lizhendong
时间:
2020-5-27 15:54
支持一下,谢谢了
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1