微处理器结构与嵌入式系统设计第二讲.ppt

微处理器结构与嵌入式系统设计第二讲.ppt

  1. 1、本文档共44页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
延时子程序 在主程序中指令“CALL DELAY”的功能是调用子程序DELAY。当单片机执行到“CALL DELAY”时,就转到子程序DELAY中去执行,而在子程序DELAY的最后一行的指令RET是子程序结束的标志,表明将要返回主程序的CALL DELAY的下一行继续执行。 第三十一页,共四十四页,2022年,8月28日 第一页,共四十四页,2022年,8月28日 单片机架构剖析 AT89S51内部架构 第二页,共四十四页,2022年,8月28日 从IO口到内部结构 比较一下图(a)和(b),前者显示出4根数据线:读锁存器、内部总线、写锁存器、读管脚。这4根数据线与单片机内部结构中的总线相连。而后者则用一个双向箭头来表示这4根数据线,说明锁存器与总线之间的关系。 第三页,共四十四页,2022年,8月28日 可把整个P1口都抽象出一个结构框图,如图示,其中把8位I/O口的独立结构抽象到了P1口锁存器和P1口驱动两个方框中,这与图7-1所示的P0、P1、P2、P3口结构是一致的。由于I/O口都是双向的,所有的数据线都使用双向箭头。 第四页,共四十四页,2022年,8月28日 内部交换的数据 举例:RAM是单片机的随机访问存储器,用于存储运行过程中的数据。假设RAM中地址30H上存储了数据“3CH”,现在单片机执行指令“MOV A,30H”,之后,RAM中地址30H上的数据3CH“跑”到总线上,而累加器A根据指令要求,从总线上接收这个数据,执行完毕后,A=3CH。 第五页,共四十四页,2022年,8月28日 算术逻辑单元ALU ALU为“进行算术运算和逻辑运算的处理单元”。它能进行加、减法等算术运算,也能做与、或、异或等逻辑运算。ALU就是单片机的“CPU”,ALU的输入端A和B,它们的数据都来自总线,经过ALU运算后,结果通过R又输出到总线上。在运算过程中,ALU通过输出D向程序状态字PSW输出状态,PSW会随着ALU的运算发生相应的变化。 如执行加法指令ADD时,当最高位有进位时,PSW的进位标志C就被置1,这都归功于ALU通过D向PSW的C位输出高电平。 第六页,共四十四页,2022年,8月28日 单片机的程序存储器 整体结构 第七页,共四十四页,2022年,8月28日 程序下载 以.HEX为后缀的执行代码文件可通过下载线下载到单片机中。如果用记事本打开执行代码文件会得到一串十六进制数,其中包含了每条指令的执行代码。比如指令“MOV A,#88H”执行代码为“74”、“88”,其他指令都可以找到相应的执行代码。 执行代码通过下载线下载到了单片机的片内ROM中。因为片内ROM中下载的是程序,所以也称这个片内ROM为片内程序存储器。 第八页,共四十四页,2022年,8月28日 片内程序存储器 AT89S51单片机的片内程序存储器容量为4K bytes,即4×1024=4096 bytes。 这4096 bytes片内程序存储器可用地址0000H~0FFFH来指向。在我们通过下载线往单片机下载程序时,执行代码将从0000H开始,被依次存储到单片机中。如图示的执行代码,存储到0000H里的是74H,即“0111 0100”;0001H里的是88H,即“1000 1000”。按照这种方法直到程序全部下载完毕,根据程序的长短不同,程序存储器被占用的空间多少也就不同。 第九页,共四十四页,2022年,8月28日 程序计数器(PC) 程序计数器PC,它用于指示单片机下一条将要执行的代码的地址。当单片机上电复位时,PC=0000H,即指向程序存储器中的0000H,单片机就把0000H上的代码取出执行。之后PC自动增加1,变成0001H,如图示,接着单片机就执行0001H地址上的代码。 第十页,共四十四页,2022年,8月28日 由于程序计数器PC是个两个字节(16位)的寄存器,于是受PC的制约,AT89S51单片机最大的寻址范围是0000H~FFFFH,共64K bytes。也就是说,除了AT89S51单片机片内的4K bytes程序存储器(地址0000H~0FFFH)外,单片机能寻址的外部扩展的程序存储器空间最大为64 K bytes -4 K bytes =60K bytes,即地址1000H~FFFFH。 第十一页,共四十四页,2022年,8月28日 当EA接高电平时,单片机复位时读取片内程序存储器中的程序,即从PC=0000H开始,依次读取0000H~0FFFH上的程序。当PC增加到0FFFH时,PC再增加1等于1000H,单片机将自动转到片外程序存储器上执行其中的程序。而当EA接低电平时,单片机则完全读取片外程序存储器中的程序,即从片外程序存储器中的0000H开始,依次读取程序来执行。由于受到程序计数器PC的位数限制

文档评论(0)

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

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

认证主体凌**

1亿VIP精品文档免费下

相关文档

相关课程推荐