单片机拨动开关
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实训二两人LED闪烁灯电路设计
班级:供用电0801 姓名:张斌胡邦元学号:0810866 0810867
1 实验目的
熟练掌握MCS-51型开发板的使用方法和注意事项。
2 硬件设计
2.1 实验器件
教学实验系统一台(12盏灯L1~L12,P1口和P3口,导线若干)P1.0、P1.1、P1.2、P1.3、P1.4、P1.5、P1.6、P1.7、P3.0、P3.1、P3.2、P3.3分别接灯L12、L11、L10、L9、L8、L7、L6、L5、L4、L3、L2、L1。
2.2 硬件设计原理
当8051的P1或P3口有高电平输出时,相应的发光二极管就会点亮。
应用这一原理我们可以容易的点亮发光二极管,LED闪烁亮灯顺序:
当拨动开关K1发出低电平(K1=0)时,发光二极管L1-L8从两头向中间逐个点亮(时间间隔0.5秒),当L1-L8全部点亮后延时2秒钟全部熄灭,如此往复循环。
当拨动开关K1发出高电平(K1=1)时,L4、L5点亮,然后点亮的灯向两边扩展(时间间隔0.5秒),直到L1-L82全部点亮后延时2秒钟全部熄灭,如此往复循环。
在发光二极管两次点亮的间隔中加延时程序,让每次点亮停留一段时间,这样就可以看到LED闪烁的现象。
2.3 硬件设计图
3 软件设计 3.1 计算延时程序 本次实验的延时程序采用定时模式1控制寄存器TMOD ,延时1S 。
本次实验的延时程序采用定时模式1控制寄存器TMOD ,延时1S 。
由于MCS-51的外接时钟晶振为12MHZ,又1S=(20*0.05S),即只需产生0.05S 的定时,在外加20次循环就可以得到1S 的延时,并且采取定时器工作在方式1,即16位定时器模式下,则初值X 的计算为: X=162-(12*610*0.05)/12=15536=3CB0H 3.2 流程图
开始 P3.4=0? 程序A 运行 程序B 运行 Y N
3.3源程序
ORG 0000H
MOV R2, #0
M_LOOP:
MOV A, R2
INC R2
ANL A, #07H
MOV C, P1.0
MOV ACC.3, C
MOV DPTR, #TAB
MOVC A, @A+DPTR
MOV P0, A
CALL DL5KT
SJMP M_LOOP
TAB:
DB 0xFF, 0xE7, 0xC3, 0x81, 0x00, 0x00, 0x00, 0x00
DB 0xFF, 0x7E, 0x3C, 0x18, 0x00, 0x00, 0x00, 0x00
DL5KT:
MOV R5, #10
MOV R6, #100
MOV R7, #250
DJNZ R7, $
DJNZ R6, $ - 4
DJNZ R5, $ - 8
RET
END
4 实验结果
此次试验将两个人的程序结合在一起,通过使用波动开关控制灯的闪烁,成功完成这次试验。