历史上的今天
返回首页

历史上的今天

今天是:2025年01月09日(星期四)

正在发生

2020年01月09日 | 51单片机+ULN2003驱动5V减速步进电机程序

2020-01-09 来源:51hei

51单片机      步进电机

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

ULN2003驱动5V减速步进电机程序

Target:STC89C52RC-40C

Crystal:12MHz

Author:战神单片机工作室

Platform:51&avr单片机最小系统板+ULN2003步进电机驱动套件

*******************************************************

接线方式:

IN1 ---- P00

IN2 ---- P01

IN3 ---- P02

IN4 ---- P03

+   ---- +5V

-   ---- GND

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

#include

#define uchar unsigned char

#define uint  unsigned int

#define MotorData P0                    //步进电机控制接口定义

uchar phasecw[4] ={0x08,0x04,0x02,0x01};//正转 电机导通相序 D-C-B-A

uchar phaseccw[4]={0x01,0x02,0x04,0x08};//反转 电机导通相序 A-B-C-D

sbit key1 = P1^0;

sbit key2 = P1^1;

//ms延时函数

void Delay_xms(uint x)

{

uint i,j;

for(i=0;i  for(j=0;j<112;j++);

}

//顺时针转动

void MotorCW(void)

{

uchar i;

for(i=0;i<4;i++)

  {

   MotorData=phasecw[i];

   Delay_xms(4);//转速调节

  }

}

//逆时针转动

void MotorCCW(void)

{

uchar i;

for(i=0;i<4;i++)

  {

   MotorData=phaseccw[i];

   Delay_xms(4);//转速调节

  }

}

//停止转动

void MotorStop(void)

{

MotorData=0x00;

}

//主函数

void main(void)

{

uint i;

Delay_xms(50);//等待系统稳定

while(1)

{

        if(key2 == 1)

        {

                for(i=0;i<20;i++)

                {

                        MotorCW();   //顺时针转动

                } 

                            MotorStop();  //停止转动

            Delay_xms(500); 

                 

                

        }


  else if(key1 == 0)

  {

        for(i=0;i<20;i++)

        {

           MotorCCW();  //逆时针转动

        } 

                    MotorStop();  //停止转动

            Delay_xms(500);

          

  }

  else

  {

           MotorStop();  //停止转动

            Delay_xms(500);

  }

  // MotorStop();  //停止转动

//  Delay_xms(500);  

          

}


}


推荐阅读

史海拾趣

DATEL Inc公司的发展小趣事

进入21世纪,随着电子医疗的兴起,DATEL Inc.看到了新的发展机遇。公司开始研发适用于医疗领域的数据采集产品,如医用传感器、生命体征监测仪等。通过与医疗机构紧密合作,DATEL Inc.成功推出了一系列高性能、高可靠性的医疗数据采集产品,为医疗行业的数字化转型做出了重要贡献。

Apex Tool Group公司的发展小趣事

随着技术的不断进步,DATEL Inc.的数据采集产品逐渐在军事领域找到了用武之地。公司接到一项为军方开发高精度数据采集系统的订单。经过深入研究和反复测试,DATEL Inc.成功交付了一套满足军方严苛要求的数据采集系统,为军方提供了准确、可靠的数据支持。这一突破不仅为DATEL Inc.赢得了军方的高度认可,也进一步扩大了公司在军事领域的影响力。

E-T-A [E-T-A Circuit Breakers]公司的发展小趣事

进入1950年代,E-T-A公司开始关注固态远程电源控制器(SSRPCs)的研发。这一创新技术为电气系统提供了更加可靠和高效的电源管理方案。公司投入大量资源进行研发,成功推出了多款固态远程电源控制器产品,这些产品在市场上获得了广泛认可,并为公司带来了可观的收益。

Hantronix公司的发展小趣事

随着全球对环保问题的日益关注,HANBIT Electronics积极响应,将绿色生产纳入公司发展战略。2020年,公司投资建立了绿色生产线,采用环保材料和清洁能源进行生产,实现了生产过程中的节能减排。同时,公司还推出了多款环保型电子产品,满足消费者对绿色、低碳生活的需求。这一举措不仅提升了公司的品牌形象,也为其在可持续发展的道路上赢得了更多机遇。

ASSMANN WSW components公司的发展小趣事

ASSMANN WSW components公司深知品质是企业生存和发展的关键。因此,公司始终坚持品质至上的原则,从原材料采购到生产流程,再到产品出厂,每一个环节都严格把控。公司还建立了完善的质量检测体系,确保每一件产品都符合最高标准。这种对品质的执着追求使得ASSMANN WSW的产品在市场上赢得了良好的口碑。

DSP Group Inc公司的发展小趣事

随着技术的不断进步和市场需求的增长,DSP Group开始将业务扩展到半导体领域。公司推出了一系列高性能、低功耗的DSP芯片,广泛应用于移动通信、智能家居、汽车电子等领域。这一举措不仅进一步巩固了DSP Group在DSP领域的领先地位,还为公司带来了可观的收益和市场份额。

问答坊 | AI 解惑

输入电阻和输出电阻(纠结了好长时间,看完就懂了)

     关于输入电阻和输出电阻,纠结了好长时间,现在终于明白了,拿出来给大家看一下,呵呵      输入电阻是用来衡量放大器对信号源的影响的一个性能指标。输入电阻越大,表明放大器从信号源取的电流 ...…

查看全部问答>

evc4.0能开发wince5.0的程序么--急!

evc4.0能开发运行在wince5.0的程序么? 对于bin文件有什么要求么? 还是有其他别的注意事项啊? 原来运行在wince4.2上正常的程序,到wince5.0就不是有效的wince程序了是什么问题, 详细介绍最好啊!!!…

查看全部问答>

春节后,开始找工作

我在深圳,大家有没有好的推荐? 顶者有分噢!…

查看全部问答>

初学者问题

刚学单片机,在仿真时,出现connection to target lost是什么原因? 还有个问题,在eeworld上传图片时,提示出现不明错误,无法上传,本来有图片的话,能把问题描述的更清楚些。…

查看全部问答>

为什么用vs2005还是EVC4SP4编译刚建好的例子时总提示要连接ActiveSync呢?

为什么用vs2005还是EVC4SP4编译刚建好的例子时总提示要连接ActiveSync呢? 环境是WINCE5 ,ActiveSync装的版本是4.2中文版. 是不是调试的时候一定要插上硬件呢?不插上可以调试WINCE5平台下开发的程序吗? EVC4下的错误提示是: An application ...…

查看全部问答>

望请指点啊

我用的是四位八段共阳数码管 程序如下 显示有问题 module smg_wela(                                 clk,             &nbs ...…

查看全部问答>

求用最小系板和DS18B20来测量温度并在12864液晶上显示

 各位玩MSP430的大大们,求助啦~! 想用MSP430最小系统版和DS18B20来测量温度,且在12864LCD液晶上面显现出数据来! 可不可以帮忙写下代码啊! 急用啊! 下面的CX-1A系统版的原理图 小弟感激不尽! [ 本帖最后由 z9 ...…

查看全部问答>

处理一批2.4寸TFT屏,每人限购10PCS,有美女,有送!

2.4寸TFT屏,带触摸屏,ILI9320驱动!引脚定义如下图: 前天 12:21 上传下载附件 (146.79 KB) 屏的图片如下: 前天 12:21 上传下载附件 (73.57 KB) 前天 12:21 上传下载附件 (63.51 KB) 显示效果如下: ...…

查看全部问答>

说说解决EXP430G2与MSP430FR5xxx调试问题

这几天发现一件怪事,之前的EXP430G2不能下载程序了,找了一块板还是同样的问题。 ”Fatal error:failed to re-initalize Session aborte!\" 1.4打印的信息是: Sat Nov 03, 2012 19:20:19: Firmware version 30066536 Sat Nov 03, 2012 19:20 ...…

查看全部问答>

Proteus 如何利用matlab 2013A CCS5.2 实现仿真调试

楼主 求解1  Proteus  的.hex文件不能用只能用cof文件        求解2  Proteus  DSP 16位的存储单元  为啥存储器寄存器区都是 8位一个单元        求 ...…

查看全部问答>