单片机原理与嵌入式系统设计——原理、应用、Protues仿48.ppt

单片机原理与嵌入式系统设计——原理、应用、Protues仿48.ppt

  1. 1、本文档共68页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
52子系列数据存储器配置 这样可把数据存储器分为片外数据存储器、片内数据存储器、特殊功能存储器,以下分别加以介绍。 1)片内数据存储器 片内数据存储器分为工作寄存器区、位寻址区、数据缓冲器区等三个区域。如主教材92页表4.2所示。 (1)工作寄存器区 00H~1FH单元为工作寄存器区。工作寄存器也称通用寄存器,供用户编程时使用,临时寄存8位信息。 (2)位寻址区 20H~2FH单元是位寻址区,该区的每一位都赋予了一个位地址, 低128字节RAM区 高128字节SFR区 (3)数据缓冲区 30H~7FH是数据缓冲区,即用户RAM区,共80个单元。 (4)堆栈与堆栈指针 片内RAM的部分单元还可以用作堆栈。 2)特殊功能寄存器 所有单片机片内外设是依靠对内部特殊功能寄存器的操作实现其功能的,80C51也不例外,特殊功能寄存器(SFR, Special Function Register)也称专用寄存器,专用于控制、管理单片机内部算术逻辑部件、并行I/O口、串行I/O口、定时器/计数器、中断系统等功能模块的工作,用户在编程时可以置数设定,不能移作他用。 通过特殊功能寄存器可实现对单片机内部资源的操作和管理, 下面介绍常用特殊功能寄存器,其余将在后面的相关章节中介绍。 特殊功能寄存器SFR的位置 (1)程序状态字寄存器PSW PSW是8位寄存器,用作程序运行状态的标志,字节地址D0H,位地址格式如主教材94页表4.5所示。 (2)累加器ACC ACC是8位寄存器,通过暂存器与ALU相连。它是CPU中工作最繁忙的寄存器,因为在进行算术、逻辑类操作时,运算器的一个输入多为ACC,而运算器的输出即运算结果也大多要送到ACC中。在指令系统中累加器的助记符为A,作为直接地址时助记符为ACC。 (3)数据指针寄存器DPTR 由于80C51可以外接64 KB的数据存储器和I/O接口电路,因此在控制器中设置了一个16位的专用地址指针。它主要用以存放16位地址,作为间址寄存器使用。 (4)B寄存器 在乘、除法运算中用B寄存器暂存数据。 在其他指令中,B寄存器可作为RAM中的一个单元使用。B寄存器的地址为B0H。 (5)堆栈指针SP 堆栈是个特殊的存储区,主要功能是暂时存放数据和地址,通常用来保护断点和现场。它的特点是按照先进后出的原则存取数据,这里的进与出是指进栈与出栈操作。 假若有8个RAM单元,每个单元都在其右面编有地址,栈顶由堆栈指针SP自动管理。每次进行压入或弹出操作以后,堆栈指针便自动调整以保持指示堆栈顶部的位置。这些操作可用图说明。 注意:堆栈栈顶超出内部RAM单元时,会引起程序运行出错。对51子系列不要超出7FH,对52子系列不要超出FFH。这常常是单片机初学者和使用高级语言编程者易犯的错误之一。 (6)端口P0~P3 特殊功能寄存器P0~P3分别是I/O端口P0~P3的锁存器。80C51单片机是把I/O当作一般的特殊功能寄存器使用,不专设端口操作指令,使用方便。 存储器编程举例 【例4.1】 如图4.12所示AT89C52单片应用电路,将存放在AT89C52单片机程序存储器中的字符串“AT89C52 microcontroller!”,复制到内部数据存储器中,并使用printf函数,从串口输出该字符串到Porteus的串口虚拟终端显示。 分析:程序存储器中存放的代码和常数是不能改变的,我们要把“AT89C52 microcontroller!”作为字符串常数事先初始化并存放到ROM中,然后复制到RAM并使用printf从串口输出。电路中虚拟终端波特率需与C51源程序一致,设为为字符显示模式。 4.3.3 并行输入/输出端口结构 1. P1口 P1口内部有上拉电阻,因此在输入时,即使由集电极开路电路或漏极开路电路驱动,也无需外接上拉电阻。 Pl口只有一种功能:通用输入/输出接口。通用I/O接口有输出、输入和端口操作三种工作方式。 2. P2口 P2口有两种用途:通用I/O接口或高8位地址总线。图4.17是P2口1位的结构原理图,图中的模拟开关受内部控制信号控制,用于选择P2口的工作状态。 3. P3口 P3口1位的结构原理如图4.18所示,P3口除了作为准双向通用I/O接口使用外,每一根线还具有第二种功能,详见下表。 4. P0口 P0口有两种功能;地址/数据分时复用总线和通用I/O接口。 P0口作为准双向通用I/O接口使用时应外加上拉电阻。 5. 并行输入/输出口编程举例 【例4.2】使用单片机的并行输入/输出口实现流水灯电路 。 题目要求:如图4.23所示,AT89C52P1口接8个LED发光二极管,要求编写程序实现: (1)从左往右每次点亮一个LED,当点亮所有LED时,全灭。再

文档评论(0)

企业资源 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档