欢迎来到天天文库
浏览记录
ID:55753529
大小:370.50 KB
页数:29页
时间:2020-06-05
《电子教材电子教材6.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第6章单片机系统扩展在由单片机构成的实际测控系统中,最小应用系统往往不能满足要求,因此在系统设计时首先要解决系统扩展问题。单片机的系统扩展主要有程序存储器(ROM)扩展,数据存储器(RAM)扩展以及I/O口的扩展。MCS-51单片机有很强的扩展功能,外围扩展电路、扩展芯片和扩展方法都非常典型、规范。本章首先通过实训初步了解扩展的方法及应用,然后详细讨论各种扩展的常见电路、芯片以及使用方法。实训6片外RAM对信号灯的控制及可编程I/O口的应用1.实训目的(1)掌握扩展片外RAM的方法及使用。(2)熟悉8155可编程
2、接口芯片的内部组成。(3)掌握8155初始化的方法及I/O口的使用。(4)了解8155内部定时器和RAM的编程使用。(5)认识片外RAM及8155相关地址的确定。2.实训设备和器件实训设备:单片机开发系统、微机。实训器件:实训电路板1套。3.实训电路图下图为实训电路图,与附录1中的电路图连接完全相同。图6.1实训6电路图1.实训步骤与要求1)查阅附录实训电路板原理图及芯片手册,初步认识51单片机扩展片外RAM所使用的芯片6264的管脚排列,以及与单片机的连接关系;初步分析8155与单片机的连接及三个I/O口与外部
3、LED的关系。2)将电路板与仿真器连接好。3)输入参考程序1,汇编并调试运行,观察P1口发光二极管的亮灭状态。4)输入参考程序2,汇编并调试运行,观察电路板中LED(共阴极)的显示情况。参考程序1:对片外RAM写入数据并输出,控制P1口的亮灭状态。ORG0000HMOVDPTR,#1000H;指向片外RAM的首地址MOVA,#0FEH;设置第一个要送入的数据MOVR1,#08H;设循环次数WRITE:MOVX@DPTR,A;向RAM中写入数据INCDPTR;片外RAM地址加1CLRCYRLA;更新数据DJNZR1
4、,WRITE;8次未送完,继续写入,否则顺序执行下一条指令MOVR1,#08H;再次设置循环次数START:MOVDPTR,#1000H;指向第一个数据单元1000HREAD:MOVXA,@DPTR;读出数据到A累加器MOVP1,A;送P1口点亮发光二极管LCALLDELAY;延时一段时间INCDPTR;更新地址DJNZR1,READ;连续读出8个数据,送P1口显示SJMPSTART;8个数据读完,继续从第一个数据单元开始。延时子程序参见第4章。参考程序2:对8155初始化,使I/O口控制LED的显示情况。ORG
5、0000HMOVDPTR,#4400H;指向8155命令寄存器MOVA,#03HMOVX@DPTR,A;写入控制字。A口、B口为输出,C口为输入。INCDPTR;指向8155A口MOVA,#00HMOVX@DPTR,A;向A口写入00H,输出选中所有8个LED。INCDPTR;指向8155B口MOVA,#OFFHMOVX@DPTR,A;向B口写入某个字型码,输出点亮8个LED。SJMP$1.实训总结和分析(1)程序1的功能是,对片外RAM1000H~1008H写入数据,然后再逐一读出送P1口控制发光二极管,使8个
6、发光二极管依次点亮。片外RAM是当单片机内部RAM不够用时进行扩展的,常用的芯片是静态RAM,例如实训电路板中所使用的6264,片外RAM的地址线是由单片机的P0口和P2口提供的,其具体连接方法以及片外RAM地址的确定方法在6.2节介绍。实训中,对片外RAM的写操作由MOVX@DPTR,A完成,读操作由MOVXA,@DPTR完成。(2)程序2的功能是,对实训电路中扩展的8155芯片初始化,分别从8155的A口和B口输出数据,使8个LED同时显示“8”。8155是可编程的I/O芯片,当单片机提供的并行I/O口P0~
7、P3不够用户使用时,常常需要扩展I/O口,8155是扩展时使用较多的I/O芯片。在本书的实训电路中,用扩展的8155连接了8个LED数码管和16个按键。通过扩展8155可以提供3个并行I/O口:A口、B口和C口,3个I/O口的工作方式(例如是输入还是输出)是由用户的编程来确定的,这个过程称作对8155的初始化。初始化编程是通过8155的命令寄存器写入控制字来实现的,例如参考程序2中的前3条指令。控制字的规定、8155和单片机的接口方法以及8155相关地址的确定在6.3.4节介绍。(3)分析参考程序2,我们注意到,
8、对扩展I/O口芯片8155的写操作也是MOVX@DPTR,A,与片外RAM的使用方法相同,读操作也是一样,因此这就要求片外RAM和扩展I/O口的地址不能冲突,在扩展连接时,二者要统一考虑,统一编址。(4)请读者学习本章知识后,思考以下问题:实训中扩展的6264的地址范围是什么?为什么8155命令寄存器、A口、B口的地址是程序2中所使用的4400H、4401H、4402H?
此文档下载收益归作者所有