单片机系统架构
单片机概述
- 微型计算机的组成
微处理器、存储器加上I/O接口电路组成微型计算机。各部分通过地址总线(AB)、数据总线(DB)和控制总线(CB)相连。
- 微型计算机的应用形态
从应用形态上,微机可以分成三种:
- 多板机(系统机)
- 系统机(桌面应用)属于通用计算机,主要应用于数据处理、办公自动化及辅助设计。
- 单板机
- 单片机(单芯片微型计算机)
- 单片机(嵌入式应用)属于专用计算机,主要应用于智能仪表、智能传感器、智能家电、智能办公设备、汽车及军事电子设备等应用系统。
单片机体积小、价格低、可靠性高,其非凡的嵌入式应用形态对于满足嵌入式应用需求具有独特的优势。
-
单片机的特点及应用领域
- 单片机的特点
- 控制性能和可靠性高
- 体积小、价格低、易于产品化
- 单片机的应用领域
- 智能仪器仪表
- 机电一体化产品
- 实时工业控制
- 分布式系统的前端模块
- 家用电器
- 单片机的特点
-
单片机应用系统开发简介
-
单片机应用系统的开发
-
正确无误的硬件设计和良好的软件功能设计是一个实用的单片机应用系统的设计目标。完成这一目标的过程称为单片机应用系统的开发。
-
单片机作为一片集成了微型计算机基本部件的集成电路芯片,与通用微机相比,它自身没有开发功能,必须借助开发机(一种特殊的计算机系统)来完成如下任务:
- 排除应用系统的硬件故障和软件错误
- 程序固化到内部或外部程序存储器芯片中
-
指令的表示形式
- 指令是让单片机执行某种操作的命令。在单片机中,指令按一定的顺序以二进制码的形式存放于程序存储器中。为了书写、输入和显示方便,人们通常将二进制的机器码写成十六进制形式。
-
汇编或编译
符号指令要转换成计算机所能执行的机器码并存入计算机的程序存储器中,这种转换称为汇编。常用的汇编方法有三种:
- 手工汇编
- 利用开发机的驻留汇编程序进行汇编
- 交叉汇编
- 现在人们还可以常常采用高级语言(如C51)进行单片机应用程序的设计。这种方法具有周期短、移植和修改方便的优点,适合于较为复杂系统的开发。
-
-
单片机应用系统传统开发方式
- 利用独立型仿真器开发
-
利用非独立型仿真器开发
-
51单片机系统内核
51 单片机内核
1.8051是51系统单片机中的典型产品,8051单片机主要参数及功能如下:
·8 位 CPU
·4kbytes 程序存储器(ROM) (52 为 8K)
·128bytes 的数据存储器(RAM) (52 有 256bytes 的 RAM)
·32 条 I/O 口线
·111 条指令,大部分为单字节指令
·21 个专用寄存器
·2 个可编程定时/计数器
·5 个中断源,2 个优先级(52 有 6 个)
- 可以通过SFR中的IP来设置中断优先级别,默认最高级别是外部中断0,最低级别是串口中断。如果将两个中断优先级都设为最高,则按照默认的较高优先级来执行。程序在执行较低优先级中断子程序的时候能够响应更高级别的中断,但是在执行高优先级中断子程序的时候不能响应同级别或更低级别的中断。
·一个全双工串行通信口
·外部数据存储器寻址空间为 64kB
·外部程序存储器寻址空间为 64kB
·逻辑操作位寻址功能
·双列直插 40PinDIP 封装
·单一+5V 电源供电
CPU:由运算和控制逻辑组成,同时还包括中断系统和部分外部特殊功能寄
存器;
RAM:用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示
的数据;
ROM:用以存放程序、一些原始数据和表格;
I/O 口:四个 8 位并行 I/O 口,既可用作输入,也可用作输出
T/C:两个定时/记数器,既可以工作在定时模式,也可以工作在计数模式;
五个中断源的中断控制系统;
一个全双工 UART(通用异步接收发送器)的串行 I/O 口,用于实现单片机之
间或单片机与微机之间的串行通信;
片内振荡器和时钟产生电路,石英晶体和微调电容需要外接。最佳振荡频率
为 6M—12M。
其内部结构图如下所示:
总线(BUS)是单片机各部件之间传送信息的公共通道。单片机中有内部总
线和外部总线两类,内部总线是 CPU 内部之间的连线,外部总线是指 CPU 与其它
部件之间的连线;外部总线有三种: 数据总线 DB(Data Bus),地址总线 AB
(Address Bus)和控制总线 CBControl Bus)。
单片机的主要封装
51单片机内部结构
CPU结构
- 单片机的定义
单片机是单片微型计算机的简称,把各种功能部件包括中央处理器(CPU)、只读存储器(ROM)、随机读写存储器(RAM)、输入输出(I/O)单元、定时器/计数器以及串行口等集成在一块芯片上构成的微型计算机。
-
51单片机的CPU结构
- MCS-51系列的8051单片机内部结构如图
中央处理器(CPU)是整个单片机的核心部件,实现了运算器和控制器的功能。主要由算术逻辑单元、定时控制部件和专用寄存器组三部分电路组成。
- 算术逻辑单元(ALU)
- 8位的ALU,可对4位、8位、16位数据进行操作。
- ALU由一个加法器、两个8位暂存器和布尔处理器组成。
- 程序可控制累加器A、寄存器B和寄存器组R0-R7控制ALU完成算术和逻辑运算。
- 定时控制部件
-
组成:定时控制逻辑、指令寄存器和振荡器组成。
-
作用:控制指令的执行
第一步**取指**:指令寄存器IR:存放程序存储器中取出的指令。
第二步**译码**:指令译码器通过定时控制逻辑对指令寄存器中的指令译码。
第三步**执行**:在振荡器配合下产生执行指令所需的时钟脉冲,从而完成指令的执行。
3. 专用寄存器组
用于指示当前要执行指令的内存地址、存放操作数和指示指令执行后的状态。
- 程序计数器PC,16位。
PC是程序的字节地址计数器,PC内容为将要执行的指令地址。改变PC内容,改变执行的流向。它由两个8位计数器PCH、PCL组成。PC可对64KB的ROM直接寻址,也可对89C51片内RAM寻址 。
- 累加器ACC,8位。
用于向ALU提供操作数,许多运算的结果也存放在累加器中,是应用最频繁的寄存器。
- 寄存器B,8位。
主要用于乘、除法运算。也可以作为RAM的一个单元使用。
-
在内部数据存储器中,工作寄存器的内存单元为1FH-00H+1即为31-0+1=32个,共分为0~3四个寄存器区域,每个区域有8个寄存器
-
堆栈指针SP,8位。它总是指向栈顶。 -
堆栈操作遵循“先进后出、后进先出”的原则。
-
SP原先指向栈底。入栈操作时,SP先加1,数据再压入SP指向的单元。出栈操作时, 先将SP指向的单元的数据弹出,然后,SP再减1,这时SP指向的单元是新的栈顶。可见,80C51单片机的堆栈区是向地址增大的方向生成的。
-
堆栈的作用:断点保护和现场保护。
数据指针DPTR,16位。
用来存放16位的地址。由两个8位的寄存器DPH和DPL组成。间接寻址或变址寻址可访问片外的64KB范围的RAM或ROM数据。
### 存储器结构
51单片机单片机工作时序
-
时钟电路
-
根据硬件电路的不同,单片机的时钟连接方式可以分为内部时钟和外部时钟方式。
内部振荡方式:MCS-51单片机片内有一个用于构成振荡器的高增益反向放大器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。把放大器与作为反馈元件的晶体振荡器或陶瓷谐振器连接,就构成了内部自激振荡器并产生振荡时钟脉冲。
外部振荡方式:外部振荡方式就是把外部已有的时钟信号引入单片机内,接XTAL2引脚,XTAL1引脚接地。
内部时钟 外部时钟
-
- 机器周期及指令周期
T状态周期=2T振荡周期,T机器周期=6T状态=12T振荡=12*1/fosc fosc为晶振频率
12MHZ晶振的机器周期=12÷12000000=0.000001秒=1微秒
单片机复位后的状态
单片机复位后,PSW为0切记,当前工作寄存器为0组。
堆栈指针SP重新指向栈底07H,P0~P3=FFH -的高阻态(既可输入也可以输出),其他都为0。