常用的可编程接口芯片介绍.ppt

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

第91页,共172页,星期日,2025年,2月5日当甲机CPU将数据输出到端口A时,变低,表示甲机的数据端口A的输出缓冲器满,同时给乙机端口A一个选通信号(变低),数据从甲机输出到乙机并在乙机的数据端口A锁存。当乙机CPU从端口A取回数据后,变低,表示乙机的数据端口A的输入缓冲器为空,给甲机一个回答信号,变低,同时甲机的变高,甲机CPU查询到变高后,会将下一个数据送到端口A。如此重复上述过程,便可完成全部数据的传送。第92页,共172页,星期日,2025年,2月5日;甲机发送程序MOVCX,0400H;发送数据块长度1KBMOVDX,0A03H;8255控制口地址MOVAL;方式字(A口方式1输出)OUTDX,ALMOVAL;置PC7=1,输出缓冲器空OUTDX,ALL:MOVDX,0A02H;8255状态口地址(端口C)INAL,DX;读状态口ANDAL,80H;输出缓冲器是否满(PC7=0)JZL;缓冲器满则等侍MOVDX,0A00H;否则向A口发送数据MOVAL,[BX]0UTDX,AL;内存一个数据向乙机发送INCBX;修改内存单元地址LOOPL;未发送完,继续HLT;传送完毕,暂停第93页,共172页,星期日,2025年,2月5日;乙机接收程序MOVCX,400H;接收数据块长度1KBMOVDX,0A03H;8255控制口地址MOVAL;8255工作方式(A口方式1输入)0UTDX,ALMOVAL;置PC5=0,输入缓冲器空0UTDX,ALL:MOVDX,0A02H;8255状态口地址(端口C)INAL,DX;读状态口ANDAL,20H;查输入缓冲器是否满JZL;8255未接收到数据,等侍MOVDX,0A00H;8255端口A地址INAL,DX;读A口MOV[BX],AL;从甲机接收一个数据送内存单元INCBX;修改内存单元地址LOOPL;未接收完,继续HLT第94页,共172页,星期日,2025年,2月5日3.方式2:双向选通式输入/输出方式第95页,共172页,星期日,2025年,2月5日方式2各状态信号的时序关系第96页,共172页,星期日,2025年,2月5日方式2的应用

用8255为两台8088CPU设计一个双向并行数据传送接口例:第97页,共172页,星期日,2025年,2月5日;主机,A口方式2.主程序:MOVAL,0C0H;方式选择控制字OUT63H,ALMOVAL,09H;PC4=1允许输入中断OUT63H,AL;C口置1/置0控制字MOVAL,ODH;PC6=1允许输出中断0UT63H,AL;C口置1/置0控制字LEASI,ARY1;发送数据块首址MOVCX,400h;发送数据块长度LEADI,ARY2;接收数据块首址MOVBX,800H;接收数据块长度STI;CPU开中断(IF=1)┊第98页,共172页,星期日,2025年,2月5日;中断服务程序INAL,62H;读状态口(端口C)的状态MOVAH,ALANDAL,20H;判断输入缓冲器的状态IBFA(PC5)JZ0THER;IBFA=0,不是输入中断,转移INA:INAL,60H;IBFA=1,是输入中断,从A口读取数据MOV[DI],AL;接收的数据送内存单元INC

文档评论(0)

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

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

1亿VIP精品文档

相关文档