IC代烧网


首页 -- IC代烧-- IC编程器-- 适配器座子-- 仿真器-- 相关知识解答 --关于我们
 
IC代烧网 >> 相关知识解答 >> 当前位置

单片机控制步进电机源程序

StartEnd bit 01H ;起动及停止标志
  MinSpd EQU 25 ;起始转动速度
  MaxSpd EQU 100 ;最高转动速度
  Speed DATA 23H ;流动速度计数
  DjCount DATA 24H ;控制电机输出的一个值,初始为11110 111
  Hidden EQU 10H ;消隐码
  Counter DATA 57H ;显示计数器
  DISPBUF DATA 58H ;显示缓冲区
  ORG 0000H
  AJMP MAIN
  ORG 000BH
  JMP DISP
  ORG 001BH
  JMP DJZD
  ORG 30H
  MAIN:
  MOV SP#5FH
  MOV P1#0FFH
  MOV A#Hidden
  MOV DispBufA
  MOV DispBuf+1A
  MOV DispBuf+2A
  MOV DjCount#11110111B
  MOV SPEED#MinSpd ;起始转动速度送入计数器
  CLR StartEnd ;停转状态
  MOV TMOD#00010001B ;
  MOV TH0#HIGH(65536-3000)
  MOV TL0#LOW(65536-3000)
  MOV TH1#0FFH;
  MOV TL1#0FFH
  SETB TR0
  SETB EA
  SETB ET0
  SETB ET1
  LOOP: ACALL KEY ;键盘程序
  JNB F0m_NEXT1 ;无键继续
  ACALL KEYPROC ;否则调用键盘处理程序
  m_NEXT1:
  MOV ASpeed
  MOV B#10
  DIV AB
  MOV DispBuf+5B ;最低位
  MOV B#10
  DIV AB
  MOV DispBuf+4B
  MOV DispBuf+3A
  JB StartEndm_Next2
  CLR TR1 ;关闭电机
  JMP LOOP
  ORL P1#11110000B
  m_Next2:
  SETB TR1 ;启动电机
  AJMP LOOP ;主程序结束
  ;---------------------------------------
  D10ms:
  ……
  ;---------延时程序键盘处理中调用
  KEYPROC:
  MOV AB ;获取键值
  JB ACC.2StartStop ;分析键的代码某位被按下则该位为1
  JB ACC.3KeySty
  JB ACC.4UpSpd
  JB ACC.5DowSpd
  AJMP KEY_RET
  StartStop:
  SETB StartEnd ;启动
  AJMP KEY_RET
  KeySty:
  CLR StartEnd; ;停止
  AJMP KEY_RET
  UpSpd:
  INC SPEED;
  MOV ASPEED
  CJNE A#MaxSpdK1 ;到了最多的次数?
  DEC SPEED ;是则减去1,保证下次仍为该值
  K1:
  AJMP KEY_RET
  DowSpd:
  DEC SPEED
  MOV ASPEED
  CJNE A#MAXSPDKEY_RET ;不等(未到最大值),返回
  MOV SPEED#MinSpd;
  KEY_RET:
  RET
  KEY:
  ……获取键值的程序
  RET
  DjZd: ;定时器T1用于电机转速控制
  PUSH ACC
  PUSH PSW
  MOV ASpeed
  SUBB A#MinSpd ;减基准数
  MOV DPTR#DjH
  MOVC AA+DPTR
  MOV TH1A
  MOV ASpeed
  SUBB A#MinSpd
  MOV DPTR#DjL
  MOVC AA+DPTR
  MOV TL1A
  MOV ADjCount
  CPL A
  ORL P1A
  MOV ADjCount
  JNB ACC.7d_Next1
  JMP d_Next2
  d_Next1:
  MOV DjCount#11110111B
  d_Next2:
  MOV ADjCount
  RL A
  MOV DjCountA ;回存
  ANL P1A
  POP PSW
  POP ACC
  RETI
  DjH: DB 7682899510010611011511912312……
  DjL: DB 02368673212021496163165
  ……
  DISP: ;显示程序
  POP PSW
  POP ACC
  ……
  RETI
  BitTab: DB 7Fh0BFH0DFH0EFH0F7H0FBH
  DISPTAB:DB 0C0H0F9H0A4H0B0H99H92H82H0F8H80H90H88H83H0C6H0A1H86H8EH0FFH
返回顶部


2013-2015 IC代烧网 All Rights Reserved.
如有任何问题和建议请联系:498187676@qq.com

深圳市星光芯电子有限公司 版权所有
深圳市龙岗区南湾街道平吉大道1号建昇大厦B栋1618(李朗软件园对面)
联系人:周工  手机:13713820066


站点地图

粤ICP备12084176号