在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,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) > 設計應用 > 關于中檔PIC系列單片機的頁和PCLATH

            關于中檔PIC系列單片機的頁和PCLATH

            作者: 時間:2016-11-13 來源:網(wǎng)絡 收藏
            首先想從CALL和GOTO指令的機器碼講起。PIC16是14位的長字指令,操作碼和操作數(shù)放到同一個指令字里,也就是所謂單字指令。

            CALL 指令(14位的指令字長)

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

            -------------------------------------------

            | 1| 0| 0| k| k| k| k| k| k| k| k| k| k| k|

            -------------------------------------------

            100是CALL指令的操作碼,GOTO指令類似上面,只是操作碼為101.后面11位的k,就是所要CALL或者GOTO的地址。顯然,11位的地址只能訪問2K的地址范圍,為了實現(xiàn)在8K范圍內(nèi)調(diào)用和跳轉,于是引入了Page的概念。Page其實就是實際要調(diào)用或跳轉到的地址的高兩位。PC的高兩位在發(fā)生GOTO或CALL指令時從PCLATH寄存器的4:3位裝入(如下圖)

            PCLATH 5bits

            ----------------

            |4|3| |

            ----------------

            |

            V

            ---------------- ---------------------

            |x|x| | | | (實際PC)

            ---------------- ---------------------

            PCH 5bits PCL 8bits

            PC 13bit地址,可尋址8K字程序空間。

            所以,在CALL或者GOTO指令執(zhí)行前,要設定好PCLATH的4:3位,也就是設置好Page.PC的高位字節(jié)PCH是不可由程序直接寫入的,它必須是在PC改變時通過它的鎖存器PCLATH裝入。PCLATH始終是作為裝載PCH用的一個鎖存器,它自己的值不會隨著PCH的改變而改變。一個很簡單的例子,程序假如順序執(zhí)行從00一直到8K末尾,這樣PCH的最高兩位也就從00一直變成11,但PCLATH的高兩位,如果你沒有人為改變,原來是什么還是什么。當CALL子程序時,CALL指令當前PC+1的13位PC地址壓入堆棧(因為硬件堆棧是和PC等寬的)。所以RETURN時能從堆棧彈出整個13位PC的返回地址,就不再需瓚≒CLATH了。但是,要記住,不設定并不代表它自己會改變。假設你CALL之前設定到Page1了,Return之后回到Page0了,但此時,PCLATH里的4:3位還是0:1。當發(fā)生直接修改PC時,也就是直接改寫PCL,如addwf PCL,F

            此時,在改寫PCL的同時,作為PCH鎖存器的PCLATH會把整個5位的值瞬間傳遞給PCH,如下圖

            PCLATH 5bits

            ----------------

            | 4| 3| 2| 1| 0|

            ---------------- 程序修改PC低位字節(jié)

            | |

            V V

            ---------------- ---------------------

            | x| x| x| x| x| | | (實際PC)

            ---------------- ---------------------

            PCH 5bits PCL 8bits

            PCLATH是個很重要的寄存器,你對它稍不注意,它就會讓你跑飛.



            評論


            技術專區(qū)

            關閉