- 1、本文档共153页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
图4.33用74LS244扩展输入口图4.33中,74LS244用作8位输入口,所以将1G、2G并接当作一个三态门控制端用。P2.6和RD相“或”形成一个既有寻址作用又有读控制作用的信号与三态门控制端相接。从这个接口电路输入数据时使用以下指令即可:MOVDPTR,#0BFFFHMOVXA,@DPTR4.扩展多个输入、输出口举例前述三种I/O口扩展都是一个8位口扩展,用一条地址线进行寻址,每个扩展口都有许多重叠的地址。此外,也可使用多片锁存器或三态门来扩展多个I/O口,可用地址译码进行寻址。图4.34是用两片74LS377和两片74LS244分别扩展两个输出口和两个输入口的示例。图中采用74LS138译码器的输出作为扩展口的寻址与读/写控制。图4.34扩展多个输入口和输出口的连接4.4.5用串行口扩展并行I/O口51单片机的串行口在方式0(移位寄存器方式)下,使用移位寄存器芯片可以扩展一个或多个并行I/O口。扩展并行输入口时,可用并入串出移位寄存器芯片,如CMOS芯片4014和74LS165芯片。4014芯片的引脚信号如图4.35(a)所示。图4.358并行输入/串行输出移位寄存器芯片的引脚图(a)4014;(b)74LS165PI1~PI8是8个并行输入端;SI是串行数据输出端;CLK是时钟脉冲端,时钟脉冲既用于串行移位,也用于数据的并行置入;Q8、Q7、Q6是移位寄存器高3位输出端。P/S是并/串选择端,当P/S为高电平时,并行数据可置入4014;为低电平时,4014可串行移位。74LS165芯片的引脚信号如图4.35(b)所示。74LS165与4014的工作情况类似。移位/置数端高电平时串行移位,低电平时并行输入置数;串行移位仍在时钟脉冲的上升沿时实现,但并行数据进入与时钟脉冲无关;接口连接时,时钟禁止端接低电平。扩展并行输出口时,可用串入/并出移位寄存器芯片,如CMOS芯片4094和74LS164芯片。4094芯片的引脚信号如图4.36(a)所示。Q1~Q8是8个并行输出端;DATA是串行数据输入端;CLK是时钟脉冲端,时钟脉冲既用于串行移位,也用于数据的并行输出;QS、QS、Q8是移位寄存器最高位输出端;OE是并行输出允许端;STB是选通脉冲端,STB高电平时,4094选通移位,低电平时,4094可并行输出。74LS164芯片的引脚信号如图4.36(b)所示。74LS164与4094的使用类似。图4.368串行输入/并行输出移位寄存器芯片的引脚图(a)4094;(b)4LS1641.用串行口扩展并行输入口图4.37是用2片4014扩展2个并行输入口的示例。在图4.37所示电路中,两个接口芯片4014从外设并行地接收数据,单片机通过串行口从4014的Q8端串行输入数据。单片机串行口必须工作在方式0(同步移位寄存器方式)下。图4.37串行口扩展并行输入口连接单片机串行口工作在方式0时,P3.1(TxD)提供同步移位脉冲,它与4014的时钟端相连接,又给4014提供移位脉冲,使4014并行输入的数据串行地移入单片机的串行数据接收端P3.0(RxD)。4014(1)每移出1位(即单片机接收1位),4014(2)同时将1位数据自Q8到4014(1)的SI向4014(1)移入1位。这样,单片机串行口接收的第一个8位数据是从4014(1)并行置入的数据,接着又可从4014(1)串行接收4014(2)并行置入的8位数据。4014的P/S端接于单片机的一根I/O口线P1.7上。当4014并行置数时,应使P1.7为“1”;串行移位时,应使P1.7为“0”。下面是从两个扩展的8位并行口输入数据存于片内RAM的30H、31H单元的应用程序。SETBP1.7 ;置4014于并行输入工作方式CLRP3.1 ;串行口未启动之前,P3.1上无同步移位脉 冲,为4014SETBP3.1 ;并行置数,软件产生一个脉冲上升沿CLRP1.7 ;置4014于串行移位工作方式MOVSCON, ;置串行口为工作方式0,同 时启动串行口接收数据JNBRI,$ ;检测串行口接收数据是否完毕,未 完等待CLRRI
文档评论(0)