分享

单片机 关于程序计数器(PC)与指令寄存器(IR)/ROM/RAM之间的工作关系和PC与CPU时序的关系

 泉水轩 2014-09-28
第一个问题: 程序计数器(PC)与指令寄存器(IR)/ROM/RAM之间的工作关系: 首先是ROM/RAM, 以MCS-51为例,程序存储器(ROM)内部地址为0000H~0FFFH,共4KB;外部可扩展1000H~FFFFH,共60KB;单片机内数据存储器(RAM)的为245字节,分为低128字节数据存储,00H~7FH;高128字节(80H~FFH)特殊功能寄存器, 其次程序计数器(PC) PC是一个16位专用寄存器,可寻址的范围是0000H~FFFFH(当使用外部扩展程序存储器后)共64KB,用于存放CPU下一条要执行的指令地址。在顺序执行程序中,当PC内容送到地址总线后会自动加1,指向下一条将要运行的指令。 第二个问题: 关于时序的问题只需要一张时序图就可以解决你的问题, 你可以找一张单片机时序图帮助理解,由于我还不能上传图片所以只能这样解释: 1个机器周期=6个状态周期=12个时钟周期; 所谓时钟周期就是晶振所产生的高低电平,如6MHz,12MHz等, 然后对机器周期分频,12个机器周期产生一个机器周期,也是高低电平,每一个机器周期会有两个ALE信号,然后每一个ALE信号就可以进行一步汇编指令的执行。 时序如上,再来看如如何执行的,每条指令的执行都包括取指和和执行, 第一个指令: MOV A,40H,它是双字节单周期执行指令,首先是在第一个ALE信号上升沿到来读操作码MOV A,在第二个ALE信号上升沿到来读第二个字节40H 第二个指令: MOV R0,A ,它是单字节单周期执行指令,首先是在第一个ALE信号上升沿到来读操作码,由于它是单字节所以在第二个ALE信号上升沿到来时为空操作,不需要读数, 希望我的答案会对你有帮助,如果还有疑问我们继续联系。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多