訪問片外ROM/RAM的指令時序
發布時間:2014/6/4 20:29:34 訪問次數:9783
MCS-51專門有兩類可以訪問片外存儲器的指令:一類是讀片外ROM指令,另一HEF4017BT類是訪問片外RAM指令。這兩類指令執行時所產生的時序除涉及ALE引腳外,還和PSEN、PO口、P2口和RD等引腳上的信號有關。
1.讀片外ROM指令時序
首先把累加器A中的地址偏移量和DPTR中的地址相加,然后把16位“和地址”作為片外ROM地址,并從中讀出該地址單元中的數據,送到累加器A。因此,累加器A在指令執行前為地址偏移量,指令執行后為片外ROM中的讀出數據。指令執行中產生的時序如圖3-15所示。
指令的詳細執行過程如下:
(1) ALE信號在SIP2有效時,PSEN繼續保持高電平或從低電平變為高電平無效狀態。
(2) MCS-51在S2Pl時,把PC中高8位地址送到P2口引腳線上,把PC中低8位地址送到PO口引腳線上,PO口地址A7~AO在ALE下降沿被鎖存到片外地址鎖存器(如74LS373),P2口地址A15—A8 -直保持到S4P2,故它不必外接鎖存器。
(3) PSEN在S3到S4Pl期間有效,選中片外ROM工作,并根據P2口和地址鎖存器( 74LS373)輸出地址讀出MOVC指令的指令碼,經PO口送到CPU的指令寄存器IR。
(4) MCS-51財指令寄存器IR中的MOVC指令碼譯碼,產生執行該指令所需的一系列控制信號。
(5)在S4P2時,CPU先把累加器A中的地址偏移量和DPTR中的地址相加,然后把“和地址”的高8位送到P2口并把低8位送到PO口,其中PO口地址由ALE的第二個下降沿鎖存到片外地址鎖存器( 74LS373)。
(6) PSEN在S6到下個機器周期的SIP1期間第二次有效,并在S6P2時從片外ROM中讀出由P2口和片外地址鎖存器(74LS373)輸出地址所對應ROM單元中的常數,該常數經PO口送到CPU累加器A。
上述指令執行過程表明,MOVC指令執行時分兩個階段:第一階段是取指階段,即根據程序計數器PC中的地址到片外ROM中取指令碼;第二階段是執行階段,即對累加器A和DPTR中的16位地址進行運算,并按運算所得到的和地址去片外ROM取出所需的常數
送到累加器A。也就是說,MCS-51執行“MOVC A,@A+ROM存儲器,第1次訪問是從中讀取“MOVC A,@A+DPTR”的指令碼;第2次訪問片外ROM存儲器是要從中讀出A+DPTR所指相應存儲單元中的常數。
MCS-51專門有兩類可以訪問片外存儲器的指令:一類是讀片外ROM指令,另一HEF4017BT類是訪問片外RAM指令。這兩類指令執行時所產生的時序除涉及ALE引腳外,還和PSEN、PO口、P2口和RD等引腳上的信號有關。
1.讀片外ROM指令時序
首先把累加器A中的地址偏移量和DPTR中的地址相加,然后把16位“和地址”作為片外ROM地址,并從中讀出該地址單元中的數據,送到累加器A。因此,累加器A在指令執行前為地址偏移量,指令執行后為片外ROM中的讀出數據。指令執行中產生的時序如圖3-15所示。
指令的詳細執行過程如下:
(1) ALE信號在SIP2有效時,PSEN繼續保持高電平或從低電平變為高電平無效狀態。
(2) MCS-51在S2Pl時,把PC中高8位地址送到P2口引腳線上,把PC中低8位地址送到PO口引腳線上,PO口地址A7~AO在ALE下降沿被鎖存到片外地址鎖存器(如74LS373),P2口地址A15—A8 -直保持到S4P2,故它不必外接鎖存器。
(3) PSEN在S3到S4Pl期間有效,選中片外ROM工作,并根據P2口和地址鎖存器( 74LS373)輸出地址讀出MOVC指令的指令碼,經PO口送到CPU的指令寄存器IR。
(4) MCS-51財指令寄存器IR中的MOVC指令碼譯碼,產生執行該指令所需的一系列控制信號。
(5)在S4P2時,CPU先把累加器A中的地址偏移量和DPTR中的地址相加,然后把“和地址”的高8位送到P2口并把低8位送到PO口,其中PO口地址由ALE的第二個下降沿鎖存到片外地址鎖存器( 74LS373)。
(6) PSEN在S6到下個機器周期的SIP1期間第二次有效,并在S6P2時從片外ROM中讀出由P2口和片外地址鎖存器(74LS373)輸出地址所對應ROM單元中的常數,該常數經PO口送到CPU累加器A。
上述指令執行過程表明,MOVC指令執行時分兩個階段:第一階段是取指階段,即根據程序計數器PC中的地址到片外ROM中取指令碼;第二階段是執行階段,即對累加器A和DPTR中的16位地址進行運算,并按運算所得到的和地址去片外ROM取出所需的常數
送到累加器A。也就是說,MCS-51執行“MOVC A,@A+ROM存儲器,第1次訪問是從中讀取“MOVC A,@A+DPTR”的指令碼;第2次訪問片外ROM存儲器是要從中讀出A+DPTR所指相應存儲單元中的常數。
上一篇:MCS-51指令的取指/執行時序
上一篇:讀外部RAM指令時序
熱門點擊
- 訪問片外ROM/RAM的指令時序
- 堆棧指針SP( Stack Pointor)
- 16位特殊功能寄存器sfr16
- 三極管的極限參數有集電極最大允許電流
- PCB的元器件貼裝位置有偏移,可用以下兩種方
- “黑焊盤”現象的產生原因
- 焊點形成過程
- I/O端口
- 程序執行過程
- 電氣規則檢查
推薦技術資料
- DS2202型示波器試用
- 說起數字示波器,普源算是國內的老牌子了,FQP8N60... [詳細]