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

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

本人剛學,請指出下面程序的錯誤...謝謝!!

作者:蔣國偉 欄目:單片機
本人剛學,請指出下面程序的錯誤...謝謝!!
各位大俠:
    本人剛開始學習PIC,自已想編一個(用的是16F877)由RB0口控制,RC0,1,2三口的輪流輸出.本人用MPLAB-ICD一步一步走就還可以連續(xù)運行就不行了.請各位幫忙指正一下.....謝謝!!!
;fan.asm
    include<P16f877.inc>
;*------------------------
count   equ   20h

;*------------------
        org   0
start
        clrf   PORTC
        movlw  00h

        movlw  b'00000001'
        movwf  TRISB

        btfsc  PORTB,0
        goto   start


        
speed1
        bsf    STATUS,RP0
        clrf   TRISC
        bcf    STATUS,RP0
        movlw  b'00000001'
        movwf  PORTC
        btfsc  PORTB,0
        goto   speed1
        
speed2
        bsf    STATUS,RP0
        clrf   TRISC
        bcf    STATUS,RP0
        movlw  b'00000010'
        movwf  PORTC
        btfsc  PORTB,0
        goto   speed2

speed3
        bsf    STATUS,RP0
        clrf   TRISC
        bcf    STATUS,RP0
        movlw  b'00000100'
        movwf  PORTC
        btfsc  PORTB,0
        goto   speed3
        
        
        return
         end
        

2樓: >>參與討論
km.xiong
你清看門狗了嗎?
 
3樓: >>參與討論
蔣國偉
怎樣清比較合理能標寫出來嗎?謝謝!!!
怎樣清比較合理能標寫出來嗎?謝謝!!!

4樓: >>參與討論
km.xiong
在溢出之前清掉就可以了,它的最小溢出時間是18ms
在溢出之前清掉就可以了,它的最小溢出時間是18ms

5樓: >>參與討論
蔣國偉
它總在程序存儲器1F24的地址就停住了...
 
6樓: >>參與討論
fxmxh
改為:
;fan.asm
    include<P16f877.inc>
;*------------------------
count   equ   20h

;*------------------
        org   0

        clrf   PORTC
start:
        clrwdt
        movlw  b'00000001'
        movwf  TRISB

        btfsc  PORTB,0
        goto   start


        
speed1
        clrwdt
        bsf    STATUS,RP0
        clrf   TRISC
        bcf    STATUS,RP0
        movlw  b'00000001'
        movwf  PORTC
        btfsc  PORTB,0
        goto   speed1
        
speed2
        clrwdt
        bsf    STATUS,RP0
        clrf   TRISC
        bcf    STATUS,RP0
        movlw  b'00000010'
        movwf  PORTC
        btfsc  PORTB,0
        goto   speed2

speed3
        clrwdt
        bsf    STATUS,RP0
        clrf   TRISC
        bcf    STATUS,RP0
        movlw  b'00000100'
        movwf  PORTC
        btfsc  PORTB,0
        goto   speed3
        
        
        goto start
         end


7樓: >>參與討論
eeproom
ERROR!
   你們這樣的程序有問題的,PIC中等系列MCU將中斷入口定位在0x04h,你在從0x000入口后作一些初始化工作,必須在0x04之前跳過0x04。
      ORG  0x00
      nop           ;留給ICD調(diào)試
      clrwdt
      clrf   PCLATH
      goto   Main

; interrupt vector location
      ORG    0x04

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Main routine skip interrupt vecter address at 0x04.

      org    0x20   ;or other address
Main

      ;Your routine.


     end
;具體情況請去參看mplab IDE\MCHIP_TOOLS\TEMPLATE\CODE\F877TEMP.ASM

8樓: >>參與討論
dodome521
bank 有問題
        org   0
start
        clrf   PORTC
        movlw  00h
        ;在此加 banksel  TRISB
        movlw  b'00000001'
        movwf  TRISB
        ;     banksel     PORTB
        btfsc  PORTB,0
        goto   start


9樓: >>參與討論
蔣國偉
多謝,各位的指點.另外關于按鍵去抖動是何原理?
關于按鍵去抖動是何原理?
main    btfsc    PORTB,0        ;\
    goto    $+6            ; \
    call    Delay            ;  按鍵去抖動
    btfsc    PORTB,0
    goto    $+3            ; /
    call    FMsel            ;/
    movwf    PORTCB
    movf    MODESELB,W        ;
    movwf    MODESEL        ;
    call    LongDelay

10樓: >>參與討論
mcusales


我建議你先了解一下程序初始化設計,并找?guī)讉Mode程序參考。
oyadongxiao@163.com

11樓: >>參與討論
蔣國偉
謝謝各位的指點.現(xiàn)確定為如下程序可在ICD上行了.
;fan.asm
    include<P16f877.inc>
;*------------------------
Count   equ   20h
Count1   equ   21h
Count2   equ   22h
;*------------------
        org   0x005
        clrf   PORTC
start
        clrwdt
        movlw  b'00000001'
        movwf  TRISB
        btfsc  PORTB,0
        goto   start
        call   Delay
        btfsc  PORTB,0
        nop
speed1
        clrwdt
        bsf    STATUS,RP0
        clrf   TRISC
        bcf    STATUS,RP0
        movlw  b'00000001'
        movwf  PORTC
        call   Delay
        btfsc  PORTB,0
        goto   speed1
        call   Delay
        btfsc  PORTB,0
        nop

speed2
        clrwdt
        bsf    STATUS,RP0
        clrf   TRISC
        bcf    STATUS,RP0
        movlw  b'00000010'
        movwf  PORTC
        call   Delay
        btfsc  PORTB,0
        goto   speed2
        call   Delay
        btfsc  PORTB,0
        nop

speed3
        clrwdt
        bsf    STATUS,RP0
        clrf   TRISC
        bcf    STATUS,RP0
        movlw  b'00000100'
        movwf  PORTC
        call   Delay
        btfsc  PORTB,0
        goto   speed3
        call   Delay
        btfsc  PORTB,0
        nop
        goto   start

;*----------------
Delay
    clrf    Count
    clrf    Count1
    movlw    0x01
    movwf    Count2
LDloop
    decfsz    Count,f
    goto    LDloop
    decfsz    Count1,f
    goto    LDloop
        decfsz    Count2,f
    goto    LDloop
    
    return
         end
        

參與討論
昵稱:
討論內(nèi)容:
 
 
相關帖子
10位A/D能否實現(xiàn)50.00顯示?
調(diào)試中的奇怪問題
請指教
24LC01B的命令格式是什么,我的資料里對字節(jié)/頁的介紹不全。
發(fā)現(xiàn)MPLAB 5.7一個BUG
免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號