找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 7674|回复: 2
收起左侧

51单片机步进电机正反转与暂停控制汇编程序

[复制链接]
ID:70976 发表于 2014-12-27 18:14 | 显示全部楼层 |阅读模式
  1. ;==================================================================
  2. ;程序编写人:兰建文
  3. ;编写地点:51hei培训机构
  4. ;时间:6月8日下午星期一
  5. ;功能:本程利用节拍法,三个按键,一个实现正转到反转的切换,
  6. ;一个实现反转到正转的切换,一个实现步进电机哦暂停。
  7. ;===============================================================
  8. ;=========================开始初始化============================
  9.            SHUCHU   EQU   P2            ;定义P2口为输出口
  10.      ZANT     BIT   20H.0      ;设置暂停标志位         
  11.      ZHENGZ   BIT   20H.1      ;设置正转标志位
  12.      FANZ     BIT   20H.2      ;设置反转标志位
  13.      BIT0   BIT   20H.3      ;设置中断定时器0标志位
  14.      MODE     EQU   01H
  15. ;========================程序开始==============================
  16.                     ORG   00H           ;程序开始
  17.                     LJMP  START         ;跳到START
  18.      ORG   0BH      ;中断定时器0入口地址
  19.      JMP   T0_1      ;跳到定时器0服务程序
  20.                     ORG   0030H         ;入口地址
  21. ;=========================主程序===============================        
  22.               START:MOV   SP,#60H  ;移开指针
  23.            MOV   A,#0EEH      
  24.      CALL  INIT   ;开中断
  25.    
  26.         CLR   ZANT        ;暂停按键标志位清0
  27.      CLR   ZHENGZ  ;正转按键标志位清0
  28.      CLR   FANZ   ;反转按键标志位清0
  29.      SETB  BIT0   ;中断标志位置1
  30.       
  31.       MAIN:JNB   BIT0,MAIN     ;等待中断
  32.            CLR   BIT0      ;中断标志位清0
  33.         JB    ZANT,ZANCHULI ;判断暂停标志位是否为1,为1则暂停
  34.         JB    P1.0,L1
  35.      SETB  ZANT
  36.      CLR   ZHENGZ
  37.      CLR   FANZ
  38.      JMP   MAIN
  39.      L1:JB    ZHENGZ,ZHENGCHULI  ;判断正转标志位是否为1,为1则正转
  40.         JB    P1.1,L2
  41.      SETB  ZHENGZ
  42.      CLR   ZANT
  43.      CLR   FANZ
  44.      JMP   MAIN
  45.      L2:JB    FANZ,FANCHULI   ;判断反转标志位是否为1,为1则反转
  46.         JB    P1.2,MAIN
  47.      SETB  FANZ
  48.      CLR   ZANT
  49.      CLR   ZHENGZ
  50.      JMP   MAIN
  51.      ZANCHULI:      ;暂停处理
  52.         MOV   SHUCHU,#0FFH
  53.      JB    P1.1,L3
  54.      CLR   ZANT
  55.      SETB  ZHENGZ
  56.      CLR   FANZ
  57.      L3:JB    P1.2,MAIN
  58.         SETB  FANZ
  59.      CLR   ZANT
  60.      CLR   ZHENGZ
  61.               JMP   MAIN
  62.    ZHENGCHULI:     ;正转处理
  63.               RR    A
  64.      MOV   SHUCHU,A
  65.      JB    P1.2,MAIN
  66.      CLR   ZANT
  67.      CLR   ZHENGZ
  68.      SETB  FANZ
  69.               JMP   MAIN
  70.       FANCHULI:     ;反转处理
  71.               RL    A
  72.      MOV   SHUCHU,A
  73.      JMP   MAIN
  74. ;====================定时中断0服务子程序========================
  75. ;输入:无
  76. ;输出:无
  77. ;实现的功能:实现定时20MS,影响标志位BIT0.
  78. ;===============================================================
  79.       T0_1:MOV    TL0,#0E0H     ;设置定时初值
  80.      MOV    TH0,#0B1H
  81.      SETB   BIT0       ;定时标志位清0
  82.      RETI
  83. ;========================中断设置子程序=========================
  84. ;输入:无
  85. ;输出:无
  86. ;实现的功能:初始化设置定时器,设置初值
  87. ;===============================================================
  88.                INIT:MOV    TMOD,#MODE  ;定时器0工作方式1
  89.             MOV    TL0,#0E0H
  90.      MOV    TH0,#0B1H
  91.      MOV    IE,#82H   ;开定时器中断0
  92.      SETB   TR0    ;开定时器0
  93.      RET
  94. ;=======================程序结束================================
  95.         END
复制代码


评分

参与人数 1黑币 +8 收起 理由
aifengdian + 8 赞一个!

查看全部评分

回复

使用道具 举报

ID:729389 发表于 2020-5-20 16:36 | 显示全部楼层
请问有电路图吗
回复

使用道具 举报

ID:729389 发表于 2020-5-20 16:36 | 显示全部楼层
请问有proteus仿真图吗
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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