第4章实验一二三.docx
《第4章实验一二三.docx》由会员分享,可在线阅读,更多相关《第4章实验一二三.docx(13页珍藏版)》请在冰点文库上搜索。
第4章实验一二三
《单片机原理与接口技术》
实验一 存储器扩展实验
实验二 I/O扩展实验
实验三 8255并行口实验
班级:
学号:
姓名:
成绩:
指导老师:
日期:
2017年11月20日
实验一 存储器扩展实验
一、实验目的
学习外部存储器的扩展,掌握存储器访问的程序设计方法。
二、实验原理
HM6116是一种2K*8位的高速静态CMOS随机存取存储器,其基本特征是:
(1)高速度------存取时间为100ns/120ns/150ns/200ns(分别以6116-10、6116-12、6116-15、6116-20为标志)。
(2)低功耗——运行时间为150mW,空载时为100mW。
(3)与TTL兼容。
(4)管脚收出与标准的2K*8b的芯片(例如,2716芯片兼容)。
(5)完全静态——无须时钟脉冲与定时选通脉冲。
(6)HM6116有11条地址线(A0~A10)、8条数据线(I/O1~I/O8)、1条电源线、1条接地线GND和3条控制线——片选信号CE、写允许信号WE和输出允许信号OE(3条控制线低电平有效)。
这3个控制信号的组合控制HM6116芯片的工作方式
三、仪器设备:
1、PC计算机一台。
2、Dais-386PRO+实验系统一套。
四、实验内容:
扩展SRAM6116作为外部存储器,对其进行读写。
实验步骤:
1)按图4-1连接实验电路,参考程序:
A51\RAM6116.ASM;
2)编写实验程序,经编译、链接无语法错误后装载到实验系统;
3)在SJMP$语句行设置断点,然后运行程序;
4)程序遇到断点后暂停,此时查看外部数据存储器0020h~002Fh单元,应与0000h~000Fh单元一致,均为80h~8Fh;
5)修改程序中写入的数据、长度,重新编译、装载及运行程序,验证程序的正确性。
图4-1 存储器扩展实验电路图
MOVDPH,R4;目的地首址
MOVX@DPTR,A;传送
CJNER3,#0FFH,LO42
INCR2
LO42:
INCR3;源地址加1
CJNER5,#0FFH,LO43
INCR4
LO43:
INCR5;目地址加1
CJNER7,#00H,LO44
CJNER6,#00H,LO45;字节数减1
SJMP$;断点到此行,检查外部数据存储器0020-002Fh数据
LO44:
DECR7
SJMPSE22
LO45:
DECR7
DECR6
SJMPSE22;未完继续
END
ORG0000H
START:
MOVA,#80H
MOVDPTR,#0000H;0000~000F写入数据
LOOP1:
MOVX@DPTR,A
INCDPTR
INCA
CJNEA,#90H,LOOP1
MOVR2,#00H;源地址
MOVR3,#00H
MOVR4,#00H;目的地址
MOVR5,#20H
MOVR6,#00H;数据长度
MOVR7,#0FH
SE22:
MOVDPL,R3
MOVDPH,R2;建立源程序首址
MOVXA,@DPTR;取数
MOVDPL,R5
五、实验结果讨论:
本实验的实验教程中实验电路接线有些问题,在老师的指导下我们改正过来,根据正确的连接方式,学习到了一些关于通过89c51用线译码法扩展SRAM6116作为外部存储器的知识,通过上网查资料,了解的6116的引脚分布。
程序通过指针将80H~8FH写入片外数据数据储存区的0000H~000FH单元地址,再将0000H~000FH单元传送到0020H~002FH,结果如上图。
实验中我通过改变程序可以将33H~44H写入片外数据数据储存区的0010H~0021H单元地址,再将0010H~0021H单元传送到0030H~0031H,程序及结果如上图所示。
实验二 I/O扩展实验
一、实验目的
学习在单片机系统中扩展简单I/O口的基本方法。
二、实验原理
MCS-51单片机的4个I/O口中,通常情况下,只有P1口作为I/O口使用,实际使用中经常需要扩展I/O口,扩展I/O口方法之一就是采用专用的I/O接口芯片如8155,8255等。
8155扩展了两个输出口、一个输入口以实现键盘输入和数码管输出。
可编程并行接口芯片Intel8155内部含有256字节的静态PAM,两个并行8位口PA、PB,一个并行的6位口PC,以及一个14位的定时/计数器,是单片机系统最常用的接口芯片之一,掌握其性能与作用方法非常重要。
三、仪器设备:
1、PC计算机一台。
2、Dais-386PRO+实验系统一套。
五、实验内容:
MCS-51单片机对外部设备的访问(即I/O口输入/输出操作)的基本要求是“输入缓冲、输出锁存”。
实验中开关量K7~K0的输入经74LS244八位缓冲输入接口实现,74LS273作为锁存输出接口,控制L7~L0八个发光二极管的亮灭。
实验电路:
图4-2 I/O扩展实验电路图
CS_IOEQU0300H
ORG0000H
START:
MOVDPTR,#CS_IO
MOVXA,@DPTR;取出244状态
MOVDPTR,#CS_IO
MOVX@DPTR,A;送273驱动发光二极管
SJMPSTART
END
实验步骤:
1)按图4-2连接实验电路,参考程序:
A51\IO.ASM;
2)编写实验程序,经编译、链接无语法错误后装载到实验系统;
3)全速运行程序,拨动开关K7~K0,观察发光二极管L7~L0状态;
4)实验完毕后,应使用暂停命令中止程序的运行。
五、实验结果讨论:
本实验程序较为简单,通过指针去除244的状态再给273驱动LED即可。
主要是学习两个芯片的功能及引脚作用。
74LS244为3态8位缓冲器,一般用作总线驱动器。
74LS244没有锁存的功能。
地址锁存器就是一个暂存器,它根据控制信号的状态,将总线上地址代码暂存起来。
74LS273是一种带清除功能的8D触发器,1D~8D为数据输入端,1Q~8Q为数据输出端,正脉冲触发,低电平清除,常用作数据锁存器,地址锁存器。
实验三 8255并行口实验
一、实验目的
学习8255的工作方式,掌握8255典型应用电路和输入/输出程序的设计方法。
二、实验原理
本实验用到两部分电路:
开关量输入输出电路和8255可编程并口电路。
并行接口是以数据的字节为单位与I/O设备或被控制对象之间传递信息。
CPU和接口之间的数据传送总是并行的,即可以同时传递8位、16位、32位等。
8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电。
三、仪器设备:
PORTAEQU0300H
PORTBEQU0301H
PORTCEQU0302H
CS8255EQU0303H
ORG0000h
SE09:
MOVDPTR,#CS8255
MOVA,#80H
MOVX@DPTR,A;8255初始化
MOVA,#55H;一位隔一位高电平
LO15:
MOVDPTR,#PORTA
MOVX@DPTR,A
MOVDPTR,#PORTB
MOVX@DPTR,A
MOVDPTR,#PORTC
MOVX@DPTR,A;A.B.C口送入
CALLDELAY;延时
CPLA;取反
SJMPLO15;循环
DELAY:
MOVR6,#0A0H
D1:
MOVR7,#0FFH
DJNZR7,$
DJNZR6,D1;延时
RET
END
1、PC计算机一台。
2、Dais-386PRO+实验系统一套。
六、实验内容:
1、8255A/B/C口输出方波
编写程序,使8255的PA、PB、PC口每一位能循环输出高低电平。
实验电路:
图4-3-1 8255输出方波实验电路图
实验步骤:
1)按图4-3-1连接实验电路,参考程序:
A51\8255_1.ASM;
2)编写实验程序,经编译、链接无语法错误后装载到实验系统;
3)运行程序,将一发光二极管接入8255PA、PB、PC任意一位端口,应有循环亮灭;也可用示波器测量,应输出方波;
4)实验完毕后,应使用暂停命令中止程序的运行。
2、8255PA输入/PB输出
编写程序,读取PA7~PA0所连接的K7~K0开关数据,写入到PB7~PB0,控制L7~L0八个发光二极管的亮灭。
实验电路:
PORTAEQU0300H
PORTBEQU0301H
PORTCEQU0302H
CS8255EQU0303H
ORG0000H
SE17:
MOVDPTR,#CS8255
MOVA,#90H
MOVX@DPTR,A;8255初始化
LO32:
MOVDPTR,#PORTA
MOVXA,@DPTR;PA口状态取出
MOVDPTR,#PORTB
MOVX@DPTR,A;送PB口
SJMPLO32
END
图4-3-2 8255输入输出实验电路图
实验步骤:
1)按图4-3-2连接实验电路,参考程序:
A51\8255_2.ASM;
2)编写实验程序,经编译、链接无语法错误后装载到实验系统;
3)全速运行程序,拨动开关K7~K0,观察发光二极管L7~L0状态;
4)实验完毕后,应使用暂停命令中止程序的运行。
五、实验结果讨论:
8255A/B/C口输出方波:
程序通过延时子程序和取反指令来使LED循环亮灭,在PA、PB、PC任意一端口可以用示波器检测到方波,实验结果如上图。
8255PA输入/PB输出:
本实验通过PA口输入,PB口输出,一直循环将状态取出并且送出。
通过本实验再一次加深的对8255芯片的学习。
8255作为主机与外设的连接芯片,提供与主机相连的3个总线接口、即数据线、地址线、控制线接口。
同时具有与外设连接的接口A、B、C口,由于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构分为3个部分:
与CPU连接部分、与外设连接部分、控制部分。