流水灯控制实验

流水灯控制实验

ID:33776581

大小:147.20 KB

页数:7页

时间:2019-03-01

流水灯控制实验_第1页
流水灯控制实验_第2页
流水灯控制实验_第3页
流水灯控制实验_第4页
流水灯控制实验_第5页
资源描述:

《流水灯控制实验》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、综合实验:流水灯控制一、实验要求:根据开关状态选择八个流水灯的工作方式,且在任何状态下如有开关状态发生改变,则能立即转入最新开关状态所対应方式工作。模式一:顺序点亮八个灯,一直循环,直到开关状态改变。模式二:八个灯闪烁,即八盏灯全亮后全灭,一直循环,直到开关状态改变。模式三:间隔点亮八个灯,如对八盏灯编号为LI、L2、L3、L4、L5、L6、L7、L8,则灯亮的方式为:LIL3L5L7,L2L4L6L8,LIL3L5L7,L2L4L6L8(从左往右循环)。二、实验内容:开关SI、S2分别与P3.1、P3.0连接,用于流水灯工作方式控制,开关组合为00、01、02、03,其中00为无效

2、状态,01、02、03分别对应连续方式点亮灯、闪烁、间隔点亮。八盏灯LL、L2、L3、L4、L5、L6、L7、L8分别与P1.0~P1.7连接,八盏灯为共阴极连接,即高电平点亮。由于灯的状态改变时间间隔小于肉眼能分辨的最小时间间隔,所以在程序实现的时候必须在灯两种状态之间引入延吋处理,以便肉眼能够分辨。三、程序流程图:1.延时子程序(条件转移侧N,竖Y此页有效)2、主程序:四、程序代码:ORG0000HSJMPMAINORG0030HMAIN:MOVSP,#60HRESCAN:MOVA,#00HMOVP1,A;灯全灭LCALLSCAN;扫描P3口状态CJNEROZ#O1H,NEXT1

3、AJMPMODE1;如果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;

4、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(无效状态),则不停的对P3口扫描CPLALCALLDEL2OOPUSHACCLCALLSCANPOPACCCJN

5、ER0,#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;间隔点亮灯(MODE3),RO=O3HMOVP1,AMOVR3,#04H;R3,R4都用来控制当前趟第一个灯亮的

6、初始位置MOVR4,#04HMOVA,#80H;准备给P1送1000,0000LOOP3:MOVP1,ARRARRALCALLDEL2OO;延时200MSDJNZR3,LOOP3;判断当前(从第一个开始亮)趟结朿MOVR3,#04H;如果此趟结束,重设计数,为下一次做准备MOVA,#40H;设置下一趟灯亮的初始位置(第二个)LOOP4:MOVPl,ARRARRALCALLDEL2OO;延时200MSPUSHACC;保护现场LCALLSCAN;扫描P3口POPACC;现场恢复CJNERO,#O3H,NEXT21DJNZR4,LOOP4;如果模式不变,且该趟没结束,则到L00P4MOVR

7、4,#04H;如果此趟结束(模式没变),则重置计数,为下一次做准备MOVA,#80HSJMPLOOP3;执行当前模式的第二次亮灯NEXT21:CJNER0,#01H,NEXT22AJMPMODE1;模式改变为MODE1则装到对应位置执行NEXT22:CJNERO,#O2H,NEXT23AJMPMODE2;模式改变为MODE2则装到对应位置执行NEXT23:AJMPRESCAN;如果RO=OOH(无效状态),则不停的对P3口打描DEL200:;如果晶振频率f

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。