久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 10696|回復: 4
收起左側

[原創]怎樣通過51單片機來控制直流電動機

[復制鏈接]
ID:6481 發表于 2009-5-15 01:27 | 顯示全部樓層 |閱讀模式
 本來準備回復帖子的 想想還是開個樓 把圖和程序貼出來 
     原理很簡單了 直接上電路圖和源程序吧
        
2222.jpg
看不清楚圖的請點保存 或者點開連接地址看大圖
下面是針對上面電路圖的程序
(直接復制粘貼進去運行  還是那句話 程序別光是復制粘貼 要一句句看懂 看出核心的那一段代碼是怎么利用單片機加上一個芯片來控制電機的 為以后自己寫其他驅動程序打基礎 )

;----------------------------------------------
;名稱:51單片機來控制直流電動機
;主頻 6M晶震  51系列單片機
;編譯環境:keil c51編譯通過
;www.zg4o1577.cn 原創 可以任意修改和作為學習測試用途
;備注 :程序的關鍵部分是 T1定時中段程序里面  看PWM 是怎么控制電機轉動的
;要改變電機的方向其實很簡單
;4個小車狀態子程序 你應該能看懂吧
;另外當然就是要去看下 驅動電機的芯片 L293D 了 嘿嘿 就是什么H橋什么的
; 當然電子基本攻扎實的 自己做個電路也是一樣的 不過這芯片也就幾塊錢
;  節約時間的話就買來電路搭起就OK 
;2009-5-15
;---------------------------------------------
;------------------------------------------------
;內存分配定義

ntw     equ     3Eh     ;PWM中斷計數器(對T1中斷)
ntwkz   equ     3Dh     ;左電機PWM脈寬設置
ntwky   equ     3Ch     ;右電機PWM脈寬設置
ntwkzy  equ     31h     ;左右電機預置PWM脈寬
zjfx    bit     p2.0    ;左電機方向控制口,0為正轉,1為反轉
yjfx    bit     p2.1    ;右電機方向控制口,0為正轉,1為反轉
;-------------------------------------------------


          ORG    0000H
          aJMP   MAIN
          org    000bh
          lJMP   t0zd
          org    001bh
          ljmp   t1zd
          org    0030h
;----------------------------------------------
   MAIN :                       
          ACALL XCQJ
          ACALL CSH
          ; ;-----
          ; ;其他程序。比如數碼管 顯示 什么什么的
          ; ;----
          AJMP MAIN
;-------------------------------------             

;系統初始化
;-----------------------------------

CSH:                           
        MOV    TMOD, #11H    ;定時器0/1均設置為方式1,定時方式 計聳器按16位工作
        mov    TH1,#0feh     ;
        mov     TL1,#70h      ;PWM調速,定時0.8ms
        mov    ntw,#10       ;PWM對T1中斷計數,即可有10檔速度調節
        mov    ntwkzy,#03    ;左右電機預置PWM脈寬
        mov    ntwkz,#03     ;左電機調速脈寬,此值為高電平的時間
        mov    ntwky,#03     ;右電機調速脈寬
        SETB   ET0           ;開T0中斷
        setb   ET1           ;開T1中斷
        SETB   EA            ;系統開中斷
        SETB   TR0           ;啟動定時器0
        SETB   TR1           ;啟動定時器1
        RET

t0zd:
    


RETI
;---------------------------------
;小車狀態子程序
;---------------------------------
xcqj:                 ;小車前進
        setb   zjfx     ;左機正轉(IN2)
        setb   yjfx     ;右機正轉(IN3)
        RET
xczz:                 ;小車左轉
        clr    zjfx     ;左機反轉(IN2)
        setb   yjfx     ;右機正轉(IN3)
        RET
xcyz:                 ;小車右轉
        setb   zjfx     ;左機正轉(IN2)
        clr    yjfx     ;右機反轉(IN3)
        RET
xcht:                 ;小車后退
        clr    zjfx
        clr    yjfx
        ret


;---------------------------------
;T1中斷子程序
;---------------------------------

t1zd: 
        mov     th1,#0feh
        mov     tl1,#70h
        push    acc
        push    psw
        djnz    ntw,t101 ; NTW 不等于0 則運行T101  等于0 則 送低電平
        mov     ntw,#10
        clr     p3.5
        clr     p3.7
        ajmp    t1fh
t101:   mov     a,ntw          ;這里實現了軟件方式的電機調速功能  設置 PWM 高電平的脈沖寬度10個檔位  這里有一點需要注意 NTW開始是設置的10 自減1然后與
;預先設置的左右電機的預設置的檔位比較 這里是3 那么 就是減7次 也就是要等待7個T1中斷之后才會SETB P3.5 也就是說 這里的檔位 值越小 轉得越快
        cjne    a,ntwkz,t102    ;  不相等執行102  相等則順序執行 比較 左電機預設置 的 PWM數量 
        setb   p3.5
t102:   cjne    a,ntwky,t1fh  ; 比較 右電機預設置 的 PWM數量  其實這里我設置的都是一樣的檔 都是3 實際中可能有些情況需要調節2個輪子的轉速度 不過一般情況下
;設置一樣的 方便些 不過原理還是要看懂 知道怎么設置
        setb   p3.7    
t1fh:   pop     psw
        pop     acc
        reti


END

[ 原 創 ] Suse| haozi
2009.5.15 1:24
www.zg4o1577.cn 轉載請注明出處


回復

使用道具 舉報

ID:6481 發表于 2009-5-15 01:37 | 顯示全部樓層

突然想到要利用鍵盤控制電機調速的同志。。T1 的入口參數就是   ntwkz  ntwky
ntwkz   equ     3Dh     ;左電機PWM脈寬設置
ntwky   equ     3Ch     ;右電機PWM脈寬設置
T1每次中斷就從10檔開始自減 一直減到你設置的檔位 然后輸出PWM波形
  只需要改變 3DH 3CH 中的值 那么就可以實現調速功能了
另外想說下  平時也有很多事 因此不能盡快回復大家的帖子 請大家原諒下 
一些基礎的資料我會整理后發完整的上來給大家
不需要回復和登陸
希望大家理解和支持。


回復

使用道具 舉報

ID:13430 發表于 2009-5-26 11:09 | 顯示全部樓層
拿來試試~~
回復

使用道具 舉報

ID:13282 發表于 2009-5-27 23:42 | 顯示全部樓層
恩,有空搗鼓一下~
回復

使用道具 舉報

ID:12718 發表于 2009-5-29 18:06 | 顯示全部樓層
樓主的正反轉好像反了?
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美日韩精品一区 | 日韩精品视频在线观看一区二区三区 | 精品在线一区 | 国产一区二区三区四 | 亚洲综合日韩精品欧美综合区 | 天天看逼 | 日日夜夜精品 | 欧美一区二区三区在线 | 国产激情自拍视频 | 久久亚洲欧美日韩精品专区 | 五月婷婷在线视频 | 国产精品一区二区三级 | 欧美h视频| 国产精品久久久久不卡 | 一区二区久久电影 | 日韩精品久久久 | 久草.com | 亚洲国产成人一区二区 | 国产精品久久久久久久久久久久久久 | 久久婷婷av | 521av网站 | 日韩在线免费视频 | 亚洲欧洲色视频 | 久久精品国产一区 | 亚洲成a人片 | 麻豆av在线| 99久久久国产精品 | 欧美综合久久久 | 91性高湖久久久久久久久_久久99 | 精产国产伦理一二三区 | www.玖玖玖| 国产激情精品一区二区三区 | 亚洲男人天堂av | 日本黄色短片 | 黄在线免费观看 | 午夜在线视频一区二区三区 | 老牛嫩草一区二区三区av | 国内精品一区二区三区 | 日日日视频 | 在线91| 亚洲一区在线日韩在线深爱 |