亚洲欧美日韩国产一区二区精品_亚洲国产精品一区二区动图_级婬片A片手机免费播放_亚洲国产成人Av毛片大全,男女爱爱好爽好疼视频免费,中文日韩AV在线,无码视频免费,欧美在线观看成人高清视频,在线播放免费人成毛片,成 人 网 站 在 线 视 频A片 ,亚洲AV成人精品一区二区三区

機械社區(qū)

 找回密碼
 注冊會員

QQ登錄

只需一步,,快速開始

搜索
查看: 2191|回復(fù): 1
打印 上一主題 下一主題

通用伺服電機的工作原理

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
1#
發(fā)表于 2010-8-6 09:47:47 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式

.include "8515def.inc"                ; 器件配制文件, 本實驗使用AT90S8515
.def dt = r22                                ; 定義dt等于r22
.org        $000                                ; 程序首地址
        rjmp        reset4                        ; 跳過中斷區(qū)
        
.org        $010                                ; 主程序首地址,注意,不同器件的中斷地址范圍是不同的!
reset4:
        ldi r17,$02                ;置堆棧指針,AT90S8515的RAM最大地址為$025F, 設(shè)堆棧底為$025F
        ldi r16,$5f
        out sph,r17                ; 高位堆棧sph=$02
        out spl,r16                ; 低位堆棧spl=$5f

shiyan4:
        ldi r17,$ff
        out ddrb,r17        ; pb口方向寄存器設(shè)置為輸出,1為輸出
        out portb,r17        ; 設(shè)pb口內(nèi)部上拉
        out ddrd,r17        ; pd口方向寄存器設(shè)置為輸出,1為輸出
        out portd,r17   ; 設(shè)pd口內(nèi)部上拉
        
start3:                                ; 設(shè)置舵機擺動周期常數(shù), 即調(diào)節(jié)節(jié)拍常數(shù)
        LDI R23,$11        
        LDI R25,$11
                    ;R23=R25=$50擺動周期1S; 如=$30擺動周期0.5S
; 如=20-10擺動周期, 也可理解為調(diào)節(jié)拍范圍
                    ;$8強勁舞曲          ; $18   男兒當自強       ;$11 少年夢
                                ; 可作自唱自演跳舞機器人設(shè)計用。
start6:                                ; 舵機向-60度方向移動
        sbi        $18,0                ; 置pb.0為1
        rcall        de10        ;1ms,-60度
        cbi        $18,0                ; 清pb.0為0
        rcall        de10        ;1ms,-60度
        rcall        de185        ;19ms

        DEC        R23                        ;R23-1
        CPI         R23,$01        ;R23 與立即數(shù)$01比較
        BRSH        start6        ;大于等于則轉(zhuǎn)移到, 小于順序執(zhí)行
        rcall        de200        ; 調(diào)用2ms延時程序
        
start60:                        ; 舵機向+60度方向移動
        sbi        $18,0                ; 置pb.0為1
        rcall        de20        ;2ms,+60度
        cbi        $18,0                ; 清pb.0為0
        rcall        de20        ; 調(diào)用2ms,+60度
        rcall        de18        ; 調(diào)用18ms
        
        DEC        R25                        ;R25-1
        CPI         R25,$01        ; ;R25 與立即數(shù)$01比較
        BRSH        start60        ;大于等于則轉(zhuǎn)移到, 小于順序執(zhí)行
        rcall        de200   ; 調(diào)用20ms
        rjmp        start3        ;循環(huán)檢測

de10:                                ; 1ms延時子程序
        ldi        dt,21                ;1ms
        rcall        delay        ; 調(diào)用通用延時子程序
        ret                                ; 子程序返回
de15:                                ; 1.5ms延時子程序
        ldi        dt,26                ;1.5ms
        rcall        delay        ; 調(diào)用通用延時子程序
    ret                                ; 子程序返回
de20:                                ; 2ms延時子程序
        ldi        dt,28                ;2ms
        rcall        delay        ; 調(diào)用通用延時子程序
        ret                                ; 子程序返回
de18:                                ; 18ms延時子程序
        ldi        dt,63            ;18ms
        rcall        delay        ; 調(diào)用通用延時子程序
        ret                                ; 子程序返回
de185:                                 ; 19ms延時子程序
        ldi        dt,64                ;18.8ms
        rcall        delay        ; 調(diào)用通用延時子程序
        ret                                ; 子程序返回
de19:                                ; 20ms延時子程序
        ldi        dt,65                ;19.6ms
        rcall        delay        ; 調(diào)用通用延時子程序
        ret                                ; 子程序返回

de200:                        ;20ms延時子程序
        ldi        dt,50           ;2ms,DT=100-10無多大變化
        rcall        delay        ; 調(diào)用通用延時子程序
        ret                                ; 子程序返回
;延時時間對照表
;**********************************
;fos=8MHz
;dt   time    dt  time   dt   time
;22    1ms    26  1.5ms  29    2ms
;51   10ms    63  18ms   64   18.8ms
;65   19.6ms  144 200ms  197  500ms
;249    1s
;**********************************
delay:                                ; 通用延時子程, 子程序2級嵌套
            push dt                ; 進棧,需2t
del1:        push dt                ; 進棧,需2t
del2:        push dt                ; 進棧,需2t
del3:        dec dt                ; dt-1,需1t
        brne        del3        ; 上條指令執(zhí)行后Z=0轉(zhuǎn), Z=1順執(zhí), 需1t/2t
        pop dt                        ; 出棧, 需2t
        dec dt                        ; dt-1,需1t
        brne        del2        ; 上條指令執(zhí)行后Z=0轉(zhuǎn), Z=1順執(zhí), 需1t/2t
        pop dt                        ; 出棧, 需2t
        dec dt                        ; dt-1,需1t
        brne        del1        ; 上條指令執(zhí)行后Z=0轉(zhuǎn), Z=1順執(zhí), 需1t/2t
        pop dt                        ; 出棧, 需2t
        ret                                ; 子程序返回, 需4t
2#
發(fā)表于 2010-8-6 11:15:34 | 只看該作者
這遙控伺服機當學(xué)生時玩車不知拆了多少了
您需要登錄后才可以回帖 登錄 | 注冊會員

本版積分規(guī)則

小黑屋|手機版|Archiver|機械社區(qū) ( 京ICP備10217105號-1,京ICP證050210號,,浙公網(wǎng)安備33038202004372號 )

GMT+8, 2025-4-22 16:17 , Processed in 0.059851 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回復(fù) 返回頂部 返回列表