1、第2章 单片机的硬件结构和原理,2.1 概述 2.2 MCS -51单片机硬件结构 2.3 中央处理器CPU 2.4 存储器的结构 2.5 并行输入/输出接口 2.6 单片机的引脚及其功能 2.7 单片机工作的基本时序,2.1 概 述,2.1.1 单片机的发展简史,70年代:单板机 80年代:单片机 90年代 以后:大规模、专业化单片机,1. 4位机(单板机)(19711974) 2. 低档8位机(单板机)(19741978) 3. 高档8位单片机(19781982) 4. 16位单片机(19821990) 5. 新一代单片机(90年代以来),2.1.2 单片机的应用,1. 单机应用,(1)
2、测控系统。 (2) 智能仪表。 (3) 机电一体化产品。 (4) 智能接口。 (5) 智能民用产品。,单片机的特点 小巧灵活、成本低、易于产品化 可靠性好,适应温度范围宽 易扩展,易构成各种应用系统 方便地实现多机和分布式控制系统,2. 多机应用 (1) 功能集散系统。 (2) 并行多控制系统。 (3) 局部网络系统。,1.工业 生产过程流水线控制 各种工业产品的自动控制 2.农业 农业自动化生产过程控制 农副产品加工自动化生产过程控制 3.国防 航天飞行器、人造卫星控制; 飞行器驾驶、作战自动控制; 雷达、导弹自动控制 4.民用产品: 家用电器; 玩具; 个人用微机及外设; 智能仪器、仪表;
3、 通讯仪器,2.2 MCS - 51单片机硬件结构,2.2.1 MCS - 51系列单片机的分类,表 2.1 MCS - 51 系列单片机配置一览表,Atmel()51系列: AT89c51/52/s53/c2051/c1051;,2.2.2 MCS - 51单片机的内部结构,图 2.1 MCS - 51单片机结构框图,2.2.3 MCU主要厂家1. Intel()51 系列:8031/8051/8751, 8032/8052;96系列:8097/8098/80196KB/KC/KD; 2. Atmel()51系列:AT89c51/52/s53/c2051/c1051;RISC系列; ARM系
4、列等; 3.Microchip(WWW)PIC系列:Pic16c5x/6x/7x/f8x;,4.Analog device()Soc系列: ADuC812/814/824; 5.Cygnal()Soc 系列:C8051F020/040/060/080; 6.TI()MSP系列:MSP430F11x/13x/14x; 7.Motorola()68HC 系列:68HCxx,参考书: 1. 单片机原理及接口技术 曹国华 西电科大;2. 单片微机原理及应用 丁元杰 机工版;3. Mcs51单片机应用设计 张毅刚 哈工版;4. 单片微型计算机原理及应用 张毅坤 西电版,2.4 存储器的结构,图 2.4
5、MCS - 51 单片机的存储器结构,1. 程序存储器对于8051来说, 程序存储器(ROM)的内部地址为 0000H0FFFH, 共4 KB; 外部地址为1000HFFFFH, 共 60 KB。当程序计数器由内部 0FFFH执行到外部 1000H 时, 会自动跳转。对于 8751 来说, 内部有 4 KB的EPROM, 将它作为内部程序存储器; 8031 内部无程序存储器, 必须外接程序存储器。8031最多可外扩64 KB程序存储器, 其中6个单元地址具有特殊用途, 是保留给系统使用的。0000H是系统的启动地址, 一般在该单元中存放一条绝对跳转指令。0003H、000BH、 0013H、0
6、01BH和 0023H对应 5 种中断源的中断服务入口地址。,51单片机程序存储器中的特殊单元: 0000H-复位后程序的起点位置(PC)=0000H 0003H-外部中断0(INT0) 中断服务入口地址 000BH-计数器定时器0(T0)的中断服务入口地址 0013H -外部中断1(INT1) 中断服务入口地址 001BH -计数器定时器1(T1)的中断服务入口地址 0023H-串行口(SIO)的中断服务入口地址002BH - (T2)的中断服务入口地址-(52子系列),2. 内部数据存储器MCS-51 单片机片内RAM的配置如图 2.4(b)所示。片内RAM为 256 字节, 地址范围为0
7、0HFFH, 分为两大部分: 低 128 字节(00H7FH)为真正的RAM区; 高 128 字节(80HFFH)为特殊功能寄存器区SFR。在低 128 字节RAM中, 00H1FH共 32 单元是 4 个通用工作寄存器区。每一个区有 8 个通用寄存器R0R7。寄存器和RAM地址对应关系如表 2.4。,表 2.4 寄存器与RAM 地址对照表,表 2.5 RAM中的位寻址区地址表,表 2.6 SFR特殊功能寄存器地址表,表 2.6 SFR特殊功能寄存器地址表,表 2.6 SFR特殊功能寄存器地址表,3. 外部数据存储器外部数据存储器一般由静态RAM构成,其容量大小由用户根据需要而定, 最大可扩展
8、到 64 KB RAM , 地址是 0000H0FFFFH。CPU通过MOVX指令访问外部数据存储器, 用间接寻址方式, R0、R1和 DPTR都可作间接寄存器。注意, 外部RAM和扩展的I/O接口是统一编址的, 所有的外扩I/O口都要占用 64 KB中的地址单元。,2.3 中央处理器CPU,2.3.1 运算器,1. 算术逻辑单元ALU 2. 累加器ACC (Accumulator) 3. 寄存器B 4. 程序状态字PSW (Programe State Word),Cy 或C-进位借位标志位; 位累加器 AC-辅助进位借位标志位 F0-用户标识位 RS0,RS1-工作寄存器组选择位 OV-溢
9、出标志位 D1- 保留位 P-奇偶标志位,表 2.2 RS1、 RS0与片内工作寄存器组的对应关系,2.3.2 控制器,1. 时钟电路,图 2.2 单片机时钟电路 (a) 内部时钟电路; (b) 外部振荡源,2. 复位电路,图 2.3 单片机复位电路 (a)上电复位电路;(b) 开关复位电路,表 2.3 复位后内部寄存器状态,3. 指令寄存器和指令译码器指令寄存器中存放指令代码。CPU执行指令时, 由程序存储器中读取的指令代码送入指令存储器, 经译码器译码后由定时与控制电路发出相应的控制信号, 完成指令所指定的操作。,4. 程序计数器PC(Program Counter)PC用于存放CPU下一
10、条要执行的指令地址, 是一个 16 位的专用寄存器, 可寻址范围是0000H0FFFFH共 64 KB。 程序中的每条指令存放在ROM区的某一单元, 并都有自己的存放地址。 CPU 要执行哪条指令时, 就把该条指令所在的单元的地址送上地址总线。 在顺序执行程序中, 当PC的内容被送到地址总线后, 会自动加 1, 即(PC) (PC)+1, 又指向CPU 下一条要执行的指令地址。,5. 堆栈指针SP(Stack Pointer)堆栈操作是在内存RAM区专门开辟出来的按照“先进后出”原则进行数据存取的一种工作方式, 主要用于子程序调用及返回和中断处理断点的保护及返回, 它在完成子程序嵌套和多重中断
11、处理中是必不可少的。为保证逐级正确返回, 进入栈区的“断点”数据应遵循“先进后出”的原则。SP用来指示堆栈所处的位置, 在进行操作之前, 先用指令给SP赋值, 以规定栈区在RAM区的起始地址(栈底层)。当数据推入栈区后, SP的值也自动随之变化。MCS - 51 系统复位后, SP初始化为07H。,6. 数据指针寄存器DPTR数据指针DPTR是一个 16 位的专用寄存器, 其高位字节寄存器用DPH表示,低位字节寄存器用DPL表示。既可作为一个 16 位寄存器DPTR来处理, 也可作为两个独立的 8 位寄存器DPH和DPL来处理。 DPTR 主要用来存放 16 位地址, 当对 64 KB外部数据
12、存储器空间寻址时或在访问程序存储器时, 用作基址寄存器。,2.5 并行输入/输出接口,图 2.5 P0 口内部一位结构图,1. P0口,2. P1、P2和P3口,P1、P2 和P3 口为准双向口, 在内部差别不大, 但使用功能有所不同。 P1口是用户专用 8 位准双向I/O口, 具有通用输入/输出功能, 每一位都能独立地设定为输入或输出。当有输出方式变为输入方式时, 该位的锁存器必须写入“1”, 然后才能进入输入操作。 P2口是 8 位准双向I/O口。外接I/O设备时, 可作为扩展系统的地址总线, 输出高8位地址, 与P0 口一起组成 16 位地址总线。 对于 8031 而言, P2 口一般只
13、作为地址总线使用, 而不作为I/O线直接与外部设备相连。,表 2.7 P3口的第二功能,P3口为双功能口。当作为通用I/O口时,是准双向口;当作为第二功能使用时,每一位的功能如表2.7所示。,2.6 单片机的引脚及其功能,图 2.6 MCS - 51单片机引脚及总线结构 (a) 管脚图; (b) 8031 引脚功能分类,2.6 单片机的引脚及其功能,2.7 单片机工作的基本时序,1. 机器周期和指令周期(1) 振荡周期: 也称时钟周期, 是指为单片机提供时钟脉冲信号的振荡源的周期。 (2) 状态周期: 每个状态周期为时钟周期的 2 倍, 是振荡周期经二分频后得到的。 (3) 机器周期: 一个机器周期包含 6 个状态周期S1S6, 也就是 12 个时钟周期。 在一个机器周期内, CPU可以完成一个独立的操作。 (4) 指令周期: 它是指CPU完成一条操作所需的全部时间。 每条指令执行时间都是有一个或几个机器周期组成。MCS - 51 系统中, 有单周期指令、双周期指令和四周期指令。,2. MCS - 51 指令的取指/执行时序,图2.7 MCS - 51 单片机取指/执行时序,3. 访问外部ROM和RAM的时序,图 2.8 读外部程序ROM时序,图 2 - 9 读外部数据RAM时序,图 2.10 写外部数据RAM的时序,