mcs-51 单片机
DESCRIPTION
MCS-51 单片机. AT89S51 最小化应用电路. 第 5 章 MCS-51 的常用接口设计. 主要类容: 5.1 人机接口 — 键盘和 LED 显示接口 5.2 LCD 显示接口 5.3 并行接口的扩展 5.4 同步串行总线接口 5.5 常用传感器接口 5.6 常用功率驱动接口. V. S. 5.1 人机接口 -- 键盘和 LED 显示接口. 一 . 键盘接口. 每一按键都有一根信号线与单片机相连,所有的按键有一个公共端与地或与电源正端连接,每个按键相互独立。. 独立式键盘. 1. 键盘的结构. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/1.jpg)
MCS-51单片机
AT89S51最小化应用电
路
![Page 2: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/2.jpg)
第第 55 章 章 MCS-51MCS-51 的常用接口设计的常用接口设计
主要类容:主要类容:5.1 5.1 人机接口人机接口——键盘和键盘和 LEDLED 显示接口 显示接口
5.2 LCD5.2 LCD 显示接口显示接口5.3 5.3 并行接口的扩展并行接口的扩展5.4 5.4 同步串行总线接口同步串行总线接口5.5 5.5 常用传感器接口常用传感器接口5.6 5.6 常用功率驱动接口常用功率驱动接口
![Page 3: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/3.jpg)
V
S
![Page 4: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/4.jpg)
5.1 5.1 人机接口人机接口 ---- 键盘和键盘和 LEDLED 显示接口显示接口
一 . 键盘接口
1. 键盘的结构
独立式键盘
矩阵式键盘
每一按键都有一根信号线与单片机相连,所有的按键有一个公共端与地或与电源正端连接,每个按键相互独立。按键触点连接于行线和列线组成的矩阵电路的交叉处,每当某一按键按下时则与之相连的行线与列线被连通。
![Page 5: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/5.jpg)
2. 键盘扫描方式
①程序控制扫描方式②定时扫描方式
③中断扫描方式
图 5.1 独立式键盘 图 5.2. 矩阵式键盘
![Page 6: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/6.jpg)
3. 按键去抖动
硬件消抖 --
软件消抖 --
用简单的 R-S触发器或单稳态电路构成
用延时来躲过暂态抖动过程,即执行一个大约10ms 的延时程序后,再读取稳定的键状态
图 5.4 消除抖动电路图 5.3 按键合断时的电压抖动
![Page 7: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/7.jpg)
二 .LED显示器接口
LEDLED 显示器的结构与原理显示器的结构与原理
LED 显示器是由发光二极管显示字段组成的显示器件,它分共阴极和共阳极两种。公共端(共阴或共阳端)称为位选线, dp g f e d c b a 为段选线,组成 8 位二进制称为段码,点亮不同的字段组合可以显示不同的数字或字符。
![Page 8: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/8.jpg)
( a)
( c)
( b)共阴极 LED 显示器的发光二极管的阴极接地,当发
光 二极管的阳极为高电平时对应的字段点亮,如( a );共阳极 LED 显示器的发光二极管的阳极接 +5v ,当
发光二极管的阴极为低电平时对应的字段点亮,如( b );图( c )中 a~ g 引出端对应的字段构
成“ 8”, dp 引出端对应的字段为小数点。
![Page 9: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/9.jpg)
表 5-1 显示字符与段码的对应关系
![Page 10: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/10.jpg)
LDELDE 显示器的显示方式显示器的显示方式 NN 位位 LEDLED 显示器有显示器有 NN 根位选线和根位选线和 8×N8×N 根段选线。根根段选线。根据显示方式的不同,位选线和段线的连接方法有所不同。据显示方式的不同,位选线和段线的连接方法有所不同。
LEDLED 静态显示方式静态显示方式 ----共阴极接地或共阳极接共阴极接地或共阳极接 +5V+5V ,,每一位的段选线与一个每一位的段选线与一个 88 位平行位平行 I/OI/O 口相连。口相连。
LEDLED 动态显示方式动态显示方式 ---- 将所有位的段选线按同名将所有位的段选线按同名字段并接在一个字段并接在一个 I/OI/O 口上,共阴极端或共阳极端分口上,共阴极端或共阳极端分别由不同的别由不同的 I/OI/O 口线控制,构成口线控制,构成 LEDLED 动态显示电动态显示电路。路。注:单片机轮流点亮每一位 LED 显示器,在同一时刻
只有一位显示器点亮,但由于人眼的视觉滞留效应和发光二极管熄灭时的余辉,将出现多个字符同时显示的现
象。
![Page 11: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/11.jpg)
![Page 12: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/12.jpg)
三 . 键盘 +LED显示接口举例1. 实例设计内容:
①键盘为 4×4 矩阵式键盘, 4 位 LED 显示器; ②可以显示给定的数字,输入按键值。2. 硬件配置 ①LED 接口: MCS51的 P2 口串入 8 只 330欧的限流 电阻连接到 LED 的段选线, P1.0至P1.3经 7407 驱动接 LED 的位选线; ②键盘接口: P1.0至 P1.3 经与门驱动后接键盘的扫描线, P1.4至 P1.7 作为键盘输入线。
![Page 13: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/13.jpg)
![Page 14: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/14.jpg)
![Page 15: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/15.jpg)
5.2 LCD5.2 LCD 显示接口显示接口LCD( liquid crystal display )液晶显示器的主要材料是液态晶体。它本身不发光,靠液晶态物质的液晶分子排列状态在电场中改变而调制外界光而被动显示。被动型显示适合于人眼视觉,不易引起疲劳 , 不怕光冲刷。光冲刷是指环境光较亮时,被显示的信息被冲淡,从而显示不清晰。LCD 主要用于低压微功耗的便携式仪器仪表,如通信器材、计算器、电子手表等,另外电脑、电视用量也很大。
![Page 16: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/16.jpg)
一 . 液晶的显示原理
LCD 之所以能发光显示信息,是因为它可以通过特定的驱动方式来调节光源的亮度。夹在导电玻璃电极间的液晶经过加工,内部分子呈 90°扭曲,如上图所示。由于光线顺着分子的排列方向传播,所以光线经过液晶时也被扭转 90° 。
![Page 17: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/17.jpg)
当夜晶上加上电压时,分子便会重新垂直排列,使光线能直射出去,而不发生任何扭转。
液晶显示是由于在显示像素上施加了电场,这个电场由显示像素前后两电极上的电位信号合成产生。
由于过强的直流电场会导致液晶材料的化学反应以及电极老化,迅速降低液晶的显示寿命,因此必须建立交流驱动电场。
显示像素上交流电场的强弱可由交流电压的有效值表示。
液晶显示驱动通过调节施加在液晶显示器件电极上的电位信号的相位、峰值、频率等,建立驱动电场,以实现液晶显示器件的显示效果。
常用的液晶显示驱动方法有静态驱动和动态驱动。
![Page 18: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/18.jpg)
a.静态驱动
导通 / 断开信号与共用波形连接异或门得到笔段波形,产生笔段电极电位。
共用波形产生共用电极电位
控制方波保持为对称方波,频率一般为 25~100Hz ,使加在 LCD 两极电压的平均值为 0 。
笔段波形与公用波形不是相同关系就是相反关系:处在相同关系时,液晶上无电场, LCD 处于非选通状态;处在反相关系时,在液晶上施加了矩形波。
![Page 19: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/19.jpg)
若矩形波电压高出液晶阀值很多时, LCD 处于选通状态,其波形如上图所示。
![Page 20: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/20.jpg)
b. 动态显示
在 x 电极上施加选通信号。
在 y 电极施加于 x 电极同步的选通信号。
x, y 方向上的选通信号均有效,那么坐标为( x,y )的液晶点像素处在选通状态,否则处在非选通状
态。
![Page 21: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/21.jpg)
帧周期(帧周期( TTff))————驱动驱动 XX 电极从第一行到最后一行所电极从第一行到最后一行所 需的时间。需的时间。 占空比( Duty)————驱动每一行所需时间 Tt 与帧周期
之比值, Duty=Tt/Tf=1/N 。
偏压比( Bias)————非选通时的波形电压与选通时的 波形电压之比 Bias=1/a 。为了使选通像素、非选通像素之间显示状态一致,要求选点电压 Von 、非选点电压 Voff 一致。像素在选通电压作用下被选通,在非选通电压作用下不被选通,则必须要求 LCD 的光电性能有阀值特性,且越陡越好, Von 、 Voff 之间的差异越大越好,即比值 Von/Voff
越大越好。
![Page 22: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/22.jpg)
二 .LCD控制器 KS0108介绍由 KS0108 控制的 128*64 点阵 LCD
框图如下:
![Page 23: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/23.jpg)
接口说明接口说明
![Page 24: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/24.jpg)
指令说明指令说明
①显示开 / 关设置——设置屏幕显示开 / 关。
L L L L H H H H H H/L
CODE : R/W RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0
②设置显示起始行——执行该命令后,所设置的行
将显示在屏幕的第一行。③设置页地址 ——执行本指令后,下面的读写操作 将
在指定页内,直到重新设置。
L L H H 行地址( 0 ~ 63 )
①
②L L H L H H H 页地址( 0 ~
7 ) ③
![Page 25: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/25.jpg)
④设置列地址CODE : R/W RS DB7 DB6 DB5 DB4 DB3 DB2
DB1 DB0 L L L H 行地址( 0 ~ 63 )
功能: DD RAM 的列地址存储在 Y 地址计数器中,
读写数据对列地址有影响,在对DD RAM 进
行读写操作后, Y 地址自动加一。⑤状态检测
CODE : R/W RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 H L BF L ON/
OFF RST
L L L L
功能: BF=H :内部正在执行操作; BF=L :空闲状态。RST=H :正处于复位初始化状态; RST=L :正常状态。ON/OFF=H :显示关闭; ON/OFF=L :显示开。
![Page 26: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/26.jpg)
⑥写显示数据 CODE : R/W RS DB7 DB6 DB5 DB4 DB3 DB2
DB1 DB0 L H D7 D6 D5 D4 D3 D2 D1 D0
功能:写数据到 DD RAM ,写指令执行后 Y 地址计数
器自动加 1 。D7-D0 位数据为 1 表示显示,数据
为 0 表示不显示。写数据到 DD RAM前,要先
执行“设置页地址”及“设置列地址”命令。
⑦读显示数据CODE : R/W RS DB7 DB6 DB5 DB4 DB3 DB2
DB1 DB0 H H D7 D6 D5 D4 D3 D2 D1 D0
功能:从 DD RAM 读数据,读指令执行后 Y地址计数 器自动加 1 。从 DD RAM读数据前要先执行“设 置页地址” 及“设置列地址”命令。
![Page 27: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/27.jpg)
时序说明时序说明
①写操作时序
![Page 28: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/28.jpg)
②读操作时序
![Page 29: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/29.jpg)
③时序参数表
![Page 30: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/30.jpg)
屏幕显示与 DDRAM 地址映射关系
![Page 31: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/31.jpg)
三 . LCD显示应用举例
![Page 32: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/32.jpg)
![Page 33: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/33.jpg)
5.3 5.3 并行接口的拓展并行接口的拓展 I/O 并行接口的扩展方法 :
当所需 I/O 口较少时,可采用 74LS 系列器件进行扩展。 当所需 I/O 口较多时,可采用专用接口芯片进行扩展,如 8255、 8155等。
进行 I/O 并行接口扩展时,需遵守“输入三态,输出锁存”的原则与总线相连。 “ 输入三态”可保证在未被选通时, I/O芯片的输出与数据总线隔离,防止总线上的数据出错。 “ 输出锁存”则可使通过总线输出的信息得以保持,以备速度较低的外设较长时间读取,或能长时间作用于被控制对象。
![Page 34: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/34.jpg)
一 .74LS系列器件扩展并行口
上图中, 74LS244三态输入门作为 8 个按钮开关的输入, 74LS273 8D锁存器作为 8 位输出驱动 8 个
LED 发光管。
![Page 35: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/35.jpg)
图中,单片机控制 P2.0 为低电平,当 RD 为低电平时,选通 74LS244 读入 8 个按钮开关状态;当 WR为低电平时,选通 74LS273写入 8 位数据至 8D锁存器,
点亮或熄灭 LED 发光管。
74LS244和 74LS272 的选通地址相同,定义为: #define 74PORT XBYTE[0xFEFF]
假如将按钮开关状态显示到 LED 发光管上,则执行以下程序即可:
X=74 PORT; // 读按钮开关状态 74 PORT =X; //把按钮开关状态显示到 LED 发光管上
![Page 36: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/36.jpg)
二 .8255扩展并行口 8255A8255A 内部结构和引内部结构和引脚脚
其采用40脚的DI
P封装
![Page 37: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/37.jpg)
引脚名 功能 连接去向 70~DD 数据总线
(双向) CPU
RESET 复位输入 CPU CS 片选信号 译码电路 RD 读信号 CPU WR 写信号 CPU ,A 端口地址 CPU
70PA~PA 端口 A 外设 70PB~PB 端口 B 外设 70PC~PC 端口 C 外设
Vcc 电源( +5V )
/
GND 地 /
表 5.4 8255A 引脚定义
![Page 38: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/38.jpg)
8255A 有三个数据端口 A、 B、 C ,每个端口为8 位,并均可设成输入和输出方式,但各个端口仍有差异:
端口 A( PA0~ PA7 ): 8 位数据输出锁存 /缓冲器,
8 位数据输入锁存器;
端口 B( PB0~ PB7 ): 8 位数据 I/O锁存 /缓冲器,
8 位数据输入缓冲器;
端口 C ( PC0~ PC7 ): 8 位输出锁存 /缓冲器, 8 位
输入缓冲器。
在模式控制下这个端口又可以分成两个 4 位的端口,它们可单独用作为输出控制和状态输入。
在 8255A 中,还有一个控制寄存器,用于控制8255A 的工作方式,因此 8255A 共有 4 个端口寄存器,分别用 A1A0 指定。
![Page 39: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/39.jpg)
8255A 接口工作状态选择表
![Page 40: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/40.jpg)
方式控制字方式控制字8255A的三种基本工作方
式
方式 0 :基本的输入 / 输出 方式 1 :有联络信号的输入 / 输
出方式 2 :双向传送 A 组三种方式均可采用, B 组只能采用方式 0 和
1 。
当向 A1A0=11 的端口寄存器发送D7=1 的控制字时,其作用为方式控制字,各个位的含义如上图。
![Page 41: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/41.jpg)
当向 A1A0=11 的端口寄存器(即控制寄存器)发送D7=0 的控制字时,其作用为置位控制字,各个位的含义如下图。
置位控制字置位控制字
图 5.24 置位控制字
![Page 42: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/42.jpg)
方式 0 —— 基本的输入 / 输出 将端口信号线分成 4 组,分别由方式控制字的 D 4D3D1D0 控制其传送方向,当某位为 1 时,相应的端口数据线设置成输入方式;当某位为 0 时,相应的端口数据线设置成输出方式。 例如,当方式控制字设置成 1000 1010B时,端口 A 与端口 C 的低 4 位数据线设置成输出方式,端口 B 与端口 C 的高 4 位数据线设置成输入方式。 注:当将 C 口的低 4 位设置成同一传送方向时,则端口 C 可用作为独立的端口,因此, 8255A提供了 3 个独立的 8 为端口。
![Page 43: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/43.jpg)
单片机与 8255 接口电路
![Page 44: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/44.jpg)
地址分配: (假定将无关位看作1 )PA: 111XX······00B ( FFFCH )
PB: 111XX······01B ( FFFDH )PC: 111XX······10B ( FFFEH )控制寄存器 : 111XX······11B ( FFFFH )
读操作 : (以 PA 口为例)MOV DPTR,#0FFFCH
MOVX A,@DPTR
写操作 : (以 PA 口为例)MOV DPTR,#0FFFCH
MOVX @DPTR,A
![Page 45: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/45.jpg)
例:编程将 PA 口、 PB 口分别设置成方式 0 输出和方式 0 输入,并将由 PB 口读入的数据在 PA 口输出。(假定 PC 口高四位工作在输出,低四位工作在输入)
MOV DPTR,#0FFFFH
MOV A,#83H
MOVX @DPTR,A ; 初始化8255
MOV DPTR, #0FFFDH
MOVX A,@DPTR ;读 PB 口
MOV DPTR,#0FFFCH
MOVX @DPTR,A ;写 PA 口
分析: 8255 的方式控制字 83H
![Page 46: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/46.jpg)
方式 1 —— 有联络信号的输入 / 输出 为对中断请求信号进行管理, 8255A 中专门设置了中断屏蔽触发器 INTEA和 INTEB ,它们是通过对端口 C 某一位的置位控制字进行控制,如下表。表 A.2 中断
管理 分组 中断屏蔽触
发器 输入 / 输出方式
端口 C 中的控制位
A 组 INTEA 输入 4PC A 组 INTEA 输出 6PC B 组 INTEB 输入 / 输
出 2PC
通过置位控制字,当对 INTE 对应的端口 C 的位置位时, INTE= 1 ,允许产生中断请求信号;当对 INTE 对应的端口 C 的位清零时, INTE= 0 ,不允许产生中断请求信号。
![Page 47: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/47.jpg)
a. 方式 1/ 输入 当将 A 组和 B 组设置成方式 1 输入时,其方
式控制字与端口数据线如下图所示,注意: D3 用于控制 PC6~PC7 的传送方向。
A 口方式一 / 输入时的方式控制字和端口数据线
![Page 48: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/48.jpg)
B 口方式一 / 输入时的方式控制字和端口数据线
STB 与外设提供的选通脉冲相连,将外设送来的数据锁存到端口寄存器,这相当于“数据准备好”信号。 IBF向外设发送数据输入响应,表示端口寄存器已收到数据,但尚未被 CPU 取走;当 IBF 信号无效时,表示“接收准备好”。
![Page 49: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/49.jpg)
8255A工作在方式 1 的输入方式下的时序图
![Page 50: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/50.jpg)
b. 方式 1/ 输出 当将 A 组和 B 组设置成方式 1 输出时,其方
式控制字与端口数据线如图 5-23 所示,注意D3 用于控制 PC4~PC5 的传送方向。
A 口方式一 / 输出时的方式控制字和端口数据线
![Page 51: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/51.jpg)
B 口方式一 / 输出时的方式控制字和端口数据线
OBF (输出缓冲器满)有效表示 CPU已将数据写入端口寄存器,这相当于“数据准备好”信号。 ACK (回执)有效表示外设已将数据取走, CPU 可发来新的数据。
![Page 52: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/52.jpg)
8255A工作在方式 1 的输出方式下的时序图
![Page 53: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/53.jpg)
c. 方式 1 的组合
在方式 1 下, 8255A的 A 组和 B 组可以独立对定义,也就是说 A 组输入 / 输出方式的设定与 B 组的输入 / 输出方式无关,反之也然。 例如,设定的方式控制字为 1011 1100B 时,表示 A 组为方式 1 输入, B 组为方式1 输出,而且 PC6~PC7 设定成输入。
![Page 54: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/54.jpg)
方式 2 ——双向传送 这种方式只适用于 A 组, PC7~PC6 用作为输出的联络信号, PC5~PC4 用作为输入的联络信号, PC3仍用作为中断请求信号。
A 口方式二时的方式控制字和端口数据线
![Page 55: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/55.jpg)
( 3 )当 A口工作于方式 2,B 口工作于方式 1 时, A口有两个中断源, B 口有一个中断源, CPU 响应中断时,先查询 PC3(INTRA)和PC0(INTRB), 以判断是 A口还是 B 口请求中断,如果是 A口( PC3 为高),还要继续查询PC5(IBFA)和 PC7(OBFA), 以判断是输入中断还是输出中断。这里体现了状态字的作用。
说明: ( 1 )工作方式 2 是 A口选通输入方式和选通输出方式的组合,工作过程也类似。 ( 2 ) INTE1和 INTE2由 C 口置位 /复位控制字设置, INTE1为 PC6 位, INTE2为PC4 位;
![Page 56: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/56.jpg)
8255 方式 2 的控制时序图
![Page 57: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/57.jpg)
读取端口 C 状态 在方式 0 下,端口 C 用作为独立的数据端口,但在方式 1 和方式 2 下,端口 C 用作为联络信号,因此当读取端口 C 的内容时,可以获取某些联络信号线的状态,据此可了解 8255A 的工作状态。端口 C 各位的含义如下图。
![Page 58: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/58.jpg)
例:将 CPU 内部 RAM以 20H 为起始地址的连续50 个单元的数据输出到打印机打印。
![Page 59: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/59.jpg)
分析: 在方式 1下 PA 口的 PC7 输出的是电平信号,而字符打印机通常需要的选通信号是负脉冲,故不能把 PC7 直接与打印机的 STBN 端相连,必须利用 PC 口的置复位控制字产生一个驱动脉冲。
控制字:10101000B(A8H) 地址分配:
00H A 口; 01H B 口; 02H C 口; 03H 控制口 主程序: ORG 01000H
SETB EX0 ; 开外中断 0
SETB PX0 ; 设置高优先级 SETB IT0 ; 外中断 0 边沿触发 SETB EA ; 开中断 MOV R0,#03H ; 控制口地址送 r0
![Page 60: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/60.jpg)
MOV A,#0A8H
MOVX @R0,A ; 写控制字 MOV R1,#20H ;设置数据块地址指针 MOV R2,#31H ;控制传送数据的次数 MOV R0,#00H
MOV A,@R1
MOVX @R0,A ; 写第一个数据到 PA 口 MOV R0,#03H
MOV A,#01H
MOVX @R0,A ;PC0置 1
MOV A,#00H
MOVX @R0,A ;PC0清 0
SJMP $
![Page 61: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/61.jpg)
ORG 0003H
LJMP PINT0
ORG 2000H
PINT0: MOV R0,#00H
INC R1
MOV A,@R1
MOVX @R0,A ; 写一个数据到 PA口 MOV R0,#03H
MOV A,#01H
MOVX @R0,A ;PC0置 1
MOV A,#00H
中断服务程序: MOVX @R0,A ;PC0清 0
DJNZ R2,NEXT
CLR EX0
SJMP DONE
NEXT:SETB EX0
DONE:RETI
END
![Page 62: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/62.jpg)
![Page 63: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/63.jpg)
5.4 5.4 同步串行总线接同步串行总线接口口一 . I2C 总线与 AT24C 系列
E2PROM 应用 I2C 总线原理简介
I2C 总线 (Inter IC Bus) 全称为芯片间总线,采用两条线,一根是数据线 SDA 和一根是时钟线 SCL ,其基本结构如上图。
![Page 64: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/64.jpg)
I2C 串行总线的运行由主器件控制,主器件通常由单片机来担当。
I2C 串行总线的 SDA、 SCL 是双向的,带有I2C 串行总线接口器件的输出端口为漏极开路,必须通过上拉电阻接正电源。
当总线空闲时,两条线均为高电平。各器件的SDA、 SCL 都是“线与”的关系。
在标准 I2C 普通模式下,数据的传输速率为100kbit/s ,高速模式下可达 400kbit/s 。
![Page 65: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/65.jpg)
a. 数据的有效性
SDA 线上的数据必须在时钟的高电平周期保持稳定。数据线的高或低电平状态只有在 SCL 线的时钟信号是低电平时才能改变,如左图所
示。b. 起始和停止条
件SCL 线是高电平时SDA 线从高电平向低电平切换这个情况表示起始条件;当 SCL 是高电平时 SDA 线由低电平向高电平切换表示
停止条件。
![Page 66: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/66.jpg)
c. 数据传输
图 5-36 完整的数据传输
![Page 67: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/67.jpg)
I2C 总线数据传送的模拟例:对 EEPROM 24C02 进行读和写,先将0~255写入对应的地址,然后读出,按键对地址进行加减,并在终端显示 (仿真电路图如下)。
![Page 68: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/68.jpg)
二 . SPI 总线与 ADC0831 的应用 ADC0831 功能框图和操作时
序
![Page 69: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/69.jpg)
![Page 70: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/70.jpg)
ADC0831 的应用例:针对下图,编写 ADC0831模数转换 SPI 程序。功能:运行程序后,调节电位器,在串口终端上观察模数转换结果的数据变化。模拟电压范围:0~5V ,模数转换结果范围: 0~255 。
![Page 71: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/71.jpg)
三 . 1-Wire 总线与 DS18B20的应用单总线( 1-Wire Bus )是 Dallas 公司推出的外
围串行总线。它仅有一根数据输入输出线 DQ ,总线上所有的器件都挂接在 DQ 线上。
![Page 72: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/72.jpg)
DS18B20温度传感器介绍DS18B20 是一个可编程的 1-Wire 数字温度传感器芯片。 其内部框图如下:
![Page 73: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/73.jpg)
表 5-6 温度寄存器格式和温度 / 数据关系
![Page 74: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/74.jpg)
DS18B20 的硬件连接
图 5-43 DS18B20 的硬件连接
![Page 75: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/75.jpg)
![Page 76: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/76.jpg)
5.5 5.5 常用传感器接口一 . 模拟电压与电流测量接口
直流
交流
电压测量——
电流测量——
电流测量——
电压测量——
直接通过低通滤波后输入到 ADC
根据欧姆定律,串入取样电阻将待测电流转换为相应电的压,再接至 ADC
将待测电压整流滤波以检测其平均值将交流电流转换成交流电压,用测量交流电压的方法去测量
![Page 77: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/77.jpg)
![Page 78: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/78.jpg)
![Page 79: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/79.jpg)
![Page 80: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/80.jpg)
![Page 81: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/81.jpg)
![Page 82: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/82.jpg)
二 . 温度测量接口 a.铂金属热电阻Pt100
b.集成电路温度传感器
LM35
c.热电偶
铂金属热电阻测温精度高,稳定性好,具有一定的非线性,温度越高电阻变化率越小。
-——-
-——-
-——-
①. 线性度为 10.0mV/℃; ②.测量范围 -55℃~ 150℃,测量精度 0.5℃ ; ③. 电源电压为 4 ~ 20V,当1mA 电流输出时 , 输出电阻为 0.1Ω两种不同成分的导体的接合点会
产生热电动势。需要补偿电路完成感测室内环境温度并产生相应大小的补偿热电势叠加到热电势
中,这就叫冷端补偿。
![Page 83: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/83.jpg)
![Page 84: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/84.jpg)
三 . 应力测量接口
电阻式传感器是将位移、变形、力、加速度、湿度、温度等被测物理量转换成电阻值变化的一种器件。主要有电阻应变式、压电式、热电阻、热敏、气敏、湿敏等电阻式传感器件。 电阻值受应力变化而变化的电阻称为电阻应变片。常用应变片的标称电阻值为( Ω ):120, 175, 350, 500, 700, 1000, 1500 。 一般对于电桥信号采用差动放大。
![Page 85: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/85.jpg)
![Page 86: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/86.jpg)
四 . 红外光电传感器 反射式红外光电传感器反射式红外光电传感器采用高发射功率红外光电二极管和高灵敏度光电晶体管组成。采用非接触式检测方式,检测距离可调范围大。右图是型号为 ST188 的反射式红外线光电传
感器,其检测距离为 4 ~13mm 。
![Page 87: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/87.jpg)
当 Vcc=5V 时, R1 可取 510Ω ,则发射电流 IF=(Vcc-1.2V)/R1=7.5mA。 R2 可
取 20KΩ 。
表 5.7 ST188 光电特性
![Page 88: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/88.jpg)
直射式红外光电传感器
下图为直射式红外光电传感器 ST181 ,可用于光电开关,光电测速等,接线电路同上。
![Page 89: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/89.jpg)
项 目 符号 测试条件 最小 典型 最大 单位
输入 正向压降 VF IF=20mA - 1.2 1.6 V
反向电流 IR VR=5V - - 10 μA
输出
集电极暗电流
Iceo Vceo=20V , E
e=0mW/cm2 - - 100 nA
集电极亮电流
IC Vce=5V , IF=
5mA 0.6 - 4.0 mA
饱和压降 VCE Ic=0.5mA , Ee
=10mW/cm2 - - 0.4 V
传输 特性
响应时间
Tr Vce=5V , Ic=1mA
RL=1000Ω
- 15 - μS
Tf - 15 - μS
ST181 光电特性( Ta=25℃ )
![Page 90: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/90.jpg)
五 . 开关式霍尔传感器
A04E霍尔传感器为常开型霍尔元件。
其工作电压: 4.5-28V ;工作电流:20mA 。
![Page 91: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/91.jpg)
测速原理:如右图所示,圆盘每转动一圈,霍尔传感器便输出一个脉冲。通过单片机测量产生脉冲的频率,就可以得出圆盘的转速。根据圆盘的转速,再结合圆盘的周长就是计算出物体的位移。
![Page 92: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/92.jpg)
图 5.59 霍尔传感器检测电路
![Page 93: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/93.jpg)
![Page 94: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/94.jpg)
5.6 5.6 常用功率驱动接口一 . 采用 ULN2803增强驱动
能力ULN2803 是内部集成 8 个达林顿功率管的阵列,且内含续流二极管,适合驱动感性负载如继电器等,其管脚图如左图所示。其极限参数为:最大输出端电压: VCE=50V最大输入电压: VIN=30V最大连续输出电流:IC=500mA 最大连续输入电流:IIN=25mA
![Page 95: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/95.jpg)
![Page 96: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/96.jpg)
二 . 双向晶闸管的驱动 过零型驱动
移相型驱动
过零型驱动芯片有MOC3081~3083,MOC3061~3063等。它们是具有过零检测的光触发晶闸管输出电路。由于双向晶闸管是在交流电过零瞬间导通,故对电网冲击小,电磁波辐射也就小。
MOC3020~3023等与上面的芯片不同之处是没有过零检测电路。利用 MOC3020~3023可以实现移相触发。
![Page 97: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/97.jpg)
![Page 98: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/98.jpg)
三 . 智能型功功率开关集成电路 智能功率模块 IPM( Intelligent Powr
Module )把功率开关器件和驱动电路集成在一起,内藏有过电压,过电流和过热等故障检测电路,可将检测信号送到 CPU 或DSP 作中断处理。 IPM 一般使用 IGBT 作为功率开关元件,并内藏电流传感器及驱动电路的集成结构。
IPM具有以下优点:( 1 )开关速度快( 2 )低功耗( 3 ) 快速的过流保护( 4 )过热保护( 5 )桥臂对管互锁
( 6 ) 抗干扰能力强( 7 )驱动电源欠压保护( 8 ) IPM 内藏相关的外围电路( 9 )无须采取防静电措施。( 10 )大大减少了元件数目
![Page 99: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/99.jpg)
单个智能型功率开关集成电路
引脚 名称 功能1 GND 逻辑地2 IN 输入端,高电平触发电源开关
3 Vbb 电源
4 ST 诊断反馈端5 OUT 输出端
图 5.64 BTS412 外形及引脚意义
![Page 100: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/100.jpg)
图 5.65 BTS412 内部框图
![Page 101: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/101.jpg)
BTS412 有以下几个特点: ①器件在负载发生短路时能快速切断电源,过流保护过程如下图; ②器件本身温升超过一定值时,亦能立即切断电源实现自我保护,; ③当电源电压 Vdd太低(小于 6V 时),器件亦能自行关断,并由 4 脚输出故障反馈信号。
![Page 102: MCS-51 单片机](https://reader038.vdocuments.mx/reader038/viewer/2022102416/5681459a550346895db28f0f/html5/thumbnails/102.jpg)
智能型功率开关集集成模块智能型功率开关集成模块一般由 1~7 个功率开关单元组成。下图为由 IPM 组成的交流马达控制系
统。