单片机原理接口技术及应用 教学课件 作者 黄建新 编 7 并行I.pptVIP

单片机原理接口技术及应用 教学课件 作者 黄建新 编 7 并行I.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
尚辅网 尚辅网 7 并行I/O接口 7.1 80C51内部并行I/O口 7.2 80C51内部并行I/O口应用 7.3 简单I/O接口扩展 7.4 用8255A扩展I/O接口 7.5 用8155扩展I/O接口 尚辅网 图7-22 C口按位置位/复位控制字   例如,将C口的PC1置位的控制字或03H,若将此控制字写入8255A的控制寄存器,就可使PC1置位。 尚辅网 (2) 状态字   状态字反映了C口各位当前的状态,当8255A的A口、B口工作在方式1或A口工作在方式2,通过读C口的状态,可以检测A口和B口当前的工作情况。图7-23示出了A口、B口工作在不同方式下的状态字各位的含义。   图7-23(a)、(b)分别示出了当8255A的A口、B口工作在方式l输入和输出时的状态字格式,状态字中的INTEA和INTEB分别为A组和B组的中断允许触发器状态,其余各位为相应引脚上的电平信号。   图7-23(c)为8255A在方式2下的状态字格式。在这个状态字中,INTEl和INTE2为8255A的允许中断触发器状态,它们由C口的置位/复位控制字决定,其余各位为同名引脚上的电平信号。D2~D0由B组工作方式决定。 尚辅网   需要说明的是,图7-23(a)、(b)分别表示在方式1下A口、B口均为输入或均为输出的情况。若在方式1下A口、B口各为输入或输出时,状态字为上述两状态字的组合。 尚辅网 7.4.4 8255A应用举例   【例7-3】图7—24为8255A用于80C51与微型打印机接口的电路图,要打印的字符串存放在单片机内部RAM30H单元开始的数据区中,字符串长度在2FH单元,试编制打印程序。 图7-24 8255A用于80C51与微型打印机接口 尚辅网   解:(1)电路分析   P2.7作为8255A的片选线,故8255A的接口地址为7FFCH~7FFFH。   图7-24中微型打印机8根数据线DB0—DB7接8255A的A口PA0~PA7,接受CPU输出的打印数据。微型打印机两根联络线BUSY和  接8255A的C口。BUSY是微型打印机忙输出信号,BUSY=1时,表明打印机忙;BUSY=0时,CPU可将数据送打印机。  是微型打印机选通输入信号,  =0,选通打印机即通知打印机接收数据。二根控制线一根是输入一根是输出,由于C口在方式0下分成二组,每组4位中不能有的输入有的输出,因此,这二根信号线必须分设在C口高4位和低4位。 BUSY接PC7,  接PC0,因此需将8255A C口高4位设置为输入,8255A C口低4位设置为输出。 尚辅网   (2)工作方式选择控制字设置   根据上面的分析,A口方式0输出,B口无关,C口高4位输入,低4位输出。因此8255A的工作方式控制字(参见图7-21),即88H   (3)程序如下: INITIAL:MOV DPTR,#7FFFH ;指向8255A控制口  MOV A,#88H    ;置工作方式选择控制字  MOVX @DPTR,A ;A口方式0,C口高4位输入      ;低4位输出  MOV A,#01H ;PC0(  )置位控制字  MOVX @DPTR,A ;  =1 ;以上为对8255A的初始化,下面是打印字符串的程序段  MOV R0,#30H   ;置打印数据区首地址  MOV R1,2FH   ;置打印数据长度 LOOP: MOV DPTR,#7FFEH ;指向C口 尚辅网 LOOP1: MOVX A,@DPTR ;读C口信息   JB ACC.7,LOOP1 ;若BUSY=1(打印机忙),                 ;查询等待   MOV DPTR,#7FFCH ;指向A口   MOV A,@R0 ;要打印的数据送入累加器   MOVX @DPTR,A ;打印数据送A口    INC R0 ;指向下一个打印数据地址   MOV DPTR,#7FFEH ;指向C口   CLR A   MOVX @DPTR,A ;使  =0,准备产生负脉冲   INC A   MOV

您可能关注的文档

文档评论(0)

带头大哥 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档