步进电机加速-匀速-减速运行程序(C51)

ME300系列单片机开发系统+步进电机模块演示程序

功能:步进电机以加速方式启动,转速达到程序规定的最快速度后保持一段时间匀速运转,又开始以减速

方式运行直到步进电机停止转动。由K1键控制演示程序运行。步进电机模块上D1-D4可以指示工作状态。

/******************************************************************/

/*                                                                                                                                 */

/* ME300B单片机开发系统演示程序 - 步进电机加减速运行程序                                              */

/*                                                                                                                                 */

/* 步进电机启动时,转速由慢到快逐步加速。                                                                       */

/* 步进电机匀速运行                                                                                                        */

/* 步进电机由快到慢逐步减速到停止                                                                                                                           */

/* 网站http://www.elecfans.com                                                  */

/******************************************************************/

#include //51芯片管脚定义头文件

#include //内部包含延时函数 _nop_();

#define uchar unsigned char

#define uint  unsigned int

sbit  K1=P1^4;

uchar code FFW[8]={0xf1,0xf3,0xf2,0xf6,0xf4,0xfc,0xf8,0xf9};

//uchar code REV[8]={0xf9,0xf8,0xfc,0xf4,0xf6,0xf2,0xf3,0xf1};

uchar rate ;

/********************************************************/

/*

/* 延时

/* 11.0592MHz时钟,

/*

/********************************************************/

void delay()

{

uchar k;

uint s;

k = rate;

do

{

for(s = 0 ; s <500 ; s++) ;

}while(--k);

}

/********************************************************/

/*

/*步进电机正转

/*

/********************************************************/

void  motor_ffw()

{

uchar i;

for (i=0; i<8; i++)      //一个周期转30度

{

P1 = FFW[i];          //取数据

delay();                 //调节转速

}

}

/********************************************************

*

*步进电机运行

*

*********************************************************/

void  motor_turn()

{

uchar x;

rate=0x10;

x=0xf0;

do

{

motor_ffw();               //加速

rate--;

}while(rate!=0x01);

do

{

motor_ffw();               //匀速

x--;

}while(x!=0x01);

do

{

motor_ffw();              //减速

rate++;

}while(rate!=0x10);

}

/********************************************************

*

*  主程序

*

*********************************************************/

main()

{

P1=0xf0;

while(1)

{

P1=0xf0;

if(K1==0)

{

motor_turn();

}

}

}

/********************************************************/

步进电机加速的c语言编程,步进电机加速-匀速-减速运行程序(C - 电子制作 - 电子发烧友网...相关推荐

  1. java模拟加速匀速减速_步进电机加速-匀速-减速运行程序(C51源程序)

    ME300系列单片机开发系统+步进电机模块演示程序 功能:步进电机以加速方式启动,转速达到程序规定的最快速度后保持一段时间匀速运转,又开始以减速 方式运行直到步进电机停止转动.由K1键控制演示程序运行 ...

  2. 【c】C语言编程写的一个http下载程序

    来自: 百度空间-软件工程师 大家都很熟悉HTTP协议的应用,因为每天都在网络上浏览着不少东西,也都知道是HTTP协议是相当简单的.每次用到FlashGet之类的下载软件下载网页,当用到那个" ...

  3. c51步进电机汇编语言,用C51语言实现步进电机的运行速度控制

    用C51语言实现步进电机的运行速度控制 作者在本文中首先介绍步进电机的速度运行原理 ,对整个运行阶段进行详细分析 ,然后在此 (本文共4页) 阅读全文>> 给出一种以带有看门狗功能的新型单 ...

  4. C语言编程入门之--第一章初识程序

    导读:计算机程序无时不刻的影响着人类的生活,现代社会已经离不开程序,程序的作用如此巨大,那么程序到底是什么呢?本章主要讨论程序的概念,唤起读者对程序的兴趣,同时对C语言程序与其它语言程序进行比较,说明 ...

  5. c语言编程中野指针错误,C程序中可怕的野指针

    一.疑问点 指针是C语言一个很强大的功能,同时也是很容易让人犯错的一个功能,用错了指针,轻者只是报个错,重者可能整个系统都崩溃了.下面是大家在编写C程序时,经常遇到的一种错误的使用方法,也许在你的学习 ...

  6. 步进电机加速的c语言编程,关于步进电机S型加速程序编写

    给你看一篇文章吧http://wenku.baidu.com/view/39fe ... 71.html?from=search 我是参照这个来写的 [mw_shl_code=applescript, ...

  7. c语言入门小程序素数,C语言编程入门经典18个小程序

    C语言是面向过程的,而C++是面向对象的 C跟C++的区别: C是一个结构化语言,它的重点在于算法和数据结构.C程序的设计首要考量的是怎样借助一个过程,对输入(或环境条件)进行运算处理得到输出(或推动 ...

  8. java语言简单代码_java语言编程如何实现一个最简单程序?

    在编程语言中,实践出结果是最重要的,其他的什么都是为此做准备,下面我们就来看看该如何编译一个最简单的java程序. 首先,启动你的编程软件,如eclipse等,具体可以网上了解, 再来,创建一个新的j ...

  9. c语言编程抢30,抢三十-程序?

    抢三十-程序? 小时候玩过一个小游戏(从1开始轮流数数,二个人,每个人至多可以数1-3个数,谁先数到最后一个数30谁就嬴),想用C语言编写出来.但是写出来之后却出现问题?只输出前一次的数?希望哪位可以 ...

  10. 单片机 串口 波特率 c语言 9600 11.0592mhz t1,C51语言编程:单片机与 PC 串口通信程序...

    单片机接收PC机发来的指令信号,然后单片机又向PC机发送字符串.具体要求如下: 当接收指令信号为:'go',单片机向PC机发送字符串:WELCOME TO CHINA!; 当接收指令信号为:'who' ...

最新文章

  1. Linux中重定向--转载
  2. 直播|清华谢晓晖——面向互联网图像搜索的用户行为模型研究
  3. asp.net编程:asp.net中如何设置页面的编码
  4. python的数据清理_Python数据清理,清洗
  5. Linux IO磁盘篇整理小记
  6. stm32实验报告心得体会_STM32实验报告
  7. Flume监听文件夹中的文件变化_并把文件下沉到hdfs
  8. 查看自己电脑上某个端口有没有被占用
  9. mysql-5.7安装、配置
  10. python插入排序
  11. 【车间调度】基于matlab遗传算法求解多目标流水车间调度问题【含Matlab源码 443期】
  12. openwrt 自动签到插件-食用指南
  13. linux返回上一步命令
  14. python读写excel文件(xls格式)
  15. 【仅剩12小时】Python科研绘图教程,40+绘图案例(附完整代码)
  16. 【web前端(三十九)】javascript_jquery操作样式
  17. 服务器不稳定怎么解决?常见的4种问题和6种处理方法
  18. 推出全新的交互式导航和社交导航 iGibson 挑战
  19. 一、什么是JWT?了解JWT,认知JWT
  20. 磁带机PowerVault LTO-7使用

热门文章

  1. 面试官:如何实现单行/多行文本溢出的省略样式?
  2. 支付宝小程序中使用阿里字体图标
  3. spark学习之SparkStreaming
  4. APP抓包工具——Fiddler
  5. Linux系统下VMware虚拟机安装Win7 ISO操作系统
  6. 生物信息学 之 序列比对
  7. 极小化极大(Minimax)算法原理
  8. Linux嵌入式和单片机嵌入式到底什么区别?
  9. 特稿:成都,一座“吃饱了撑的”城市
  10. Excel图表1——双坐标图(双柱图)