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

登錄 免費(fèi)注冊(cè) 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場(chǎng)網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | 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

軟件模擬RA3電平變化中斷(問題已解決)

作者:lurker_soo 欄目:單片機(jī)
軟件模擬RA3電平變化中斷(問題已解決)
用軟件模擬RA3電平變化中斷碰到很奇怪的現(xiàn)象,進(jìn)入中斷後出不來,軟件清除中斷標(biāo)志指令:
    bcf    INTCON,RAIF
似乎不起作用,在執(zhí)行完retfie後,PC又回到0x04中斷入口地址。

RA3的PIN腳激勵(lì)如下:
//
// G:\PIC\Study\io_port\pps.scl
// Generated by SCL Generator ver. 3.22.00.00
// 6/8/2006 14:48:17
//


configuration for "PIC16F684" is
end configuration;


testbench for "PIC16F684" is
begin
    clk_1: PROCESS is
    begin
        loop
            RA3 <= '0';
            wait for 1000 ic;
            RA3 <= '1';
            wait for 1000 ic;
        end loop;
        RA3 <= '1';
    end PROCESS clk_1;

end testbench;

測(cè)試程序如下:

;**********************************************************************
    ORG        0x000            ; PROCESSor reset vector
    nop
      goto        main            ; go to beginning of program

    fill    (goto $),0x04-$

    ORG        0x004            ; interrupt vector location
    movwf        w_temp            ; save off current W register contents
    movf        STATUS,w        ; move status register into W register
    movwf        status_temp        ; save off contents of STATUS register
    
    btfss    INTCON,RAIE            ;
    goto    Int_error
    btfss    INTCON,RAIF
    goto    Int_error
    bcf    INTCON,RAIF
    btfss    PORTA,PPSIN
    goto    Int_exit
    decfsz    _step,F
    goto    Int_exit
    movlw    .4
    movwf    _step
    goto    Int_exit

Int_error
    goto    $
    
Int_exit
    movf        status_temp,w        ; retrieve copy of STATUS register
    movwf        STATUS            ; restore pre-isr STATUS register contents
    swapf        w_temp,f
    swapf        w_temp,w        ; restore pre-isr W register contents
    retfie                    ; return from interrupt
;***********************************************************************


main                    ; remaining code goes here
    call    Systemosc_set
    call    Device_init
    call    Var_init
    banksel    IOCA
    movlw    1<<IOCA3
    movwf    IOCA
    bcf    INTCON,RAIF
    bsf    INTCON,RAIE
    bsf    INTCON,PEIE
    bsf    INTCON,GIE
    nop
    goto    $-.1    

;***********************************************************************
    END

請(qǐng)幫忙看看是什麼原因?!

抱歉,我已知道什麼原因了,是因?yàn)檎`解了DATASHEET的意思了。

* - 本貼最后修改時(shí)間:2006-6-8 15:56:20 修改者:lurker_soo

2樓: >>參與討論
lurker_soo
問題已解決!
問題已解決!
抱歉,我已知道什麼原因了,是因?yàn)檎`解了DATASHEET的意思了。

3樓: >>參與討論
OYGGJ
要讀一次PORTA,失去匹配條件,再BCF....
要讀一次PORTA,失去匹配條件,再BCF....


參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
這兩指令是不是相同的?菜鳥問題盼指導(dǎo)。
請(qǐng)教:pic24f中的從并行口的PMCS
求教:pic16f505用什么C編譯器?怎樣獲得?
程序流程框圖在開發(fā)過程的關(guān)鍵性
PIC單片機(jī)內(nèi)部資源最難掌握和應(yīng)用的是什么模塊?
免費(fèi)注冊(cè)為維庫電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


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