单片机求教指拨开关 具体问题在下面
答案:3 悬赏:10 手机版
解决时间 2021-11-18 08:58
- 提问者网友:酱爆肉
- 2021-11-17 14:05
单片机求教指拨开关 具体问题在下面
最佳答案
- 五星知识达人网友:长青诗
- 2021-11-17 14:32
;注意:1,以下单片机为12mhz的,如果24mhz,自己修改延时值;2,以下P2口的按钮一端接地;3,P1低电平时led亮。4,有问题在百度联系我。
ORG 0000H;
SJMP MAIN;
ORG 0050H;
MAIN:
MOV SP,#40H;
M1:
MOV P2,#07H;
MOV P1,#0FFH;
JB P2.0,B0;
LCALL X;
JB P2.0,B0;
S0: JNB P2.0,S0;
LCALL S;
SJMP M1;
B0: JB P2.1,B1;
LCALL X;
JB P2.1,B1;
S1: JNB P2.1,S1;
LCALL Y;
SJMP M1;
B1: JB P2.2,B2;
LCALL X;
JB P2.2,B2;
S2: JNB P2.2,S2;
LCALL Z;
SJMP M1;
B2: SJMP M1;
ORG 0100H;
S:
MOV P1,#00H;
LCALL DELAY;
MOV P1,#0FFH;
LCALL DELAY;
MOV P1,#00H;
LCALL DELAY;
MOV P1,#0FFH;
LCALL DELAY;
RET;
ORG 0200H;
Y:
MOV P1,#0FEH;
MOV A,P1;
MOV R4,#08H;
Y1: RR A;
MOV P1,A;
LCALL DELAY;
DJNZ R4,Y1;
RET;
ORG 0300H;
Z:
MOV P1,#07FH;
MOV A,P1;
MOV R4,#08H;
Z1: RL A;
MOV P1,A;
LCALL DELAY;
DJNZ R4,Z1;
RET;
ORG 0400H;
X:
MOV R1,#28H;
MOV R2,#0FFH;
X1: DJNZ R2,X1;
MOV R2,#0FFH;
DJNZ R1,X1;
RET;
ORG 0500H;
DELAY:
MOV R1,#08H;
MOV R2,#0F4H;
MOV R3,#0FFH;
D1: DJNZ R3,D1;
MOV R3,#0FFH;
DJNZ R2,D1;
MOV R2,#0F4H;
DJNZ R1,D1;
RET;
END;
ORG 0000H;
SJMP MAIN;
ORG 0050H;
MAIN:
MOV SP,#40H;
M1:
MOV P2,#07H;
MOV P1,#0FFH;
JB P2.0,B0;
LCALL X;
JB P2.0,B0;
S0: JNB P2.0,S0;
LCALL S;
SJMP M1;
B0: JB P2.1,B1;
LCALL X;
JB P2.1,B1;
S1: JNB P2.1,S1;
LCALL Y;
SJMP M1;
B1: JB P2.2,B2;
LCALL X;
JB P2.2,B2;
S2: JNB P2.2,S2;
LCALL Z;
SJMP M1;
B2: SJMP M1;
ORG 0100H;
S:
MOV P1,#00H;
LCALL DELAY;
MOV P1,#0FFH;
LCALL DELAY;
MOV P1,#00H;
LCALL DELAY;
MOV P1,#0FFH;
LCALL DELAY;
RET;
ORG 0200H;
Y:
MOV P1,#0FEH;
MOV A,P1;
MOV R4,#08H;
Y1: RR A;
MOV P1,A;
LCALL DELAY;
DJNZ R4,Y1;
RET;
ORG 0300H;
Z:
MOV P1,#07FH;
MOV A,P1;
MOV R4,#08H;
Z1: RL A;
MOV P1,A;
LCALL DELAY;
DJNZ R4,Z1;
RET;
ORG 0400H;
X:
MOV R1,#28H;
MOV R2,#0FFH;
X1: DJNZ R2,X1;
MOV R2,#0FFH;
DJNZ R1,X1;
RET;
ORG 0500H;
DELAY:
MOV R1,#08H;
MOV R2,#0F4H;
MOV R3,#0FFH;
D1: DJNZ R3,D1;
MOV R3,#0FFH;
DJNZ R2,D1;
MOV R2,#0F4H;
DJNZ R1,D1;
RET;
END;
全部回答
- 1楼网友:平生事
- 2021-11-17 16:25
不用汇编了,用C吧。
- 2楼网友:蕴藏春秋
- 2021-11-17 15:06
给你个思路 用判断 语句 如 C语言的 if(那个按键){你想要的流水等方式}; 汇编中有判断语句吧?
WAIT_A
JB P2.0,WAIT_B;如果按钮没按下,查询按钮B有没有按下
JMP TWOFLASH;如果按下P2.0了,闪烁两次 我想你会写TWOFLASH的段程序
WAIT_B
JB P2.1,WAIT_C; 此处省略一万行 相信你看完上面的现在已经有思路了
实在不行 就去参考一下51单片机应用从零开始 这本书讲的非常的棒 是杨欣 写的 好好学完这本书你会成为一个编程高手的 加油吧
WAIT_A
JB P2.0,WAIT_B;如果按钮没按下,查询按钮B有没有按下
JMP TWOFLASH;如果按下P2.0了,闪烁两次 我想你会写TWOFLASH的段程序
WAIT_B
JB P2.1,WAIT_C; 此处省略一万行 相信你看完上面的现在已经有思路了
实在不行 就去参考一下51单片机应用从零开始 这本书讲的非常的棒 是杨欣 写的 好好学完这本书你会成为一个编程高手的 加油吧
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯