网站大量收购闲置独家精品文档,联系QQ:2885784924

第9章系统并行扩展.ppt

  1. 1、本文档共127页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第9章系统并行扩展

* 由于采用软件延时,音频信号频率不是很准确,可对延时参数i进行调整,或采用定时器来实现较为精确定时。 如想发出更大声音,可采用大功率的扬声器,这时要采用相应功率驱动电路。 上述报警音调较单调,为使报警声优美悦耳,可购买市售乐曲发生器发出的乐曲声来用来作为某种提示信号或报警信号。设计者可根据自己对乐曲的喜好来购买相应的集成电路。 例如,采用华尔兹乐曲的电子音乐芯片7920A,单片机对其控制非常简单,只需控制一只I/O引脚的高/低电平加到芯片7920A的输入端,即可控制其停止或发出乐曲信号。 可以传送下一个输入数据。 (2)方式1输出  方式1输出时的应答联络信号如图9-26所示。  OBF*与 ACK*构成了一对应答联络信号,功能如下。 ● OBF* —端口输出缓冲器满信号,是82C55发给外设的联络信号,表示单片机已经把数据输出到82C55的指定端口,外设可将数据取走。  ● ACK* —外设的应答信号。表示外设已把82C55端口的数据取走。  ● INTR —中断请求信号。表示该数据已被外设取走,向单片机发出中断请求,如果单片机响应该中断,则在中断服务 *  子程序中向82C55端口输出下一个数据。 ● INTEA —PA口是否允许中断的控制信号,由PC6置/复位来控制。 ● INTEB —PB口是否允许中断的控制信号,由PC2置/复位来控制。 方式1输出工作示意见图9-27。下面以PB口方式1输出为例,介绍方式1输出的工作过程。   * * 图9-26 方式1输出应答联络信号   * 图9-27 PB口方式1输出工作过程示意图   ① 单片机可通过传送指令把输出数据送到B口的输出数据锁存器,82C55收到数据后便令输出缓冲器满引脚 OBFB*(PC1)变为低电平,以通知输出外设单片机输出的数据已在PB口的PB7~PB0上。 ② OBFB*输出外设收到上低电平后,先从PB7~PB0上取走输出数据,然后使ACKB*变为低电平,通知82C55输出外设已收到82C55输出给外设的数据。  ③ 82C55从应答输入线ACKB*收到低电平后就对OBFB*和中断允许控制位INTEB状态进行检测,若它们皆为高电平,则INTRB变为高电平而向单片机请求中断。  ④ 单片机响应INTRB上中断请求后,在中断服务程序中把下一个输出数据送到PB口的输出数据锁存器。重复上述过程,完成数据输出。 * 【例9-5】设置PA口为应答方式输入,PB口为应答方式输出。假设82C55的端口寄存器的地址为0xff7f,参考程序段如下:  uchar xdata COM8255 _at_0xff7f //0xff7f为82C55控制寄存器地址   …  void init8?255(void)   {    COM8255=0xb4; //方式控制字写入控制寄存器   ? ? …   } 3.方式2   只有PA口才能设定为方式2,实质上是方式1输入和方式1输出组合。方式2特别适用于像键盘、显示器一类外设,有时需要把键盘上输入的编码信号通过PA口送给单片机,有时又需把单片机发出的数据通过PA口送给显示器显示。   图9-28所示为方式2下工作示意图。在方式2下,PA7~PA0为双向I/O总线。当作为输入端口使用时,PA7~PA0受STB*和IBFA控制,其工作过程和方式1输入相同;当作为输出端口使用时,PA7~PA0受OBFA 、ACKA *控制,其工作过程和方式1输出时相同。 * 图9-28 PA口方式2工作示意图 9.4.4 AT89S51单片机与82C55的接口设计 1.硬件接口电路 图9-29为AT89S51扩展一片82C55的电路图。图中,74LS373是地址锁存器,P0.1、P0.0经74LS373与82C55的地址线A1、A0连接; P0.7经74LS373与片选端 CS*相连,其他地址线悬空;82C55的控制线RD*、WR*直接与AT89S51单片机的RD*和WR*端相连;单片机数据总线P0.0~P0.7与82C55的数据线D0~D7连接。 图9-29 AT89S51单片机扩展一片82C55的接口电路   2.确定82C55端口地址   图9-29中82C55只有3条线与AT89S51单片机的地址线相接,片选端CS*与P0.7相连,端口地址选择端A1、A0分别与P0.1和P0.0连接,其他地址线未用。显然,只要保证P0.7为低电平时,即可选中82C55;若P0.1、P0.0再为“00”,则选中82C55的PA口,同理P0.1、P0.0为“01”、“10”、“11”分别选中PB口、PC口及控制口。   若端口地址用十

文档评论(0)

peain + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档