资源描述:
《单片机复习材料.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第8章系统扩展结构如下图:存储器扩展的读写控制RAM芯片:读写控制引脚,记为OE*和WE*,与MCS-51的RD*和WR*相连。EPROM芯片:只能读出,故只有读出引脚,记为OE*,该引脚与MCS-51的PSEN*相连。存储器地址空间分配常用的存储器地址分配的方法有两种:线性选择法(简称线选法)和地址译码法(简称译码法)。1.线选法直接利用系统的高位地址线作为存储器芯片(或I/O接口芯片)的片选信号。例如何进行地址分配线选法特点:简单明了,不需另外增加硬件电路。只适于外扩芯片不多,规模不大的单片机系统。2.译码法最常用的译码器芯片:74LS138(3-8译码器)74L
2、S139(双2-4译码器)74LS154(4-16译码器)。可根据设计任务的要求,产生片选信号。全译码:全部高位地址线都参加译码;部分译码:仅部分高位地址线参加译码。例要扩8片8KB的RAM6264,如何通过74LS138把64KB空间分配给各个芯片?外扩存储器电路的工作原理及软件设计1.单片机片外程序区读指令过程2.单片机片外数据区读写数据过程例如,把片外1000H单元的数送到片内RAM50H单元,程序如下:MOVDPTR,#1000HMOVXA,@DPTRMOV50H,A例如,把片内50H单元的数据送到片外1000H单元中,程序如下:MOVA,50HMOVDPTR
3、,#1000HMOVX@DPTR,AMCS-51单片机读写片外数据存储器中的内容,除用MOVXA,@DPTR和MOVX@DPTR,A外,还可使用MOVXA,@Ri和MOVX@Ri,A。这时通过P0口输出Ri中的内容(低8位地址),而把P2口原有的内容作为高8位地址输出。例8-4将程序存储器中以TAB为首址的32个单元的内容依次传送到外部RAM以7000H为首地址的区域去。DPTR指向标号TAB的首地址。R0既指示外部RAM的地址,又表示数据标号TAB的位移量。本程序的循环次数为32,R0的值:0~31,R0的值达到32就结束循环。程序如下:MOVP2,#70HMOVD
4、PTR,#TABMOVR0,#0AGIN:MOVA,R0MOVCA,@A+DPTRMOVX@R0,AINCR0CJNER0,#32,AGINHERE:SJMPHERETAB:DB……程序存储器所占的地址空间,自己分析。使用多片EPROM的扩展电路MCS-51扩展4片27128。例8-1编写程序将片外数据存储器中5000H~50FFH单元全部清零。方法1:用DPTR作为数据区地址指针,同时使用字节计数器。MOVDPTR,#5000H;设置数据块指针的初值MOVR7,#00H;设置块长度计数器初值CLRALOOP:MOVX@DPTR,A;把某一单元清零INCDPTR;地址
5、指针加1DJNZR7,LOOP;数据块长度减1,若不为;0则继续清零HERE:SJMPHERE;执行完毕,原地踏步方法2:用DPTR作为数据区地址指针,但不使用字节计数器,而是比较特征地址。MOVDPTR,#5000HCLRALOOP:MOVX@DPTR,AINCDPTRMOVR7,DPLCJNER7,#0,LOOP;与末地址+1比较HERE:SJMPHERE第9章MCS-51扩展I/O接口的设计I/O端口编址两种方式:独立编址与统一编址。(有考)1.独立编址方式I/O寄存器地址空间和存储器地址空间分开编址,但需专门读写I/O的指令和控制信号。2.统一编址方式I/O寄
6、存器与数据存储器单元同等对待,I/O接口共用存储器的地址空间,每个I/O端口视为一个存储单元。扩展I/O接口使用片外数据存储器地址空间:输出指令:输入指令:片内寻址:MOVP1,AMOVA,P1片外寻址:MOVX@DPTR,AMOVXA,@DPTRMOVX@R0,AMOVXA,@R0每一接口芯片中的一个功能寄存器(端口)的地址就相当于一个RAM单元。I/O数据传送的几种传送方式是:(1)同步传送(2)异步传送(3)中断传送。MCS-51单片机和8255A的接口1.硬件接口电路如图9-10是8031扩展1片8255A的电路图。74LS373是地址锁存器,P0.1、P0.
7、0经74LS373与8255A的地址线A1、A0连接;P0.7经74LS373与片选端相连,其他地址线悬空。2.端口地址确定图9-10中8255A各端口寄存器的地址为:A口:FF7CHB口:FF7DHC口:FF7EH控制寄存器:FF7FH3.软件编程例9-1要求8255A工作在方式0,且A口作为输入,B口、C口作为输出,程序如下:MOVA,#90H;A口方式0输入,B口、;C口输出,的控制字送AMOVDPTR,#0FF7FH;控制寄存器地址→DPTRMOVX@DPTR,A;方式控制字→控制寄存器MOVDPTR,#0FF7CH;A口地址→DPTRMOV