第8章_外部总线接口技术.ppt
《第8章_外部总线接口技术.ppt》由会员分享,可在线阅读,更多相关《第8章_外部总线接口技术.ppt(64页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第8章章单单片机小系片机小系统统及片外及片外扩扩展展v8.1 单单片机小系片机小系统统及及应应用用v8.2 并行扩展三总线的产生并行扩展三总线的产生v8.3 扩扩展数据存展数据存储储器器v8.4 几种外部串行总线工作方式几种外部串行总线工作方式8.18.1 单单片机小系片机小系统统 一个最小的单片机微机系统由三片集成块组成,它们是CPU(8031)、8位3态D锁存器74LS373、ROM或RAM。习惯上将这三样称作老三件。当然有了这三件单片机还是不能工作,还要加上一个时钟电路和复位电路,由这些基本电路组成一个完整的最小系统,见图8-1,该电路可提供P1口、P3口作为用户的输入、输出口(I/O
2、)。28031 最小系统389C51 最小系统48.18.1.1.1单片机最小系统的应用单片机最小系统的应用 v最小系统只是单片机能工作的最低要求,它不能对外完成控制任务,还不能人机对话,要进行人工对话还要一些输入、输出部件,作控制时还要执行部件。v常见的输入部件:开关、按钮、键盘、鼠标等v输出部件:指示灯、数码管、显示器等v执行部件:继电器、电磁阀等58051彩灯控制器电路图 6彩灯控制器设计v设计过程:对于彩灯控制器,只要在口线上加线驱动器就行。因8051每个口带负载的能力有限,也就是说在P1口的8根口线上同时直接接8个指示灯,若编程让8个灯同时亮,这时,8个灯一个也不亮,最多能接4个,要
3、想8个指示灯能同时亮的方法是每一个口线加驱动,一般用同向放大器或反向放大器作为驱动器,若驱动电流还不够,应改用三极管作驱动器件,根据以上设计思路,加了8个发光二极管、8个电阻和8个同向放大器(74LS244),电阻是限流电阻,调整阻值使发光管最亮,电流又最小。78.18.1.2 I/O端口的编址 v1I/O端口和存储器统一编址方式端口和存储器统一编址方式 vI/O端口和存储器公用一个地址空间,端口和存储器公用一个地址空间,端口与存储器统一编址,即把每个端口与存储器统一编址,即把每个I/O端端口当做一个存储单元,给它分配存储空口当做一个存储单元,给它分配存储空间的一个地址。间的一个地址。2 2I
4、/OI/O端口独立编址方式端口独立编址方式v这种方式是端口地址与存储器地址分开这种方式是端口地址与存储器地址分开编址。对编址。对I/O端口独立编址,需要专门的端口独立编址,需要专门的I/O指令和接口信号访问指令和接口信号访问I/O端口。端口。88.1.3 I/O口的直接应用 从从P1.0P1.0P1.3P1.3输入开关状态,输入开关状态,再经再经P1.4P1.4P1.7P1.7输出去驱输出去驱动发光二极管,动发光二极管,使发光二极管使发光二极管显示开关的状显示开关的状态。态。9程序如下:v ORG0000Hv AJMP MAINv ORG 0030HvMAIN:MOV P1,#0FH ;熄灭发
5、光二极管vMOV A,P1;读入开关状态vSWAPA;A高低半字节交换vMOV P1,A;开关状态输出vAJMP MAINvEND10扩展扩展I/O接口所用的芯片主要有通用可编程接口所用的芯片主要有通用可编程I/O芯片和芯片和TTL、CMOS锁存器、三态门电锁存器、三态门电路芯片两大类。路芯片两大类。简单并行简单并行I/O接口的扩展接口的扩展11 采用采用74LS24474LS244做扩展输入、做扩展输入、74LS27374LS273做扩展输出的简单做扩展输出的简单I/OI/O扩扩展电路。展电路。12程序如下:v ORG 0000Hv AJMP MAINv ORG 0030HvMAIN:MOV
6、 DPTR,#0FEFFH;数据指针指向I/O口地址v MOVX A,DPTR;从244读入数据,检测按键vMOVX DPTR,A ;向273输出数据,驱动LEDvAJMP MAINvEND138.1.4 显示器的扩展 v1LED显示器的结构与原理 共共阴极阴极共共阳极阳极14十六进制数字形代码表 字型字型共阳极代码共阳极代码共阴极代码共阴极代码字型字型共阳极代码共阳极代码共阴极代码共阴极代码0C0H3FH990H6FH1F9H06HA88H77H2A4H5BHB83H7CH3B0H4FHCC6H39H499H66HDA1H5EH592H6DHE86H79H682H7DHF84H71H7F8H
7、07H灭灭FFH00H880H7FH152LED显示器接口方法显示器接口方法v(1)以硬件为主的接口方法 16v(2)以软件为主的接口方法 178.1.5 矩阵式键盘的扩展 v键盘上的键按行列构成矩阵,在行列的交点上都对应有一个键。v所谓键实际上就是一个机械开关,被按下则其交点的行线和列线接通。非编码键键盘接口技术的主要内容就是如何确定被按键的行列位置,并根据此产生键码。181键输入过程与软件结构键输入过程与软件结构192键盘输入接口与软件应解决的任务 v(1)键开关的可靠输入 v抖动的处理有硬件处理和软件处理两种。v(2)按键编码与键号定义 v(3)键盘检测与编制键盘程序v 203矩阵式键盘
8、电路的结构及工作原理矩阵式键盘电路的结构及工作原理v一个44的行、列结构可以构成一个含有16个按键的键盘。21v扫描方法:先令列线Y0为低电平(0),其余3根列线Y1、Y2、Y3都为高电平,读行线状态。如果X0、X1、X2、X3都为高电平,则Y0这一列上没有键闭合,如果读出的行线状态不全为高电平,则为低电平的行线和Y0相交的键处于闭合状态;如果Y0这一列上没有键闭合,接着使列线Y1为低电平,其余列线为高电平。用同样的方法检查Y1这一列上有无键闭合,依次类推,最后使列线Y3为低电平,其余列线为高电平,检查Y3这一列有无键闭合。224键盘接口举例 v82行列式键盘扫描接口电路 23键盘扫描的程序(
9、采用查询方法)键盘扫描的程序(采用查询方法)vKS:MOVDPTR,#7FFFH;键扫描程序vCLRP1.0;先扫描第1列(即07号键)vMOVX A,DPTR;读入按键状态vMOV37H,A;暂存按键状态vCPLA;vJZKSK1;07号键没有键操作,则跳vLCALL DL20;07号键有操作,则延时去抖vMOVX A,DPTR;再读键状态vXRLA,37H;和延时前的状态一样吗?vJZKS1;一样,则转去查询键号vKSK1:SETBP1.0;开始扫描第2列,8F号键vCLRP1.1vMOVX A,DPTR;读入按键状态vMOV37H,A;暂存按键状态vCPLAvJZKSK2;8F号键没有键
10、操作,则跳vLCALL DL20;8F号键有操作,则延时去抖v 24vMOVX A,DPTR;再读键状态vXRLA,37H;和延时前的状态一样吗?vJZKS1;一样,则转去查询键号vKSK2:AJMPKS9;8F号键也不存在操作,则跳vKS1:MOVX A,DPTR;再读按键状态vCPLAvJNZKS1;按键没有松开,则等待松开vMOVA,37H;查询有键操作的键号vJBACC.0,KS2;不是第1个键,则跳vMOV37H,#00H;赋键初值vAJMPKS10vKS2:JBACC.1,KS3;不是第2个键,则跳vMOV37H,#01H;赋键初值vAJMPKS10v vKS9:AJMP KS9
11、258.1.6 输出执行部件 1 继电器继电器是用低电压控制高电压的器件,它分为线圈、铁芯、衔铁、触点,触点有常开触点、常闭触点之分。在开关特性上有单刀单置、双刀单置、单刀双置、双刀双置、单刀多置、双刀多置之别。2 光耦v 光耦在电路中起隔离作用,由光作为信号传递媒介(工具),将单片机和外部设备在电器隔离。有三极管型光耦(又分带基极型和不带基极型)、可控硅型光耦(又分单向可控和双向可控)。26(a)继电器 (b)光耦符号 继电器和光耦符号27继电器接口28v常用的光电耦合的隔离作用有两种:一是输入信号隔离,用于单片机应用系统的前向通道,可防止由输入信号带来的干扰;二是控制隔离,用于系统的后向通
12、道,可以防止来自强电开关上的干扰。(a)发光二极管光晶体管 (b)发光二极管光电阻器 (c)高速光电耦合器 292.光电耦合器(隔离器)件及驱动接口v后向通道往往所处环境恶劣,控制对象多为大功率伺服驱动机构,电磁干扰较为严重。为防止干扰窜入和保证系统的安全,常常采用光电耦合器,用以实现信号的传输,同时又可将系统与现场隔离开。v晶体管输出型光电耦合器的受光器是光电晶体管,如图所示。光电耦合器4N25的接口电路30 3 固态继电器的接口固态继电器的接口v普通继电器由于开关速度慢,易跳火、易机械磨损,通常用于要求不高的场合。在某些特殊应用场合,比如防火防爆等系统中则应采用固态继电器,固态继电器是一种
13、无触点的电子继电器,它的输入端只要很小的控制电流,可以与单片机的I/O口直接连接,输出则采用双向晶闸管控制,其输入输出间均通过内部光电耦合器隔离,可以防止信号间的干扰,是单片机接口的理想器件。随着其技术的成熟、应用的广泛,价格也已经非常的便宜。1A/250V的目前在10元左右,当一端所接的P1.0为高电平时SSR导通负载工作 31固态继电器内部结构I/O口线与SSR接口电路32v4N40和MOC3041的接口驱动电路。v4N40是常用的单向晶闸管输出型光电耦合器,也称固态继电器。vMOC3041是常用的双向晶闸管输出的光电耦合器(固态继电器)。晶闸管输出型光电耦合器驱动接口338.2 并行扩展
14、三总线的产生v通常情况下,微机的CPU外部都有单独的并行地址总线、数据总线和控制总线,而89C51单片机由于受引脚的限制,数据线和地址线是复用的,而且由口线兼用。v为了将它们分离出来,以便同单片机片外的芯片正确地连接,需要在单片机外部增加地址锁存器,从而构成与一般CPU相类似的片外三总线,如图825所示。v采用74HC373作锁存器的地址总线扩展电路如图826所示。34图825 89C51扩展的并行三总线图826 89C51地址总线扩展电路35引脚图 功能表图8-27 74LS373引脚图和功能表OELEDnQnLHHHLHLLLLLLLLHHHZ36v由89C51 P0口送出的低8位有效地址
15、信号是在ALE(地址锁存允许)信号变高的同时出现的,并在ALE由高变低时,将出现在P0口的地址信号锁存到外部地址锁存器74HC373中,直到下一次ALE变高时,地址才发生变化。378.2.1 片外三总线结构v所谓总线,就是连接系统中各扩展部件的一组公共信号线。按照功能,通常把系统总线分为3组,即地址总线、数据总线和控制总线。v89C51单片机的片外引脚可构成如图8-25所示的并行三总线结构,所有的外围芯片都将通过这三种总线进行扩展。381.地址总线v地址总线(Address Bus,AB)用于传送单片机送出的地址信号,以便进行存储单元和端口的选择。v地址总线是单向的,只能由单片机向外发送信息。
16、地址总线的数目决定了可直接访问的存储单元的数目。v例如,n位地址可以产生2个连续地址编码,因此,可访问2个存储单元,即通常所说的寻址范围为2个地址单元。89C51单片机存储器扩展最多可达64 KB,即2个地址单元,因此,最多需16位地址。392.数据总线v数据总线(Data Bus,DB)用于单片机与存储器之间或单片机与端口之间传送数据。v数据总线的位数与单片机处理数据的字长一致。v例如,89C51单片机是8位字长,所以,数据总线的位数也是8位。数据总线是双向的,可以进行两个方向的数据传送。403.控制总线v控制总线(Control Bus,CB)是单片机发出的以控制片外ROM、RAM和口读写
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 外部 总线接口 技术
限制150内