1 / 8
文档名称:

流水灯控制实验.docx

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

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

分享

预览

流水灯控制实验.docx

上传人:pppccc8 2019/4/28 文件大小:147 KB

下载得到文件列表

流水灯控制实验.docx

文档介绍

文档介绍::..综合实验:流水灯控制一、实验要求:根据开关状态选择八个流水灯的工作方式,且在任何状态下如有开关状态发生改变,则能立即转入最新开关状态所対应方式工作。模式一:顺序点亮八个灯,一直循环,直到开关状态改变。模式二:八个灯闪烁,即八盏灯全亮后全灭,一直循环,直到开关状态改变。模式三:间隔点亮八个灯,如对八盏灯编号为LI、L2、L3、L4、L5、L6、L7、L8,则灯亮的方式为:LIL3L5L7,L2L4L6L8,LIL3L5L7,L2L4L6L8(从左往右循环)。二、实验内容:开关SI、、,用于流水灯工作方式控制,开关组合为00、01、02、03,其中00为无效状态,01、02、03分别对应连续方式点亮灯、闪烁、间隔点亮。八盏灯LL、L2、L3、L4、L5、L6、L7、~,八盏灯为共阴极连接,即高电平点亮。由于灯的状态改变时间间隔小于肉眼能分辨的最小时间间隔,所以在程序实现的时候必须在灯两种状态之间引入延吋处理,以便肉眼能够分辨。三、程序流程图:(条件转移侧N,竖Y此页有效)2、主程序:四、0030HMAIN:MOVSP,#60HRESCAN:MOVA,#00HMOVP1,A;灯全灭LCALLSCAN;扫描P3口状态CJNEROZ#O1H,NEXT1AJMPMODE1;如果P3二FDH,则转入MODE1执行(灯连续点亮)NEXT1:CJNER0,#02H,NEXT2AJMPMODE2;如果P3二FEH,则转入MODE2执行(灯闪烁)NEXT2:CJNER0,#03H,NEXT3AJMPMODE3;如果P3=FFH,则转入MODE3执行(间隔点亮灯)NEXT3:SJMPRESCAN;如果P3=FCH(无效状态),则不停的对P3口扫描MODEl.;灯连续点亮,从左往右(MODE1)?P3=FDHMOVA,#00HMOVPl,AMOVR2,#8OH;R2=1000z0000LOOP1:MOVA,R2MOVPl,ARRAMOVR2,A;A向右移一位后回送R2LCALLDEL200;调用200MS延时子程序LCALLSCAN;扫描P3口状态CJNERO,#O1H,NEXTO1SJMPLOOP1;如果P3状态没变,跳到LOOP1执行NEXTO1:CJNERO,#O2H,NEXTO2AJMPMODE2;如果P3变为P3=FEH,跳到MODE2执行NEXTO2:CJNERO,#O3H,NEXTO3AJMPMODE3;如果P3变为P3=FFH,跳到MODE3执行NEXT03:AJMPRESCAN;如果P3=FCH(无效状态),JNER0,#02H,NEXT001SJMPLOOP2NEXTOO1:CJNER0,#01H,NEXT002LOOP2:MOVPl,A;延吋2OOMs;扫描P3状态前,保护现场;扫描P3口;恢复现场;如果状态没变,转到LOOP2执行M0DE2: ;灯闪烁(M0DE2),P3=FEHMOVA,#OOHSJMPMODE3;如果模式改变,P3=FFH,跳到MODE3NEXT003:AJMPRESCAN;如果P3=FCH(无效状态),则不停的对P3口扫描A4ODE3:MOVA,#00H;间隔