2-5 时序分析.doc

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2-5 时序分析

2-5 時序分析 以下將就下列時序分析MCS-51的動作,包括: .MCS-51的指令提取週期 .MCS-51外部程式記憶體(ROM)指令提取週期 .MCS-51外部資料記憶體(RAM)資料讀取週期 .MCS-51外部資料記憶體(RAM)資料寫入週期 .MCS-51輸入/出埠讀/寫週期 .MCS-51的指令提取週期: MCS-51每一個機械週期包括了六個狀態(12個clock),操作碼讀取週期是在S1,然後再視操作碼決定是否要在讀取其它運算元。 a. 1-byte,1-cycle 的指令(例:INC A) 2-bytes,1-cycle的1指令(例:ADD A,#data) 1-byte,2-cycle的指令(例:INC DPTR) 1-byte,2-cycle的指令(例:MOVX A,@Ri) .MCS-51外部程式記憶體(ROM)指令提取週期: 這裡將介紹使用外部程式記憶體時,有關的匯流排及控制訊號的變化,並以實例解說,各相關訊號的變化關係,使用外部記憶體時,其動作時序可分為,有執行外部資料讀取指令(MOVX),和一般的指令之執行週期,如下: 提取指令時不含資料讀取指令(MOVX) 即執行非MOVX之指令時 ALE:由”Hi”變”Lo”時,用來閂鎖位址匯流排的低位元組。 PSEN:為”Lo”時,用來致能外部程式記憶體(ROM)的資料輸出(此時的資料為程式指令的機械碼),以便資料匯流排在S1與S4週期時,能讀取記憶體上的指令的機械碼。 RD:因為沒有讀取外部資料指令(MOVX),所以始終保持為”Hi”。 P2:輸出程式指令機械碼所在的記憶體位址之高位元組。 P0:.在S2與S5的時候,當位址匯流排使用,此時輸出位址之低位元組,並由ALE送出閂鎖訊號,以便在S4與S1的時候讀入指令。   .在S4與S1時,P0表示資料匯流排,此時讀入程式記憶體中的指令。 以下將以實際的程式片段來解釋,當CPU要執行一指令時,其匯流排的動作順序,例如有一片段程式如下: TIMER: 經組譯後的機械碼 記憶體位址  機械碼 PUSH A  0015H C0 E0 PUSH PSW 0017H C0 D0 CLR EA 0019H C2 AF CLR TRO 001BH C2 BC ... ... 此程式經組譯、連結後,載入到外部記憶體。 當CPU開始執行TIMER這個副程式時,即從記憶體位址0015H開始執行,此時在MCS-51上的相關匯流排動作如下: 動作順序: 在第一機械週期的S1,讀入指令的操作碼C0H 因為機械碼C0H是一個PUSH的指令,所以必須再讀入一個目的位址,所以在S2時P2和P0會再送出下一個資料的位址(0016H),P2(00H)和P0(16H),ALE將P0的值閂鎖住; 在S3的時候PSEN送”Lo”以致能外部記憶體的資料輸出,此時在P0將可讀取外部(ROM)的資料E0H,此為指令的目的位址,而CPU再根據所讀入的操作碼和目的位址C0H和E0H去執行 PUSH  A的動作; 而在S4的時候P2和P0會送出下一個指令的記憶體所在位址0017H,P2(00H)和P0(17H),ALE將P0的值閂鎖住; 在S6的時候PSEN送”Lo”以致能外部記憶體的資料輸出,以便在下一個機械週期的S1時,能順利讀取下一個指令的操作碼。 而第二機械週期則是另一個指令POP PSW,在執行時的動作時序。 提取指令時含資料讀取指令(MOVX) 即執行MOVX之指令時 ALE:由”Hi”變”Lo”時,用來閂鎖位址匯流排的位元組。 PSEN:為”Lo”時,用來致能外部程式記憶體(ROM)的資料輸出(此時的資料為程式指令)。 RD:用來致能外部記憶體的資料輸出。 P2:.在第一機械週期時,輸出程式指令所在的記憶體位址之高位元組。 .在第一機械週期時: 如為:MOVX @Ri,此時輸出P2暫存器內的值。 如為:MOVX @DPTR,此時輸出資料位址之高位元組。 P0:.在第一機械週期的S2,當位址匯流排使用,此時輸出指令位址之低位元組,並由ALE送出閂鎖訊號,以便讀入指令。 .在第一機械週期的S3與S4之間當資料匯流排,此時讀入程式記憶體中的指令。 .在第一機械週期的S5時,當位址匯流排使用,此時輸出資料位址之低位元組,並由ALE送出閂鎖訊號,以便讀入資料。 .在第二機械週期的S2與S3之間當資料匯流排,此時讀入資料記憶體中的資料。 以下將以實際的程式片段來解釋,當CPU要執行一讀取外部資料指令時(MOVX),其匯流排的動作順序,例如有一片段程式如下: 經組譯後的機械碼 記

文档评论(0)

magui + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8140007116000003

1亿VIP精品文档

相关文档