最近好长一段时间没有来51hei单片机网了,接近考试的日子越来越近,开始把时间转到考试的准备上了,这两天回过头来想想,应该有快半个月对单片机的学习没有什么进展了,不过我一直坚信,单片机学习的路上,只要你肯坚持,只要你肯吃苦、肯付出,再难的关也不是问题,当然,最近也深深地体会到,学习单片机如果有一个好的老师作为指导,那学起来就不用那么费劲了,不过也没有关系,很多东西,条件不好的时候,就需要自己去改变,去想想其它的法子。
这两天开始研究单片机与步进电机的控制问题,感觉真的很好玩,步进电机在工业的很多地方都有很大的应用,比如流水线的运转,智能小车,系统定位都有很大的用处。也是一个核心的技术。步进电机的控制主要是由单片机IO口高低电平的控制以及输出脉冲来控制其转速,达到了一种数模转换的效果。让单片机以并行二进制数转换成并行脉冲序列,并实现方向控制。只要是脉冲在步进电机允许的范围之内,每个脉冲将使步进电机转动一个固定的步距角度,根据步距角的大小及实际走的步数,只要知道初始位置,便可以根据计算知道其最终位置了。
步进电机转动时的驱动的电流比较大,所以在使用单片机控制的时候,要在中间加一个放大电路,或者加上一些常用的放大电流的芯片,比如人们很经常用的一个芯片ULM2003.只有这样才能够使步进电机转动,不然会因为电流太小而实现不了效果。
程序如下:
#include
#define uchar unsigned char
#define uint unsigned int
uchar num[]={0x01,0x02,0x04,0x08};
void delay(uint z)
{
uint a;
for(a=0;a
;
}
void main()
{
uchar i;
uint j;
for(j=0;j<2045;j++)
{
{ P1=num[i];
delay(1200);
i++;
if(i==4)
i=0; }
}
while(1);
}
其中,z控制转速,j控制转的圈数,由计算和调试得出当j=2045时,步进电机走的圈数为1圈,这样,我们要步进电机走多少圈时,可以在里面嵌套一个程序,达到我们要电机转多少圈的目的。关于电机的参数打开http://www.51hei.com/mcu/73.html 这个链接来查看.里面写得非常详细.
关键字:单片机 步进电机
引用地址:
单片机与步进电机的控制
推荐阅读最新更新时间:2024-03-16 14:05
【STC单片机学习】第五课:动手写代码之前必须的准备工作
1.5.1.Keil软件的介绍和安装 1.5.1.1、IDE概念 (1)IDE(Integrated Development Environment )就是集成开发环境,就是一套用来开发的完整的软件系统。 1.5.1.2、Keil uvision介绍 (1)发展: Keil介绍 (2)咱们使用keil v5,一般做单片机和嵌入式的都说是K5 (3)安装包在哪里 网络下载、开发板光盘 1.5.1.3、安装和破解(win7以上版本在破解前一定记得管理员身份运行) 链接:安装和破解 本地指导文件:开发板光盘资料课程配套ARM3.0开发板光盘资料Keil C51安装和破解包 1.5.1.4、Keil和MDK (1)本来只能用
[单片机]
使用单片机3个IO口+74HC595驱动驱动控制LCD1602液晶
此内容有一定的深度,初学者不建议看。 最近一直在研究数码管驱动芯片 74HC595 ,发现一件很好玩的事情,那就是 用74HC595做驱动调试程序时,发现它只能输出,不能输入。 查找大量资料,从某个网友制作的mylib.c(NES)中获得了一条指令: #define bin(_a,_b,_c,_d,_e,_f,_g,_h) ((_a) 7|(_b) 6|(_c) 5|(_d) 4|(_e) 3|(_f) 2|(_g) 1|(_h)) 分别是8 7 6 5 4 3 2 1位 我就想既然情况是这样的,那么能不能完全用74595来控制整个1602呢?于是…就有个下面这个有趣的过程了 废话不多说,先上电路系统仿
[单片机]
详细介绍单片机可视化编程的相关知识状况
A1:何谓开关电源模块单片机编程的MTD2002可视化? Q1:可视化编程就是提供给用户可视化的开关电源模块器件模块配置界面使用户在不用关心具体MTD2002器件工作原理和设置的情况下直接生成所要配置的器件初始化代码及驱动程序,从而直接进行单片机应用层程序的开发。 A2:单片机的可视化编程是不是指在环境下避开复杂的指令编写而通过图形的方式产生指令代码?-在MTD2002可视化的条件下是否可以观察到仿真的结果? Q2:是的。不过仿真的结果不能够直接观察到,而要通过将生成的开关电源模块代码装载到仿真器工具中才能看到。 A3:配置字节(option)怎么样通过C语言定位在0x80-0x84的地址?我现在是通过
[单片机]
Bosch Sensortec 发布集成MCU的微机电传感器
-通过低功耗传感器与智能处理器的最优集成,完全实现Android 5.0的传感器规范并可软件升级支持Android后续版本 -通过传感器数据融合与批量数据处理技术,显著减少手机永不断讯应用的系统功耗,省电最高可达95% -可通过外接传感器或更新内置软件而获得功能扩展 Bosch Sensortec 今天发布BHI160和BHA250两款集成MCU的智能传感器产品。如今的智能手机仰赖永不断讯传感器来实现健身跟踪、计步、室内导航和手势识别等应用。通过由BHI160或BHA250来分担应用处理器上的传感器融合运算,以及通过传感器本地缓冲传感数据的方式,可以保证主应用处理器不会仅因为传感器数据的处理而被唤醒。
[传感器]
基于arm架构单片机的hadoop服务器尝试
之前听说了百度用arm服务器搭建了webserver和网盘之类的东西,然后又看到有人用android电视棒里面装ubuntu,于是就有了用arm尝试做hadoop服务器的想法。但是目前arm 64位的cpu还没有出货,所以这只是个前奏性质的尝试。 从淘宝上面买了一个arm的单片机,上面有一颗基于ARMv7架构的单核cpu,1G内存,4G存储。但是最主要的,是上面有网卡接口,虽然是100M的,但这让构建集群成为了一个可能。另外这个比树莓派更好的是,上面有sata硬盘的接口,这样,存储的问题也可以解决。虽然我现在手里没有sata 2.5寸的硬盘,但是起码给了个想象的空间。 很小的一块板子,表就是casio的ef339,去年博客大
[单片机]
PIC系列单片机程序设计基础
1、PIC单片机程序的基本格式 先介绍二条伪指令: EQU ——标号赋值伪指令 ORG ——地址定义伪指令 PIC16C5X单片机在RESET后指令计算器PC被置为全“1”,所以PIC16C5X几种型号芯片的复位地址为: PIC16C54/55:1FFH PIC16C56:3FFH PIC16C57/58:7FFH 一般来说,PIC单片机的源程序并没有要求统一的格式,大家可以根据自己的风格来编写。但这里我们推荐一种清晰明了的格式供参考。 TITLE This is …… ;程序标题 ;-------------------------------------- ;名称定义和变
[单片机]
单片机系统的电磁兼容设计研究
单片机系统广泛应用于日常生活工作中,对其在各种环境下工作的稳定性提出了更高的 要求。单片机系统的稳定性在很大的程度上决定于系统的电磁兼容性。因此,电磁兼容设计 应贯穿于单片机系统设计的始终。国际电工委员会 IEC 对电磁兼容性的定义是 :电磁兼容 是设备的一种能力,是设备其在电磁环境中能完成它的功能,而不至于在其环境中产生不能 容忍的干扰。电磁兼容性对单片机系统的设计提出两方面的要求:一方面单片机系统不能受 其他系统的干扰而影响工作;另一方面单片机系统不能干扰其他系统的工作。作者从某电力 负荷管理终端的设计及电磁兼容性测试对单片机系统的电磁兼容性进行了研究。 电磁干扰的形成必须具备三个条件:干扰源、影响通道、干扰电路(如图 1
[单片机]
NEC发布功耗仅1.8mW/MIPS的16位MCU
NEC Electronics America公司的16位78KOR系列闪存微控制器(MCUs)的功耗仅为1.8mW/MIPS,其功率/性能比为该公司8位78K0 MCU的6倍。该器件是针对家用电器和工业系统市场设计的。 该产品由封装引脚数从64到100的30个器件组成,闪存容量为64KB到256KB,为工程技术人员提供了更多的设计选择。 该产品采用三级管线技术,可实现高速处理,能达到最高13MIPS的处理速度。该系列产品还提供了热复位功能、电压检测电路、片上振荡器、日历定时器和低EMI功能。其16位78K0R指令集包括了8位78K0指令集,保持了与78K0器件及大部分78K0R产品的兼容性。由于采用了平滑的移植技术,消费者可
[嵌入式]