在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > PIC單片機(jī)的讀/修改/寫問題及解決方案

            PIC單片機(jī)的讀/修改/寫問題及解決方案

            作者: 時間:2012-06-10 來源:網(wǎng)絡(luò) 收藏

            何謂讀--寫,導(dǎo)致的及其解決之道:

            本文引用地址:http://www.biyoush.com/article/171318.htm

              只要micro的命令,所處理的FILE (暫存器,內(nèi)存,和I/O的統(tǒng)稱),其最終的值,和命令處理前的值有關(guān),那么,這種命令便是所謂的讀--寫命令。因?yàn)檫@類命令的操作,可以再細(xì)分為三個小步驟,即是讀(READ),(MODIFY),接著才是寫(WRITE)。

              如:ADDWF,DECF,IORWF,XORWF,BSF,BCF,EE等等皆是。

              在使用這類命令的時候,如果所處理的FILE是I/O, 就必須要特別小心。因?yàn)?,假設(shè)任務(wù)電壓為5V;而您在PORTB的8支腳,沒有串接電阻,分別接了8顆二極管(也許是LED)到地。如果,您在先前下了BSF PORTB,0這條命令,使得PORTB第0腳上的LED亮了。當(dāng)您再運(yùn)行了”BSF PORTB,1這條命令后,雖然PORTB第1腳上的LED亮了,但是,PORTB第0腳上的LED卻會熄掉。原因是因?yàn)?,運(yùn)行”BSF PORTB,1”時,會先將整個PORTB的值往回讀,而它讀到的PORTB第0腳,卻是相當(dāng)於低電位(被二極管拉為0.7V)。當(dāng)它再把整個PORTB的值寫出去的時候,PORTB第0腳就被寫成低電位,自然燈就熄了。

              解決之道是:串電阻,或者不要直接對I/O作讀-修改-寫命令。

              另外還有一類要注意的狀況是:如當(dāng)您將”BSF PORTB,0”和”BSF PORTB,1”兩條命令連在一起,沒有空運(yùn)行時,縱使您沒有上一段所述線路設(shè)計(jì)不良之狀況,有時候您也會發(fā)現(xiàn)PORTB, 0的高電位也會不見了。導(dǎo)致這個現(xiàn)象的原因是:因?yàn)橐苍S您這兩支腳的外面接了長導(dǎo)線,有相當(dāng)大的電容、電感性會阻止電位的變化;而且,命令運(yùn)行是在最后1/4周期時”寫出”,而在第一個1/4周期時”讀入”,PORTB,0還來不及升至高電位,便被下一個命令讀回去了。

              解決之道是:通常在兩道命令間插入個NOP命令就可以了。



            評論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉