480 likes | 702 Views
第 2 章 单片机的硬件结构和原理. 2.1 MCS - 51 单片机硬件结构. 2.1.1 MCS - 51 系列单片机的分类. MCS - 51 系列单片机配置一览表. 2.1.2 MCS - 51 单片机的内部结构. MCS - 51 单片机结构框图. 2.1.3 中央处理器 CPU. 一、 运算器. 算术逻辑单元 ALU 2. 累加器 ACC ( Accumulator ) 3. 寄存器 B 4. 程序状态字 PSW ( Programe State Word ).
E N D
2.1 MCS - 51单片机硬件结构 2.1.1 MCS - 51系列单片机的分类 MCS - 51 系列单片机配置一览表
2.1.3 中央处理器CPU 一、 运算器 • 算术逻辑单元ALU • 2. 累加器ACC(Accumulator) • 3. 寄存器B • 4. 程序状态字PSW(Programe State Word) D7 D6 D5 D4 D3 D2 D1 D0 PSW
Cy AC F0 RS1 RS0 OV _ P 程序状态字PSW D7 D6 D5 D4 D3 D2 D1 D0 Cy (Carry):进位 AC (Auxiliary Carry):辅助进位 F0 (Flag):用户标志 RS1、 RS0:寄存器组选择控制位 OV (Overflow) :溢出 P (Parity):奇偶标志
二、 控制器 • 控制电路完成指挥控制工作,协调单片机各部分正常工作。 • 控制器电路包括: • 程序计数器PC; • PC加1寄存器; • 指令寄存器; • 指令译码器; • 数据指针DPTR; • 堆栈指针SP; • 缓冲器以及定时与控制电路等。
1、指令寄存器和指令译码器 指令寄存器中存放指令代码。CPU执行指令时, 由程序存储器中读取的指令代码送入指令存储器, 经译码器译码后由定时与控制电路发出相应的控制信号, 完成指令所指定的操作。
2. 程序计数器PC(Program Counter) PC用于存放CPU下一条要执行的指令地址, 是一个 16 位的专用寄存器, 可寻址范围是0000H~0FFFFH共 64 KB。 程序中的每条指令存放在ROM区的某一单元, 并都有自己的存放地址。 CPU 要执行哪条指令时, 就把该条指令所在的单元的地址送上地址总线。 在顺序执行程序中, 当PC的内容被送到地址总线后, 会自动加 1, 即(PC)← (PC)+1, 又指向CPU 下一条要执行的指令地址。
3. 堆栈指针SP(Stack Pointer) 堆栈操作是在内存RAM区专门开辟出来的按照“先进后出”原则进行数据存取的一种工作方式, 主要用于子程序调用及返回和中断处理断点的保护及返回, 它在完成子程序嵌套和多重中断处理中是必不可少的。为保证逐级正确返回, 进入栈区的“断点”数据应遵循“先进后出”的原则。SP用来指示堆栈所处的位置, 在进行操作之前, 先用指令给SP赋值, 以规定栈区在RAM区的起始地址(栈底层)。当数据推入栈区后, SP的值也自动随之变化。MCS - 51 系统复位后, SP初始化为07H。
4 . 数据指针寄存器DPTR 数据指针DPTR是一个 16 位的专用寄存器, 其高位字节寄存器用DPH表示,低位字节寄存器用DPL表示。既可作为一个 16 位寄存器DPTR来处理, 也可作为两个独立的 8 位寄存器DPH和DPL来处理。 DPTR 主要用来存放 16 位地址, 当对 64 KB外部数据存储器空间寻址时, 作为间址寄存器用。在访问程序存储器时, 用作基址寄存器。
2. 1.4 定时器/计数器 MCS-51单片机片内有两个16位的定时/计数器,即定时器0和定时器1。它们可以用于定时控制、延时以及对外部事件的计数和检测等。 2.1.5 存储器 MCS-51系列单片机的存储器包括数据存储器和程序存储器,其主要特点是程序存储器和数据存储器的寻址空间是相互独立的,物理结构也不相同。 2.1.6 并行I/O口 MCS-51单片机共有4个8位的I/O口(P0、P1、P2和P3),每一条I/O线都能独立地用作输入或输出。P0口为三态双向口,能带8个TTL门电路,P1、P2和P3口为准双向口,负载能力为4个TTL门电路。
2.1.7. 串行I/O口 MCS-51单片机具有一个采用通用异步工作方式的全双工串行通信接口,可以同时发送和接收数据。 2.1.8 中断控制系统 8051共有5个中断源,即外中断2个,定时/计数中断2个,串行中断1个。 2.1.9 时钟电路 MCS-51芯片内部有时钟电路,但晶体振荡器和微调电容必须外接。时钟电路为单片机产生时钟脉冲序列,振荡器的频率范围为1.2MHz~12MHz,典型取值为6MHz。 2.1.10 总线 以上所有组成部分都是通过总线连接起来,从而构成一个完整的单片机。系统的地址信号、数据信号和控制信号都是通过总线传送的,总线结构减少了单片机的连线和引脚,提高了集成度和可靠性。
2.2 单片机的引脚及其功能 MCS - 51单片机引脚及总线结构 (a) 管脚图; (b) 8031 引脚功能分类
电源引脚Vcc和Vss Vcc:电源端,接+5V。 Vss:接地端。 时钟电路引脚XTAL1和XTAL2 XTAL1:接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,若使用外部TTL时钟时,该引脚必须接地。 XTAL2:接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出,若使用外部TTL时钟时,该引脚为外部时钟的输入端。 地址锁存允许ALE 系统扩展时,ALE用于控制地址锁存器锁存P0口输出的低8位地址,从而实现数据与低位地址的复用。
外部程序存储器读选通信号PSEN 是读外部程序存储器的选通信号,低电平有效。 程序存储器地址允许输入端EA /VPP 当为高电平时,CPU执行片内程序存储器指令,但当PC中的值超过0FFFH时,将自动转向执行片外程序存储器指令。当为低电平时,CPU只执行片外程序存储器指令。 复位信号RST 该信号高电平有效,在输入端保持两个机器周期的高电平后,就可以完成复位操作。
1.输入/输出口引脚P0、P1、P2和P3 P0口(P0.0~P0.7):该端口为漏极开路的8位准双向口,负载能力为8高LSTTL负载,它为8位地址线和8位数据线的复用端口。 P1口(P1.0~P1.7):它是一个内部带上拉电阻的8位准双向I/O口,P1口的驱动能力为4个LS TTL负载。 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.3 存储器的结构 MCS - 51 单片机的存储器结构
2.4 并行输入/输出接口 1. P0口 P0 口地址为80H,各位口线具有完全相同但又相互独立的逻辑电路。
2. P1、P2和P3口 P1、P2 和P3 口为准双向口, 在内部差别不大, 但使用功能有所不同。 P1口是用户专用 8 位准双向I/O口, 具有通用输入/输出功能, 每一位都能独立地设定为输入或输出。当有输出方式变为输入方式时, 该位的锁存器必须写入“1”, 然后才能进入输入操作。 P2口是 8 位准双向I/O口。外接I/O设备时, 可作为扩展系统的地址总线, 输出高8位地址, 与P0 口一起组成 16 位地址总线。 对于 8031 而言, P2 口一般只作为地址总线使用, 而不作为I/O线直接与外部设备相连。
P1口 P1口的口线逻辑电路图
P2口 P2口的口线逻辑电路图
P3口 P3口的口线逻辑电路图
+5V C B A
2.5 单片机的时钟与定时 2.5.1 时钟电路 1、根据硬件电路的不同,单片机的时钟连接方式可分为内部时钟方式和外部时钟方式 80C51的外部时钟输入是不同的。
指令周期 机器周期 机器周期 S1 S4 S2 S3 S4 S5 S6 S1 S2 S3 S5 S6 P1 P1 P2 P1 P2 P1 P2 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P2 P1 XTAL2 (OSC) 振荡周期 时钟周期 2.5.2 定时单位——振荡周期、时钟周期、机器周期和指令周期
(1)振荡周期——振荡周期指为单片机提供定时信号的振荡源的周期或外部输入时钟的周期。(1)振荡周期——振荡周期指为单片机提供定时信号的振荡源的周期或外部输入时钟的周期。 (2)时钟周期——时钟周期又称作状态周期或状态时间S,它是振荡周期的两倍,它分为P1节拍和P2节拍,通常在P1节拍完成算术逻辑操作,在P2节拍完成内部寄存器之间的传送操作。 (3)机器周期——一个机器周期由6个状态组成,如果把一条指令的执行过程分作几个基本操作,则将完成一个基本操作所需的时间称作机器周期。单片机的单周期指令执行时间就为一个机器周期。 (4).指令周期——指CPU执行一条指令所需要的时间。一个指令周期通常含有1~4个机器周期。
若MCS-51单片机外接晶振为12MHz时,则单片机的四个周期的具体值为:若MCS-51单片机外接晶振为12MHz时,则单片机的四个周期的具体值为: • 振荡周期=1/12MHz=1/12μs=0.0833μs • 时钟周期=1/6μs=0.167μs • 机器周期=1μs • 指令周期=1~4μs
22μF C1 +5V 22μF C1 +5V +5V RST RST RST 8031 8051 8751 8031 8051 8751 8031 8051 8751 R1 1KΩ R2 200Ω C2 22μF R1 1KΩ R1 (a)上电复位电路 (b)按键电平复位电路 (c)按键脉冲复位电路 2.6 单片机的系统复位 1.复位方式及复位电路 MCS-51单片机通常采用上电自动复位和按键手动复位两种方式。 22μF C1 1KΩ R2 1KΩ
特殊功能寄存器 初始状态 特殊功能寄存器 初始状态 A 00H TMOD 00H B 00H TCON 00H PSW 00H TH0 00H SP 07H TL0 00H DPL 00H TH1 00H DPH 00H TL1 00H P0~P3 FFH SBUF ××××××××B IP ×××00000B SCON 00H IE 0×000000B PCON 0×××××××B 单片机复位后特殊功能寄存器的状态
2.7 低功耗工作方式 2.7.1 低功耗的意义 • 便携式的实现(使用电池供电); • 微型化(发热量小,使集成化提高); • 可靠性(温度低)。 • 低功耗的措施: • 改进电路和工艺(8051功耗630MW,80C51功耗为120MW); • 配备高低速时钟; • 低电压供电; • 低功耗方式。
2.7.2 单片机的两种工作模式 常规运行模式:所有部件均处于加电正常工作状态。 低功耗模式:暂时不使用的部件停止供电,系统处于等待状态。 2.7.3 两种低功耗工作模式 80C51有两种低功耗方式,即待机方式和掉电保护方式。 待机方式和掉电保护方式都是由电源控制寄存器(PCON)的有关位来控制的。
SMOD- - - GF1 GF0 PD IDL 电源控制寄存器(PCON)格式如下: 其中: SMOD:波特率倍增位,在串行通讯时使用。 GF1、GF0:通信标志位1、0。 PD:掉电方位式,PD=1,则进入掉电方式。 IDL:待机方式位,IDL=1,则进入待机方式。 若PD和IDL同时为1,则先激活掉电方式。
⒈ 待机方式 • ⑴ 使用指令使PCON寄存器IDL位置1,则80C51进入待机方式 • 这时振荡器仍然运行,并向中断逻辑、串行口和定时器/计数器电路提供时钟,中断功能继续存在 。 • 向CPU提供时钟的电路被阻断,因此CPU不能工作,与CPU有关的如SP、PC、PSW、ACC以及全部通用寄存器都被冻结在原状态。
⑵ 可以采用中断方式或硬件复位来退出待机方式。 在待机方式下,若产生一个外部中断请求信号,在单片微机响应中断的同时,PCON.0位(IDL位)被硬件自动清‘0’, 单片微机就退出待机方式而进入正常工作方式。在中断服务程序中安排一条RETI指令,就可以使单片微机恢复正常工作,从设置待机方式指令的下一条指令开始继续执行程序。
⒉ 掉电保护方式 ⑴PCON寄存器的PD位控制单片微机进入掉电保护方式。 当80C51检测到电源故障时,除进行信息保护外,还应把PCON.1位置‘1’,使之进入掉电保护方式。此时单片微机一切工作都停止,只有内部RAM单元的内容被保护。
⑵ 只能依靠复位退出掉电保护方式。 80C51备用电源由Vcc端引入。当Vcc恢复正常后,只要硬件复位信号维持10ms,就能使单片微机退出掉电保护方式,CPU则从进入待机方式的下一条指令开始重新执行程序。
实例介绍 • 题目名称:三路数据采集系统的设计。 • 1、输入要求: • 第一路信号为单次阻尼振荡信号,持续时间为0.4~1S,阻尼振荡频率为500HZ,输出振幅峰峰值小于0.5V; • 第二路为热电偶输出,温度范围0~400。C,相应输出数值0~25mv,温度最小区分度为0.2。C,工作环境下有0.2V共模噪声. • 第三路为0~5V可调直流电源的输出.
输出要求: • 对第一路信号,从示波器上显示出振荡波形,显示精度达到5%; • 对第二路信号,用十进制数码管显示实测温度值; • 对第三路信号,用十进制数码管显示实测电压值; • 对三个通道,通过发光管指示通道。
系统组成 • 以51系列单片机作为微处理器; • 三路A/D,或采用多路开关; • 需要外部数据存储器10K; • 不需要外部程序存储器; • 需要采样保持器; • 需要键盘,用于设置功能; • 需要4位LED; • 需要三路开关量输出; • 一路D/A。
多 路 开 关 51 单 片 机 D/A 放大 S/H A/D 放大 数码显示 RAM 程控放大 键盘 电源 系统结构框图 示波器 第一路 信号 第二路 信号 第三路 信号 发光管驱动 逻辑电路