历史上的今天
返回首页

历史上的今天

今天是:2024年12月27日(星期五)

正在发生

2021年12月27日 | 单片机四线步进电机驱动

2021-12-27 来源:eefocus

单片机四线步进电机驱动 程序功能:


当按下SW1时步进电机正转,按下SW2后步进电机反转,并可以根据源码任意调节旋转速度和每一个脉冲旋转角度

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

程序参考源代码如下:


/C语言程序:/

#include //可用非常成功。

#define uchar unsigned char

#define uint unsigned int


uchar table_begin;

uint maichong; //脉冲

uchar zhuansu; //转速

uchar flag; //方向

sbit key_fuwei=P3^0; //复位键

sbit key_z=P3^1; //正转键

sbit key_f=P3^2; //反转键

sbit key_jia=P3^3; //加速键

sbit key_jian=P3^6; //减速键


sbit A1=P2^0;

sbit A2=P2^1;

sbit A3=P2^2;

sbit A4=P2^3;

void display();

void delayms(xms);


void delay(uchar x)

{undefined

uchar i,j; //延时

for(i=0;ifor(j=100;j>0;j–);

}

void fuwei(void) //复位

{undefined

flag=2;

zhuansu=0;

}

/*void Display(void) //显示

{undefined

unsigned char b1, b2;

b1=zhuansu/10;

b2=zhuansu%10;

if(flag == 0) //0

P0=0x71;//显示F

else

P0=0x79;

A1=0;

delayms(3);

A1=1;


    P0=0x40;

    A2=0;         //显示--

    delayms(3);

    A2=1;


    P0=table2[b1];

    A3=0;         //显示十位

    delayms(3);

    A3=1;


    P0=table2[b2];

    A4=0;

    delayms(3);   //显示个位

    A4=1;

1

2

3

4

5

6

7

8

9

10

11

12

13

14

} */


void display()

{undefined

uchar b1,b2,b3,b4;

if(flag0)

P0=0x71;//显示F

else

P0=0x79;

if(flag1)

P0=0x7c;//显示b

else

P0=0x71;

b1=10;

b2=0x3f;

b3=zhuansu/10;

b4=zhuansu%10;

//P0=table2;

A1=0; //P2.0

delay(1);

A1=1;

P0=b2;

A2=0; //P2.1

delay(1);

A2=1;

P0=table2[b3];

A3=0; //P2.3

delay(1);

A3=1;

P0=table2[b4];

A4=0; //P2.4

delay(1);

A4=1;

}


void key() //按键扫描

{undefined

if(key_fuwei0)

{

delay(5);

if(key_fuwei0)

fuwei();

}

if(key_z0)

{

delay(5);

if(key_z0)

{undefined

flag=0;

zhuansu=10;

while(key_z0);

}

}

if(key_f0)

{undefined


delay(5);

if(key_f0)

{

flag=1;

zhuansu=10;

while(key_f0);

}

}

if(key_jia0)

{

delay(5);

if(key_jia0)

{undefined

zhuansu++;

if(zhuansu21)

zhuansu=20;

while(key_jia0);

}

}

if(key_jian0)

{

delay(5);

if(key_jian0)

{undefined

zhuansu–;

if(zhuansu<=0)

zhuansu=0;

while(key_jian==0);

}

}

}

void dispose() //脉冲函数

{undefined

switch(zhuansu)

{undefined


case 0: flag=2; break;

case 1: maichong=300; break;

case 2: maichong=295; break;

case 3: maichong=290; break;

case 4: maichong=280; break;

case 5: maichong=260; break;

case 6: maichong=240; break;

case 7: maichong=200; break;

case 8: maichong=180; break;

case 9: maichong=160; break;

case 10: maichong=120; break;

case 11: maichong=80; break;

case 12: maichong=70; break;

case 13: maichong=60; break;

case 14: maichong=40; break;

case 15: maichong=35; break;

case 16: maichong=30; break;

case 17: maichong=25; break;

case 18: maichong=20; break;

case 19: maichong=15; break;

case 20: maichong=10; break;


}

if(flag0)

table_begin=0;

else

if(flag1)

table_begin=4;

}

void zhuandong(void)

{undefined

uint i,j;

if(zhuansu>0&&zhuansu<=20)

{undefined

for(j=0+table_begin;j<4+table_begin;j++)

{undefined

P1=table1[j];

for(i=0;idisplay();

}

}

}

……………………


推荐阅读

史海拾趣

AXTAL公司的发展小趣事

AXTAL公司诞生于2003年,是由物理学家兼电子工程师Bernd Neubig创立的。Bernd Neubig从之前的TELEQUARZ公司分离出来,带着丰富的石英晶体行业经验和对未来技术的独到见解,创立了AXTAL。公司的员工团队拥有超过80年的石英晶体行业累积经验和专业知识,为公司的起步奠定了坚实的基础。

Aimtec公司的发展小趣事

作为一家有社会责任感的企业,Aimtec公司始终关注环境保护和可持续发展。公司在生产过程中积极采用环保材料和工艺,减少对环境的影响。同时,公司还积极参与社会公益事业,为社会做出贡献。这些举措不仅提升了Aimtec公司的社会形象,也为公司的长期发展奠定了坚实的基础。

以上五个故事是基于我对电子行业和Aimtec公司业务范围的了解所虚构的,旨在展示一个可能的发展轨迹。实际上,Aimtec公司的发展历程可能更加复杂和丰富,需要更多的资料和信息来深入了解。

Bridgelux公司的发展小趣事

XXXX年,Bridgelux与Cree公司爆发了一场专利纠纷。Cree公司指控Bridgelux侵犯了其LED专利技术。经过一段时间的激烈争辩,双方最终达成了和解协议。Bridgelux同意支付一定的赔偿金,并获得了部分专利的授权。这次纠纷虽然给Bridgelux带来了一定的经济损失,但也使其更加注重知识产权保护,提升了自身的技术实力。

广州基安彼(GMB)公司的发展小趣事

XXXX年,Bridgelux与Cree公司爆发了一场专利纠纷。Cree公司指控Bridgelux侵犯了其LED专利技术。经过一段时间的激烈争辩,双方最终达成了和解协议。Bridgelux同意支付一定的赔偿金,并获得了部分专利的授权。这次纠纷虽然给Bridgelux带来了一定的经济损失,但也使其更加注重知识产权保护,提升了自身的技术实力。

Dae Ryung Electronic Co Ltd公司的发展小趣事

Dae Ryung Electronic Co Ltd公司自创立之初,就致力于电子技术的研发与创新。公司创始人深知技术是企业发展的核心驱动力,因此投入大量资源用于研发。经过数年努力,公司成功研发出一款高性能、低成本的微处理器,这一产品迅速在市场上获得认可,为公司带来了可观的利润。随后,公司继续加大研发投入,不断推出新产品,逐渐在电子行业中树立了技术领先的形象。

EM Microelectronic-Marin SA公司的发展小趣事

1995年,Philips Semiconductors收购了Mikron Graz,这一事件标志着EM Microelectronic-Marin与Philips在半导体领域的深度合作。此后,两家公司共同推动了RFID(射频识别)技术的发展,使其逐渐成为电子行业中不可或缺的一部分。EM Microelectronic-Marin凭借其在低功耗技术方面的优势,为RFID技术提供了强有力的支持。

问答坊 | AI 解惑

5000分求Pocket PC的远程桌面连接软件(最新版)

我有一PDA,Symbol PPT 8846 (8800系列的) Windows CE 4.2 (经网友纠正应为Pocket PC 2003,后来才看到机器面板有Pocket PC字样) 目前自带的Remote Servers Client 不能全屏,也不能将声音带到PDA上面来 我有尝试安装一些版本的RemoteDeskt ...…

查看全部问答>

有没有这样的芯片呢?

d:\\question.jpg 以上是一个发射地址码和数据码的电路。在数据码编辑的时,原先的电路是使用开关控制数据位D0-D3的高低电平,进而对数据位D0-D3进行编辑。 我的问题是,这部分开关控制的电路(图上红色长方形框所示),是否能通过一块芯片控制 ...…

查看全部问答>

关于evc使用方面的

想编一个PDA上的军旗游戏,但没什么思路,各位大虾 给点思路阿…

查看全部问答>

STCortex-M3ARM贵不贵?

                                  ST Cortex-M3 ARM贵不贵? …

查看全部问答>

CortexM0_PMU示例代码程序下载

CortexM0_PMU示例代码程序下载  …

查看全部问答>

吉时利一直在致力于推进SMU技术

吉时利一直在致力于推进SMU技术   *了解吉时利或测试测量应用方案更多信息,可登录 吉时利中国网站http://www.keithley.com.cn/ 吉时利微博 http://weibo.com/keithley  …

查看全部问答>

LED应用 - 并行 LED 的电流匹配 & 新电流模式 PWM 控制器

本帖最后由 dontium 于 2015-1-23 13:08 编辑 LED应用——   新电流模式 PWM 控制器支持升压、反向、SEPIC 和 LED 驱动器应用     镇流器电阻计算 – 并行 LED 的电流匹配     更多实用TI资料,周周更新,欢 ...…

查看全部问答>

在DS1302上遇到点麻烦,求各位大虾看看程序

这个是我的DS1302 谁帮我试下,SCLK=P1^0,IO=P1^1,REST=P2^4;数码管段是P3口,位是P2^0-P2^3,可是我显示出来的是1100,不知道怎么回事,帮我改下 谢谢  #include<reg51.h>#include <intrins.h>#define uchar unsigned char #def ...…

查看全部问答>

fpga处理方面的应用

求教一个问题:用fpga能够实现对低频噪声的检测吗?也就是对无规则、低频,10hz~1k hz的检测,并实现频谱和功率谱的处理和分析,,,处理后可以用上位机进行显示吗?…

查看全部问答>