键盘可控流水灯资料

键盘可控流水灯资料

ID:23017917

大小:74.68 KB

页数:15页

时间:2018-11-02

键盘可控流水灯资料_第1页
键盘可控流水灯资料_第2页
键盘可控流水灯资料_第3页
键盘可控流水灯资料_第4页
键盘可控流水灯资料_第5页
资源描述:

《键盘可控流水灯资料》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、;**************************************************;平凡单片机工作室;作者:周坚;功能描述:;P3.2:开始,按此键则灯开始流动(由上而下);P3.3:停止,按此键则停止流动,所有灯为暗;P3.4:上,按此键则灯由上向下流动;P3.5:下,按此键则灯由下向上流动;本例可用TOP51-2005/TOPAV-2008单片机开发平台验证;**************************************************UpDownEQU00H;上下行

2、标志StartEndEQU01H;起动及停止标志LAMPCODEEQU21H;存放流动的数据代码ORG0000HAJMPMAINORG30HMAIN:MOVSP,#5FHMOVP1,#0FFHCLRUpDown;启动时处于向上的状态CLRStartEnd;启动时处于停止状态;**************************************************;平凡单片机工作室;作者:周坚;功能描述:;P3.2:开始,按此键则灯开始流动(由上而下);P3.3:停止,按此键则停止流动,所有灯为暗;P3

3、.4:上,按此键则灯由上向下流动;P3.5:下,按此键则灯由下向上流动;本例可用TOP51-2005/TOPAV-2008单片机开发平台验证;**************************************************UpDownEQU00H;上下行标志StartEndEQU01H;起动及停止标志LAMPCODEEQU21H;存放流动的数据代码ORG0000HAJMPMAINORG30HMAIN:MOVSP,#5FHMOVP1,#0FFHCLRUpDown;启动时处于向上的状态CLRSta

4、rtEnd;启动时处于停止状态MOVLAMPCODE,#0FEH;单灯流动的代码LOOP:ACALLKEY;调用键盘程序JNBF0,LNEXT;如果无键按下,则继续ACALLKEYPROC;否则调用键盘处理程序LNEXT:ACALLLAMP;调用灯显示程序AJMPLOOP;反复循环,主程序到此结束;---------------------------------------DELAY:MOVR7,#10D1:MOVR6,#100DJNZR6,$DJNZR7,D1RET;---------延时程序,键盘处理中调用

5、KEYPROC:MOVA,B;从B寄存器中获取键值JBACC.2,KeyStart;分析键的代码,某位被按下,则该位为1JBACC.3,KeyOverJBACC.4,KeyUpJBACC.5,KeyDownAJMPKEY_RETKeyStart:SETBStartEnd;第一个键按下后的处理AJMPKEY_RETKeyOver:CLRStartEnd;第二个键按下后的处理AJMPKEY_RETKeyUp:SETBUpDown;第三个键按下后的处理AJMPKEY_RETKeyDown:CLRUpDown;第四个键按

6、下后的处理KEY_RET:RETKEY:CLRF0;清F0,表示无键按下。ORLP3,#00111100B;将P3口的接有键的四位置1MOVA,P3;取P3的值ORLA,#11000011B;将其余4位置1CPLA;取反JZK_RET;如果为0则一定无键按下ACALLDELAY;否则延时去键抖ORLP3,#00111100BMOVA,P3ORLA,#11000011BCPLAJZK_RETMOVB,A;确实有键按下,将键值存入B中SETBF0;设置有键按下的标志K_RET:ORLP3,#00111100B;此处循

7、环等待键的释放MOVA,P3ORLA,#11000011BCPLAJZK_RET1;直到读取的数据取反后为0说明键释放了,才从键盘处理程序中返回AJMPK_RETK_RET1:RET;-----------------------------------D500MS:;流水灯的延迟时间PUSHPSWSETBRS0MOVR7,#5;如果用实验仿真板,该值可根据你的机器运行情况更改,在1-255之间D51:MOVR6,#250D52:MOVR5,#200D53:DJNZR5,D53DJNZR6,D52DJNZR7,D

8、51POPPSWRET;-----------------------------------LAMP:JBStartEnd,LampStart;如果StartEnd=1,则启动MOVP1,#0FFHAJMPLAMPRET;否则关闭所有显示,返回LampStart:JBUpDown,LAMPUP;如果UpDown=1,则向上流动MOVA,LAMPCODERLA;向上移动实

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

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

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