欢迎来到天天文库
浏览记录
ID:10019586
大小:902.51 KB
页数:28页
时间:2018-05-12
《第7章_并行io接口电路扩展设计及应用》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第7章I/O接口扩展设计及应用7.1概述7.2可编程并行I/O接口芯片8255A7.3可编程RAM/IO扩展器8155/81567.4用TTL芯片扩展简单的I/O接口7.5显示器与键盘接口7.6并行打印机接口并行接口的基本概念MCS-51单片机有四个并行I/O口。当用MCS-51单片机组成的应用系统需外扩程序存储器和数据存储器时,真正可用的并行口,就只有一个P1口了。并行接口的基本概念可编程并行接口芯片8255A8255A的内部结构及引脚可编程并行接口芯片8255A/CSA1A0功 能000A口001B口010C口011控制寄存器8255A的内部结构及引
2、脚7.2.28255A的操作说明18255工作方式方式0:基本式输入输出方式1:选通式输入输出方式2:双向传送方式(1)方式选择控制字(2)PC口按位置/复位控制字8255A的操作说明8255A的扩展接口电路MOVA,#98H;方式控制字→AMOVDPTR,#7FFFH;选通控制寄存器MOVX@DPTR,A;方式控制字送入8255AMOVDPTR,#7FFCH;MOVXA,@DPTR;读PA口数据MOVDPTR,#7FFDH;MOVX@DPTR,A;送PB口输出例程例7-4在一个8031的应用系统中,利用扩展8255A设计一个EPROM2764编程器,要求8
3、255A的PA口作为D0~D7数据输出口,PB口作为低8位地址口,PC口作为高5位的地址口。并将起始地址设定为ADR1,长度为L16的外扩RAM中用户程序固化到起始地址为ADR2的2764EPROM中。例7-4EPROM编程器逻辑图用户程序固化子程序框图①对8255的初始化编程用下列程序实现:START:MOVDPTR,#7FFFH;选通控制寄存器MOVA,#80H;MOVX@DPTR,A;方式控制字送接口MOVA,#0FH;置/复位控制字MOVX@DPTR,A;1→PC7,2764编程无效程序1START1:MOVDPTR,#addr1;RAM起始地址→D
4、PTRMOVR4,#addr2L;MOVR5,#addr2H;EPROM起始地址→R5,R4MOVR6,#L16L;长度→R7,R6MOVR7,#L16H;MOVA,R6JNZLOOPDECR7;调整长度值程序2LOOP:MOVXA,@DPTR;取RAM中数据INCDPTR;RAM地址指针加1PUSHDPL;PUSHDPH;RAM地址压入堆栈MOVDPTR,#07FFCH;A口地址→DPTRMOVX@DPTR,A;数据→A口INCDPTR;选通B口地址MOVA,R4;MOVX@DPTR,A;低8位地址→B口INCDPTR;选通C口地址MOVA,R5;ANLA
5、,#1FH;地址高5位PC0~PC4SETBACC.6;0→PC7MOVX@DPTR,A;开始写EPROM程序3MOVA,R4;INCA;EPROM地址加1MOVR4,A;JNZLOOP1;若A不为0转LOOP1INCR5;否则R4有进位到高位,即R5加1LOOP1:ACALLDL50;延时DL50子程为50ms延时子程序MOVDPTR,#7FFFH;MOVA,#0FH;1→PC7(控制口),MOVX@DPTR,A;停止编程POPDPH;POPDPL;RAM地址指针出栈DJNZR6,LOOP;DJNZR7,LOOP;长度减为0结束,非0继续RET程序47.4
6、用TTL芯片扩展简单的I/O接口1.用74LS377扩展8位输出端口用74LS377扩展8位输出端口2.用74LS373扩展一个8位并行输入口用74LS373扩展一个8位并行输入口ORG0LJMPBEGIN;ORG03H;入口地址LJMPPINT0;初始化BEGIN:SETBIT0;下降沿触发MOVR0,#30H;数据缓冲首址SETBEX0;;开中断SETBEA;CPU开中断…;中断服务:PINT0:MOVDPTR,#07FFFH;指向373输入口MOVXA,@DPTR;读入MOV@R0,A;送数据缓冲区INCR0;修改R0指针RETI;返回程序输入接口
7、输出接口扩展逻辑①8位并行输出口74LS273,由P2.7和相“或”控制,地址为7FFFHMOVDPTR,#7FFFHMOVA,#DATAMOVX@DPTR,A②8位并行输入口74LS244,由P2.6和相“或”控制,地址为0BFFFHMOVDPTR,#0BFFFHMOVXA,@DPTR③如果将图7-13中,U4A的第一脚接在P2.7上,两口地址 为7FFFHMOVDPTR,#7FFFHLOOP:MOVXA,@DPTRMOVX@DPTR,ASJMPLOOP程序7.5显示器与键盘接口显示器与键盘接口入口:显示数据首址送R0DIR:MOVP2,#7FH;P2.7
8、=0MOVR1,#0FFH;R1指向L1MOVDPT
此文档下载收益归作者所有