找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

[光电电路] uln2803步进电机的控制原理电路图和源程序

[复制链接]
admin 发表于 2013-1-17 06:57:36 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
uln2803步进电机的控制原理电路图和源程序 步进电机的控制原理和程序
  选自北航出版 耿德根主编《高速嵌入式单片机原理与应用》第七章7.4.2
  源程序:SLAVR742.ASM
  自从六十年代初期步进电机面世以来,在过去几年它的重要性大大提高了。它用来驱动时钟和其他采用指针的仪器,打印机、绘图仪、磁盘光盘驱动器、各种自动控制阀、各种工具,还有机器人等的机械装置。关于马进电机工作原理请参考有关资料。
   下面用单极1-2相激磁方法步进电机做实验,即1极、2极、1极、2极、....极以次循环,如何用单极二相激该方法控制步进电机,由读者或用户自行
   
  编制程序实验。
  ;实验选用4.5V步进电机,用5V即可,实验时节省一组步进电机驱动;
  ;型号:MA82135; 相数:2相; 电压:4.5V; 电流/相:0.12A; 电阻欧姆:34Ω/相; 重量:30g
  ;*********************************************
  ;* 步进电机控制程序(单极1-2相) *
  ;* *
  ;*SLAVR742.ASM *
  ;*use ULN2803 ;使用PC0-PC3 驱动步进电机 *
  ;*use 11-17new bord *
  ;*********************************************
  .include"8515def.inc"
  .def temp =r16
  .def dt =r19
  .def np =r17
  .def step =r18
  .def TStep =r20
  .def cnt =r21
  .equ turntab=0x0200
  .org $0000
  rjmp RESET
  .cseg
  .org 0x010
  RESET:
  ldi temp,low(RAMEND) ;设堆栈
  out SPL,temp
  ldi temp,high(RAMEND)
  out SPL+1,temp
  ser TEMP ;C口设置为输出
  OUT ddrc,TEMP
  ldi zl,low(turntab*2) ;步进电机旋转资料指针
  ldi zh,high(turntab*2)
  ldi np,4
  ldi temp,$44
  out portc,temp ;初始化
  ldi TStep,$25
  rcall delay
  ldi cnt,10
  clt
  rep: ldi step,192
  ldi TStep,1 ;1--255
  rcall turn
  dec cnt
  brne rep
  loop: nop
  rjmp loop
  ;*************************************************************
  ; t=1 uncircle turn ;T=1逆时针转 *
  ; t=0 circle turn ;T=0顺时针转 *
  ; 96 step a turn *
  ; TStep is time of a step ; *
  ;*************************************************************
  turn: brts uncircle ;判转向
  inc np ;正转
  cpi np,8
  brne next
  clr np
  next: push zl
  add zl,np
  lpm
  out portc,r0
  pop zl
  rcall delay
  dec step
  brne turn
  ret
  uncircle: ;反转
  dec np
  cpi np,$ff
  brne next
  ldi np,$07
  rjmp next
  delay: push TStep ;延时子程序
  del1: ldi dt,70
  del2: push dt
  del3: dec dt
  brne del3
  pop dt
  dec dt
  brne del2
  dec TStep
  brne del1
  pop TStep
  ret
  .org turntab
  ; 0 1 2 3 4 5 6 7 ;步进电机旋转资料表
  .db 0x11,0x99,0x88,0xcc,0x44,0x66,0x22,0x33
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-11-23 11:29 , Processed in 0.071045 second(s), 11 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表