lpc1788控制步进电机28BYJ-48
下面直接上代码:
#include "lpc177x_8x.h"
#include "lpc177x_8x_clkpwr.h"
#include "lpc177x_8x_gpio.h"
#include "debug_frmwrk.h"
#include "led.h" volatile uint32_t cycleCounter;
void DelayMs(uint32_t delay)
{
uint32_t startTime = cycleCounter; while ((uint32_t)(cycleCounter - startTime) <= delay);
}
void SysTick_Handler(void) //SysTick handler sub-routine (1ms)
{
cycleCounter++;
} uint32_t a[8]={0xFF8FFFFF,0xFFCFFFFF,0xFF4FFFFF,0xFF6FFFFF,0xFF2FFFFF,0xFF3FFFFF,0xFF1FFFFF,0xFF9FFFFF}; int main(void)
{
SysTick_Config(CLKPWR_GetCLK(CLKPWR_CLKTYPE_CPU) / 1000); GPIO_Init();//ʹÄÜGPIO¿ÚµÄʱÖÓ
GPIO_SetDir(4,1<<20, GPIO_DIRECTION_OUTPUT);
GPIO_SetDir(4,1<<21, GPIO_DIRECTION_OUTPUT);
GPIO_SetDir(4,1<<22, GPIO_DIRECTION_OUTPUT);
GPIO_SetDir(4,1<<23, GPIO_DIRECTION_OUTPUT); while(1)
{
GPIO_SetValue(4, a[0]);
DelayMs(1);
GPIO_ClearValue(4,0xFFFFFFFF); GPIO_SetValue(4, a[1]);
DelayMs(1);
GPIO_ClearValue(4,0xFFFFFFFF); GPIO_SetValue(4, a[2]);
DelayMs(1);
GPIO_ClearValue(4,0xFFFFFFFF); GPIO_SetValue(4, a[3]);
DelayMs(1);
GPIO_ClearValue(4,0xFFFFFFFF); GPIO_SetValue(4, a[4]);
DelayMs(1);
GPIO_ClearValue(4,0xFFFFFFFF); GPIO_SetValue(4, a[5]);
DelayMs(1);
GPIO_ClearValue(4,0xFFFFFFFF); GPIO_SetValue(4, a[6]);
DelayMs(1);
GPIO_ClearValue(4,0xFFFFFFFF); GPIO_SetValue(4, a[7]);
DelayMs(1);
GPIO_ClearValue(4,0xFFFFFFFF);
}
}
其中GPIO_ClearValue(4,0xFFFFFFFF);这句代码非常重要。 因为如果有些位不清零的话,下次setvalue某些位为0是不行的,setvalue只能设置1.
lpc1788控制步进电机28BYJ-48的更多相关文章
- STM32 控制步进电机 28BYJ-48
STM32 控制步进电机 28BYJ-48 http://blog.chinaunix.net/uid-12664992-id-300272.html 步进电机驱动最简化的逻辑: //四相八拍:A- ...
- STM32串口控制步进电机(原创)
用的42步进电机: 厂家可能不一样,两项四线步进电机,里面有两个线圈.在电机什么电都没有接的情况下,用万用表测量四个管脚:两两短接(或者阻值很小)的为一组,可以分别接A+,a-剩余接B+,B-;顺序可 ...
- stm32控制步进电机加减速
实习公司项目需要控制步进电机,电机方面主要包括控制运动.加减速.限位.下面介绍一下在电机控制方面的心得,由于对于电机的控制不需要很精确,并且自身能力有限,相比于大牛有很大的差距. 1.需要实现的功能 ...
- 用STM32定时器中断产生PWM控制步进电机
控制步进电机可以使用PWM.定时器中断.延时,这里用的就是定时器中断来让它转动. 一.硬件部分1.使用的硬件板子用的是正点原子的STM32F103 mini板,驱动器是DM420(DM420驱动器资料 ...
- 使用Arduino开发板控制步进电机
目前为止,我还没有真正深入了解过电机,特别是步进电机. 最近我在计划一个项目,需要相对精确的电机控制,所以可能会使用到步进电机,但很快就意识到我首先应该更多地了解这些. 本篇文章主要介绍我到目前为止学 ...
- 张高兴的 Windows 10 IoT 开发笔记:使用 ULN2003A 控制步进电机
GitHub:https://github.com/ZhangGaoxing/windows-iot-demo/tree/master/ULN2003A
- 树莓派通过GPIO控制步进电机
一.接线方式与GPIO调用方法: 电源接入+5v和GND In1-4分别接GPIO1-4 正转时,GPIO1-4分次传入:[1,0,0,0],[sleep],[0,1,0,0],[sleep],[0, ...
- STC单片机控制28BYJ-48步进电机
STC单片机4*4按键控制步进电机旋转 28BYJ-48型步进电机说明 四相永磁式的含义 28BYJ-48工作原理 让电机转起来 最简单的电机转动程序 电机转速缓慢的原因分析 便于控制转过圈数的改进程 ...
- 玩转X-CTR100 l STM32F4 l DRV8825 A4988 步进电机控制
我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ] 本文介绍X-CTR100控制器控制步进电机 ...
随机推荐
- C51的编程规范
现在单片机的程序设计,C51已经得到广泛的推广和应用,算是单片机的主流设计程序,甚至可以说作为单片机开发人员必须要掌握的一门语言了.作为一门工具,最终的目的就是实现功能.在满足这个前提条件下,我们希望 ...
- Android Canvas.drawText方法中的坐标参数的正确解释
摘要 canvas.drawText(www.jcodecraeer.com, x, y, paint); x和y参数是指定字符串中心的坐标吗?还是左上角的坐标?这个问题的直观印象应该是左上角的坐标, ...
- Collections.shuffle源码阅读
java.util.Collections /** * Randomly permutes the specified list using a default source of * randomn ...
- Function对象
Function对象是js中很重要的一个元素,js中所有自定义的函数都是Function对象,所以String,Number,Boolean,function等都是Function对象.所以,在使用t ...
- HDU5107---K-short Problem (线段树区间 合并、第k大)
题意:二维平面上 N 个高度为 Hi 建筑物,M次询问,每次询问输出 位于坐标(x ,y)左下角(也就是xi <= x && yi <= y)的建筑物中的第k高的建筑物的高 ...
- RequireJS进阶(三)
进阶的前面两篇讲述了r.js如何通过命令行把所有的模块压缩为一个js文件或把所有的css压缩为一个css文件.其中包括一些压缩配置参数的使用. 但以上两种方式有几个问题 1.通过命令手动配置压缩选项显 ...
- 【C#基础】CSA控件编写秘籍
新建CSA控件 1.新建一个纯类,命名空间是: namespace SimPerfect.CSAControlLibrary.CSAControls 2.实现两个构造函数:无参和传Candy参数 pu ...
- [转]Android-网络通信框架Volley使用详解
1 Volley发送get请求: public void getJson() { String url = "http://"+host+":8080/web/json. ...
- 【浅墨Unity3D Shader编程】之二 雪山飞狐篇:Unity的基本Shader框架写法&颜色、光照与材质
本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/40955607 作者:毛星云(浅墨) ...
- AIX-df命令
df 命令显示文件系统的总空间和可用空间信息.FileSystem 参数指定文件系统驻留的设备的名称,文件系统的安装目录或文件系统的相对路径名.File 参数指定非安装点的文件或目录.如果指定 Fil ...