- 1、本文档共36页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
第7章单片机系统功能扩展单片机原理、接口及应用(第2版)内容提要★并行I/O接口的扩展★*中断扩展★*定时器扩展★小结7.1并行I/O接口的扩展MCS-51单片机共有4个8位并行I/O口,在外部扩展时,P0和P2口做为总线使用,因而提供给用户的I/O口就只有P1或P3口的部分口线所接的外设较多时,就必须扩展I/O接口。MCS-51单片机扩展的I/O口和外部数据存储器统一编址、采用相同的控制信号、相同的寻址方式和相同的指令。扩展I/O所用的芯片有通用可编程芯片(如8251,8155,8255等)和TTL,CMOS锁存器,缓冲器(如273,377,244,245等),用户可根据系统对输入输出的要求适当选择芯片。下图为8XX51扩展一个输入接口244和一个输出接口273的电路.
7.1.1通用寄存器、缓冲器的扩展图7-1244的选通信号由RD和P2.0相或产生,当执行读该片的指令时,RD和P2.0有效,打开244控制门,从而把数据通过244读入8XX51。273的选通信号由WR和P2.0相或产生,通过执行对该片的写指令,WR和P2.0有效,使8XX51的数据往273输出。8XX51内部有ROM/EPROM,不用扩展外部程序存储器,所以P0口作为双向数据线连在的数据端。273、244有相同的地址FEFFH(实际上只要保证P2.0=0,其他地址位无关紧要),然而由于使用不同的控制信号RD或WR,它们地址相同却不会发生数据传送冲突。例如将244的输入数据从273输出只需使用如下指令:MOVDPTR,#0FEFFH;DPTRZ指向扩展I/O地址MOVXA,@DPTR;从244读入数据MOVX@DPTR,A;向273输出数据7.1.2可编程并行接口芯片的扩展可编程并行接口芯片是专为和计算机接口而制作的,它有和计算机接口的三总线引脚,和CPU或MCU连接非常方便。按照6.1.2提供的方式连接即可。扩展8255可编程并行接口芯片1.8255的性能和引脚8255是个可编程并行接口芯片,其引脚图7-2。它有3个8位数据口:A口,B口,C口(其中C口可作为两个四位口),通过PAPBPC引脚和外设相连,还有一个控制口,这些口地址由引脚A1,A0决定。A1A000A口01B口0C口11控制口RDWR读写控制信号CS片选信号以上是和CPU或单片机相连的引脚和外设相连的引脚:PA7-PA0PB7-PB0PC7-PC08255有三种工作方式:方式0(基本方式),方式1(选通方式,此时C口高四位为A口的联络线,低四位为B口联络线),方式2(双向方式,仅A口有)。工作方式通过方式控制字选择。2.8255的控制寄存器(1)8255的方式控制字格式为:D0D1D3D4输入时相应位填“1”,输出时相应位填“0”D21----B口工作于方式1,0----B口工作于方式0D6D5为A口工作方式00-----A口工作方式于方式001-----A口工作方式于方式11X-----A口工作方式于方式2D7为标识位,始终为“1”例:设定A口方式1输出,B口方式0输入,C口不用,8255的口地址为128H~12BH,控制字。应写入12B口。(2)8255的置位、复位控制字格式为:注意:1.置位/复位控制字仅对C口的某位置“0”或置“1”例如使PC3位输出“1”控制字(07H),例如使PC3位输出“0”控制字(06H),2.在写C口置位/复位控制字之前必须先写工作方式控制字。且两个控制字都必须写入控制口。例如:如果8255的控制口地为EFFFH,使PC3位输出“1”,置位/复位控制字(
文档评论(0)