文档介绍:实验6 流水灯
实验目的
了解发光二极管(LED)的工作原理及驱动方法;
掌握MCS-51单片机的输入输出方法;
学****延时程序的编写和应用。
实验电路图
实验设备
PC机
伟福仿真器(V5/S)
单片机实验板一套
实验预备知识
1、单片机最小系统
单片机最小系统是单片机工作时应具备的最基本条件,因单片机型号不同,最小系统也有差异。对于8051系列单片机,最小系统如图所示。
单片机第40引脚(VCC)接电源+5V,第20引脚(VSS)接地,为单片机工作提供电源。
单片机内部已具备振荡电路,只要在引脚19和18上连接石英晶体及相关电容即可构成时钟电路。
8051单片机复位引脚(Reset)是第9引脚,当此引脚处于高电平并超过2个机器周期时即可产生复位动作。在上图中,电源接上瞬间,电容C3电位不能突变,相当于短路,所以第9引脚为高电平,即单片机开始执行复位动作。随着时间的增加,电容上的电压逐渐增加,而第9引脚上的电压逐渐下降,当第9引脚上的电压降至低电平时,单片机结束复位,恢复正常状态。在电容两端并联一个按钮开关,提供手动复位。
由于8051单片机片内带有程序存储器,如果把31引脚(/VPP),则使用内部程序存储器;如果把31引脚(/VPP)接地,则使用外部扩展程序存储器。在实践中,如果程序容量不大,多采用内部程序存储器,所以把31引脚(/VPP)通过限流电阻接电源+5V。
2、发光二极管闪烁
实现发光二极管(LED)闪烁实际上就是让LED亮一下灭一下,即让LED导通一会儿关断一会即可。因此,只需要将LED发光二极管的一个极接到电源上,另一个极接到单片机32个I/O口的任何一个即可。
参考电路:
参考程序:
ORG 0000H
SJMP START
ORG 0030H ;将程序从地址0030H开始存在存储器中
START: CLR ;=0,点亮LED
ACALL DELAY ; 调用延时子程序
SETB ; =1,熄灭LED
ACALL DELAY
AJMP START ; 返回,重复闪动过程
DELAY: MOV R4,#7FH ; 延时子程序
DEL1: MOV R5,#0FFH
DJNZ R5,$
DJNZ R4,DEL1
RET
END
延时程序的计算方法:
实验内容
编写程序实现一个LED灯闪烁;
ORG 0000H
SJMP START
ORG 0040H
START: MOV P2,#0FEH ; 点亮发光二极管L1
LCALL DELAY ; 调用延时子程序
MOV P2,#0FFH ; 熄灭发光二极管L1
LCALL DELAY ; 调用延时子程序
SJMP START
DELAY: MOV R5,#0FFH ; 延时程序
DEL1: MOV R6,#90H
DJNZ R6,$
DJNZ R5,DEL1
RET
END
编写程序循环控制8只LED轮流闪烁。,每次点亮一只发光二极管,并延时一段时间。,循环不止(