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控制器控制步进电机 ...
随机推荐
- 使用Mono Runtime Bundle制作安装包让C#桌面应用程序脱离net framework
在Xamain 未被收购之前,这货monodroid.exe 就是一个打包的绑定...无奈 配置环境复杂,未能实现 ...有mono运行时就行了..不折腾了 玛德 让C#程序独立运行(脱离 .NET ...
- HDU_1009——老鼠的交易,性价比排序,最大化收益
Problem Description FatMouse prepared M pounds of cat food, ready to trade with the cats guarding th ...
- 探求Floyd算法的动态规划本质(转)
---恢复内容开始--- Floyd–Warshall(简称Floyd算法)是一种著名的解决任意两点间的最短路径(All Paris Shortest Paths,APSP)的算法.从表面上粗看,Fl ...
- HBase 事务和并发控制机制原理
作为一款优秀的非内存数据库,HBase和传统数据库一样提供了事务的概念,只是HBase的事务是行级事务,可以保证行级数据的原子性.一致性.隔离性以及持久性,即通常所说的ACID特性.为了实现事务特性, ...
- linux mount命令学习
我们在下面这篇博文中已经有笼统的学习了文件系统的一些相关知识, http://blog.csdn.net/boyxulin1986/article/details/12107113 本篇我们主要是用来 ...
- JS学习之道:javascript keycode大全
keycode 8 = BackSpace BackSpace keycode 9 = Tab Tab keycode 12 = Clear keycode 13 = Enter ...
- Python学习日志(六)
字符串的方法及注释 字符串转义字符含义 字符串格式化符号含义 eg:'a'的ASCii码是97 格式化操作符辅助指令 format()字符串格式化方法 字符串的格式化是指统一字符串格式 format( ...
- 公告:CSDN博客频道新功能正式上线!
各位尊敬的CSDN用户: 你们好! 为了更好的服务于用户,CSDN博客最新推出如下功能: 1.取消开通博客3天才能发布博文的限制,博客开通之后即可发表博文 2.博客文章增加自定义摘要功能 在发表 ...
- [转]Android重力感应开发
http://blog.csdn.net/mad1989/article/details/20848181 一.手机中常用的传感器 在Android2.3 gingerbread系统中,google提 ...
- [React Testing] Reusing test boilerplate
Setting up a shallow renderer for each test can be redundant, especially when trying to write simila ...