文档详情

单片机原理及应用

平***
实名认证
店铺
PPT
785.65KB
约34页
文档ID:48830703
单片机原理及应用_第1页
1/34

第二章 MCS—51系列单片机芯 片结构 2.1 MCS—51系列单片机的结构原理2.1.1 MCS-51单片机逻辑结构MCS-51单片机的系统结构框图如图2.1所示 图2.1 MCS-51单片机的系统结构框图由图2.1可以看出,单片机内部主要包含下列几个部件:u 一个8位CPU;u 一个时钟电路;u 4Kbyte程序存储器;u 128byte数据存储器;u 两个16位定时/计数器;u 64Kbyte扩展总线控制电路;u 四个8-bit并行I/O端口;u 一个可编程串行接口;五个中断源,其中包括两个优先级嵌套中断 2.1.2 MCS-51单片机内部结构MCS-51单片机芯片内部结构框图如图2.2所示 图2.2 MCS-51单片机芯片内部结构框图1. CPUCPU即中央处理器的简称,是单片机的核心部件,它完 成各种运算和控制操作,CPU由运算器和控制器两部分电路 组成1)运算器电路运算器电路包括ALU(算术逻辑单元)、ACC(累加器 )、B寄存器、状态寄存器、暂存器1和暂存器2等部件,运算 器的功能是进行算术运算和逻辑运算。

(2)控制器电路控制器电路包括程序计数器PC、PC加1寄存器、指令寄 存器、指令译码器、数据指针DPTR、堆栈指针SP、缓冲器以 及定时与控制电路等控制电路完成指挥控制工作,协调单 片机各部分正常工作 2. 定时器/计数器MCS-51单片机片内有两个16位的定时/计数器,即定 时器0和定时器1它们可以用于定时控制、延时以及对外 部事件的计数和检测等3. 存储器MCS-51系列单片机的存储器包括数据存储器和程序 存储器,其主要特点是程序存储器和数据存储器的寻址空 间是相互独立的,物理结构也不相同4. 并行I/O口MCS-51单片机共有4个8位的I/O口(P0、P1、P2和P3 ),每一条I/O线都能独立地用作输入或输出P0口为三态 双向口,能带8个TTL门电路,P1、P2和P3口为准双向口, 负载能力为4个TTL门电路 5. 串行I/O口MCS-51单片机具有一个采用通用异步工作方式的全双 工串行通信接口,可以同时发送和接收数据6. 中断控制系统8051共有5个中断源,即外中断2个,定时/计数中断2个 ,串行中断1个7. 时钟电路MCS-51芯片内部有时钟电路,但晶体振荡器和微调电 容必须外接。

时钟电路为单片机产生时钟脉冲序列,振荡器 的频率范围为1.2MHz~12MHz,典型取值为6MHz8. 总线以上所有组成部分都是通过总线连接起来,从而构成一 个完整的单片机系统的地址信号、数据信号和控制信号都 是通过总线传送的,总线结构减少了单片机的连线和引脚, 提高了集成度和可靠性 2.1.3 引脚信号图2.3为MCS-51系列单片机引脚图及逻辑符号,它们 为标准的40脚DIP封装 图2.3 MCS-51系列单片机引脚图及逻辑符号电源引脚Vcc和VssVcc:电源端,接+5VVss:接地端时钟电路引脚XTAL1和XTAL2XTAL1:接外部晶振和微调电容的一端,在片内它是振 荡器倒相放大器的输入,若使用外部TTL时钟时,该引脚必须 接地XTAL2:接外部晶振和微调电容的另一端,在片内它是 振荡器倒相放大器的输出,若使用外部TTL时钟时,该引脚为 外部时钟的输入端地址锁存允许ALE系统扩展时,ALE用于控制地址锁存器锁存P0口输出的低 8位地址,从而实现数据与低位地址的复用外部程序存储器读选通信号是读外部程序存储器的选通信号,低电平有效程序存储器地址允许输入端 /VPP 当为高电平时,CPU执行片内程序存储器指令,但当PC 中的值超过0FFFH时,将自动转向执行片外程序存储器指令 。

当为低电平时,CPU只执行片外程序存储器指令复位信号RST该信号高电平有效,在输入端保持两个机器周期的高电 平后,就可以完成复位操作1. 输入/输出口引脚P0、P1、P2和P3P0口(P0.0~P0.7):该端口为漏极开路的8位准双向 口,负载能力位8高LSTTL负载,它为8位地址线和8位数 据线的复用端口P1口(P1.0~P1.7):它是一个内部带上拉电阻的8位 准双向I/O口,P1口的驱动能力为4个LSTTL负载P2口(P2.0~P2.7):它为一个内部带上拉电阻的8位 准双向I/O口,P2口的驱动能力也为4个LSTTL负载在 访问外部程序存储器时,它作存储器的高8位地址线P3口(P3.0~P3.7):P3口同样是内部带上拉电阻的8 位准双向I/O口,P3口除了作为一般的I/O口使用之外,其 还具有特殊功能2.2 MCS—51单片机的存储器MCS-51的存储器结构如图2.4所示在本节中我们将 对单片机的内部数据存储器、内部程序存储器和外部存储 器分别作一介绍 图2.4 MCS-51的存储器结构如2.2.1 内部数据存储器 1. 内部数据存储器低128单元在低128字节存储单元中,前32个单元(00H~1FH) 作为工作寄存器使用,这32个寄存器分作4组,每组由8个 通用寄存器(R0~R7)组成,组号依次为0、1、2和3。

通 过对程序状态字中RS1和RS0的设置,可以决定选用哪一组 工作寄存器,通常没有选中的单元也可作为一般的数据缓 存使用系统上电复位时,默认选中第0组寄存器在工作寄存器后的16个数据单元(20H~2FH),它们既 可以作为一般的数据单元使用,由可以按位对每个单元进行 操作,因此这16个数据单元又称作位寻址区位寻址区共计 128位,其位地址为00H~0FH在内部RAM的低128个单元中,剩余的80个数据单元即 30H~7FH为真正的用户RAM区,对于这些区域,用户只能 以存储单元的形式来使用,通常在应用中也把堆栈开辟在这 段区域2. 内部数据存储器高128单元内部数据存储器的高128个单元是为专用寄存器提供的, 因此该区也称作特殊功能寄存器区(SFR),它们主要用于存 放控制命令、状态或数据除去程序计数器PC外,还有21个 特殊功能寄存器,其地址空间为80H~FFH这21个寄存器中 有11个特殊功能寄存器具有位寻址能力,它们的字节地址刚好 能被8整除下面将对部分专用寄存器作简要介绍 v 累加器ACC累加器为8位寄存器,是程序中最常用的专用寄存器, 在指令系统中累加器的助记符为A大部分单操作数指令的 操作取自累加器,很多双操作数指令的一个操作数也取自累 加器。

加、减乘和除等算术运算指令的运算结果都存放在累 加器A或AB寄存器中,在变址寻址方式中累加器被作为变址 寄存器使用在MCS-51中由于只有一个累加器,而单片机中的大部分数据操作都是通过累加器进行的,故累加器的使用 是十分频繁的 v B寄存器B寄存器为8位寄存器,主要用于乘除指令中乘法指令的 两个操作数分别取自累加器A和寄存器B,其中B为乘数,乘法 结果的高8位存放于寄存器B中除法指令中,被除数取自A, 除数取自B,除法的结果商数存放于A,余数存放于B中在其 它指令中,B寄存器也可作为一般的数据单元来使用 v 程序状态字PSW程序状态字是一个8位寄存器,它包含程序的状态信息在 状态字中,有些位状态是根据指令执行结果,由硬件自动完成 设置的,而有些状态位则必须通过软件方法设定PSW中的每 个状态位都可由软件读出,PSW的各位定义如表2.1 表2.1 PSW的各状态位定义(1)CY:进位标志位在执行某些算术和逻辑指令时,可以被硬件或软件置位或清 零在算术运算中它可作为进位标志,在位运算中,它作累加器 使用,在位传送、位与和位或等位操作中,都要使用进位标志位 2) AC:辅助进位标志进行加法或减法操作时,当发生低四位向高四位进位或借位 时,AC由硬件置位,否则AC位被置“0”。

在进行十进制调整指 令时,将借助AC状态进行判断 位 序PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位标志CYACF0 RS1RS0 OV/P(3)用户标志位该位为用户定义的状态标记,用户根据需要用软件对其置 位或清零,也可以用软件测试F0来控制程序的跳转4)RS1和RS0:寄存器区选择控制位该两位通过软件置“0”或“1”来选择当前工作寄存器区5)OV:溢出标志位当执行算术指令时,由硬件置位或清零来指示溢出状态 在带符号的加减运算中,OV=1表示加减运算结果超出了累加 器A所能表示的符号数有效范围(-128~+127),即运算结 果是错误的,反之,OV=0表示运算正确,即无溢出产生无符号数乘法指令MUL的执行结果也会影响溢出标志, 若置于累加器A和寄存器B的两个数的乘积超过了255,则OV =1,反之OV=0由于乘积的高8位存放于B中,低8位存放于 A中,OV=0则意味着只要从A中取得乘积即可,否则要从BA 寄存器对中取得乘积结果在除法运算中,DIV指令也会影响溢出标志,当除数为 0时,OV=1,否则OV=06) P:奇偶标志位每个指令周期由硬件来置位或清零用以表示累加器A 中1的个数的奇偶性,若累加器中1的个数为奇数则P=1, 否则P=0。

l 数据指针DPTR数据指针DPTR为一个16位的专用寄存器,其高位用 DPH表示,其低位用DPL表示,它即既可以作为一个16位 的寄存器来使用,也可作为两个8位的的寄存器DPH和DPL 使用DPTR在访问外部数据存储器时既可用来存放16位 地址,也可作地址指针使用如MOVX @DPTR,Al I/O端口P0~P3P0~P3为四个8位的特殊功能寄存器,分别是四个并行I/O 端口的锁存器,当I/O端口的某一位用作输入时,对应的锁存器 必须先置“1”l 定时器/计数器在MCS-51中,除8032/8052外都只有两个16位定时器/计 数器T0和T1,它们由两个相互独立的8位寄存器组成TH和TL, 共有四个独立的寄存器TH0、TL0、TH1和TL1,只可对这四个 寄存器独立寻址,而不能作为一个16位寄存器来寻址 l 串行数据缓冲寄存器串行数据缓冲器SBUF用于存放将要发送或已接收的数据 ,它由发送缓冲器和接收缓冲器组成,将要发送的数据被送入 SBUF时进入发送缓冲器,反之进入接收缓冲器2.2.2 外部数据存储器在MCS-51中,其片外数据存储器和I/O口与片内数据存储 器空间0000FH~FFFFH是重叠的。

在8051单片机中采用 MOV和MOVX两种指令来区分片内外RAM空间,其中片内 RAM使用MOV指令,片外RAM和I/O口使用MOVX指令2.2.3 程序存储器在MCS-51系列中,程序存储器被用来存放程序、常数 或表格等在8051中,其片内有4K字节的ROM存储单元, 地址为0000H~0FFFH8751有4K字节的EPROM,而8052和 8752则有8K字节的片内存储器8031和8032无片内程序存储 器,所以片内程序存储器的有无是区分芯片的主要标志在程序存储器中,以下6个单元具有特殊含义:0000H:单片机复位后,PC=0000H,程序从0000H 开始执行指令0003H:外部中断0入口地址000BH:定时器0中断入口地址 0013H:外部中 断1入口地址001BH:定时器1中断入口地址0023H:串行口中断入口地址在系统中断相应之后,将自动转各中断入口地址处 执行程序,而中断服务程序一般无法存放于几个单元之 内,因此在中断入口地址处往往存放一条无条件转移指 令进行跳转,以便执行中断服务程序 2.3MCS-51单片机输入/输出(I/O)口2.3.1 P0口图2.6给出了P0口的逻辑结构,它由一个锁存器、两个三态输 入缓冲器、一个多路复用开关以及控制电路和驱动电路等组成。

图2.6 。

下载提示
相似文档
正为您匹配相似的精品文档