欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

通過51單片機(jī)來控制直流電機(jī)

作者:佚名   來源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2009年07月22日   【字體:

原理很簡單了 直接上電路圖和源程序吧 

看不清楚圖的請點(diǎn)保存 或者點(diǎn)開連接地址看大圖
下面是針對上面電路圖的程序
(直接復(fù)制粘貼進(jìn)去運(yùn)行  還是那句話 程序別光是復(fù)制粘貼 要一句句看懂 看出核心的那一段代碼是怎么利用單片機(jī)加上一個(gè)芯片來控制電機(jī)的 為以后自己寫其他驅(qū)動(dòng)程序打基礎(chǔ) )

;----------------------------------------------
;名稱:51單片機(jī)來控制直流電機(jī)
;主頻 6M晶震  51系列單片機(jī)
;編譯環(huán)境:keil c51編譯通過
;www.raoushi.com單片機(jī)教程網(wǎng)原創(chuàng),可以任意修改和作為學(xué)習(xí)測試用途
;備注 :程序的關(guān)鍵部分是 T1定時(shí)中段程序里面  看PWM 是怎么控制電機(jī)轉(zhuǎn)動(dòng)的
;要改變電機(jī)的方向其實(shí)很簡單
;4個(gè)小車狀態(tài)子程序 你應(yīng)該能看懂吧
;另外當(dāng)然就是要去看下 驅(qū)動(dòng)電機(jī)的芯片 L293D 了 嘿嘿 就是什么H橋什么的
; 當(dāng)然電子基本攻扎實(shí)的 自己做個(gè)電路也是一樣的 不過這芯片也就幾塊錢
;  節(jié)約時(shí)間的話就買來電路搭起就OK 
;2009-5-15
;---------------------------------------------
;------------------------------------------------
;內(nèi)存分配定義
 

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


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

;系統(tǒng)初始化
;-----------------------------------

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

t0zd:
    

 


RETI
;---------------------------------
;小車狀態(tài)子程序
;---------------------------------
xcqj:                 ;小車前進(jìn)
        setb   zjfx     ;左機(jī)正轉(zhuǎn)(IN2)
        setb   yjfx     ;右機(jī)正轉(zhuǎn)(IN3)
        RET
xczz:                 ;小車左轉(zhuǎn)
        clr    zjfx     ;左機(jī)反轉(zhuǎn)(IN2)
        setb   yjfx     ;右機(jī)正轉(zhuǎn)(IN3)
        RET
xcyz:                 ;小車右轉(zhuǎn)
        setb   zjfx     ;左機(jī)正轉(zhuǎn)(IN2)
        clr    yjfx     ;右機(jī)反轉(zhuǎn)(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 則運(yùn)行T101  等于0 則 送低電平
        mov     ntw,#10
        clr     p3.5
        clr     p3.7
        ajmp    t1fh
t101:   mov     a,ntw          ;這里實(shí)現(xiàn)了軟件方式的電機(jī)調(diào)速功能  設(shè)置 PWM 高電平的脈沖寬度10個(gè)檔位  這里有一點(diǎn)需要注意 NTW開始是設(shè)置的10 自減1然后與
;預(yù)先設(shè)置的左右電機(jī)的預(yù)設(shè)置的檔位比較 這里是3 那么 就是減7次 也就是要等待7個(gè)T1中斷之后才會(huì)SETB P3.5 也就是說 這里的檔位 值越小 轉(zhuǎn)得越快
        cjne    a,ntwkz,t102    ;  不相等執(zhí)行102  相等則順序執(zhí)行 比較 左電機(jī)預(yù)設(shè)置 的 PWM數(shù)量 
        setb   p3.5
t102:   cjne    a,ntwky,t1fh  ; 比較 右電機(jī)預(yù)設(shè)置 的 PWM數(shù)量  其實(shí)這里我設(shè)置的都是一樣的檔 都是3 實(shí)際中可能有些情況需要調(diào)節(jié)2個(gè)輪子的轉(zhuǎn)速度 不過一般情況下
;設(shè)置一樣的 方便些 不過原理還是要看懂 知道怎么設(shè)置
        setb   p3.7    
t1fh:   pop     psw
        pop     acc
        reti


END
 

[ 原 創(chuàng) ] Suse| haozi
2009.5.15 1:24 ,51單片機(jī)教程網(wǎng)51hei.com


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

關(guān)閉窗口

相關(guān)文章