<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          遙控電機程序

          作者: 時間:2011-02-27 來源:網(wǎng)絡(luò) 收藏
          ;********************************************************************************
          ;*步進電機控制程序p3.2正轉(zhuǎn),p3.3反轉(zhuǎn),p3.4停止 步進電機接p1.0p1.1p1.2p1.3 *
          ;********************************************************************************
          ;* 日期: 2007-3-25 *
          ;* 版本: 3.0 *
          ;* 作者: 深圳學(xué)林電子有限公司 專業(yè)8051教程站 *
          ;* 郵箱: sxj1974@163.com *
          ;* 網(wǎng)站: http://www.51c51.com http://www.8951.com 更多例程請登陸網(wǎng)站 *
          ;********************************************************************************
          ;* 硬件:此程序在本公司xlisp系列實驗儀運行通過 *
          ;********************************************************************************
          ;* 【版權(quán)】 Copyright(C)深圳學(xué)林電子有限公司 www.51c51.com All Rights Reserved *
          ;* 【聲明】 此程序僅用于學(xué)習(xí)與參考,引用請注明版權(quán)和作者信息! *
          ;********************************************************************************

          hex格式文件下載(點右鍵,目標另存為hex即可直接燒寫)


          org 00h
          stop: orl p1,#0ffh ; 步進電機停止
          loop: jnb p3.2,for2 ; 如果p3.2按下正轉(zhuǎn)
          jnb p3.3,rev2 ; 如果p3.3按下反轉(zhuǎn)
          jnb p3.4,stop1 ; 如果p3.4按下停止
          jmp loop ;反復(fù)監(jiān)測鍵盤
          for: mov r0,#00h ;正轉(zhuǎn)到tab取碼指針初值
          for1: mov a,r0 ;取碼
          mov dptr,#table ;
          movc a,@a+dptr
          jz for ;是否到了結(jié)束碼00h
          cpl a ;把acc反向
          mov p1,a ;輸出到p1開始正轉(zhuǎn)
          jnb p3.4,stop1 ;如果p3.4按下停止
          jnb p3.3,rev2 ;如果p3.3按下反轉(zhuǎn)
          call delay ;轉(zhuǎn)動的速度
          inc r0 ;取下一個碼
          jmp for1 ;繼續(xù)正轉(zhuǎn)
          rev: mov r0,#05h ;反轉(zhuǎn)到tab取碼指針初值
          rev1: mov a,r0
          mov dptr,#table ;取碼
          movc a,@a+table
          jz rev ;是否到了結(jié)束碼00h
          cpl a ;把acc反向
          mov p1,a ;輸出到p1開始反轉(zhuǎn)
          jnb p3.4,stop1 ;如果p3.4按下停止
          jnb p3.3,rev2 ;如果p3.3按下反轉(zhuǎn)
          call delay ;轉(zhuǎn)動的速度
          inc r0 ;取下一個碼
          jmp rev1 ;繼續(xù)反轉(zhuǎn)
          stop1: call delay ;按p3.4的消除抖動
          jnb p3.4,$ ;p3.4放開否?
          call delay ;放開消除抖動
          jmp stop

          for2: call delay ;按p3.2的消除抖動
          jnb p3.2,$ ;p3.2放開否?
          call delay ;放開消除抖動
          jmp for

          rev2: call delay ;按p3.3的消除抖動
          jnb p3.3,$ ; p3.3放開否?
          call delay ;放開消除抖動
          jmp rev

          delay: mov r1,#40 ;步進電機的轉(zhuǎn)速20ms
          d1:mov r2,#248
          djnz r2,$
          djnz r1,d1
          ret
          table:
          db 03h,09h,0ch,06h ;正轉(zhuǎn)表
          db 00 ;正轉(zhuǎn)結(jié)束
          db 03h,06h,0ch,09h ;反轉(zhuǎn)
          db 00 ;反轉(zhuǎn)結(jié)束
          end



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();