640 likes | 947 Views
I/O 接口. 中断系统. 定时 / 计数器. CPU. 存储器. MCS - 51 单片机的硬件结构. 硬 件 结 构. 内部 ROM. B. 暂存器 1. 暂存器 2. ACC. 程序地址寄存器. 控制信号. ALU. 缓冲器. 微操作控制电路. PSW. +1. PC. 指令寄存器. 时序电路. 指令译码器. DPTR. Ⅰ CPU. 存储器. ROM. 片内 ROM. 片外 ROM. 片内 RAM. 片外 RAM. RAM. MCS - 51 单片机的硬件结构( 2 ). Ⅱ 存储器. FFH.
E N D
I/O 接口 中断系统 定时/计数器 CPU 存储器 MCS-51单片机的硬件结构 硬 件 结 构
内部 ROM B 暂存器1 暂存器2 ACC 程序地址寄存器 控制信号 ALU 缓冲器 微操作控制电路 PSW +1 PC 指令寄存器 时序电路 指令译码器 DPTR ⅠCPU
存储器 ROM 片内ROM 片外ROM 片内RAM 片外RAM RAM MCS-51单片机的硬件结构(2) Ⅱ 存储器
FFH 128字节 80H 7FH 30H 2FH 1FH 00H MCS-51单片机的硬件结构(2) 特殊功能寄存器(80H—FFH) 片内RAM 特殊功能寄存器(SFR)又称为专用寄存器。专用于控制、选择、管理、存放单片机内部各部分的工作方式、条件、状态、结果的寄存器。 SFR分布在80H-FFH 其中92个位可位寻址 普通RAM区 位寻址区 20H 工作寄存器区
用途: 主要用来存储程序 1FFFH 条件:EA=1 片内ROM 通过内部总线与CPU联接 8K字节 FFFH 片内ROM 地址存放在PC寄存器中 4K字节 EA=1 EA=1 0000H 000H MCS-51单片机的硬件结构(2) 片内ROM 8051子系列 8052子系列
FFH FFH FFH 8052子系列有附加的128字节的片内RAM其地址与SFR重叠! 可以通过间接寻址的方法解决二者的地址重叠 SFRs SFRs 片内RAM 80H 256字节 80H 80H 7FH 7FH 片内RAM 128字节 主要用来作为数据存储器 内部总线联接CPU 地址存放在RAM ADDR REG 中 00H 00H MCS-51单片机的硬件结构(2) 片内RAM 8051子系列 8052子系列
普通RAM区 30H 位寻址区 工作寄存器区 片内ROM主要作为内部数据存储器 包括普通RAM区、位寻址区、工作寄存器区 都可以用于存放数据,也称为数据缓存寄存器 MCS-51单片机的硬件结构(2) FFH 片内RAM 普通RAM区 间接寻址 80H 7FH 256字节 7FH 普通RAM区 30H 128字节 2FH 2FH 位寻址区 20H 20H 1FH 工作寄存器区 1FH 00H 00H 8051子系列 8052子系列
片外ROM 片外RAM 可寻址片外RAM 可寻址片外ROM 64K字节 64K字节 MCS-51单片机的硬件结构(2) 外部存储器 FFFFH FFFFH 0000H 0000H
对于具体的一种单片机而言其内部的片内存储器的容量是确定。对于具体的一种单片机而言其内部的片内存储器的容量是确定。 可寻址片外ROM/RAM 片外存储器的容量是可以根据需要进行配置。 我们所讲的可寻址片外64KROM/RAM指的是一种能力。 MCS-51单片机的硬件结构(2) FFFFH 64K字节 0000H
可寻址片外ROM/RAM MCS-51单片机的硬件结构(2) 单片机为了具有扩展外部存储器的能力,应该为外部存储器提供相应的总线信号: FFFFH 地址总线 64K字节 数据总线 控制总线 0000H
可寻址片外ROM 通过外部总线与CPU联接 MCS-51单片机的硬件结构(2) 单片机为了具有扩展外部存储器的能力应该为外部存储器提供相应的总线信号: FFFFH 地址总线 16根地址线A0~A15 数据总线 64K字节 8根数据线D0~D7 控制总线 PSEN、ALE 使能 0000H EA=0 地址存放在PC中 与片内ROM统一编址
通过外部总线与CPU联接 MCS-51单片机的硬件结构(2) 单片机为了具有扩展外部存储器的能力应该为外部存储器提供相应的总线信号: FFFFH 地址总线 16根地址线A0~A15 数据总线 可寻址片外RAM 64K字节 8根数据线D0~D7 控制总线 WR、RD、ALE 地址存放在DPTR中 与片内RAM独立编址 0000H
I/O接口 UART 串行 并行 P0 P1 P2 P3 MCS-51单片机的硬件结构(2) Ⅲ
MCS-51单片机的硬件结构(2) 实际应用中,计算机的CPU与其外部设备之间常常要进行信息的交换,计算机之间也需要交换信息,所有这些信息的交换均称为“通讯”。
并行通讯 串行通讯 MCS-51单片机的硬件结构(2) 通讯的基本方式 通讯的基本方式可分为: 并行通讯,是指数据的各位同时进行传送的方式。其特点是传输速度快,但当距离较远,位数又多时导致了通讯线路复杂且成本高,如图所示。 串行通讯,是指数据一位一位地顺序传送的通讯方式。其特点是通讯线路简单,只要一对传输线就可以实现通讯,并可以利用电话线,从而大大地降低了成本,特别适用于远距离通讯,但传送速度慢,如图所示。
并行 P0 P1 P2 P3 MCS-51单片机的硬件结构(2) MCS-51单片机有4个双向8位I/O口P0,P1,P2,P3。P0口为三态双向口,负载能力为8个LSTTL门电路,P1,P2,P3为准双向口,负载能力为4个LSTTL门电路。
MCS-51单片机的硬件结构(2) P0.0—P0.7: 双向I/O(内置场效应管上拉) 寻址外部程序存储器时分时作为双向8位数据口和输出低8位地址复用口;不接外部程序存储器时可作为8位准双向I/O口使用。 Vcc 控制 地址/数据 读锁存器 3 引脚P0.X 2 4 内部总线 D Q 写锁存器 CK /Q 1 P0 读引脚
MCS-51单片机的硬件结构(2) P0.0—P0.7: 双向I/O(内置场效应管上拉) 寻址外部程序存储器时分时作为双向8位数据口和输出低8位地址复用口;不接外部程序存储器时可作为8位准双向I/O口使用。 Vcc 控制 地址/数据 =0 读锁存器 截止 3 0 0 引脚P0.X 2 4 内部总线 1 截止 D Q 0 写锁存器 CK /Q 0 1 读引脚=1 控制=0 时,此脚作输入口(事先必须对它的寄存器写“1”)
MCS-51单片机的硬件结构(2) P0.0—P0.7: 双向I/O(内置场效应管上拉) 寻址外部程序存储器时分时作为双向8位数据口和输出低8位地址复用口;不接外部程序存储器时可作为8位准双向I/O口使用。 Vcc Vcc 控制 地址/数据 =0 上拉电阻 读锁存器 截止 3 0 0 引脚P0.X 2 4 内部总线 1 截止 D Q 0 CK /Q 写锁存器 0 1 控制=0 时,此脚作输出口(需要外接上拉电阻)
MCS-51单片机的硬件结构(2) P0.0—P0.7: 双向I/O(内置场效应管上拉) 寻址外部程序存储器时分时作为双向8位数据口和输出低8位地址复用口;不接外部程序存储器时可作为8位准双向I/O口使用。 Vcc 控制=1 地址/数据 读锁存器 截止 0 =0 3 1 2 4 =0 内部总线 1 导通 引脚P0.X D Q 1 写锁存器 CK /Q 1 控制=1时,此脚作地址/数据复用口:(1)输出地址/数据 =0 时 读引脚=0
MCS-51单片机的硬件结构(2) P0.0—P0.7: 双向I/O(内置场效应管上拉) 寻址外部程序存储器时分时作为双向8位数据口和输出低8位地址复用口;不接外部程序存储器时可作为8位准双向I/O口使用。 Vcc 控制=1 地址/数据 读锁存器 导通 1 =1 3 1 2 4 =1 内部总线 0 截止 引脚P0.X D Q 0 写锁存器 CK /Q 1 控制=1时,此脚作地址/数据复用口:(2)输出地址/数据 =1 时 读引脚=0
MCS-51单片机的硬件结构(2) P0.0—P0.7: 双向I/O(内置场效应管上拉) 寻址外部程序存储器时分时作为双向8位数据口和输出低8位地址复用口;不接外部程序存储器时可作为8位准双向I/O口使用。 Vcc 控制=1 地址/数据 读锁存器 3 2 4 内部总线 引脚P0.X D Q 写锁存器 CK /Q 1 控制=1时,此脚作地址/数据复用口:(3)输入数据时,输入指令将使引脚与内部总线直通 读引脚=1
MCS-51单片机的硬件结构(2) P1.0—P1.7: 准双向I/O口(内置了上拉电阻) 输出时一切照常,仅在作输入口用时要先对其 写“1”。 Vcc 读锁存器 内部上拉电阻 2 内部总线 引脚P1.X D Q 写锁存器 CK /Q 1 读引脚 P1
MCS-51单片机的硬件结构(2) P1.0—P1.7: 准双向I/O口(内置了上拉电阻) 输出时一切照常,仅在作输入口用时要先对其 写“1”。 输出数据 = 1 时 Vcc 读锁存器 内部上拉电阻 2 =1 内部总线 1 引脚P1.X 截止 1 D Q 写锁存器 CK /Q 0 1 读引脚
MCS-51单片机的硬件结构(2) P1.0—P1.7: 准双向I/O口(内置了上拉电阻) 输出时一切照常,仅在作输入口用时要先对其 写“1”。 输出数据 = 0 时 Vcc 读锁存器 内部上拉电阻 2 =0 内部总线 0 导通 引脚P1.X 0 D Q 写锁存器 CK /Q 1 1 读引脚
MCS-51单片机的硬件结构(2) P1.0—P1.7: 准双向I/O口(内置了上拉电阻) 输出时一切照常,仅在作输入口用时要先对其 写“1”。 输入数据时,要先对其写“1” Vcc 读锁存器 内部上拉电阻 2 内部总线 1 截止 引脚P1.X 1 D Q 写锁存器 CK /Q 0 1 读引脚 =1
MCS-51单片机的硬件结构(2) P2.0—P2.7: 双向I/O(内置了上拉电阻) 寻址外部程序存储器时输出高8位地址;不接外部程序存储器时可作为8位准双向I/O口使用。 Vcc 控制 地址高8位 读锁存器 内部上拉电阻 2 内部总线 引脚 P2.X D Q 3 写锁存器 CK /Q 1 读引脚 P2
MCS-51单片机的硬件结构(2) P2.0—P2.7: 双向I/O(内置了上拉电阻) 寻址外部程序存储器时输出高8位地址;不接外部程序存储器时可作为8位准双向I/O口使用。 Vcc 控制 地址高8位 =0 读锁存器 内部上拉电阻 2 1 =1 内部总线 1 截止 引脚P2.X D Q 1 1 0 3 写锁存器 CK /Q 1 控制=0时,此脚作通用输出口:输出=1时 读引脚=0
MCS-51单片机的硬件结构(2) P2.0—P2.7: 双向I/O(内置了上拉电阻) 寻址外部程序存储器时输出高8位地址;不接外部程序存储器时可作为8位准双向I/O口使用。 Vcc 控制 地址高8位 =0 读锁存器 内部上拉电阻 2 0 =0 内部总线 0 导通 引脚P2.X D Q 0 0 1 3 写锁存器 CK /Q 1 控制=0时,此脚作通用输出口:输出=0时 读引脚=0
MCS-51单片机的硬件结构(2) P2.0—P2.7: 双向I/O(内置了上拉电阻) 寻址外部程序存储器时输出高8位地址;不接外部程序存储器时可作为8位准双向I/O口使用。 Vcc 控制=1 地址高8位 读锁存器 =1 内部上拉电阻 2 1 =1 内部总线 截止 引脚P2.X D Q 1 0 3 写锁存器 CK /Q 1 控制=1时,此脚作高8位地址A8—A15输出口:当输出 =1 时 读引脚=0
MCS-51单片机的硬件结构(2) P2.0—P2.7: 双向I/O(内置了上拉电阻) 寻址外部程序存储器时输出高8位地址;不接外部程序存储器时可作为8位准双向I/O口使用。 Vcc 控制=1 地址高8位 读锁存器 =0 内部上拉电阻 2 0 =0 内部总线 导通 引脚P2.X D Q 0 1 3 写锁存器 CK /Q 1 控制=1时,此脚作高8位地址A8—A15输出口:当输出 =0 时 读引脚=0
MCS-51单片机的硬件结构(2) P3.0—P3.7: 双功能口(内置了上拉电阻) 它具有特定的第二功能。在不使用它的第二功能时它就是普通的通用准双向I/O口。 第二功能输出 Vcc 读锁存器 内部上拉电阻 2 内部总线 引脚 P3.X D Q 3 写锁存器 CK /Q 4 1 读引脚 第二功能输入 P3
MCS-51单片机的硬件结构(2) P3.0—P3.7: 双功能口(内置了上拉电阻) 它具有特定的第二功能。在不使用它的第二功能时它就是普通的通用准双向I/O口。 第二功能输出 (WR,RD,TxD) Vcc 读锁存器 内部上拉电阻 2 内部总线 反相器 1 1 引脚 P3.X D Q 3 写锁存器 CK /Q 1 4 1 读引脚 第二功能输出时,内部自动 D=1
MCS-51单片机的硬件结构(2) P3.0—P3.7: 双功能口(内置了上拉电阻) 它具有特定的第二功能。在不使用它的第二功能时它就是普通的通用准双向I/O口。 此端自动=1 Vcc 读锁存器 内部上拉电阻 2 内部总线 1 1 0 截止 D Q 3 引脚 P3.X 写锁存器 CK /Q 1 4 1 读引脚 第二功能输入(RxD,T0,T1,INT0,INT1) 第二功能输入时,信号经缓冲器4 直接进入内总线
MCS-51单片机的硬件结构(2) P3口第二功能表(P.26 表2-3)
UART 串行 MCS-51单片机的硬件结构(2)
MCS-51单片机的硬件结构(2) 串行通讯本身又分为两种基本方式: 异步传送 在异步传送中,每一个字符要用起始位和停止位作为字符开始和结束的标志,它是以字符为单位一个个地发送和接收的。 同步传送 所谓同步传送就是去掉异步传送时每个字符的起始位和停止位的成帧标志信号,仅在数据块开始处用同步字符来指示,如图所示。很显然,同步传送的有效数据位传送速率高于异步传送,可达50千波特,甚至更高。其缺点是硬件设备较为复杂,因为它要求要有时钟来实现发送端和接收端之间的严格同步,而且对同步时钟脉冲信号的相位一致性还要求非常严格,为此通常还要采用“锁相器”等措施来保证。
异步传送 异步传送时,每个字符的组成格式如图所示。首先是一位起始位表示字符的开始;后面紧跟着的是字符的数据字,数据字可以是8或9位数据,在数据字中可根据需要加入奇偶校验位;最后是停止位,其长度可以是一位、一位半或两位。所以,串行传送的数据字加上成帧信号起始位和停止位就形成一个字符串行传送的帧。起始位用逻辑“0”低电平表示,停止位用逻辑“1”高电平表示。图示数据字为7位,第8位(或第9位)是奇偶校验位。加上起始位、停止位,一个字符由10位(或11位)组成。这样加上成帧信号后,字符便可以一个接一个地传送了。
在异步传送中,字符间隔不固定,在停止位后可以加空闲,空闲位用高电平表示,用于等待传送。这样,接收和发送可以随时地或间断地进行,而不受时间的限制。图示为有空闲位的情况。在异步传送中,字符间隔不固定,在停止位后可以加空闲,空闲位用高电平表示,用于等待传送。这样,接收和发送可以随时地或间断地进行,而不受时间的限制。图示为有空闲位的情况。
在异步数据传送中,CPU与外设之间事先必须约定两项事宜:在异步数据传送中,CPU与外设之间事先必须约定两项事宜: ①字符格式。双方要约好字符的编码形式,奇偶校验形式、 以及起始位和停止位的规定。 ②波特率(Baud rate)。波特率是衡量位传送速率的指标,它要求发送站和接收站都要以相同的数据传送速率工作。
串行通讯中数据的传送方向 单工通讯方式 ☞ A端为发送站,B端为接收站,数据仅能从A站发至B站 半双工通讯方式 ☞ 数据可以从A发送到B,也可以由B发送到A。不过同一时间只能作一个方向的传送,其传送方式由收发控制开关K来控制。 全双工通讯方式 ☞ 每个站(A、B)既可同时发送,又可同时接收。
MCS-51单片机串行口 串行通信的基本特征是数据逐位顺序进行传送 串行通信的格式及约定(如:同步方式、通讯速率、数据块格式、信号电平……等)不同,形成了多种串行通信的协议与接口标准。 常见的有: ☞通用异步收发器(UART) 51系列单片机的串口形式 ☞通用串行总线(USB) ☞I2C总线 ☞CAN总线 ☞SPI总线 ☞RS-485,RS-232C,RS422A标准……等等
串行口结构 引脚 SBUF(发) 移位寄存器 TxD 波特率发生器 发送控制器TI A累加器 CPU内部 1 接收控制器RI 引脚 SBUF(收) 移位寄存器 RxD 申请中断 MCS-51单片机串行口
串行口控制寄存器SCON SCON SM0 SM1 SM2 REN TB8 RB8 TI R1 ☞SM0,SM1:串行口4种工作方式的选择位。 0 0 方式0:8位移位寄存器I/O,波特率固定为fosc/12 0 1 方式1:8位UART(1+8+1位), 波特率可变,按公式计算 1 0 方式2:9位UART(1+8+1+1位), 波特率固定=fosc x(1/32)或(1/64) 1 1 方式3:9位UART(1+8+1+1位), 波特率可变,按公式计算 ☞SM2:串行口多机通信控制位 (作为方式2、方式3的附加控制位)
SCON SM0 SM1 SM2 REN TB8 RB8 TI R1 ☞RI,TI:串行口收/发数据申请中断标志位 =1 申请中断; =0 不申请中断 ☞RB8:在方式2、3中,是收到的第9位数据。 在多机通信中,用作区别地址帧/数据帧的 标志。(奇偶校验) ☞TB8:方式2、3中,是要发送的第9位数据。 多机通信中,TB8=0 表示发送的是数据; TB8=1 表示发送的是地址。(奇偶校验) ☞REN:串行口接收允许控制位 = 1 表示允许接收; = 0 禁止接收。
串行口工作方式 工作方式0:8位同步移位寄存器I/O方式 ☞发送:SBUF中的串行数据由RxD逐位移出; TxD输出移位时钟,频率=fosc1/12; 每送出8位数据TI就自动置1; 需要用软件清零TI。 ☞接收:串行数据由RxD逐位移入SBUF中; TxD输出移位时钟,频率=fosc1/12; 每接收 8位数据RI就自动置1; 需要用软件清零RI。
回顾 引脚 SBUF(发) 移位寄存器 TxD 波特率发生器 发送控制器TI A累加器 CPU内部 1 接收控制器RI 引脚 SBUF(收) 移位寄存器 RxD 申请中断
CLR CLR 串行口方式0的扩展应用 串行口常用工作方式0扩展出并行I/O口 +5V VCC TxD RxD AB AB AB CLK CLK CLK CLR 74LS164 74LS164 74LS164 h g f e d c b a h g f e d c b a h g f e d c b a 51单片机 共阳LED 数码管 +5V 74LS164是串入并出芯片
工作方式1:8位UART(1+8+1位)波特率可变 ☞常用于串行通讯。除发/收8位数据外,还 在D0位前有一个起始位“0”; 在D7位后有一个停止位“1”。 ☞方式1工作时: 发送端自动添加一个起始位和一个停止位; 接收端自动去掉一个起始位和一个停止位。 ☞波特率可变(由用户设置) ——用定时器T1作波特率发生器: 公式:波特率 =(2SMOD/32)T1的溢出率