C单片机的基本结构和工作原理.pptx
《C单片机的基本结构和工作原理.pptx》由会员分享,可在线阅读,更多相关《C单片机的基本结构和工作原理.pptx(63页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2.1 80C51单片机的组成(1)中央处理器(CPU)单片机中央处理器和通用微处理器基本相同,只是增设了“面向对象”的处理功能。如位处理、查表、多种跳转、乘除法运算、状态检测、中断处理等,增强了实时性。(2)存储器 目前微型计算机和单片机的存储器主要有两种结构,即哈佛(Harvard)结构和普林斯顿(Princeton)结构。所谓哈佛结构,是将程序存储器和数据存储器截然分开,分别寻址的结构;而普林斯顿结构,则是将程序和数据共用一个存储器空间的结构。80C51系列单片机采用前者。第1页/共63页图21 80C51单片机的基本组成框图 第2页/共63页 程序存储器(ROM)程序存储器用来存放程序
2、和始终要保留的常数。常用的有片内掩膜ROM、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程型ROM(E2PROM)8031片内没有程序存储器8051内部设有4KB的掩模ROM程序存储器8751是将8051片内的ROM换成EPROM89C51则换成4KB的闪速EEPROM89S51结构同89C51,4KB的闪速EEPROM可在线编程 增强型52、54、58系列的存储容量为普通型分别为8KB、16KB、64KB第3页/共63页 数据存储器(RAM)数据存储存放程序运行中所需要的常数和变量。51系列内部RAM容量为128B,52系列为256B。(3)I/O接口 并行I/O
3、接口 80C51单片机内部有4个8位I/O接口,不仅可灵活地用作输入或输出,而且还具有多种功能。串行口 80C51单片机有一个全双工的串行口,以实现单片机和其它设备间的串行通讯。该串行口还可作为同步移位器使用。第4页/共63页(4)时钟电路 80C51单片机内部有时钟电路,但石英晶体和微调电容需外接,时钟电路为单片机产生时钟脉冲序列。(5)中断 80C51共有5个中断源,即外部中断2个,定时器/计数器中断2个,串行口中断1个,全部中断源分为两个优先级,优先级的高低可通过编程实现。(6)定时器/计数器 80C51共有2个16位的定时器/计数器,以实现精确的定时或对外部事件的计数功能。第5页/共6
4、3页 从以上内容可以看出,单片机突破了常规的按逻辑功能划分芯片,由多片构成微型计算机的设计思想,将构成计算机的许多功能集成在一块晶体芯片上,它已具备了计算机的基本功能,实际上已经是一个简单的微型计算机系统了。第6页/共63页2.2 80C51单片机内部结构和引脚功能2.2.1 80C51的内部结构 80C51单片机的内部结构如图22所示。它主要由以下几个部分组成:1个8位的中央处理器;4KB的EPROM/ROM;128B的RAM;32条I/O线;2个定时器/计数器;1个具有5个中断源、2个优先级的中断嵌套结构;用于多处理机通讯、I/O口扩展或全双工通用异步接收发器(UART);特殊功能寄存器(
5、SFR);1个片内振荡器和时钟电路。这些部件通过内部总线连接起来,构成一个完整的微型计算机。第7页/共63页图22 80C51的内部结构图第8页/共63页2.2.2.中央处理器(CPU)中央处理器是单片机内部的核心部件,它决定了单片机的主要功能特性。中央处理器从功能上可分为运算器、控制器两部分。(1)运算器 运算器由运算逻辑单元ALU、累加器ACC(A)、暂存寄存器、B寄存器、程序状态标志寄存器PSW以及BCD码运算修正电路等组成。第9页/共63页 算术逻辑单元ALU 算术逻辑单元ALU的结构如图23所示。ALU功能十分强大,不仅可以对8位变量进行逻辑“与”、“或”、“异或”、循环求补、清零等
6、基本操作,还可以进行加、减、乘、除等基本运算,并具有数据传输、程序转移等功能。为了乘除运算的需要,设置了B寄存器。图23 ALU结构第10页/共63页 累加器ACC 累加器ACC(简称累加器A)为一个8位寄存器,它是CPU中使用最频繁的寄存器。大部分单操作数指令的操作数取自累加器A,很多双操作数指令的一个操作数取自累加器A,加、减、乘和除等算术运算指令的运算结果都存放在累加器A或AB寄存器中,在变址寻址方式中累加器被作为变址寄存器使用。需要注意的是,在80C51单片机,还有一部分可以不经过累加器A的传送指令,如:寄存器直接寻址单元之间;直接寻址单元与间接寻址单元之间;寄存器、直接寻址单元、间接
7、寻址单元与立即数之间的传送指令。其目的是加快传送速度,减少累加器A的堵塞现象。第11页/共63页 B寄存器 B寄存器为8位寄存器,主要用于乘除指令中。乘法中,ALU的两个输入分别为A、B,运算结果存放在AB寄存器对中。A中存放积的低8位,B中存放积的高8位。除法中,A中存放被除数,B中放入除数,商数存放于A,余数存放于B。当然B寄存器也可作为一个普通的内部RAM单元使用。程序状态字 程序状态字PSW(Program Status Word)是一个逐位定义的8位标志寄存器,它保存指令执行结果的特征信息,以供程序查询和判别。其各位的定义如下:第12页/共63页 a.PSW.0(P,奇偶标志位)每个
8、指令周期由硬件来置位或清零用以表示累加器A中1的位数的奇偶性,若累加器中1的位数为奇数则P1,否则P0。b.PSW.2(OV,溢出标志位)c.PSW.3、PSW.4(RS0、RS1,工作寄存器选择控制位)该两位通过软件置“0”或“1”来选择当前工作寄存器组,具体定义见表21。第13页/共63页RS1RS0所选中的寄存器组00寄存器0组(00H07H)01寄存器1组(08H0FH)10寄存器2组(10H17H)11寄存器3组(18H1FH)表21 工作寄存器组选择 第14页/共63页 d.PSW.5(F0,用户标志位)该位为用户定义的状态标记,用户根据需要用软件对其置位或清零,也可以用软件测试F
9、0的状态来实现分支转移。e.PSW.6(AC,辅助进位标志位)进行加法或减法操作时,当发生低四位向高四位进位或借位时,AC由硬件置位,否则AC位被清“0”。在进行十进制调整指令时,将借助AC状态进行判断。f.PSW.7(CY,进位标志位)在算术运算中它可作为进位标志,表示运算结果中高位是否有进位或借位的状态。第15页/共63页(2)控制器 控制器是单片机的神经中枢,与运算器一起组成中央处理器。在80C51单片机中,控制器电路包括程序计数器PC、程序地址寄存器、指令寄存器、指令译码器、数据指针DPTR、堆栈指针SP、条件转移逻辑电路、缓冲器以及定时控制电路等。其功能是控制指令的读出、译码和执行,
10、协调单片机各部分正常工作。第16页/共63页 程序计数器PC PC(Program Counter)是中央控制器中最基本的寄存器,是一个独立的16位计数器,其内容为将要执行的指令地址,寻址范围可达64KB。PC有自动增一的功能,从而实现程序的顺序执行。PC没有地址,是不可寻址的,因此用户不能对其进行读写,但可以通过跳转、调用、返回等指令改变其内容,以实现程序的转移。数据指针DPTR 数据指针是80C51中一个功能比较特殊的16位寄存器。主要是作为片外数据存储器寻址用的地址寄存器(间址寻址),故称数据指针。DPTR也可作为访问程序存储器的基址寄存器。第17页/共63页2.2.3 时钟电路及CPU
11、工作时序(1)时钟电路 80C51单片机时钟电路如图24所示,时钟信号可由内部振荡方式或外部振荡方式得到。图24 单片机时钟电路 第18页/共63页 内部振荡方式:在80C51芯片内部有一个高增益反相放大器,其输入端为芯片引脚XTALl,其输出端为引脚XTAL2。只需要在片外通过XTAL1和XTAL2引脚跨接晶体振荡器和在引脚与地之间加接微调电容,形成反馈电路,振荡器即可工作,如图25所示。图25 内部振荡方式 第19页/共63页 外部振荡方式:把外部已有的时钟信号引入单片机内。该方式适宜用来使单片机的时钟信号与外部信号保持同步。外部振荡方式的外部电路如图26所示。图26 外部振荡电路 需要注
12、意,这里引入外部振荡信号的方式是针对80C51系列单片机的,对于其它系列的单片机情况会有所不同,读者应参考该系列单片机的有关资料。第20页/共63页(2)CPU工作时序 首先介绍与CPU工作时序相关的几个基本概念。振荡周期 振荡周期指为单片机提供定时信号的振荡源的周期或外部输入时钟的周期。振荡周期为最小的时序单位,片内的各种微操作都以此周期为时序基准。时钟周期 时钟周期又称作状态周期或状态时间S,它是振荡周期的两倍,它分为P1节拍和P2节拍,通常在P1节拍完成算术逻辑操作,在P2节拍完成内部寄存器之间的传送操作。第21页/共63页 机器周期 一个机器周期由6个状态组成,如果把一条指令的执行过程
13、分作几个基本操作,则将完成一个基本操作所需的时间称作机器周期。单片机的单周期指令执行时间就为一个机器周期。由于一个状态周期2个节拍组成,而一个机器周期由6个状态组成,故一个机器周期共有12个振荡脉冲周期,可依次表示为S1P1(状态1拍1)、S1P2(状态1拍2)、S6P2(状态6拍2),因此机器周期就是振荡脉冲的12分频。第22页/共63页 指令周期 指令周期即执行一条指令所占用的全部时间,通常为14个机器周期。它是最大的时序定时单位。80C51的指令周期根据指令的不同,可包含有一、二、四个机器周期。当外接12MHz的晶振时,80C51单片机的四个周期分别为:振荡周期1/12s,时钟周期(状态
14、周期)1/6s,机器周期1s,指令周期14s。80C51共有111条指令,全部指令按其长度可分为单字节指令、双字节指令和三字节指令。执行这些指令所需要的机器周期数目是不同的。第23页/共63页2.2.4 80C51单片机的存储器结构 80C51单片机系列的存储器采用的是哈佛(Harvard)结构,即将程序存储器和数据存储器截然分开,程序存储器和数据存储器各有自已的寻址方式、寻址空间和控制系统。在80C51单片机中,不仅在片内驻留了一定容量的程序存储器和数据存储器及众多的特殊功能寄存器,而且还具有极强的外部存储器扩展能力,寻址范围分别可达64 KB,寻址和操作简单方便。第24页/共63页图28
15、80C51单片机的存储器结构第25页/共63页 在物理上设有4个存储器空间 程序存储器:片内程序存储器;片外程序存储器;数据存储器:片内数据存储器;片外数据存储器。在逻辑上设有3个存储器地址空间 片内、片外统一的64 KB程序存储器地址空间;片内256B(或384B)数据存储器地址空间;片外64 KB的数据存储器地址空间。第26页/共63页(1)程序存储器 程序存储器内部结构参见图28,程序存储器就是用来存放编好的程序和表格常数,它以程序计数器PC作地址指针。由于80C51单片机采用16位的程序计数器和16位的地址总线,因此,可寻址的地址空间为64 KB,且这64K地址是片内外连续、统一的。片
16、内程序存储器和片外程序存储器 整个程序存储器可分为两部分:片内程序存储器和片外程序存储器,可由引脚 所接的电平高低决定。第27页/共63页 时,程序从片内程序存储器空间开始执行,即访问片内程序存储器;当PC值超出片内ROM容量时,自动转向片外程序存储器空间执行。时,系统全部执行片外程序存储器程序。需要说明的是,80C51单片机内部有4KBE2PROM,外部可扩展64KB的ROM,但实际有效的程序存储器容量是64KB,而不是68KB。对于片内无ROM的80C31/80C32单片机,应将引脚固定接低电平,以迫使系统全部执行片外程序存储器程序。第28页/共63页 程序存储器特定的入口地址 程序存储器
17、的某些地址被保留用于特定的程序入口地址,如复位控制和中断控制。表22为80C51单片机复位和中断程序入口地址表。表22 复位和中断入口地址表操 作入 口 地 址复位或非屏蔽中断0000H外部中断00003H定时器/计数器T0溢出000BH外部中断10013H定时器/计数器T1溢出001BH串行口中断0023H定时器/计数器T2/T2EX下降沿(80C52系列)002BH第29页/共63页(2)数据存储器 数据存储器由随机存取存储器RAM构成,用于存放随机数据。80C51单片机数据存储器可分为片内数据存储器和片外数据存储器,它们是两个独立的地址空间。片内数据存储器 片内数据存储器包括片内数据RA
18、M区和特殊功能寄存器(SFR)区,如图29所示。第30页/共63页图29 片内数据存储器地址空间分布图第31页/共63页 a.片内数据RAM区 片内数据RAM区由工作寄存器区、位寻址区和用户RAM区组成。工作寄存器区:片内数据RAM区的031H共32个字节单元,是4个通用工作寄存器组(表21),每个组包含8个8位寄存器(R0R7)。在某一时刻,只能选用一个工作寄存器组使用。究竟哪一组工作是通过软件对程序状态字(PSW)中的RS0(PSW.3)、RS1(PSW.4)位的设置来实现的。位寻址区:片内数据RAM区的 20H2FH共16个字节单元,包含128位,是可位寻址的RAM区。这16个字节单元,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 基本 结构 工作 原理
限制150内