实验一单片机的输入输出接口.doc
文本预览下载声明
实验一 单片机的输入/输出接口
一、实验目的
1、了解MCS-51单片机并行口输入/输出方式的工作原理及编程方法;
2、学习延时程序的编写和使用;
3、熟悉实验设备的接线方法。
二、实验仪器
1、DVCC-598JH单片开发机一台;
2、WD-5型直流稳压电源一台;
3、连接导线若干。
三、实验预习
1、认真阅读实验指导书有关内容,明确实验目的、内容和操作步骤;
2、预习有关实验设备的使用方法;
3、对实验中的程序和指令进行手工汇编;
4、复习实验中相关指令的功能。
四、实验说明
1、P1口为8位准双向口,每位可独立定义为输入或输出方式。CPU对P1口的操作可以是字节操作,可以是位操作。操作指令如下:
(1)字节操作
MOV P1,A
MOV P1,#data
ORL P1,#data
MOV direct,P1
MOV A,P1
ORL A,P1
等等。
(2)位操作
SETB P1.i
CLR P1.i
MOV P1.i,C
JB P1.i,rel
JNB P1.i,rel
JBC P1.i,rel
ANL C,P1.i
ORL C,P1.i
等等(i=0~7)。
2、延时程序的设计及延时时间的计算
在单片机的控制应用中,常需要设计延时程序,延时功能除了使用定时器/计数器实现外,更多的是采用延时程序完成。
延时程序是通过执行一个具有固定延迟时间的循环程序来实现定时。下面以实例说明延时程序延时时间的计算。
例:
DELAY: MOV R6,#00H
DELAY1: MOV R7,#80H
DELAY2: DJNZ R7,DELAY2
DJNZ R6,DELAY1
查指令表可知MOV指令执行时间为1个机器周期、DJNZ指令执行时间为2个机器周期,而1个机器周期的时间为12/fosc,DVCC实验系统的fosc=6MHz,则1个机器周期为2(s,所以该段程序执行时间为:
[(2(128+1+2)(256+1] (2(s=132.61ms
五、实验内容与步骤
程序一:编程实现以8031的P1.4~P1.7作为输出口控制发光二极管的亮灭。实验线路如图3—1所示。
图3—1 P1口输入/输出实验线路图
可见,P1.4~P1.7某位输出为1,即高电平,相应的发光二极管亮;若输出为0,即低电平,相应的发光二极管不亮。
参考程序:
ORG 1000H
START:MOV A,#00H
MOV P1,A
ACALL DLY
ORL A,#10H
CLR C
LOOP: MOV P1,A
ACALL DLY
RLC A
JNC LOOP
MOV P1,A
ACALL DLY
SETB P1.4
SETB P1.5
ACALL DLY
ORL P1,#0C0H
ACALL DLY
AJMP START
DLY: MOV R6,#0FH ;延时子程序
DLY1:MOV R5,#0FFH
DLY2:MOV R4,#0FFH
DLY3:DJNZ R4,DLY3
DJNZ R5,DLY2
DJNZ R6,DLY1
RET
END
实验步骤如下:
1、按图3—1连接实验电路。发光二极管L1~L4分别与8031的P1.4~P1.7连接。注意检查连线是否正确,检查无误后方可通电;
2、输入程序并检查;
3、调试运行程序,观察发光二极管L1~L4的亮灭顺序;
4、试修改显示时间,观察显示效果。
程序二:以8031的P1.0~P1.3为输入口,用开关向P1.0~P1.3输入不同的状态,控制发光二极管的亮灭。实验线路如图3—1所示。开关打开,则输入为1;开关闭合,则输入为0。利用输入指令读取P1.0~P1.3对应的状态,并将它们输出到P1.4~P1.7,驱动相对应的发光二极管。所以发光二极管L1~L4的亮灭应与开关K1~K4的设置相吻合。
参考程序:
ORG 1030H
START: MOV A,#0FFH
MOV P1,A
MOV A,P1
SWAP A
MOV P1,A
SJMP $
实验步骤如下:
1、按图3—1连接实验电路。发光二极管L1~L4分别与8031的P1.4~P1.7连接,开关K1~K4分别与P1.0~P1.3相连;
2、输入程序并检查;
3、将开关K1~K4置于所需位置。
4、调试运行程序,观察发光二极管L1~L4亮灭是否与开关K1~K4的设置一致。
六、实验报告
1、整理记录结果,并与理论结果进行比较;
2、调试过程及体会;
3、总结MCS-51单片机输入/输出端口
显示全部