- 1、本文档共76页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
AT89C51单片机结构及原理
第2章 AT89C51单片机结构和原理 ;2.1 AT89C51单片机的结构;图2-1 AT89C51内部结构框图 ; 2.1.1 中央处理器(CPU)
CPU是单片机内部的核心部件,是一个8位二进制数的中央处理单元,主要由运算器、控制器和寄存器阵列构成。
1. 运算器
运算器用来完成算术运算和逻辑运算功能,它是AT89C51内部处理各种信息的主要部件。运算器主要由算术逻辑单元(ALU)、累加器(ACC)、暂存寄存器(TMP1、TMP2)和状态寄存器(PSW)组成。; (1) 算术逻辑单元(ALU):AT89C51中的ALU由加法器和一个布尔处理器组成(图中未具体画出)。
(2) 累加器(ACC):用来存放参与算术运算和逻辑运算的一个操作数或运算的结果。
(3) 暂存寄存器(TMP1、TMP2):用来存放参与算术运算和逻辑运算的另一个操作数,它对用户不开放。
(4) 状态寄存器(PSW):PSW是一个8位标志寄存器,用来存放ALU操作??果的有关状态。 ;表2-1 PSW各位定义表
; ① 进位标志位CY:表示累加器A在加减运算过程中其最高位A7有无进位或借位。
② 辅助进位位AC:表示累加器A在加减运算时低4位(A3)有无向高4位(A4)进位或借位。
③ 用户标志位F0:是用户定义的一个状态标志位,根据需要可以用软件来使它置位或清除。
; ④ 寄存器选择位RS1、RS0:AT89C51共有四组,每组八个工作寄存器R0~R7。编程时用于存放数据或地址。但每组工作寄存器在内部RAM中的物理地址不同。RS1和RS0的四种状态组合就是用来确定四组工作寄存器的实际物理地址的。RS1、RS0状态与工作寄存器R0~R7的物理地址关系如表2-2所示。
;表2-2 工作寄存器组R0~R7的物理地址; ⑤ 溢出标志位OV:当执行算术指令时,由硬件自动置位或清零,表示累加器A的溢出状态。
⑥ 奇偶标志位P:用于指示运算结果中1的个数的奇偶性,若累加器A中1的个数为奇数,则P=1;若1的个数为偶数,则P=0。
; 2. 控制器
控制器是单片机内部按一定时序协调工作的控制核心,是分析和执行指令的部件。控制器主要由程序计数器PC、指令寄存器IR、指令译码器ID和定时控制逻辑电路等构成。
程序计数器PC是专门用于存放现行指令的16位地址的。CPU就是根据PC中的地址到ROM中去读取程序指令码和数据,并送给指令寄存器IR进行分析。 ; 指令寄存器IR用于存放CPU根据PC地址从ROM中读出的指令操作码。
指令译码器ID是用于分析指令操作的部件,指令操作码经译码后产生相应于某一特定操作的信号。
定时控制逻辑中定时部件用来产生脉冲序列和多种节拍脉冲。 ; 3.寄存器阵列
寄存器阵列是单片机内部的临时存储单元或固定用途单元,包括通用寄存器组和专用寄存器组。
通用寄存器组用来存放过渡性的数据和地址,提高CPU的运行速度。
专用寄存器组主要用来指示当前要执行指令的内存地址,存放特定的操作数,指示指令运行的状态等。 ; 2.1.2 存储器
AT89C51单片机内部有256个字节的RAM数据存储器和4?KB的闪存程序存储器(Flash),当不够使用时,可分别扩展为64 KB外部RAM存储器和64 KB外部程序存储器。它们的逻辑空间是分开的,并有各自的寻址机构和寻址方式。这种结构的单片机称为哈佛型结构单片机。
程序存储器是可读不可写的,用于存放编好的程序和表格常数。
数据存储器是既可读也可写的,用于存放运算的中间结果,进行数据暂存及数据缓冲等。; 2.1.3 I/O端口
AT89C51单片机对外部电路进行控制或交换信息都是通过I/O端口进行的。单片机的I/O端口分为并行I/O端口和串行I/O端口,它们的结构和作用并不相同。
1.并行I/O端口
AT89C51有四个8位并行I/O端口,分别命名为P0口、P1口、P2口和P3口,它们都是8位准双向口,每次可以并行输入或输出8位二进制信息。 ; 2.串行I/O端口
AT89C51有一个全双工的可编程串行
文档评论(0)