单片机汇编语言按键控制流水灯,两个开关k1,k2。实现功能按下k1,流水灯左移动,按下k2,流水灯右移动。
2个回答
展开全部
K1 EQU P1.0
K2 EQU P1.1
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
MOV A,#0FEH
CLR 00H
CLR 01H
LOOP:
JB K1,LOOP1
SETB 00H
CLR 01H
SJMP LOOP
LOOP1:
JB K2,LOOP2
SETB 01H
CLR 00H
LOOP2:
喊汪 JB 01H,LOOP3
JB 猛丛00H,LOOP4
SJMP MAIN
LOOP3:
MOV P0,A
枝渗樱RR A
LCALL DELAY
SJMP LOOP
LOOP4:
MOV P0,A
RL A
LCALL DELAY
SJMP LOOP
DELAY:
MOV R2,#200
DLY:
MOV R3,#250
DJNZ R3,$
DJNZ R2,DLY
RET
END
展开全部
假设P0.0接k1,P0.1接k2,k1或型橘k2闭合时,P0.0或P0.1为低电平0,断开时为高电平1;
P2口的8位接8个发光二极管的阳极,发光二极管的阴极通过下拉电阻接地,要点亮相应的二极管,需要P2口对应引脚输出高电平1;
按链渣下k1时,P2口初值设为00000001B,这样点亮最右边一个LED,用一段延时程序使得点亮稳定后,使P2口数值依次左移1位,这样8个二极管可以依次点亮,即流水灯左移;
按下k2时,P2口初值设为10000000B,这样点亮最左边一棚租悄个LED,用一段延时程序使得点亮稳定后,使P2口数值依次右移1位,这样8个二极管可以依次点亮,即流水灯右移。
P2口的8位接8个发光二极管的阳极,发光二极管的阴极通过下拉电阻接地,要点亮相应的二极管,需要P2口对应引脚输出高电平1;
按链渣下k1时,P2口初值设为00000001B,这样点亮最右边一个LED,用一段延时程序使得点亮稳定后,使P2口数值依次左移1位,这样8个二极管可以依次点亮,即流水灯左移;
按下k2时,P2口初值设为10000000B,这样点亮最左边一棚租悄个LED,用一段延时程序使得点亮稳定后,使P2口数值依次右移1位,这样8个二极管可以依次点亮,即流水灯右移。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询