1 / 6
文档名称:

流水灯控制实验.doc

格式:doc   大小:26KB   页数:6页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

流水灯控制实验.doc

上传人:mh900965 2018/3/22 文件大小:26 KB

下载得到文件列表

流水灯控制实验.doc

文档介绍

文档介绍:综合实验:流水灯控制

一、实验要求:
根据开关状态选择八个流水灯的工作方式,且在任何状态下如有开关状态发生改变,则能立即转入最新开关状态所对应方式工作。
模式一:顺序点亮八个灯,一直循环,直到开关状态改变。
模式二:八个灯闪烁,即八盏灯全亮后全灭,一直循环,直到开关状态改变。
模式三:间隔点亮八个灯,如对八盏灯编号为L1、L2、L3、L4、L5、L6、L7、L8 ,则灯亮的方式为:L1 L3 L5 L7 , L2 L4 L6 L8 , L1 L3 L5 L7 ,L2 L4 L6 L8(从左往右循环)。
二、实验内容:
开关S1、S2 、,用于流水灯工作方式控制,开关组合为00、01、02、03,其中00为无效状态,01、02、03分别对应连续方式点亮灯、闪烁、间隔点亮。
八盏灯L1、L2、L3、L4、L5、L6、L7、~,八盏灯为共阴极连接,即高电平点亮。
由于灯的状态改变时间间隔小于肉眼能分辨的最小时间间隔,所以在程序实现的时候必须在灯两种状态之间引入延时处理,以便肉眼能够分辨。
开始
三、程序流程图:
R7=13H
延时子程序

返回
R7-1=0?
R6=14H
R6-1=0?
R5-1=0?
R5=82H
(条件转移侧N,竖Y ,
此页有效)
连续方式
闪烁
R0=02H
R0=01H
R0=02H
R0=01H
R0=03H?
R4=4,扫描P3口
延时200毫秒
R4-1=0?
延时200毫秒
A送P1口
A=80H
RR A, RR A , R4 -1
RR A, RR A , R3-1
A送P1口
R3=4, A=40H
R3-1=0?
R0=01H
2、主程序


R0=01H
扫描P3口
R0=03H
间隔点亮,R3=R4=4
R0=03H
灯全灭
R0=00H
R0=03H
顺序点亮一个灯
R0=03H
R0=01H
延时200毫秒
扫描P3口
灯全亮
延时200毫秒
延时200毫秒
R0=02H
R0=01H
扫描P3口
初始化P1口
开始
:
R0=02H
R0=02H?
R0=03H?
四、程序代码:
ORG 0000H
SJMP MAIN
ORG 0030H
MAIN:MOV SP,#60H
RESCAN:MOV A,#00H
MOV P1,A ;灯全灭
LCALL SCAN ;扫描P3口状态
CJNE R0,#01H,NEXT1
AJMP MODE1 ;如果P3=FDH,则转入MODE1执行(灯连续点亮)
NEXT1: CJNE R0,#02H,NEXT2
AJMP MODE2 ;如果P3=FEH,则转入MODE2执行(灯闪烁)
NEXT2: CJNE R0,#03H,NEXT3
AJMP MODE3 ;如果P3=FFH,则转入MODE3执行(间隔点亮灯)
NEXT3: SJMP RESCAN ;如果P3=FCH(无效状态),则不停的对P3口扫描
MODE1: ;灯连续点亮,从左往右(MODE1), P3=FDH
MOV A,#00H