新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > PIC單片機之16C84單片機介紹(一)

        PIC單片機之16C84單片機介紹(一)

        作者: 時間:2012-11-14 來源:網絡 收藏
        入堆棧。在執行RETURN,RETLW,RETFIE等指令時,堆棧被彈出。PUSH(壓入)和POP(彈出)不影響PCLATH。

          堆棧是作為循環緩沖器。當堆棧被壓入38次后,第9次壓入將占據第一次壓入的位置,第十次壓入將占據第二次壓入的位置,等等。同樣當堆棧彈出第9次時,與第一次彈出是一樣的。注意,沒有狀態位來 指明堆棧上溢式下溢的條件。沒有PUSH,POP指令助記符,但CALL,R ETURN,RETLW,RETFIE等指令的執行或中斷發生,將實際發生壓棧退棧。

          4-2程序存儲器的頁

          16C84具有1K的程序存儲器,CALL,GOTO指令只有11位的地址范圍,這11位的地址范圍允許分支在2K程序存儲器頁大小的范圍。

          為將來16C8X程序存儲器的擴展,必須由另外兩位來說明程序 存儲器的頁。這些頁位來自于PCLATH4:3>。當執行CALL、GOTO指令時,用戶必須確保這些頁位的編程等指向要求的程序存儲器的頁。

          如果執行CALL指令,整個13位被壓入堆棧。所以對于返回指令不要求 對PCLATH4:3>位的管理。因為PC的值將會由退棧而獲得。注意:16C84忽略了PCLATH4:3>位,這些位用于程序存儲頁1,2,3(0800H-1FFFH),不可以把PIC16C84的PCLATH4:3>位用作通用讀/寫位,這會影響將來產品的向上兼容。

          4-3間接尋址,INDF和FSR的作用

          INDF寄存器不是物理寄存器,只是被用來與FSR寄存器連接以執行間接尋址。

          使用INDF寄存器,就可以實現間接尋址。

          使用INDF寄存器的任何指令,實際尋址數據是由文件選擇寄存器(FSR)所決定的。讀INDF自身(FSR=0),將產生00H。向INDF寫,結果無操作(顯然可以提供狀態位)。8位FSR寄存器同狀態寄存器STATUS7>(IRP)組合可以得到9位地址。

          然而PIC16C84是不用IRP的。使用下面的例程序,通過間接尋址清零。2OH~2FH單位。

          MOVLW 20H ;初始化RAM的指針

          MOVF FSR ;到FSR

          NEXT CLRF INDF ;通過間接尋址清0,由FSR的內容所指問的寄存器。

          INCF FSR ;(FSR)+1→FSR

          BIFSS FSR,4;當FSR的第4位為1跳過下一條指令

          GOTO NEXT ;否則入。

        存儲器相關文章:存儲器原理



        上一頁 1 2 3 4 5 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 尚义县| 沁源县| 襄樊市| 罗山县| 抚宁县| 台安县| 桦南县| 监利县| 陆丰市| 华坪县| 卢龙县| 策勒县| 曲松县| 海南省| 邹平县| 逊克县| 石嘴山市| 武定县| 灵璧县| 洛川县| 天等县| 安图县| 天峨县| 杭锦后旗| 洛浦县| 湖口县| 彭州市| 石河子市| 方正县| 新密市| 泌阳县| 六枝特区| 孟村| 墨竹工卡县| 澄城县| 罗平县| 宣汉县| 弥渡县| 望城县| 郸城县| 抚顺市|