《《单片机原理与实用技术》第9章.ppt》由会员分享,可在线阅读,更多相关《《单片机原理与实用技术》第9章.ppt(48页珍藏版)》请在三一办公上搜索。
1、,第9章单片机扩展与接口技术,莫海霞付晓光制作,9.1 单片机系统扩展 9.1.1单片机扩展的必要性,1.扩展了单片机系统的资源2.驱动更多种类的外部设备 1)信号形式不同 2)信号电平不同 3)速度差异大,9.1.2 单片机总线结构,所谓总线,就是连接计算机CPU与各部件的一组公共信号线。MCS-51使用的是并行总线结构,按功能分为三组:地址总线,数据总线和控制总线。,1数据总线DB(Data Bus)2地址总线AB(Address Bus)3控制总线CB(Control Bus),9.1.3 单片机总线扩展,1.数据总线的构造MCS-51单片机的数据总线是由P0口提供的,由P0口引出8位线
2、即可作为数据总线。2.地址总线的构造 MCS-51单片机地址总线为16根,其中高8位P2口提供,低8位由P0提供。,扩展芯片,MCS-51单片机扩展芯片可以分为3类:外部程序存贮器ROM芯片、外部数据存贮器RAM芯片以及接口芯片。连接外部设备的扩展芯片称接口芯片,接口芯片上的接口称外接口(相对于并行口、中断等内部接口而言)。每个外部接口可有多个端口,例如数据口、状态口、控制命令口等。许多接口芯片同内部中断接口一样可通过写入控制字实现工作方式等的功能控制,使用灵活、扩大了应用范围,这些芯片称可编程接口芯片。,9.2程序存贮器的扩展,MCS-51单片机8031子系列无片内ROM,故必须扩展片外程序
3、存贮器才能应用,而其它子系列单片机有片内ROM,可不必扩展片外ROM即可工作。但对于需要大容量ROM的系统都必须扩展片外ROM。扩展ROM单元芯片与片内ROM共用一个存贮空间,统一编址。通过查表指令 MOVC A,A+DPTR MOVC A,A+PC可以实现对ROM单元的读操作。,程序存贮器芯片,1程序存贮器芯片结构 2716的结构逻辑图如图所示。ROM芯片内部集成了输出缓冲器,地址译码器。2716有2K字节容量,共有11位地址线。,2716信号引脚说明如下:A0A10为11位地址线 O0O7 为8位数据线 CE/PGM为双重功能 控制线 0E 为输出允许信号 VPP为电源线 Vcc为主电源线
4、,接+5V电源 GND为地线,程序存贮器的扩展,9.3数据存贮器扩展,读出指令为:MOVX A,Ri MOVX A,DPTR 写入指令为:MOVX Ri,A MOVX DPTR,A,9.3.1数据存贮器扩展芯片,9.3.2数据存贮器的扩展,存贮扩展电路应注意的问题,1.芯片数量的选择 2.芯片型号的确定 3.正确连线,包括正确使用地址锁存器等。4.确定扩展存贮器的地址空间,以便正确编程。,9.4并行I/0口的扩展9.4.1并行I/0口的扩展相关技术,1外部设备与数据总线的连接1)数据输入 2)数据输出,2外设端口的编址技术 1)独立编址即是将外端口与其它存贮单元分开,单独占有一个地址空间。2)
5、统一编址统一编址时,将端口与存贮单元同等看待,共用一个存贮空间,同用一套指令和组信号线。输入指令:MOVX A,DPTR 或 MOVX A,Ri输出指令:MOVX DPTR,A 或 MOVX Ri,A,9.4.2简单I/O扩展,1简单输入口扩展简单输入口,实际上就是三态缓冲器,以其实现输入设备选通时,设备信号与数据总线相连通,而未选通时,设备与数据总线高阻隔离。,9.4.38255A可编程芯片扩展 并行I/0接口,表9-4 8255A芯片读写控制,(2)控制字工作方式控制字,C口置位/复位控制字,2.8255A的工作方式(1)方式0(基本输入/输出方式),例9-1 在图9-21中,设PA口接一
6、组开关,PB口接LED,由开关状态决定LED的状态。解根据题意,PA为输入口,PB为输出口,控制字为:10011000B即98H,在图9-21中,取A口、B口、C口及控制端口的地址分别为7FFCH、7FFDH、7FFEH、7FFFH。程序如下:MOV DPTR,#7FFFH;写入控制字 MOV A,#98H MOVX DPTR,A MOV DPTR,#7FFCH MOVX A,DPRT INC DPTR MOVX DPTR,A,(2)方式1(选通输入/输出方式),表9-58255A芯片C口联络信号表,例9-2设某MCS-51单片机系统中,单片机通过8255A驱动打印机,打印机每打印完一个字符后
7、输出“打印完”信号(负脉冲),试把MCS-51单片机内部RAM 20H开始的20H个字符,以中断方式输出打印。解设计8255A芯片工作在方式1下,电路连接方法可参照图9-22,则输出设备为B,控制字为:94H。程序设计如下:主程序:MAIM:MOV R0,#20HMOV R2,#20HMOV DPTR,#7FFFHMOV A,#94H;写方式控制字MOVXDPTR,A,MOV A,#01H MOVX DPTR,A;置INTRB(PC0)为1,启动第一次数据传送 MOV DPTR,#7FFDH;修改地址指针,指向B口 CLR F0;设F0为打印结束标志位,当F0=1时,表示打印结束 CLR IT1;外中断1为电平触发方式 SETB EX1;开外中断1 SETB EA;开中断 MOV DPTR,#7FFDH MOV A,#01H;置INTEB(PCO)为1,;启动第一次数据传送 JNB F0,$;打印完毕继续其它程序,外中断1中断服务程序:INT1:MOV A,R0 MOVX DPTR,A;输出打印字符 INC R0;修改地址指针 DJNZ R2,ENDSEND;判断是否结束 CLR EX1 CLR EA SETB F0;设置打印结束标志ENDSEND:RETI,3)方式2(双向数据传送方式)只有A口才能在方式2下工作,为双向选通输入/输出方式,即A口既可输入数据又可输出数据。,