历史上的今天
返回首页

历史上的今天

今天是:2025年01月06日(星期一)

正在发生

2018年01月06日 | 89C2051驱动步进电机的电路和源码

2018-01-06 来源:eefocus

程序

stepper.c 
stepper.hex

/* 
* STEPPER.C 
* sweePINg stepper's rotor cw and cww 400 steps 
* Copyright (c) 1999 by W.SirIChote 
*/

#include c:\mc51\8051io.h /* include i/o header file */ 
#include c:\mc51\8051reg.h

register unsigned char j,flag1,temp; 
register unsigned int cw_n,CCw_n;

unsigned char step[8]={0x80,0xc0,0x40,0x60,0x20,0x30,0x10,0x90} 
#define n 400

/* flag1 mask byte 
0x01 run cw() 
0x02 run ccw() 
*/

main()


flag1=0; 
serinit(9600); 
dISAble(); /* no need timer interrupt */ 
cw_n = n; /* initial step number for cw */ 
flag1 |=0x01; /* initial enable cw() */

while(1){ 

tick_wait(); /* wait for 10ms elapsed */

energize(); /* round-robin execution the following tasks every 10ms */ 
cw(); 
ccw(); 

}

}

cw(){ 
if((flag1&0x01)!=0) 

cw_n--; /* decrement cw step number */ 
if (cw_n !=0) 
j++; /* if not zero increment index j */ 
else 
{flag1&=~0x01; /* disable cw() execution */ 
ccw_n = n; /* reload step number to ccw counter */ 
flag1 |=0x02; /* enable cww() execution */ 

}

}

ccw(){ 
if((flag1&0x02)!=0) 

ccw_n--; /* decremnent ccw step number */ 
if (ccw_n !=0) 
j--; /* if not zero decrement index j */ 
else 
{flag1&=~0x02; /* disable ccw() execution */ 
cw_n = n; /* reload step number to cw counter */ 
flag1 |=0x01; /* enable cw() execution */ 

}

}

tick_wait(){ /* cputick was replaced by simpler ASM code 10ms wait */

asm" JNB TCON.5,*"; /* wait for TF0 set */ 
asm" CLR TCON.5"; /* clear TF0 for further set */ 
asm" ORL TH0,#$DC"; /* reload TH0 with $DC, TL0 = 0 */ 
}

energize(){

P1 = step[(j&0x07)]; /* only step 0-7 needed */ 
}

电路图


推荐阅读

史海拾趣

FASTRAX公司的发展小趣事

1999年,FASTRAX在芬兰赫尔辛基成立,专注于为全球设备生产商和设计商提供高性能的GPS接收模块。公司凭借对GNSS技术的深入理解,迅速在市场中崭露头角。其首创的带天线GPS接收模块以其高效、稳定的性能,赢得了客户的广泛赞誉。

兵字(BingZi)公司的发展小趣事

随着公司规模的不断扩大和产品线的日益丰富,兵字公司开始注重品牌建设和市场拓展。公司注册了“BingZi兵字”商标,并通过一系列的市场推广活动,提升了品牌的知名度和美誉度。同时,兵字公司还积极开拓国内外市场,与多家知名企业建立了长期稳定的合作关系,实现了业务的快速增长。

Control Sciences Inc公司的发展小趣事

Control Sciences Inc深知人才是企业发展的核心。因此,公司一直注重人才培养和引进。公司不仅设立了专门的研发机构,吸引了大批优秀的科研人才,还定期组织员工培训和交流活动,提高团队的整体素质。这些措施使得Control Sciences Inc的团队越来越强大,为公司的发展提供了有力的人才保障。

Emerson公司的发展小趣事

进入21世纪后,Emerson继续坚持创新战略,通过不断研发新技术和产品,保持其在电气行业的领先地位。公司注重环保和可持续发展,推出了一系列高效节能的电气产品和解决方案。同时,Emerson还积极拥抱数字化和智能化趋势,通过引入人工智能、物联网等先进技术,推动公司业务的数字化转型。此外,Emerson还积极参与全球竞争和合作,通过跨国并购和战略合作,不断拓展其全球市场份额和影响力。

Centellax Inc公司的发展小趣事

Centellax Inc公司自成立以来,一直致力于电子通信技术的研发与创新。在成立初期,公司凭借其独特的测试测量技术,在光通信行业中崭露头角。随着技术的不断迭代和市场的扩大,Centellax逐渐积累了大量的专利和知识产权,为公司的长期发展奠定了坚实的基础。

在技术创新方面,Centellax不断投入研发资源,推出了一系列高性能的测试测量设备。这些设备不仅满足了客户对高速器件深入分析的需求,还提升了公司在行业内的竞争力。同时,Centellax还积极与高校、研究机构等合作,共同推动电子通信技术的进步。

Chipcera Technology Co Ltd公司的发展小趣事

人才是企业发展的核心动力。为了保持技术领先地位和市场竞争力,Chipcera高度重视人才引进和团队建设。公司积极招聘具有丰富经验和专业技能的人才,并为员工提供良好的工作环境和发展空间。同时,公司还定期组织各种培训和学习活动,提升员工的专业素养和创新能力。这些措施使得Chipcera的团队更加团结、高效,为公司的持续发展提供了有力保障。

问答坊 | AI 解惑

常用芯片总结

1.音频pcm编码DA转换芯片cirrus logic的cs4344,cs4334   4334是老封装,据说已经停产,4344封装比较小,非常好用。PCF8574T还有菲利谱的。   8211等。 2.音频放大芯片4558,LM833,5532,此二芯片都是双运放。 3.244和245,由于244是单向 ...…

查看全部问答>

片上系统(SOC)设计与EDA

摘要:利用EDA工具和硬件描述语言(HDL),根据产品的特定要求设计性能价格比高的片上系统,是目前国际上广泛使用的方法。与传统的设计方法不同,在设计开始阶段并不一定需要具体的单片微控制器(MCU)和开发系统(仿真器)以及带有外围电路的线路板 ...…

查看全部问答>

调查:您所知道的国内的做汽车电子的公司?进来看看

北京恒润科技,做车身网络,AFS等(提供+dspace、CAN开发工具,mathworks公司国内的代理) 山东济南捷特,做ABS等产品 广东那边有不少汽车音响、仪表产品的供应商,但因为和真正意义上的汽车电子产品(动力,安全)还有些差别,没有去罗列。 ...…

查看全部问答>

请教单片机控制多路开关HI508A的问题

HI508A应该很多人都用过,其控制逻辑如下: A2        A1        A0        EN        被选通道 0        0        0& ...…

查看全部问答>

传感器的问题

替别人询问一个问题: 向你请教个问题,我想利用霍尔传感器结合单片机测旋转轮的速度,我只需要单片机在超出设定转速时输出一个电信号就行,我再利用这个信号做下一步的控制,能帮我给个方案吗?我只是爱好 本身不太懂,想看能不能实现,望百忙 ...…

查看全部问答>

arm7 变量值在cpu做状态切换时 更改了 请教高手!!!原因是什么?

arm7  变量值在cpu做状态切换时  更改了  请教高手!!!原因是什么?…

查看全部问答>

前辈们请给点指点!谢谢

我现在只是一个大一新生,对机器人特别感兴趣,但对这个领域了解甚少.想知道作为初学者应该从哪些基础方面着手.对了我学的专业是信息安全,也不知道有哪些专业课对此爱好有用. …

查看全部问答>

基于Kinetis的简单webserver(四)

网络控制界面 网络的控制没有问题了,下一步开始把SLCD的其它功能函数移植进去,字符的显示,滚动效果等等。 …

查看全部问答>