音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費(fèi)注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

這段程序沒看懂。

作者:gsypuma 欄目:DSP技術(shù)
這段程序沒看懂。
我做2407控制步進(jìn)電機(jī),看了一個(gè)說是2407控制步進(jìn)電機(jī)的程序。
有這樣的一段沒看懂,高手指點(diǎn)一下了。
StepMotor:

        call    fDelay
        lacc    PADATDIR
        and        #STEPMASK
        or        #step1
        sacl    PADATDIR
        
        call    fDelay
        lacc    PADATDIR
        and        #STEPMASK
        or        #step2
        sacl    PADATDIR

        call    fDelay
        lacc    PADATDIR
        and        #STEPMASK
        or        #step3
        sacl    PADATDIR

        call    fDelay
        lacc    PADATDIR
        and        #STEPMASK
        or        #step4
        sacl    PADATDIR

        b        StepMotor
        
        ret

2樓: >>參與討論
luyinkai
應(yīng)該是分步控制PAx輸出邏輯電平功能
應(yīng)該是分步控制PAx輸出邏輯電平功能,關(guān)鍵要看常數(shù)#STEPMAS,#step1-4值是多少



3樓: >>參與討論
tjsheep
大概是這樣
用pa口做步進(jìn)電機(jī)驅(qū)動(dòng)口,然后每步先延時(shí)fdelay,然后設(shè)置pa口的狀態(tài),然后輸出,一共4拍一個(gè)周期

4樓: >>參與討論
gsypuma
哦!
樓上說,一共4拍一個(gè)周期是什么意思?

5樓: >>參與討論
gsypuma
全部的程序
全部的程序在這呢,我感覺就是在哪里設(shè)置寄存器呢,也沒什么邏輯的關(guān)系呀,怎么就可以控制電機(jī)了呢,還是這個(gè)只能發(fā)出一個(gè)簡單的控制脈沖,而不涉及到的參數(shù)的改變?
;*******************************************************
; File NAME:PWM.asm
;*******************************************************

        .title    "PWM"
    
        .include LF2407.inc
        .include CPU.inc
        .include GPIO.inc
;*******************************************************

TxdPtr:    .usect    "data", 8
RxdPtr:    .usect    "data", 8

        .data
counterValue    .byte    1
;*******************************************************
        .def    _c_int0
        .def    GIsr2
        
        .ref    Pvect
;*******************************************************
; 主程序開始
        .text
_c_int0:

        call    fSysInit
    
        ldp        #DP_PF2
        splk    #MCRAV, MCRA
        splk    #MCRBV, MCRB
        
        splk    #7f01h, PADATDIR
        splk    #0808h, PBDATDIR

;        splk    #80h, EVAIMRA
;        splk    #0ffffh, EVAIFRA
;        splk    #0, GPTCONA
;        splk    #177h, T1PR
;        splk    #0, T1CNT
;        splk    #0164ch, T1CON
        
;        clrc    INTM
;wait:
;        nop
;        b         wait
        
    ;    call     fSciInit
    ;    call    evaPwmInit
        
Main:
        ldp        #0000h
LoopMain:
    
        ldp        #00e1h
        
        call    StepMotor
        
        b        LoopMain
;*******************************************************
evaPwmInit:
    ;
        ldp        #DP_PF2        ; 指向 7080h~7100h
        lacl    MCRA
        or        #PWMMCR        ; PA.1~PA.4配置為PWM輸出
        sacl    MCRA
        ldp        #DP_EVA        ;
        splk    #0ffffh, EVAIFRA    ; 清除EVA全部中斷標(biāo)志
        splk    #0666h, ACTRA        ; PWM2、4低有效,PWM1、3高有效
        splk    #00h, DBTCONA        ; 不使能死區(qū)控制
        splk    #10h, CMPR1            ; 設(shè)置比較初值PWM1高電平占50/60,低電平上10/60
        splk    #20h, CMPR2            ; 設(shè)置PWM3、4的比較寄存器
        splk    #60h, T1PR            ; 設(shè)置定時(shí)器1周期寄存器,即PWM周期為60個(gè)CPU時(shí)鐘周期
        splk    #0a600h, COMCONA    ; 使能比較操作
        splk    #0, T1CNT
        splk    #41h, GPTCONA        ; TCOMPOE=1, T1PIN=01
        splk    #080h, EVAIMRA        ; 通用定時(shí)器1使能
        splk    #174eh, T1CON        ; TMODE=10連續(xù)增計(jì)數(shù)模式,TPS=111預(yù)分頻為128
                                    ; TENABLE=1定時(shí)器計(jì)數(shù)使能,TCLKS=00內(nèi)部時(shí)鐘
                                    ; TECMPR=1定時(shí)器1比較使能,SELT1PR=0
        clrc    INTM                ; 開總中斷
        
        ret
;*******************************************************
StepMotor:

        call    fDelay
        lacc    PADATDIR
        and        #STEPMASK
        or        #step1
        sacl    PADATDIR
        
        c
6樓: >>參與討論
gsypuma
高手幫忙!
 
7樓: >>參與討論
tjsheep
設(shè)置寄存器,就是用來控制端口的
 
8樓: >>參與討論
gsypuma
也就是說設(shè)置好寄存器后,上電后就有預(yù)想的波形輸出?
我還再繼續(xù)的看,它到底要輸出什么樣的波形。

9樓: >>參與討論
lcy323
ok
輸出脈沖啊

10樓: >>參與討論
gsypuma
那是不是這樣?
輸出的是設(shè)置比較初值PWM1高電平占50/60,低電平上10/60的脈沖?
但我沒看懂sci接口設(shè)置的那部分是什么意思?

11樓: >>參與討論
tjsheep
呵呵,sci那部分就是設(shè)置串口通訊的格式
 
12樓: >>參與討論
gsypuma
這樣呀!
那也就是說,輸出脈沖是一種串口通訊另了。

13樓: >>參與討論
tjsheep
呵呵,不明白你說的
 
14樓: >>參與討論
gsypuma
我的意思
程序中哪里用到串口通訊了,為什么要設(shè)置它的格式呢?不就是要產(chǎn)生脈沖嗎?和串口通訊是什么關(guān)系呀?

參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
2812的外設(shè)中斷的PIEACK的問題
求IAR Embedded Workbench的下載地址
SAA7113視頻采集的問題
做philips和ti的dsp的前途指點(diǎn)
如何將.out文件轉(zhuǎn)換成一個(gè).I0文件?
免費(fèi)注冊為維庫電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào)