免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1423 | 回复: 0
打印 上一主题 下一主题

[新手入门] 写了一个四相步进电机的测试程序(汇编) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-05-10 14:37 |只看该作者 |倒序浏览
最近做的工程需要用到步进电机,但由于量小,又没有厂家的选型手册,只得托人从深圳随便发了几个……
NMB (PM35L-048-HPH7)据我的测试,在单四排工作模式下,其步进角为7.5度。
驱动模块用的是ULN2003,只用了四个单元,接口用的是P3,当然程序里面把P1也定义了,在我的测试板上,P1是接LED指示单元的,只是为了调试方便而以。^_^
/*MPU=PHILIPS P89C58X2FN   OSC=6MH   MOTOR DRIVER=ULN2003*/
/*http://wangchunyu.cublog.cn COPY RIGHT @2006*/

h1 equ 42h             /*电机缓存*/
numl equ 43h           /*转数低位*/
numh equ 44h           /*转数高位*/
delayl equ 45h         /*延时低位*/
delayh equ 46h         /*延时高位*/
delayhh equ 47h        /*延时甚高位*/
org 00h
sjmp start
org 30h
start:
mov h1,#10001000b      /*电机缓存初始化*/
start1:
mov delayl,#020h
mov delayh,#020h
mov delayhh,#01h       /*设置延时(速度)*/
mov numl,#00ah
mov numh,#030h         /*设置转数*/
lcall runl             /*左转*/
mov delayl,#0ffh
mov delayh,#0ffh
MOV DELAYHH,#002H
lcall delay            /*延时*/
mov delayl,#020h
mov delayh,#020h      
mov delayhh,#01h       /*设置延时(速度)*/
mov numl,#00ah
mov numh,#030h         /*设置转数*/
lcall runr             /*右转*/
mov delayl,#0ffh
mov delayh,#0ffh
mov delayhh,#00Ah
lcall delay            /*延时*/
sjmp start1
runl:                  /*左转子程序*/
mov r4,numl
runl1:mov r5,numh      /*初始化转数*/
runl2:mov a,h1
mov p1,a
mov p3,a
rl a
mov h1,a
lcall delay
djnz r5,runl2
djnz r4,runl1
reti
runr:              /*右转子程序*/
mov r4,numl
runr1:mov r5,numh  /*初始化转数*/
runr2:mov a,h1
mov p1,a
mov p3,a
rr a
mov h1,a
lcall delay
djnz r5,runr2
djnz r4,runr1
reti
delay:             /*延时子程序*/
mov r1,delayl
l1:mov r2,delayh
l2:MOV R3,DELAYHH
l3:DJNZ R3,L3
DJNZ R2,L2
djnz r1,l1
RETI
end


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/18542/showart_110685.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP