1 / 60

MCS-51 单片机内部 接口电路

MCS-51 单片机内部 接口电路. 4. 接口基本概念. 1. 中断与中断系统. 2. 定时 / 计数器. UART 串行输入输出接口. 3. 5. 并行输入输出接口. 串行通信. 4. 6. 程序设计的基本技术. 接口电路的功能. 接口控制原理. 串行接口. 并行接口. 4.1 接口基本概念. 4.1.1 接口电路的功能. 接口电路是一组电路,是中央处理器与存储器、输入输出设备之间协调动作的 控制电路 。 简单的说,接口电路是在两个电路或设备之间,使两者动作相配合的 连接电路 。

lixue
Télécharger la présentation

MCS-51 单片机内部 接口电路

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. MCS-51单片机内部接口电路 4.

  2. 接口基本概念 1 中断与中断系统 2 定时/计数器 UART串行输入输出接口 3 5 并行输入输出接口 串行通信 4 6 程序设计的基本技术 第四章 MCS-51单片机内部接口电路

  3. 接口电路的功能 接口控制原理 串行接口 并行接口 4.1 接口基本概念 第四章 MCS-51单片机内部接口电路

  4. 4.1.1 接口电路的功能 • 接口电路是一组电路,是中央处理器与存储器、输入输出设备之间协调动作的控制电路。 • 简单的说,接口电路是在两个电路或设备之间,使两者动作相配合的连接电路。 • 接口电路的作用就是将来自外部设备的数据信号传送给微处理器,微处理器对数据进行适当加工,再通过接口电路传回外部设备。 • 地址译码 • 数据缓存 • 信息转换 • 提供命令译码和状态信息 • 定时和控制 第四章 MCS-51单片机内部接口电路

  5. 4.1.2 接口控制原理 • 1.数据传送方式 • 并行数据传送 • 并行数据的每一位都对应独立的传输线路 • 速度快线路多只适用于较短距离的数据传送 • 串行数据传送 • 串行数据是将构成字符的每个二进制数据位,按一定的顺序逐位进行传送的方式 • 单向传送只需一根数据线、一个信号线和一根应答线即可(多微机通信时,我们可以自定义3线通信机制)。 • 远距离传输比并行经济,但控制较为复杂 第四章 MCS-51单片机内部接口电路

  6. 4.1.2 接口控制原理 • 2.传送控制方式 • 查询方式 • 中央处理器随时询问接口,数据传送完否或数据准备好否。(费时) • 中断方式 • 中断方式下,接口在数据发送数据完毕或接收数据准备好时再通知中央处理器,中央处理器再发送或接收数据。(效率高) • DMA方式(Direct Memory Access ) • 即数据不经过中央处理器在存储器和外设之间直接传送的操作方式。适合大量数据传送,控制复杂。 第四章 MCS-51单片机内部接口电路

  7. 4.1.3 串行接口 • 1. 通用异步接收器和发送器UART • UART是一个能异步传输的数据总线。 • TXD:发送数据线 • RXD:接收数据线 • 接收和发送可以单独进行,也可以同时进行。 • 格式严格:每个数据以相同的位串形式传输。 • 每个串行数据由起始位、数据位、奇偶校验位组成。 • 从起始到停止位结束时间称为一帧(frame)。 第四章 MCS-51单片机内部接口电路

  8. 4.1.3 串行接口 UART格式 ①起始位:在通信线上没有数据被传送时处于逻辑1状态,当要发送数据时,首先发出一个逻辑0信号,这个逻辑0信号就是起始位。 ②数据位:起始位后位。数据位的个数可以是5~9位,MSC-51中常采用8位或9位数据传送,从最低有效位开始发送。 ③奇偶校验位:检测有限差错。 偶校验:组成数据位和奇偶位的逻辑1个数必 须是偶数。 奇校验:逻辑1的个数必须是奇数。 ④停止位:停止位是一个字符数据的结束标志,可以是1位、1.5位或2位的逻辑1。停止位后,通信线又恢复逻辑1状态。 第四章 MCS-51单片机内部接口电路

  9. 4.1.3 串行接口 UART格式波特率 异步通信传输的所有位信号必须保持一致的信号持续时间。每一位的宽度由数据的传输速度决定。 波特率:每秒传输多少个二进制位 波特率 = 1/信号持续时间 接收设备和发射设备需要保持相同的传送波特率。 第四章 MCS-51单片机内部接口电路

  10. 4.1.3 串行接口 2. 串行外设接口SPI 4线全双工串行总线,可以有多个主器件,支持在同一总线上将多个从器件连接到一个主器件。 ①MOSI:主从输入线,当SPI作为主器件时,该信号是输出,当SPI作为从器件时,该信号是输入。传输时,高位在前,低位在后。 ②MISO:主从输出线,当SPI作为主器件时,该信号是输入,当SPI作为从器件时,该信号是输出。当SPI未被选中时,MISO为高阻态。 ③SCK:串行时钟线。主器件产生并输出,作为从器件的输入,用于同步主器件和从器件之间的在MOSI和MISO线上的串行数据传输。 ④NSS:从选择线。主器件用它来选择处于从方式的SPI器件。 第四章 MCS-51单片机内部接口电路

  11. SPI串行总线在MCS-51系列单片机中的实现 第四章 MCS-51单片机内部接口电路

  12. 4.1.3 串行接口 • 3. I2C总线 • 双线的半双工串行总线,可以有多个主器件,支持在同一总线上将多个从器件连接到一个主器件。 • ①I2C是一个双线的双向串行总线。 I2C上可以有多个主器件,并允许一个主器件同时访问多个从器件。 两种数据的传输,都由主器件启动,并提供时钟。2个信号:时钟线:SCL,数据线:SDA. • ②I2C传输一次数据包括一个起始命令START、一个地址字节、一个或多个数据字节和一个停止命令STOP。 • ③ 每个地址字节和每个数据字节后面都跟随一个来自接收器的确认位ACKNOWLEDGE。 • 地址字节包括一个7位的地址和一个方向位R/W(最低位,1为读操作,0为写). 第四章 MCS-51单片机内部接口电路

  13. 应用 第四章 MCS-51单片机内部接口电路

  14. 4.1.4 并行接口 第四章 MCS-51单片机内部接口电路

  15. 中断和中断处理过程 MCS-51中断系统 中断扩展 4.2 中断与中断系统 第四章 MCS-51单片机内部接口电路

  16. 4.2.1 中断和中断处理过程 1. 中断的概念 CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理(中断发生); CPU暂时中断当前的工作,转去处理事件B(中断响应和中断服务); 待CPU将事件B处理完毕后,再回到原来事件A被中断的地方继续处理事件A(中断返回),这一过程称为中断 。 第四章 MCS-51单片机内部接口电路

  17. 4.2.1 中断和中断处理过程 主程序 中断响应 中断请求 执行主程序 执行中断处理程序 断点 继续执行主程序 中断返回 第四章 MCS-51单片机内部接口电路

  18. 4.2.1 中断和中断处理过程 2. 中断系统的功能 1. 能实现中断并返回中断; 判断→响应→保护断点和现场→中断服务→恢复现场→返回 2. 能实现中断优先级; 3. 能实现中断嵌套(高中断低); 第四章 MCS-51单片机内部接口电路

  19. 4.2.1 中断和中断处理过程 硬件完成 4. 中断的处理过程 关闭中断 保存断点 转入中断 服务子程序 恢复现场 中断服务 保护现场 打开中断 中断返回 第四章 MCS-51单片机内部接口电路

  20. 4.2.2 MCS-51单片机中断系统 第四章 MCS-51单片机内部接口电路

  21. 4.2.2 MCS-51单片机中断系统 1. 特点 • 5个中断源,3个在片内,2个在片外; • 固定的中断入口地址; • 两级中断优先级,可以形成嵌套; • 通过SFR进行中断控制和设置编程。 第四章 MCS-51单片机内部接口电路

  22. 4.2.2 MCS-51单片机中断系统 2. 中断源 • 外部中断(2个) 外部中断0和外部中断1 • 定时/计数器中断(2个) 定时/计数器中断0和定时/计数器中断1 • 串行口中断(1个) 第四章 MCS-51单片机内部接口电路

  23. 4.2.2 MCS-51单片机中断系统 3. 中断控制(寄存器) • 定时器控制寄存器--TCON • 串行口控制寄存器--SCON • 中断允许寄存器--IE • 中断优先级寄存器--IP 第四章 MCS-51单片机内部接口电路

  24. 4.2.2 MCS-51单片机中断系统 定时器控制寄存器--TCON TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 定时器溢出中 断请求标志 1:有请求 0:无请求 外部中断请求标志 1:有请求 0:无请求 外部中断触发方式控制位 1:边沿触发 0:电平触发 T1、T0的运行控制位标志 1:启动定时器T1、T0工作 0:停止定时器T1、T0工作 第四章 MCS-51单片机内部接口电路

  25. 4.2.2 MCS-51单片机中断系统 串行口控制寄存器--SCON SM0 SM1 SM2 REN TB8 RB8 TI RI 串行口的发送中断标志 串行口接收中断标志 第四章 MCS-51单片机内部接口电路

  26. 4.2.2 MCS-51单片机中断系统 中断允许寄存器—IE EA NA NA ES ET1 EX1 ET0 EX0 全局中断控制位 串行口中断控制位 定时器1中断控制位 外中断1中断控制位 定时器0中断控制位 外中断0中断控制位 第四章 MCS-51单片机内部接口电路 说明:复位后IE被清0,禁止一切中断

  27. 4.2.2 MCS-51单片机中断系统 中断优先级寄存器--IP NA NA NA PS PT1 PX1 PT0 PX0 1:对应的中断声明为高优先级, 0:对应的中断定义为低优先级中断 串行口中断优先级控制位 定时器1中断优先级控制位 外中断1中断优先级控制位 定时器0中断优先级控制位 外中断0中断优先级控制位 第四章 MCS-51单片机内部接口电路

  28. 4.2.2 MCS-51单片机中断系统 4. 中断响应 (1) 中断不响应的条件 • 同级或高优先级的中断已在进行中; • 当前的机器周期还不是正在执行指令的最后一个机器周期(换言之, 正在执行的指令完成前, 任何中断请求都得不到响应); • 正在执行的是一条RETI或者访问特殊功能寄存器 IE或 IP的指令(换言之, 在RETI或读写IE或IP之后, 不会马上响应中断请求, 而至少执行一条其它指令之后才会响应)。 第四章 MCS-51单片机内部接口电路

  29. 4.2.2 MCS-51单片机中断系统 (2) 中断响应过程 • 单片机一旦响应中断请求, 就由硬件完成以下功能:  • 根据响应的中断源的中断优先级,使相应的优先级状态触发器置1; • 执行硬件中断服务子程序调用,并把当前程序计数器PC的内容压入堆栈; • 把被响应的中断源所对应的中断服务程序的入口地址(中断矢量)送入PC, 从而转入相应的中断服务程序。 • 关中断允许位EA; • 响应中断程序处理后,清除相应的中断请求标志位(串行口中断请求标志RI和TI除外); 第四章 MCS-51单片机内部接口电路

  30. 4.2.2 MCS-51单片机中断系统 (3) 中断服务程序入口地址表 第四章 MCS-51单片机内部接口电路

  31. 4.2.3 中断扩展 1. 中断与查询结合 MCS-51单片机有两个外部中断输入端,当有2个以上中断源时,它的中断输入端就不够了。此时,可以采用中断与查询相结合的方法来实现。可以使每个中断源都接在同一个外部中断输入端上,同时利用输入口线作为多中断源情况下各中断源的识别线。 第四章 MCS-51单片机内部接口电路

  32. 4.2.3 中断扩展 +5V INT0 OC门 INT1 INT2 INT3 INT4 INT5 P1.3 P1.2 P1.1 P1.0 第四章 MCS-51单片机内部接口电路

  33. 4.2.3 中断扩展 • ORG 0013H  • LJMP INT1 • ...... • INT1: PUSH PSW • PUSH ACC • JB P1.0, INT2 • JB P1.1, INT3 • JB P1.2, INT4 • JB P1.3, INT5 • GOBACK: • POP ACC • POP PSW • RETI • INT2: ;INT2中断服务程序 • ......  • AJMP GOBACK • INT3: ; INT3中断服务程序 • ...... • AJMP GOBACK • INT4: ; INT4中断服务程序 • ...... • AJMP GOBACK • INT5: ; INT5中断服务程序 • ...... • AJMP GOBACK 第四章 MCS-51单片机内部接口电路

  34. 定时器的结构 定时器的工作方式 定时器应用举例 4.3 定时/计数器 第四章 MCS-51单片机内部接口电路

  35. 4.3.1 定时器的结构 1. 定时/计数器的概念 主要作用包括产生各种时标间隔,记录外部事件的数量等等。 8031有两个16位的定时器/计数器。 作定时器时,每个机器周期定时寄存器自动加1,因此定时器也可以看作是计量机器周期的计数器。 作计数器时,计量单片机外部引脚从1到0的负跳变,每个跳变计数器自动加1。 第四章 MCS-51单片机内部接口电路

  36. 4.3.1 定时器的结构 2. 定时/计数器的结构 处 理 器 TH1 TL1 TH0 TL0 TCON TMOD 第四章 MCS-51单片机内部接口电路

  37. 4.3.2 定时器的工作方式 T0和T1无论是用作定时器或者计数器都有4种工作方式: • 方式0 • 方式1 • 方式2 • 方式3 除了方式3,T0和T1有完全相同的工作方式。 第四章 MCS-51单片机内部接口电路

  38. 4.3.2 定时器的工作方式 • 方式0—(13位工作方式) 第四章 MCS-51单片机内部接口电路

  39. 4.3.2 定时器的工作方式 • 方式1—(16位工作方式) 第四章 MCS-51单片机内部接口电路

  40. 4.3.2 定时器的工作方式 • 方式2—(8位自动重装工作方式) 第四章 MCS-51单片机内部接口电路

  41. 4.3.2 定时器的工作方式 • 方式3—(2个8位工作方式) 第四章 MCS-51单片机内部接口电路

  42. 4.3.2 定时器的工作方式 • 控制寄存器 • 定时器/计数器T0和T1有2个控制寄存器: • TMOD和TCON • 作用: • 设置各个定时器/计数器的工作方式,选择定时或者计数功能,控制启动运行,以及作为运行状态的标志等。TCON还有4位用于中断系统。 第四章 MCS-51单片机内部接口电路

  43. 4.3.2 定时器的工作方式 • 定时器方式控制寄存器--TMOD T1 T0 GATE C/T M1 M0 GATE C/T M1 M0 门控位 1:打开 0:关闭 工作方式设置位 00:方式0 01:方式1 10:方式2 11:方式3 工作状态选择位 1:计数状态 0:定时状态 第四章 MCS-51单片机内部接口电路

  44. 4.3.2 定时器的工作方式 • 定时器控制寄存器--TCON TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 中断请求标志 1:有请求 0:无请求 运行控制位 1:打开 0:关断 外部中断控制 第四章 MCS-51单片机内部接口电路

  45. 4.3.3 定时器的初值计算 51内部定时器/计数器是可编程序的,通过程序设置寄存器对它进行设定和控制。因此需要进行初始化操作,初始化步骤为: • 设定TMOD寄存器,确定工作方式。 • 根据需要设定时/计数器初值或计数器初值。 • 根据需要开放中断,设定中断优先级。 • 设置TCON寄存器,以启动或禁止定时/计数器 第四章 MCS-51单片机内部接口电路

  46. D: 计数设定的初值; TC:所需要的定时时间; M: 为计数器模值,与方式有关。方式0: 213;方式1: 216; 方式2,3: 28。 fosc:振荡频率 4.3.3 定时器的初值计算 • 计数器方式 D=M-C • 定时器方式 D=M-TC*(fosc/12) D:计数设定的初值; C:所需要的计数值,即所需要计 量的负跳变次数; M:为计数器模值,与方式有关。方式0: 213;方式1: 216; 方式2,3: 28。 实际上就是计算所需要计数的机器周期个数C 第四章 MCS-51单片机内部接口电路

  47. 4.3.4 定时器的应用举例 • 例4-2:P1.0输出周期为1ms的连续方波,要求用T0定时器,设振荡频率fosc=6MHz。 解:周期为1ms,则定时时间为500us,定时时间到调用CPL,将P1.0取反。 定时器初值计算: D=M-TC*(fosc/12) 需要计数 TC*(fosc/12) = 500*10-6*(6*106/12)=250 可以采用方式2,初值可以设为6=(28-250)。 第四章 MCS-51单片机内部接口电路

  48. 4.3.4 定时器的应用举例 • 例4-2:如果要求P1.0输出周期为4ms的连续方波,仍用T0定时器,设振荡频率fosc=6MHz。 解:周期为4ms,则定时时间为2ms。 定时器初值计算: D=M-TC*(fosc/12) 需要计数 TC*(fosc/12) = 2000*10-6*(6*106/12)=1000 可以采用方式0,初值可以设为1C18H(213-1000)。 TH0 = E0H, TL0=18H 注:18H放在TL0的低5位中;1CH放在高8位TH0中; 1CH左移3位,即是E0H; 第四章 MCS-51单片机内部接口电路

  49. 4.3.4 定时器的应用举例 • 例4-4:应用T0定时器的方式3产生200us和400us的定时,并使P1.0和P1.1分别输出400us和800us的连续方波,设振荡频率fosc=6MHz。 解:定时时间为200us和400us。 定时器初值计算: D=M-TC*(fosc/12) 28-TC*(fosc/12) = 256-200*10-6*(6*106/12)=156 28-TC*(fosc/12) = 256-400*10-6*(6*106/12)=56 TH0 = 156, TL0=56 第四章 MCS-51单片机内部接口电路

  50. 4.4 并行输入输出接口 第四章 MCS-51单片机内部接口电路

More Related